sys_uio: Make <sys/uio.h> self-contained.
[gnulib.git] / ChangeLog
1 2011-04-30  Bruno Haible  <bruno@clisp.org>
2
3         sys_uio: Make <sys/uio.h> self-contained.
4         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
5         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
6
7 2011-04-30  Bruno Haible  <bruno@clisp.org>
8
9         sys_socket: Ensure 'struct iovec' definition.
10         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
11         <sys/socket.h>.
12         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
13
14 2011-04-30  Bruno Haible  <bruno@clisp.org>
15
16         sys_uio: Protect definition of 'struct iovec'.
17         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18         it as a C struct.
19
20 2011-04-30  Bruno Haible  <bruno@clisp.org>
21
22         manywarnings: fix indentation
23         * m4/manywarnings.m4: Indent by 2 spaces consistently.
24
25 2011-04-30  Bruno Haible  <bruno@clisp.org>
26
27         netdb: Fix invalid C syntax.
28         * lib/netdb.in.h (AI_ADDRCONFIG): Fix comment syntax.
29
30 2011-04-30  Pádraig Brady <P@draigBrady.com>
31
32         manywarnings: add -Wno-missing-field-initializers if needed.
33         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
34         option if it's needed to allow initialization with { 0, }
35
36 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
37
38         announce-gen: cosmetic improvement
39         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
40
41 2011-04-29  Jim Meyering  <meyering@redhat.com>
42
43         vc-list-files: indent with spaces, not TABs
44         * build-aux/vc-list-files: Convert leading TABs to spaces,
45         to match the style of most other files in gnulib.
46
47         announce-gen: indent with spaces, not TABs
48         * build-aux/announce-gen: Convert all TABs to spaces, to match
49         the style of most other files in gnulib.
50
51 2011-04-29  Eric Blake  <eblake@redhat.com>
52
53         quotearg: avoid uninitialized variable use
54         * lib/quotearg.c (quoting_options_from_style): Initialize
55         remaining fields, and ensure that custom styles are only used via
56         quoting_options rather than quoting_style.
57
58 2011-04-29  Jim Meyering  <meyering@redhat.com>
59
60         maint.mk: remove unused VC-tag variable
61         * top/maint.mk (VC-tag): Remove unused variable.
62
63 2011-04-29  Bruno Haible  <bruno@clisp.org>
64
65         netdb: fix gai_strerror replacements
66         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
67         * modules/netdb: Substitute it.
68
69 2011-04-29  Jim Meyering  <meyering@redhat.com>
70
71         test-getcwd.c: avoid new set-but-not-used warning
72         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
73         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
74         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
75         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
76
77         test-hash.c: avoid a new shadowing warning
78         * tests/test-hash.c (main): Don't shadow "dup".
79
80 2011-04-28  Eric Blake  <eblake@redhat.com>
81
82         getaddrinfo: fix gai_strerror signature
83         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
84         and work around mingw with UNICODE defined.
85         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
86         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
87         * modules/netdb (Makefile.am): Substitute it.
88         * lib/netdb.in.h (gai_strerror): Declare replacement.
89         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
90         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
91         the fix.
92
93         getsockopt: avoid compiler warning
94         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
95         Reported by Matthias Bolte.
96
97         tests: drop unused link dependency
98         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
99         * modules/dirent-safer-tests (Makefile.am): Likewise.
100         * modules/fdopendir-tests (Makefile.am): Likewise.
101         * modules/mkfifoat-tests (Makefile.am): Likewise.
102         * modules/openat-safer-tests (Makefile.am): Likewise.
103         * modules/openat-tests (Makefile.am): Likewise.
104         * modules/readlinkat-tests (Makefile.am): Likewise.
105         * modules/symlinkat-tests (Makefile.am): Likewise.
106         * modules/linkat-tests (Makefile.am): Likewise.
107         (Depends-on): Switch to filenamecat-lgpl.
108         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
109         LIBINTL.
110         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
111         * tests/test-linkat.c (main): Don't require xalloc.
112
113         hash, mgetgroups: drop xalloc dependency
114         * lib/hash.c (includes): Adjust includes.
115         * lib/mgetgroups.c (includes): Likewise.
116         (xgetgroups): Move...
117         * lib/xgetgroups.c: ...to new file.
118         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
119         * modules/xgetgroups: New file, split from...
120         * modules/mgetgroups: ...here.
121         (Depends-on): Add xalloc-oversized.
122         * modules/hash (Depends-on): Likewise.
123         * modules/hash-tests (Depends-on): Drop xalloc.
124         (test_hash_LDADD): Drop unused library.
125         * tests/test-hash.c (main): Break xalloc dependency.
126         (includes): Drop unused include.
127
128         xalloc-oversized: new module
129         * modules/xalloc-oversized: New module.
130         * modules/xalloc (Depends-on): Add it.
131         * lib/xalloc.h (xalloc_oversized): Move...
132         * lib/xalloc-oversized.h: ...into new file.
133
134         utimecmp: drop dependency on xmalloc
135         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
136         due to memory pressure.
137         * modules/utimecmp (Depends-on): Drop xalloc.
138
139 2011-04-27  Eric Blake  <eblake@redhat.com>
140
141         getcwd: fix mingw bugs
142         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
143         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
144         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
145
146 2011-04-27  Bruno Haible  <bruno@clisp.org>
147
148         mkstemps: Ensure declaration on MacOS X 10.5.
149         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
150         * doc/glibc-functions/mkstemps.texi: Document header file problem on
151         MacOS X.
152
153 2011-04-27  Bruno Haible  <bruno@clisp.org>
154
155         mkstemp: More documentation.
156         * doc/posix-functions/mkstemp.texi: Document header file problem on
157         MacOS X.
158
159 2011-04-27  Bruno Haible  <bruno@clisp.org>
160
161         mkstemp: Tweak configure message when cross-compiling.
162         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
163         result as a guess.
164
165 2011-04-27  Bruno Haible  <bruno@clisp.org>
166
167         clean-temp: Clarify what it does.
168         * lib/clean-temp.h: Add more comments.
169         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
170         module.
171         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
172         * doc/glibc-functions/mkstemps.texi: Likewise.
173         * doc/glibc-functions/mkostemps.texi: Likewise.
174
175 2011-04-27  Eric Blake  <eblake@redhat.com>
176
177         fchdir: avoid extra chdir and fix test
178         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
179         getcwd-lgpl.
180         * lib/fchdir.c (get_name): Any absolute name will do; it does not
181         have to be canonical.
182         (canonicalize_file_name): Drop unused macro.
183         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
184
185         filenamecat-lgpl: fix licence
186         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
187         when it was first created.
188
189         linkat, renameat: add missing dependency
190         * modules/linkat (Depends-on): Require getcwd-lgpl.
191         * modules/renameat (Depends-on): Likewise.
192
193         tests: reduce dependencies
194         * tests/test-linkat.c (main): Use lighter-weight getcwd.
195         * tests/test-renameat.c (main): Likewise.
196         * modules/linkat-tests (Depends-on): Relax dependency.
197         * modules/renameat-tests (Depends-on): Likewise.
198         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
199         dependency explicit.
200
201         save-cwd: reduce default dependency
202         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
203         * lib/save-cwd.c: Update comments.
204         * NEWS: Document the semantic change.
205
206         getcwd: enhance tests
207         * tests/test-getcwd-lgpl.c: New file, taken from...
208         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
209         repeat long path stress tests from m4 probe.
210         * modules/getcwd-lgpl-tests: New module.
211         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
212         * m4/getcwd-abort-bug.m4: Update comment.
213         * m4/getcwd-path-max.m4: Likewise.
214
215         getcwd-lgpl: new module
216         * modules/getcwd-lgpl: New module.
217         * lib/getcwd-lgpl.c: New file.
218         * doc/posix-functions/getcwd.texi (getcwd): Document it.
219         * MODULES.html.sh (lacking POSIX:2008): Likewise.
220         * modules/getcwd (configure.ac): Set C witness.
221         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
222
223         getcwd: tweak comments
224         * m4/getcwd-abort-bug.m4: Fix comments.
225         * m4/getcwd-path-max.m4: Likewise.
226         * m4/getcwd.m4: Likewise.
227
228 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
229         and Eric Blake  <eblake@redhat.com>
230
231         mkstemp: replace if system version uses wrong permissions
232         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
233         read/write mode bits set in file created by mkstemp.
234         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
235
236 2011-04-27  Eric Blake  <eblake@redhat.com>
237
238         passfd: avoid compiler warning
239         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
240         Reported by Laine Stump.
241
242 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
243
244         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
245         required by the NetBSD (and perhaps other 4.4BSD derived) join.
246
247 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
248         and Eric Blake  <eblake@redhat.com>
249
250         mkstemp: mention clean-temp module
251         * lib/mkstemp.c: Add comment.
252         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
253
254 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
255
256         inttypes: also provide default values for 32-bit tests
257         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
258         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
259
260 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
261
262         strtoumax: remove dependency on strtoimax
263         This is like the strtoull change of yesterday.
264         * modules/strtoumax (Files): Add lib/strtoimax.c.
265         (Depends-on): Remove strtoimax and add verify.
266
267         inttypes-incomplete: new module
268         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
269         all but the PRI* and SCN* parts of gl_INTTYPES_H.
270         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
271         of gl_INTTYPES_H.
272         (gl_INTTYPES_H): Rewrite in terms of these new macros.
273         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
274         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
275         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
276         * modules/strtoumax, modules/xstrtol (Depends-on):
277         Depend on inttypes-incomplete, not inttypes.
278         * modules/inttypes-incomplete: New module, containing the contents
279         of the old modules/inttypes module, except that the Files: section
280         omits m4/inttypes-pri.m4, and the configure.ac section invokes
281         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
282         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
283         (Depends-on): Depend only on inttypes-incomplete.
284         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
285
286         inttypes: omit now-redundant strtoimax and strtoumax work
287         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
288         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
289
290         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
291         This supports apps that need pointers to strtoimax and strtoumax,
292         and ports to HP-UX 11.00 64.bit, which has macros that expand to
293         nonexistent functions.  See
294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
295         et seq.
296         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
297         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
298         a macro.
299         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
300
301 2011-04-25  Simon Josefsson  <simon@josefsson.org>
302
303         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
304
305 2011-04-25  Bruno Haible  <bruno@clisp.org>
306
307         strtol, strtoul: Mark modules as obsolete.
308         * modules/strtol (Status, Notice): New sections.
309         * modules/strtoul (Status, Notice): New sections.
310
311 2011-04-25  Bruno Haible  <bruno@clisp.org>
312
313         strtod: Remove check for strtod, unless supporting old platforms.
314         * modules/strtod-obsolete: New file.
315         * m4/strtod-obsolete.m4: New file.
316         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
317         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
318         * modules/strtod (Depends-on): Add strtod-obsolete.
319         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
320
321 2011-04-25  Bruno Haible  <bruno@clisp.org>
322
323         strcase: Make module obsolete.
324         * modules/strcase (Status, Notice): New sections.
325
326 2011-04-25  Bruno Haible  <bruno@clisp.org>
327
328         dup2: Remove check for dup2, unless supporting old obsolete platforms.
329         * modules/dup2-obsolete: New file.
330         * m4/dup2-obsolete.m4: New file.
331         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
332         gl_FUNC_DUP2_OBSOLETE is not also defined.
333         * modules/dup2 (Depends-on): Add dup2-obsolete.
334         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
335
336 2011-04-25  Bruno Haible  <bruno@clisp.org>
337
338         strnlen: Avoid memchr related link error on old obsolete platforms.
339         * modules/memchr-obsolete: New file.
340         * m4/memchr-obsolete.m4: New file.
341         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
342         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
343         * modules/memchr (Depends-on): Add memchr-obsolete.
344         * modules/strnlen (Depends-on): Likewise.
345         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
346
347 2011-04-25  Jim Meyering  <meyering@redhat.com>
348
349         maint.mk: makefile_at_at_check extend and clean up
350         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
351         in addition to */Makefile.am.
352         Exempt legitimate uses of @VAR@ notation, e.g.,
353         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
354         Remove obsolete coreutils-specific comment.
355         Prompted by discussion here:
356         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
357
358 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
359
360         strtoul: remove dependency on strtol
361         This is so that 'configure' need not check for strtol merely because
362         the application needs strtoul.
363         * modules/strtoul (Files): Add lib/strtol.c.
364         (Depends-on): Remove strtol.
365
366         strtoull: remove dependency on strtoul
367         This is like the strtoll change.
368         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
369         (Depends-on): Remove strtoul.
370
371         strtoll: remove dependency on strtol
372         This is so that 'configure' need not check for strtol merely because
373         the application needs strtoll.
374         * modules/strtoll (Files): Add lib/strtol.c.
375         (Depends-on): Remove strtol.
376
377 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
378
379         inttypes: Move some configure check to module 'imaxdiv'.
380         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
381         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
382         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
383
384 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
385
386         inttypes: Move some configure check to module 'imaxabs'.
387         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
388         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
389         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
390
391 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
392
393         inttypes: Remove configure tests that are not needed since 2009-12-31.
394         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
395         gl_cv_header_working_inttypes_h.
396
397 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
398
399         * modules/strnlen (Depends-on): Remove memchr.
400         The strnlen implementation doesn't need the memchr module's fixes; see
401         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
402
403         strtol: remove dependency on wchar
404         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
405         * modules/strtol (Depends-on): Remove wchar.
406
407 2011-04-21  Eric Blake  <eblake@redhat.com>
408
409         passfd: fix test regression on Linux
410         * modules/passfd-tests (configure.ac): Correct socketpair check.
411
412         passfd: speed up configure and drop unused code
413         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
414         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
415         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
416         Instead of probing at configure for unix_scm_rights_bsd44_way,
417         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
418         check to a struct member probe.
419         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
420         (sendfd, recvfd): Update preprocessor checks.
421         * modules/passfd (Files): Reflect rename, and drop unused file.
422         (Depends-on): Drop unused dependency.
423
424         passfd: allow compilation on mingw
425         * modules/sys_socket (Depends-on): Add sys_uio.
426         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
427         iovec and a minimal struct msghdr.
428         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
429         * tests/test-sys_socket.c (main): Enhance test.
430         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
431         guaranteed to provide what we need.
432         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
433         * modules/passfd-tests (Depends-on): Add sys_wait.
434         * tests/test-passfd.c (main): Skip test on mingw, for now.
435         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
436         partial 'struct msghdr' implementation.
437
438         sys_uio: new module
439         * modules/sys_uio: New module.
440         * modules/sys_uio-tests: Likewise.
441         * lib/sys_uio.in.h: New file.
442         * m4/sys_uio_h.m4: Likewise.
443         * tests/test-sys_uio.c: Likewise.
444         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
445         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
446
447 2011-04-20  Jim Meyering  <meyering@redhat.com>
448
449         useless-if-before-free: avoid false-positive
450         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
451         disjunct so that it too requires a terminating ";".  Without that,
452         this script would identify as useless one statement from gcc that
453         was not:
454           if (aligned_ptr)
455             free (((void **) aligned_ptr) [-1]);
456
457 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
458
459         doc: update users.txt.
460         * users.txt: Add barcode.
461
462 2011-04-19  Bruno Haible  <bruno@clisp.org>
463
464         ioctl: Remove link dependency on native Windows.
465         * lib/fd-hook.h: Renamed from lib/close-hook.h.
466         (gl_close_fn, gl_ioctl_fn): New types.
467         (struct fd_hook): Renamed from struct close_hook. Change type of
468         private_close_fn field. Add private_ioctl_fn field.
469         (close_hook_fn): Add parameter for primary close method.
470         (execute_close_hooks, execute_all_close_hooks): Likewise.
471         (ioctl_hook_fn): New type.
472         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
473         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
474         argument.
475         (unregister_fd_hook): Renamed from unregister_close_hook.
476         * lib/fd-hook.c: Renamed from lib/close-hook.c.
477         Don't include <unistd.h>.
478         (close): Remove undef.
479         (anchor): Update.
480         (execute_close_hooks): Add argument for primary close method.
481         (execute_all_close_hooks): Likewise.
482         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
483         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
484         argument. Allow each argument to be NULL.
485         (unregister_fd_hook): Renamed from unregister_close_hook.
486         * lib/close.c (rpl_close): Pass 'close' function pointer to
487         execute_all_close_hooks.
488         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
489         (primary_ioctl): New function.
490         (ioctl): Don't call ioctlsocket here. Instead, call
491         execute_all_ioctl_hooks.
492         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
493         close method.
494         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
495         (fd_sockets_hook): Renamed from close_sockets_hook.
496         (gl_sockets_startup, gl_sockets_cleanup): Update.
497         * modules/fd-hook: Renamed from modules/close-hook. Update.
498         * modules/close (Depends-on): Add fd-hook, remove close-hook.
499         * modules/sockets (Depends-on): Likewise.
500         * modules/ioctl (Depends-on): Add fd-hook.
501         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
502         GNULIB_SOCKET.
503
504 2011-04-19  Bruno Haible  <bruno@clisp.org>
505
506         Move the support of O_NONBLOCK in open() to the 'open' module.
507         * modules/nonblocking (Depends-on): Remove 'open'.
508         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
509         gl_cv_have_open_O_NONBLOCK.
510         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
511         O_NONBLOCK support.
512         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
513
514 2011-04-17  Bruno Haible  <bruno@clisp.org>
515
516         pipe2: Simplify code.
517         * lib/pipe2.c (pipe2): Reduce code duplication.
518
519 2011-04-17  Bruno Haible  <bruno@clisp.org>
520
521         nonblocking: Add comment.
522         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
523
524 2011-04-17  Bruno Haible  <bruno@clisp.org>
525
526         nonblocking: Add tests for sockets.
527         * tests/test-nonblocking-socket.sh: New file.
528         * tests/test-nonblocking-socket-main.c: New file.
529         * tests/test-nonblocking-socket-child.c: New file.
530         * tests/test-nonblocking-socket.h: New file.
531         * tests/socket-server.h: New file.
532         * tests/socket-client.h: New file.
533         * modules/nonblocking-socket-tests: New file.
534         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
535
536 2011-04-17  Bruno Haible  <bruno@clisp.org>
537
538         nonblocking: Add tests for pipes.
539         * tests/test-nonblocking-pipe.sh: New file.
540         * tests/test-nonblocking-pipe-main.c: New file.
541         * tests/test-nonblocking-pipe-child.c: New file.
542         * tests/test-nonblocking-pipe.h: New file.
543         * tests/test-nonblocking-writer.h: New file.
544         * tests/test-nonblocking-reader.h: New file.
545         * tests/test-nonblocking-misc.h: New file.
546         * modules/nonblocking-pipe-tests: New file.
547         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
548
549 2011-04-16  Bruno Haible  <bruno@clisp.org>
550
551         gettext: Clarify the needed programmer actions.
552         * modules/gettext (Notice): New field.
553         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
554
555 2011-04-16  Bruno Haible  <bruno@clisp.org>
556
557         strchrnul: Tweak last commit.
558         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
559         bug.
560         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
561         as in _GL_FUNCDECL_SYS.
562         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
563         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
564
565 2011-04-15  Eric Blake  <eblake@redhat.com>
566
567         strchrnul: work around cygwin bug
568         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
569         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
570         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
571         * modules/string (Makefile.am): Substitute it.
572         * lib/string.in.h (strchrnul): Use it.
573
574 2011-04-15  Bruno Haible  <bruno@clisp.org>
575
576         Don't require lib/stdio-write.c when only module 'stdio' is used.
577         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
578         invocation.
579         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
580
581 2011-04-14  Bruno Haible  <bruno@clisp.org>
582
583         Support non-blocking pipe I/O in read() on native Windows.
584         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
585         (read): New declaration.
586         * lib/read.c: New file.
587         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
588         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
589         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
590         vscanf): New declarations.
591         * lib/stdio-read.c: New file.
592         * m4/read.m4: New file.
593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
594         REPLACE_READ.
595         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
596         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
597         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
598         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
599         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
600         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
601         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
602         * modules/read: New file.
603         * modules/nonblocking (Files): Add lib/stdio-read.c.
604         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
605         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
606         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
607         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
608         * modules/pread (Depends-on): Add read.
609         * modules/safe-read (Depends-on): Likewise.
610         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
611         gets, scanf, vfscanf, vscanf): Verify signatures.
612         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
613         problem with non-blocking pipes.
614         * doc/posix-functions/fgetc.texi: Likewise.
615         * doc/posix-functions/fgets.texi: Likewise.
616         * doc/posix-functions/fread.texi: Likewise.
617         * doc/posix-functions/fscanf.texi: Likewise.
618         * doc/posix-functions/getc.texi: Likewise.
619         * doc/posix-functions/getchar.texi: Likewise.
620         * doc/posix-functions/gets.texi: Likewise.
621         * doc/posix-functions/scanf.texi: Likewise.
622         * doc/posix-functions/vfscanf.texi: Likewise.
623         * doc/posix-functions/vscanf.texi: Likewise.
624
625 2011-04-14  Bruno Haible  <bruno@clisp.org>
626
627         Support non-blocking pipe I/O in write() on native Windows.
628         * lib/write.c (rpl_write): Split a write request that failed merely
629         because the byte count was larger than the pipe buffer's size.
630         * doc/posix-functions/write.texi: Mention the problem with large byte
631         counts.
632
633 2011-04-14  Bruno Haible  <bruno@clisp.org>
634
635         wchar: Ensure that wchar_t gets defined on uClibc.
636         * lib/wchar.in.h: On uClibc, include <stddef.h>.
637         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
638
639 2011-04-13  Bruno Haible  <bruno@clisp.org>
640
641         safe-write, full-read: Avoid unnecessary compilation units.
642         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
643         (Depends-on): Remove safe-read. Add ssize_t.
644         * modules/full-read (Files): Add lib/full-write.c.
645         (Depends-on): Add full-write.
646
647 2011-04-13  Bruno Haible  <bruno@clisp.org>
648
649         Support non-blocking pipe I/O and SIGPIPE in pwrite().
650         * modules/pwrite (Depends-on): Add 'write'.
651
652 2011-04-13  Bruno Haible  <bruno@clisp.org>
653
654         Support non-blocking pipe I/O in write() on native Windows.
655         * lib/unistd.in.h (write): Enable replacement also if
656         GNULIB_UNISTD_H_NONBLOCKING is 1.
657         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
658         (rpl_write): When failing to write on a non-blocking pipe, change
659         errno from ENOSPC to EAGAIN.
660         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
661         putchar, puts, vfprintf, vprintf): Enable replacement also if
662         GNULIB_STDIO_H_NONBLOCKING is 1.
663         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
664         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
665         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
666         CALL_WITH_SIGPIPE_EMULATION.
667         (CALL_WITH_SIGPIPE_EMULATION): Use them.
668         * m4/nonblocking.m4: New file.
669         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
670         for non-blocking I/O support.
671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
672         GNULIB_UNISTD_H_NONBLOCKING.
673         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
674         required for non-blocking I/O support.
675         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
676         * modules/nonblocking (Files): Add m4/nonblocking.m4,
677         lib/stdio-write.c, m4/asm-underscore.m4.
678         (Depends-on): Add stdio, unistd.
679         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
680         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
681         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
682         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
683         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
684         problem with non-blocking pipes.
685         * doc/posix-functions/fputc.texi: Likewise.
686         * doc/posix-functions/fputs.texi: Likewise.
687         * doc/posix-functions/fwrite.texi: Likewise.
688         * doc/posix-functions/printf.texi: Likewise.
689         * doc/posix-functions/putc.texi: Likewise.
690         * doc/posix-functions/putchar.texi: Likewise.
691         * doc/posix-functions/puts.texi: Likewise.
692         * doc/posix-functions/vfprintf.texi: Likewise.
693         * doc/posix-functions/vprintf.texi: Likewise.
694         * doc/posix-functions/write.texi: Likewise.
695
696 2011-04-10  Jim Meyering  <meyering@redhat.com>
697
698         maint.mk: prohibit doubled words
699         Detect them also when they're separated by a newline.
700         There are 3 ways to customize it:
701           - disable the test on a per file basis, as usual with rules using
702             $(VC_LIST_EXCEPT)
703           - replace the default doubled-word-selecting regexp (affects all files)
704           - ignore a particular file-vs-doubled-word match
705         I nearly used that last one to ignore the "is is" match in
706         coreutils' NEWS file, since the text was "ls -is is ..."
707         To do that, I would have added this line to cfg.mk:
708           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
709         but it would have ignored any "is is" match in NEWS.
710         Low probability, but still...
711         Instead, I changed the text, slightly:
712           -  ls -is is now consistent with ls -lis in ignoring values returned
713           +  "ls -is" is now consistent with ls -lis in ignoring values returned
714         * top/maint.mk (prohibit_double_word_RE_): Provide default.
715         (prohibit_doubled_word_): Define.
716         (sc_prohibit_doubled_word): New rule.
717         (sc_prohibit_the_the): Remove.  Subsumed by the above.
718
719 2011-04-10  Jim Meyering  <meyering@redhat.com>
720
721         maint: fix doubled-word typo in comment
722         * m4/gethostname.m4: s/is is/it is/
723         * m4/getdomainname.m4: Likewise.
724
725 2011-04-10  Jim Meyering  <meyering@redhat.com>
726
727         maint: remove doubled word: s/it it/it/
728         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
729
730 2011-04-10  Jim Meyering  <meyering@redhat.com>
731
732         maint.mk: remove useless semicolon and backslash
733         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
734         semicolon and backslash.
735
736 2011-04-10  Bruno Haible  <bruno@clisp.org>
737
738         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
739         * modules/stdint-tests (Depends-on): Add wchar.
740
741 2011-04-10  Jim Meyering  <meyering@redhat.com>
742
743         maint: remove doubled words in comments, e.g., s/a a/a/
744         * lib/strptime.c (day_of_the_week): s/the the/the/
745         * tests/test-chown.h (test_chown): s/a a/a/
746
747         test-chown.h: correct a cast
748         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
749         when the destination is a stat.st_gid.
750
751 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
752
753         getaddrinfo: Fix test for sa_len member.
754         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
755         include <sys/types.h> before <sys/socket.h>.
756
757 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
758
759         maint: change "can not" to "cannot"
760         * doc/posix-functions/iconv.texi (iconv): This one crossed line
761         boundaries.
762
763 2011-04-09  Jim Meyering  <meyering@redhat.com>
764
765         maint: change "a a" to "a"
766         * tests/test-lchown.h (test_lchown): s/a a/a/
767
768         maint.mk: prohibit \<the the\>
769         * top/maint.mk (sc_prohibit_the_the): New rule.
770
771         maint: fix "the the" in comment
772         * lib/count-one-bits.h: s/the the/the/
773
774         maint: change "can not" to "cannot"
775         But do not change the occurrences in maintain.texi or in
776         build-aux/po/Makefile.in.in, which I presume comes from gettext.
777         * doc/gnulib-tool.texi: s/can not/cannot/
778         * doc/posix-functions/accept.texi (accept): Likewise.
779         * doc/posix-functions/socket.texi (socket): Likewise.
780         * lib/mbrtowc.c: Likewise.
781
782         maint.mk: prohibit use of "can not"
783         * top/maint.mk (sc_prohibit_can_not): New rule.
784         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
785
786 2011-04-09  Bruno Haible  <bruno@clisp.org>
787
788         careadlinkat: Guard against misuse of careadlinkatcwd.
789         * lib/careadlinkat.c: Include <stdlib.h>.
790         (careadlinkatcwd): Check that the fd argument is as expected.
791
792 2011-04-09  Bruno Haible  <bruno@clisp.org>
793
794         careadlinkat: Use common coding style.
795         * lib/careadlinkat.c: Move gnulib includes after system includes.
796
797 2011-04-09  Bruno Haible  <bruno@clisp.org>
798
799         careadlinkat: Clarify specification.
800         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
801         (careadlinkatcwd): Add comment.
802         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
803
804 2011-04-09  Bruno Haible  <bruno@clisp.org>
805
806         areadlinkat: Avoid link error on many platforms.
807         * modules/areadlinkat (Depends-on): Add areadlink.
808
809 2011-04-09  Bruno Haible  <bruno@clisp.org>
810
811         allocator, careadlinkat: Fix double-inclusion guard.
812         * lib/allocator.h: Fix double-inclusion guard.
813         * lib/careadlinkat.h: Likewise.
814
815 2011-04-09  Bruno Haible  <bruno@clisp.org>
816
817         relocatable-prog-wrapper: Update after module 'areadlink' changed.
818         * lib/relocwrapper.c: Update dependencies hierarchy.
819         * build-aux/install-reloc: Update list of files to be compiled.
820         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
821         lib/allocator.[hc].
822
823 2011-04-08  Eric Blake  <eblake@redhat.com>
824
825         strftime: silence gnulib-tool warning
826         * modules/strftime-tests (Depends-on): Drop automatic dependency.
827
828 2011-04-08  Bruno Haible  <bruno@clisp.org>
829
830         verify: Fix syntax error with GCC 4.6 in C++ mode.
831         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
832         (HAVE_STATIC_ASSERT): New macro.
833         (verify_true, verify): Use 'static_assert' if it is supported and
834         '_Static_assert' is not supported.
835
836 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
837
838         allocator: New module.
839         * modules/allocator, lib/allocator.c: New files.
840         * lib/allocator.h (stdlib_allocator): New decl.
841         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
842         Remove.  Do not include <stdlib.h>.
843         (careadlinkat): Use stdlib_allocator instead of rolling our own.
844         * modules/careadlinkat (Files): Remove lib/allocator.h.
845         (Depends-on): Add allocator.
846
847         stdlib: let modules use system malloc, realloc
848         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
849         if !_GL_USE_STDLIB_ALLOC.
850         (malloc, realloc): Limit this change to a smaller scope.
851
852         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
853         (malloc, realloc): Don't #undef; no longer needed.
854         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
855         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
856         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
857         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
858         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
859         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
860         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
861         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
862
863         careadlinkat: rename members to avoid problem
864         * lib/allocator.h (struct allocator): Rename members from
865         malloc/realloc to allocate/reallocate, to avoid problems if malloc
866         and realloc are #define'd.  Reported by Eric Blake in
867         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
868         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
869
870 2011-04-08  Eric Blake  <eblake@redhat.com>
871
872         nonblocking: reduce dependency
873         * tests/test-nonblocking.c: Only test sockets when in use.
874         * modules/nonblocking-tests (Depends-on): Drop socket.
875         (Makefile.am): Link even if sockets are not present.
876         * modules/pipe2-tests (Makefile.am): Likewise.
877         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
878
879         pipe2: fix O_NONBLOCK support on mingw
880         * modules/pipe2 (Depends-on): Add nonblocking.
881         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
882         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
883         * tests/test-nonblocking.c (main): Likewise.
884         * modules/pipe2-tests (Makefile.am): Avoid link failure.
885
886         fcntl-h: fix O_ACCMODE on cygwin
887         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
888         * lib/fcntl.in.h (O_ACCMODE): Fix it.
889
890         pipe-filter: drop O_NONBLOCK workarounds
891         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
892         * modules/pipe-filter-ii (Depends-on): Likewise.
893         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
894
895         nonblocking: provide O_NONBLOCK for mingw
896         * modules/nonblocking (Depends-on): Add open.
897         (configure.ac): Set new witness macro.
898         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
899         * modules/fcntl-h (Makefile.am): Substitute it.
900         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
901         nonblocking module is in use.
902         * lib/nonblocking.c: Adjust portability test.
903         * lib/open.c (open): Don't let native open see gnulib flag.
904         * tests/test-fcntl-h.c (main): Enhance test.
905         * tests/test-open.h (test_open): Likewise.
906         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
907
908         careadlinkat: fix compilation error on mingw
909         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
910         within struct allocator.
911
912 2011-04-06  Eric Blake  <eblake@redhat.com>
913
914         binary-io: relicense under LGPLv2+
915         * modules/binary-io (License): Relax to LGPLv2+.
916         Requested for libvirt, and required by pipe2.
917
918 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
919
920         verify: use _Static_assert if available
921         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
922         (verify_true, verify): Use it if available.  This generates better
923         diagnostics with GCC 4.6.0 and later.
924
925 2011-04-05  Bruno Haible  <bruno@clisp.org>
926
927         Remove leftover generated .h files after config.status changed.
928
929         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
930         GL_GENERATE_ALLOCA_H.
931         * modules/alloca-opt (Makefile.am): Remove alloca.h if
932         GL_GENERATE_ALLOCA_H evaluates to false.
933
934         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
935         GL_GENERATE_ARGZ_H.
936         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
937         evaluates to false.
938
939         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
940         GL_GENERATE_BYTESWAP_H.
941         * modules/byteswap (Makefile.am): Remove byteswap.h if
942         GL_GENERATE_BYTESWAP_H evaluates to false.
943
944         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
945         GL_GENERATE_ERRNO_H.
946         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
947         evaluates to false.
948
949         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
950         GL_GENERATE_FLOAT_H.
951         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
952         evaluates to false.
953
954         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
955         GL_GENERATE_FNMATCH_H.
956         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
957         GL_GENERATE_FNMATCH_H evaluates to false.
958
959         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
960         GL_GENERATE_GLOB_H.
961         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
962         evaluates to false.
963
964         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
965         automake conditional GL_GENERATE_ICONV_H.
966         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
967         evaluates to false.
968
969         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
970         GL_GENERATE_NETINET_IN_H.
971         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
972         GL_GENERATE_NETINET_IN_H evaluates to false.
973
974         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
975         conditional GL_GENERATE_PTHREAD_H.
976         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
977         * modules/pthread (Makefile.am): Remove pthread.h if
978         GL_GENERATE_PTHREAD_H evaluates to false.
979
980         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
981         GL_GENERATE_SCHED_H.
982         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
983         evaluates to false.
984
985         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
986         conditional GL_GENERATE_SELINUX_CONTEXT_H.
987         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
988         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
989
990         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
991         GL_GENERATE_STDARG_H.
992         * modules/stdarg (Makefile.am): Remove stdarg.h if
993         GL_GENERATE_STDARG_H evaluates to false.
994
995         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
996         GL_GENERATE_STDBOOL_H.
997         * modules/stdbool (Makefile.am): Remove stdbool.h if
998         GL_GENERATE_STDBOOL_H evaluates to false.
999
1000         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
1001         conditional GL_GENERATE_STDDEF_H.
1002         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
1003         * modules/stddef (Makefile.am): Remove stddef.h if
1004         GL_GENERATE_STDDEF_H evaluates to false.
1005
1006         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
1007         GL_GENERATE_STDINT_H.
1008         * modules/stdint (Makefile.am): Remove stdint.h if
1009         GL_GENERATE_STDINT_H evaluates to false.
1010
1011         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
1012         GL_GENERATE_SYSEXITS_H.
1013         * modules/sysexits (Makefile.am): Remove sysexits.h if
1014         GL_GENERATE_SYSEXITS_H evaluates to false.
1015
1016         Reported by Karl Berry and Ralf Wildenhues.
1017
1018 2011-04-05  Bruno Haible  <bruno@clisp.org>
1019
1020         Ensure to rebuild generated .h files when config.status has changed.
1021         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
1022         config.status.
1023         * modules/ctype (Makefile.am): Likewise.
1024         * modules/dirent (Makefile.am): Likewise.
1025         * modules/errno (Makefile.am): Likewise.
1026         * modules/fcntl-h (Makefile.am): Likewise.
1027         * modules/float (Makefile.am): Likewise.
1028         * modules/getopt-posix (Makefile.am): Likewise.
1029         * modules/glob (Makefile.am): Likewise.
1030         * modules/iconv-h (Makefile.am): Likewise.
1031         * modules/inttypes (Makefile.am): Likewise.
1032         * modules/langinfo (Makefile.am): Likewise.
1033         * modules/locale (Makefile.am): Likewise.
1034         * modules/math (Makefile.am): Likewise.
1035         * modules/netdb (Makefile.am): Likewise.
1036         * modules/netinet_in (Makefile.am): Likewise.
1037         * modules/poll-h (Makefile.am): Likewise.
1038         * modules/pthread (Makefile.am): Likewise.
1039         * modules/pty (Makefile.am): Likewise.
1040         * modules/sched (Makefile.am): Likewise.
1041         * modules/search (Makefile.am): Likewise.
1042         * modules/selinux-h (Makefile.am): Likewise.
1043         * modules/signal (Makefile.am): Likewise.
1044         * modules/spawn (Makefile.am): Likewise.
1045         * modules/stdarg (Makefile.am): Likewise.
1046         * modules/stdbool (Makefile.am): Likewise.
1047         * modules/stddef (Makefile.am): Likewise.
1048         * modules/stdint (Makefile.am): Likewise.
1049         * modules/stdio (Makefile.am): Likewise.
1050         * modules/stdlib (Makefile.am): Likewise.
1051         * modules/string (Makefile.am): Likewise.
1052         * modules/strings (Makefile.am): Likewise.
1053         * modules/sys_file (Makefile.am): Likewise.
1054         * modules/sys_ioctl (Makefile.am): Likewise.
1055         * modules/sys_select (Makefile.am): Likewise.
1056         * modules/sys_socket (Makefile.am): Likewise.
1057         * modules/sys_stat (Makefile.am): Likewise.
1058         * modules/sys_time (Makefile.am): Likewise.
1059         * modules/sys_times (Makefile.am): Likewise.
1060         * modules/sys_utsname (Makefile.am): Likewise.
1061         * modules/sys_wait (Makefile.am): Likewise.
1062         * modules/sysexits (Makefile.am): Likewise.
1063         * modules/termios (Makefile.am): Likewise.
1064         * modules/time (Makefile.am): Likewise.
1065         * modules/unistd (Makefile.am): Likewise.
1066         * modules/wchar (Makefile.am): Likewise.
1067         * modules/wctype-h (Makefile.am): Likewise.
1068         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
1069
1070 2011-04-05  Bruno Haible  <bruno@clisp.org>
1071
1072         pipe2: Relicense under LGPLv2+.
1073         * modules/pipe2 (License): Change to LGPLv2+.
1074         Requested by Eric Blake, for libvirt.
1075
1076 2011-04-05  Bruce Korb  <bkorb@gnu.org>
1077
1078         bootstrap: compute gnulib_extra_files after updating build_aux
1079         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
1080         change build_aux or also supply gnulib_extra_files.  Handle correctly.
1081
1082 2011-04-05  Eric Blake  <eblake@redhat.com>
1083
1084         bootstrap: preserve git whitelist item sorting
1085         * build-aux/bootstrap (sort_patterns): New function.
1086         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
1087
1088 2011-04-05  Simon Josefsson  <simon@josefsson.org>
1089
1090         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
1091         sc_space_tab check.
1092
1093 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1094
1095         areadlink, areadlinkat: rewrite in terms of careadlinkat
1096         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
1097         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
1098         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
1099         (malloc, realloc): Remove #undefs.
1100         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
1101         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
1102         readlink, ssize_t, stdint, unistd.
1103         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
1104         areadlink, stdint.
1105
1106         careadlinkat: new module
1107         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
1108         * modules/careadlinkat: New files, written by me with
1109         a review and feedback from Ben Pfaff in
1110         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
1111
1112 2011-04-01  Bruno Haible  <bruno@clisp.org>
1113
1114         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
1115         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
1116         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
1117         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
1118         Reported by Bruce Korb <bruce.korb@gmail.com>.
1119
1120 2011-04-01  Bruno Haible  <bruno@clisp.org>
1121
1122         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
1123         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
1124         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
1125         * modules/wcpcpy (Depends-on): Add extensions.
1126         * modules/wcpncpy (Depends-on): Likewise.
1127         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
1128         systems.
1129         * doc/posix-functions/wcpncpy.texi: Likewise.
1130         * doc/posix-functions/wcwidth.texi: Likewise.
1131
1132 2011-03-31  Eric Blake  <eblake@redhat.com>
1133
1134         nonblocking: fix mingw test failures
1135         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
1136         non-blocking flag on regular file.
1137         (get_nonblocking_flag): Set errno on invalid fd.
1138         * tests/test-nonblocking.c (main): Avoid test failure on
1139         directories if fchdir is not active.
1140         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
1141
1142 2011-03-31  Bruno Haible  <bruno@clisp.org>
1143
1144         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
1145         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
1146         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
1147         Reported by Simon Josefsson <simon@josefsson.org>.
1148
1149 2011-03-31  Bruno Haible  <bruno@clisp.org>
1150         and Eric Blake  <eblake@redhat.com>
1151
1152         nonblocking: new module
1153         * modules/nonblocking: New module.
1154         * modules/nonblocking-tests: Likewise.
1155         * lib/nonblocking.h: New file.
1156         * lib/nonblocking.c: Likewise.
1157         * tests/test-nonblocking.c: New test.
1158         * lib/ioctl.c (ioctl) [mingw]: Update comment.
1159
1160 2011-03-30  Bruno Haible  <bruno@clisp.org>
1161
1162         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
1163         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
1164         instead of 'printf' format for GCC >= 4.4.
1165         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
1166         (fprintf, printf, vfprintf, vprintf): Declare with
1167         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
1168         the system's vfprintf() function.
1169         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
1170
1171 2011-03-30  Eric Blake  <eblake@redhat.com>
1172
1173         passfd: fix scoping bug
1174         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
1175         before sendmsg/recvmsg.
1176
1177         passfd: standardize coding conventions
1178         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
1179         can be learned at compile time.
1180         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
1181         ifdefs.
1182         (sendfd, recvfd): Follow gnulib code conventions.
1183
1184         passfd: fix incorrect sendmsg arguments
1185         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
1186         incorrect msg_controllen value.
1187         * modules/passfd-tests (Depends-on): Check for alarm.
1188         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
1189         Reported by Bastien ROUCARIES.
1190
1191 2011-03-30  Bruno Haible  <bruno@clisp.org>
1192
1193         c-strcasestr: Relicense under LGPLv2+.
1194         * modules/c-strcasestr (License): Change to LGPLv2+.
1195         Requested by Eric Blake, for libvirt.
1196
1197 2011-03-30  Simon Josefsson  <simon@josefsson.org>
1198
1199         * users.txt: Add libidn2.  Fix libtasn1 link.
1200
1201 2011-03-30  Jim Meyering  <meyering@redhat.com>
1202
1203         tests: readlink* ("",... fails with EINVAL on newer kernels
1204         readlink and readlinkat have typically failed with ENOENT for
1205         the invalid, empty file name,  "".  However, with the advent
1206         of linux-2.6.39, they fail with EINVAL.
1207         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
1208         when operating on the empty file name.
1209         * tests/test-readlink.h (test_readlink): Likewise.
1210
1211 2011-03-29  Bruno Haible  <bruno@clisp.org>
1212
1213         Relicense some modules under LGPLv2+, for libidn2.
1214         * modules/array-mergesort (License): Change to LGPLv2+.
1215         * modules/c-strcaseeq (License): Likewise.
1216         * modules/striconveh (License): Likewise.
1217         * modules/striconveha (License): Likewise.
1218         * modules/uniconv/base (License): Likewise.
1219         * modules/uniconv/u8-conv-from-enc (License): Likewise.
1220         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
1221         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
1222         * modules/unictype/base (License): Likewise.
1223         * modules/unictype/bidiclass-of (License): Likewise.
1224         * modules/unictype/category-M (License): Likewise.
1225         * modules/unictype/category-none (License): Likewise.
1226         * modules/unictype/category-of (License): Likewise.
1227         * modules/unictype/category-test (License): Likewise.
1228         * modules/unictype/category-test-withtable (License): Likewise.
1229         * modules/unictype/combining-class (License): Likewise.
1230         * modules/unictype/joiningtype-of (License): Likewise.
1231         * modules/unictype/scripts (License): Likewise.
1232         * modules/uninorm/base (License): Likewise.
1233         * modules/uninorm/canonical-decomposition (License): Likewise.
1234         * modules/uninorm/composition (License): Likewise.
1235         * modules/uninorm/decompose-internal (License): Likewise.
1236         * modules/uninorm/decomposition-table (License): Likewise.
1237         * modules/uninorm/nfc (License): Likewise.
1238         * modules/uninorm/nfd (License): Likewise.
1239         * modules/uninorm/u32-normalize (License): Likewise.
1240         * modules/unistr/base (License): Likewise.
1241         * modules/unistr/u32-cpy (License): Likewise.
1242         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
1243         * modules/unistr/u32-to-u8 (License): Likewise.
1244         * modules/unistr/u32-uctomb (License): Likewise.
1245         * modules/unistr/u8-check (License): Likewise.
1246         * modules/unistr/u8-mblen (License): Likewise.
1247         * modules/unistr/u8-mbtouc (License): Likewise.
1248         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
1249         * modules/unistr/u8-mbtoucr (License): Likewise.
1250         * modules/unistr/u8-prev (License): Likewise.
1251         * modules/unistr/u8-strlen (License): Likewise.
1252         * modules/unistr/u8-to-u32 (License): Likewise.
1253         * modules/unistr/u8-uctomb (License): Likewise.
1254         * modules/unitypes (License): Likewise.
1255         Requested by Simon Josefsson.
1256
1257 2011-03-29  Simon Josefsson  <simon@josefsson.org>
1258
1259         lib-symbol-visibility: Add a notice.
1260         * modules/lib-symbol-visibility (Notice): New field.
1261
1262 2011-03-29  Bruno Haible  <bruno@clisp.org>
1263
1264         getaddrinfo: Doc fix.
1265         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
1266         section "fixed in Gnulib".
1267
1268 2011-03-28  Simon Josefsson  <simon@josefsson.org>
1269
1270         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
1271         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
1272
1273 2011-03-26  Bruno Haible  <bruno@clisp.org>
1274
1275         unictype/property-byname: Reduce the number of load-time relocations.
1276         * lib/unictype/pr_byname.c: Include <stdlib.h>.
1277         (UC_PROPERTY_INDEX_*): New enumeration values.
1278         (uc_property_byname): Convert an index from the lookup table to an
1279         uc_property_t.
1280         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
1281         values.
1282
1283 2011-03-26  Bruno Haible  <bruno@clisp.org>
1284
1285         unictype/property-byname: Allow omitted word separators and aliases.
1286         * lib/unictype/pr_byname.gperf: Add property names without word
1287         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
1288         for 'space'.
1289
1290 2011-03-26  Bruno Haible  <bruno@clisp.org>
1291
1292         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
1293         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
1294         also hyphens to space.
1295         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
1296         without spaces.
1297         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
1298
1299 2011-03-26  Bruno Haible  <bruno@clisp.org>
1300
1301         unictype/joiningtype-byname: Recognize long names as well.
1302         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
1303         a long name.
1304         * lib/unictype/joiningtype_byname.c: Include <string.h>,
1305         unictype/joiningtype_byname.h.
1306         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
1307         * lib/unictype/joiningtype_byname.gperf: New file.
1308         * modules/unictype/joiningtype-byname (Files): Add
1309         lib/unictype/joiningtype_byname.gperf.
1310         (Depends-on): Add gperf.
1311         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
1312         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
1313         long names.
1314
1315         Tests for module 'unictype/joiningtype-longname'.
1316         * modules/unictype/joiningtype-longname-tests: New file.
1317         * tests/unictype/test-joiningtype_longname.c: New file.
1318
1319         New module 'unictype/joiningtype-longname'.
1320         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
1321         * lib/unictype/joiningtype_longname.c: New file.
1322         * modules/unictype/joiningtype-longname: New file.
1323         * modules/unictype/joiningtype-all (Depends-on): Add
1324         unictype/joiningtype-longname.
1325
1326 2011-03-26  Bruno Haible  <bruno@clisp.org>
1327
1328         unictype/bidiclass-byname: Recognize long names as well.
1329         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
1330         name.
1331         * lib/unictype/bidi_byname.c: Include <string.h>,
1332         unictype/bidi_byname.h.
1333         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
1334         * lib/unictype/bidi_byname.gperf: New file.
1335         * modules/unictype/bidiclass-byname (Files): Add
1336         lib/unictype/bidi_byname.gperf.
1337         (Depends-on): Add gperf.
1338         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
1339         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
1340         long names.
1341
1342         Tests for module 'unictype/bidiclass-longname'.
1343         * modules/unictype/bidiclass-longname-tests: New file.
1344         * tests/unictype/test-bidi_longname.c: New file.
1345
1346         New module 'unictype/bidiclass-longname'.
1347         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
1348         * lib/unictype/bidi_longname.c: New file.
1349         * modules/unictype/bidiclass-longname: New file.
1350         * modules/unictype/bidiclass-all (Depends-on): Add
1351         unictype/bidiclass-longname.
1352
1353 2011-03-26  Bruno Haible  <bruno@clisp.org>
1354
1355         unictype/bidi*: Rename modules.
1356         * modules/unictype/bidiclass-all: Renamed from
1357         modules/unictype/bidicategory-all.
1358         * modules/unictype/bidiclass-name: Renamed from
1359         modules/unictype/bidiclass-name.
1360         (Description): Update.
1361         * modules/unictype/bidiclass-name-tests: Renamed from
1362         modules/unictype/bidicategory-name-tests.
1363         * modules/unictype/bidiclass-byname: Renamed from
1364         modules/unictype/bidicategory-byname.
1365         (Description): Update.
1366         * modules/unictype/bidiclass-byname-tests: Renamed from
1367         modules/unictype/bidicategory-byname-tests.
1368         * modules/unictype/bidiclass-of: Renamed from
1369         modules/unictype/bidicategory-of.
1370         (Description): Update.
1371         * modules/unictype/bidiclass-of-tests: Renamed from
1372         modules/unictype/bidicategory-of-tests.
1373         * modules/unictype/bidiclass-test: Renamed from
1374         modules/unictype/bidicategory-test.
1375         (Description): Update.
1376         * modules/unictype/bidiclass-test-tests: Renamed from
1377         modules/unictype/bidicategory-test-tests.
1378         * modules/unictype/bidicategory-all: New file, a simple redirection.
1379         * modules/unictype/bidicategory-name: Likewise.
1380         * modules/unictype/bidicategory-byname: Likewise.
1381         * modules/unictype/bidicategory-of: Likewise.
1382         * modules/unictype/bidicategory-test: Likewise.
1383         * modules/unictype/property-bidi-* (Dependencies): Update.
1384         * lib/unictype/bidi_*.c: Update comment.
1385
1386 2011-03-26  Bruno Haible  <bruno@clisp.org>
1387
1388         unictype/bidi*: Rename functions, part 2.
1389         * modules/unictype/bidicategory-name (configure.ac): Update required
1390         libunistring version.
1391         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
1392
1393 2011-03-25  Bruno Haible  <bruno@clisp.org>
1394
1395         New module 'unictype/combining-class-all'.
1396         * modules/unictype/combining-class-all: New file.
1397
1398         Tests for module 'unictype/combining-class-byname'.
1399         * modules/unictype/combining-class-byname-tests: New file.
1400         * tests/unictype/test-combiningclass_byname.c: New file.
1401
1402         New module 'unictype/combining-class-byname'.
1403         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
1404         * lib/unictype/combiningclass_byname.c: New file.
1405         * lib/unictype/combiningclass_byname.gperf: New file.
1406         * modules/unictype/combining-class-byname: New file.
1407
1408         Tests for module 'unictype/combining-class-longname'.
1409         * modules/unictype/combining-class-longname-tests: New file.
1410         * tests/unictype/test-combiningclass_longname.c: New file.
1411
1412         New module 'unictype/combining-class-longname'.
1413         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
1414         * lib/unictype/combiningclass_longname.c: New file.
1415         * modules/unictype/combining-class-longname: New file.
1416
1417         Tests for module 'unictype/combining-class-name'.
1418         * modules/unictype/combining-class-name-tests: New file.
1419         * tests/unictype/test-combiningclass_name.c: New file.
1420
1421         New module 'unictype/combining-class-name'.
1422         * lib/unictype.in.h (uc_combining_class_name): New declaration.
1423         * lib/unictype/combiningclass_name.c: New file.
1424         * modules/unictype/combining-class-name: New file.
1425
1426 2011-03-25  Bruno Haible  <bruno@clisp.org>
1427
1428         unictype/combining-class: Rename source files.
1429         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
1430         of unictype/combining.h.
1431         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
1432         Update.
1433         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
1434         * modules/unictype/combining-class (Description): Fix.
1435         (Files, Makefile.am): Update.
1436         * tests/unictype/test-combiningclass.c: Renamed from
1437         tests/unictype/test-combining.c.
1438         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
1439
1440 2011-03-25  Bruno Haible  <bruno@clisp.org>
1441
1442         unictype: Update list of canonical combining classes.
1443         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
1444
1445 2011-03-25  Bruno Haible  <bruno@clisp.org>
1446
1447         unictype/category-byname: Recognize long names as well.
1448         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
1449         a long name.
1450         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
1451         unictype/categ_byname.h.
1452         (UC_CATEGORY_INDEX_*): New enumeration values.
1453         (uc_general_category_byname): Use uc_general_category_lookup and
1454         convert from index to value.
1455         * lib/unictype/categ_byname.gperf: New file.
1456         * modules/unictype/category-byname (Files): Add
1457         lib/unictype/categ_byname.gperf.
1458         (Depends-on): Add gperf.
1459         (Makefile.am): Add rule for generating unictype/categ_byname.h.
1460         * tests/unictype/test-categ_byname.c (main): Test the recognition of
1461         long names.
1462
1463         Tests for module 'unictype/category-longname'.
1464         * modules/unictype/category-longname-tests: New file.
1465         * tests/unictype/test-categ_longname.c: New file.
1466
1467         New module 'unictype/category-longname'.
1468         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
1469         * lib/unictype/categ_longname.c: New file.
1470         * modules/unictype/category-longname: New file.
1471         * modules/unictype/category-all (Depends-on): Add it.
1472
1473 2011-03-25  Bruno Haible  <bruno@clisp.org>
1474
1475         Tests for module 'unictype/category-LC'.
1476         * modules/unictype/category-LC-tests: New file.
1477         * tests/unictype/test-categ_LC.c: New file, automatically generated.
1478
1479         New module 'unictype/category-LC'.
1480         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
1481         (UC_CATEGORY_LC): New declaration.
1482         (UC_CASED_LETTER): New macro.
1483         * lib/gen-uni-tables.c (is_category_LC): New function.
1484         (output_categories): Also handle category LC.
1485         (UC_CATEGORY_MASK_LC): New enumeration value.
1486         (general_category_byname): Also handle category LC.
1487         * lib/unictype/categ_LC.c: New file.
1488         * lib/unictype/categ_LC.h: New file, automatically generated.
1489         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
1490         category LC.
1491         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
1492         * modules/unictype/category-LC: New file.
1493         * modules/unictype/category-byname (Depends-on): Add
1494         unictype/category-LC.
1495         * modules/unictype/category-all (Depends-on): Likewise.
1496
1497 2011-03-25  Eric Blake  <eblake@redhat.com>
1498
1499         xmalloc: revert yesterday's regression
1500         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
1501         realloc's underlying behavior (allowing allocation of zero-size
1502         objects, especially if malloc-gnu is also in use).
1503
1504 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
1505
1506         maint.mk: add missing version to VC-tag
1507         * top/maint.mk: git tag was missing actual tag name; add it.
1508
1509         valgrind: do leak checking, and exit with code 1 on error (not 0)
1510         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
1511         to VALGRIND.
1512
1513 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
1514
1515         posix-modules: say what it does.
1516         * posix-modules: Add a line to the --help output saying what it does.
1517
1518 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
1519
1520         xmalloc: Do not leak if underlying realloc is C99 compatible.
1521         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
1522         This avoids a leak on C99-based systems.  See
1523         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
1524
1525 2011-03-24  Eric Blake  <eblake@redhat.com>
1526
1527         realloc: document portability problem
1528         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
1529         passing 0 size to realloc.
1530
1531 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
1532
1533         doc: update users.txt
1534         * users.txt: Add cvsps, tmpwatch
1535
1536 2011-03-23  Matt Rice  <ratmice@gmail.com>
1537
1538         doc: update users.txt
1539         * users.txt: Add gdb.
1540
1541 2011-03-23  Jim Meyering  <meyering@redhat.com>
1542
1543         doc: update users.txt
1544         Looking through matches up to the following URL (there are still
1545         several more pages), I found several projects that use gnulib:
1546         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
1547         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
1548         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
1549
1550 2011-03-22  Bruno Haible  <bruno@clisp.org>
1551
1552         unictype/bidi*: Rename functions.
1553         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
1554         uc_bidi_class, uc_is_bidi_class): New declarations.
1555         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
1556         uc_bidi_category_byname.
1557         (uc_bidi_category_byname): New function.
1558         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
1559         u_bidi_category_name.
1560         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
1561         (uc_bidi_category_name): New function.
1562         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
1563         uc_bidi_category.
1564         (uc_bidi_category): New function.
1565         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
1566         uc_is_bidi_category. Invoke uc_bidi_class.
1567         (uc_is_bidi_category): New function.
1568         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
1569         instead of uc_bidi_category_byname.
1570         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
1571         instead of uc_bidi_category_name.
1572         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
1573         uc_bidi_category.
1574         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
1575         instead of uc_is_bidi_category.
1576
1577 2011-03-21  Bruno Haible  <bruno@clisp.org>
1578
1579         New module 'unictype/joininggroup-all'.
1580         * modules/unictype/joininggroup-all: New file.
1581
1582         Tests for module 'unictype/joininggroup-of'.
1583         * modules/unictype/joininggroup-of-tests: New file.
1584         * tests/unictype/test-joininggroup_of.c: New file.
1585         * tests/unictype/test-joininggroup_of.h: New file, automatically
1586         generated by gen-uni-tables.
1587
1588         New module 'unictype/joininggroup-of'.
1589         * modules/unictype/joininggroup-of: New file.
1590         * lib/unictype/joininggroup_of.c: New file.
1591         * lib/unictype/joininggroup_of.h: New file, automatically generated by
1592         gen-uni-tables.
1593
1594         Tests for module 'unictype/joininggroup-byname'.
1595         * modules/unictype/joininggroup-byname-tests: New file.
1596         * tests/unictype/test-joininggroup_byname.c: New file.
1597
1598         New module 'unictype/joininggroup-byname'.
1599         * modules/unictype/joininggroup-byname: New file.
1600         * lib/unictype/joininggroup_byname.c: New file.
1601         * lib/unictype/joininggroup_byname.gperf: New file.
1602
1603         Tests for module 'unictype/joininggroup-name'.
1604         * modules/unictype/joininggroup-name-tests: New file.
1605         * tests/unictype/test-joininggroup_name.c: New file.
1606
1607         New module 'unictype/joininggroup-name'.
1608         * modules/unictype/joininggroup-name: New file.
1609         * lib/unictype/joininggroup_name.c: New file.
1610         * lib/unictype/joininggroup_name.h: New file.
1611
1612         New module 'unictype/joiningtype-all'.
1613         * modules/unictype/joiningtype-all: New file.
1614
1615         Tests for module 'unictype/joiningtype-of'.
1616         * modules/unictype/joiningtype-of-tests: New file.
1617         * tests/unictype/test-joiningtype_of.c: New file.
1618         * tests/unictype/test-joiningtype_of.h: New file, automatically
1619         generated by gen-uni-tables.
1620
1621         New module 'unictype/joiningtype-of'.
1622         * modules/unictype/joiningtype-of: New file.
1623         * lib/unictype/joiningtype_of.c: New file.
1624         * lib/unictype/joiningtype_of.h: New file, automatically generated by
1625         gen-uni-tables.
1626
1627         Tests for module 'unictype/joiningtype-byname'.
1628         * modules/unictype/joiningtype-byname-tests: New file.
1629         * tests/unictype/test-joiningtype_byname.c: New file.
1630
1631         New module 'unictype/joiningtype-byname'.
1632         * modules/unictype/joiningtype-byname: New file.
1633         * lib/unictype/joiningtype_byname.c: New file.
1634
1635         Tests for module 'unictype/joiningtype-name'.
1636         * modules/unictype/joiningtype-name-tests: New file.
1637         * tests/unictype/test-joiningtype_name.c: New file.
1638
1639         New module 'unictype/joiningtype-name'.
1640         * modules/unictype/joiningtype-name: New file.
1641         * lib/unictype/joiningtype_name.c: New file.
1642
1643         unictype: Add support for Arabic shaping properties.
1644         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
1645         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
1646         declarations.
1647         (UC_JOINING_GROUP_*): New enumeration values.
1648         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
1649         declarations.
1650         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
1651         (unicode_joining_type): New variable.
1652         (UC_JOINING_GROUP_*): New enumeration values.
1653         (unicode_joining_group): New variable.
1654         (fill_arabicshaping, joining_type_as_c_identifier,
1655         output_joining_type_test, output_joining_type,
1656         joining_group_as_c_identifier, output_joining_group_test,
1657         output_joining_group): New functions.
1658         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
1659         fill_arabicshaping and output_joining_type_test, output_joining_type,
1660         output_joining_group_test, output_joining_group.
1661         Reported by Simon Josefsson.
1662
1663 2011-03-21  Jim Meyering  <meyering@redhat.com>
1664
1665         strftime: fix a bug in yesterday's change
1666         * lib/strftime.c (add): Accommodate width's initial value of -1.
1667         Otherwise, nstrftime would copy uninitialized data into
1668         the result buffer.
1669
1670 2011-03-21  Jim Meyering  <meyering@redhat.com>
1671
1672         tests: add strftime-tests module
1673         * tests/test-strftime.c: New file.
1674         * modules/strftime-tests: New module.
1675
1676 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1677
1678         strftime: don't assume a byte count fits in 'int'
1679         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
1680         found this problem by static analysis, using gcc -Wstrict-overflow
1681         (GCC 4.5.2, x86-64).  This reported an optimization that depended
1682         on an integer overflow having undefined behavior, but it turns out
1683         that the argument is a size, which might not fit in 'int' anyway,
1684
1685 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1686
1687         stdio: don't require ignore_value around fwrite
1688
1689         This patch works around libc bug 11959
1690         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
1691         Without this patch, applications must often write
1692         ignore_value (fwrite (...)) even though the ignore_value is
1693         not helpful here.  It's common to write many objects, using
1694         fwrite/printf/etc., and then use ferror to detect output error.
1695
1696         I considered making this patch optional, but decided against it,
1697         because libc is obviously being inconsistent here: there is no
1698         reason libc should insist that user code must inspect fwrite
1699         return's value without also insisting that it inspect printf's,
1700         putchar's, etc.  If user code wants to have a strict style where
1701         all these functions' values are checked (so that ferror need not
1702         be checked), we could add support for that style in a new gnulib
1703         module, but in the meantime it's better to be consistent and to
1704         support common usage.
1705
1706         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
1707         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
1708         that we are compiling in checking mode, and if not C++, and
1709         if not already wrapping fwrite for some other reason.
1710         (fwrite): #define to rpl_fwrite if the latter is defined.
1711
1712 2011-03-20  Bruno Haible  <bruno@clisp.org>
1713
1714         verror: Fix compilation error introduced on 2011-02-13.
1715         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
1716         instead of __attribute__.
1717         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1718
1719 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1720             Bruno Haible  <bruno@clisp.org>
1721
1722         socklen: do not depend on sys_socket
1723         While trying to modify Emacs to use gnulib's socklen module,
1724         I discovered a circular dependency: socklen depends on sys_socket
1725         and vice versa.  Emacs can use socklen, but it does not need
1726         sys_socket because it has its own substitute for sys/socket.h.
1727         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
1728         gl_TYPE_SOCKLEN_T.
1729         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
1730         gl_PREREQ_SYS_H_SOCKET.
1731         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
1732         gl_PREREQ_SYS_H_SOCKET.
1733         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
1734         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
1735         * modules/socklen (Depends-on): Do not depend on sys_socket.
1736         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
1737
1738 2011-03-20  Jim Meyering  <meyering@redhat.com>
1739
1740         maint.mk: sort file names *after* new transformation
1741         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
1742         prefix would have led to an unwarranted failure in GNU parted.
1743         Sort after that transformation.
1744
1745 2011-03-19  Jim Meyering  <meyering@redhat.com>
1746
1747         maint.mk: fix po-file syntax-check rule
1748         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
1749         Patch by Bruno Haible.
1750
1751 2011-03-19  Bruno Haible  <bruno@clisp.org>
1752
1753         socklen: Update comment.
1754         * m4/socklen.m4: Update comment about platforms.
1755
1756 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1757             Bruno Haible  <bruno@clisp.org>
1758
1759         inet_ntop, inet_pton: Simplify.
1760         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
1761         documented to provide socklen_t and we already depend on sys_socket.
1762         * modules/inet_pton (Depends-on): Likewise.
1763         * lib/arpa_inet.in.h: Adjust comment.
1764
1765 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1766             Bruno Haible  <bruno@clisp.org>
1767
1768         netdb: Simplify.
1769         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1770         documented to provide socklen_t and we already depend on sys_socket.
1771         * lib/netdb.in.h: Adjust comment.
1772
1773 2011-03-19  Bruno Haible  <bruno@clisp.org>
1774
1775         sys_socket, netdb: Document problem with socklen_t.
1776         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1777         platforms.
1778         * doc/posix-headers/netdb.texi: Likewise.
1779
1780 2011-03-18  Eric Blake  <eblake@redhat.com>
1781
1782         maint.mk: let po check work in VPATH build
1783         * top/maint.mk (po_file): Allow cfg.mk override.
1784         (sc_po_check): Allow VPATH use.
1785         Reported by Jiri Denemark.
1786
1787 2011-03-16  Jim Meyering  <meyering@redhat.com>
1788
1789         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1790         Before, you would have had to create one .x-sc_ file per rule in order
1791         to exempt offending files.  Now, you may instead use a Make variable --
1792         usually defined in cfg.mk -- whose name identifies the affected rule.
1793         * top/maint.mk (_sc_excl): Define.
1794         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1795         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1796
1797 2011-03-13  Bruno Haible  <bruno@clisp.org>
1798
1799         ignore-value tests: Avoid warnings.
1800         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1801         empty for gcc < 3.4.
1802
1803 2011-03-13  Bruno Haible  <bruno@clisp.org>
1804
1805         passfd: Fix link error on Solaris.
1806         * modules/passfd (Description): Correct.
1807         (Depends-on): Add socketlib.
1808         (Link): New section.
1809         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1810
1811 2011-03-13  Bruno Haible  <bruno@clisp.org>
1812
1813         passfd: Fix link error on AIX 5.2.
1814         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1815
1816 2011-03-13  Bruno Haible  <bruno@clisp.org>
1817
1818         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1819         * lib/sys_socket.in.h: Include <stddef.h>.
1820         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1821         CMSG_FIRSTHDR. Remove unused variable.
1822
1823 2011-03-13  Bruno Haible  <bruno@clisp.org>
1824
1825         passfd: Fix compilation error on OpenBSD.
1826         * lib/passfd.c: Include <sys/uio.h>.
1827
1828 2011-03-13  Bruno Haible  <bruno@clisp.org>
1829
1830         passfd test: Fix warnings.
1831         * tests/test-passfd.c: Include <sys/wait.h>.
1832         (main): Fix typo.
1833
1834 2011-03-13  Bruno Haible  <bruno@clisp.org>
1835
1836         passfd module, part 4, tweaks.
1837         * tests/test-passfd.c: Reorder includes.
1838         (main): Fix perror and printf calls.
1839
1840 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1841
1842         passfd module, part 4.
1843         * modules/passfd-tests: New file.
1844         * tests/test-passfd.c: New file.
1845
1846 2011-03-13  Jim Meyering  <meyering@redhat.com>
1847
1848         Makefile: rely on GNU make; derive syntax-check rule names
1849         Rather than requiring that each sc_ rule be listed as a dependent
1850         of "check", use features of GNU make to derive the list.
1851         * Makefile (syntax-check-rules): Define.
1852         (check): Depend on the new variable, not the hard-coded list.
1853
1854 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1855             Bruno Haible  <bruno@clisp.org>
1856
1857         passfd module, part 3.
1858         * lib/passfd.h (recvfd): Add a flags argument.
1859         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1860         (recvfd): Add a flags argument.
1861         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1862         exists.
1863         * modules/passfd (Depends-on): Add cloexec.
1864         Suggested by Eric Blake.
1865
1866 2011-03-13  Bruno Haible  <bruno@clisp.org>
1867
1868         passfd module, part 2, tweaks.
1869         * modules/passfd (Files): Reorder.
1870         (Depends-on): Remove errno.
1871         (Include): Remove <sys/socket.h>, <sys/un.h>.
1872         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1873         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1874         specification header. Include <sys/socket.h> always. Don't include
1875         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1876         (sendfd): Clarify that it sets errno when it fails.
1877         (recvfd): Fix specification.
1878
1879 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1880
1881         passfd module, part 2.
1882         * modules/passfd: New file.
1883         * lib/passfd.h: New file.
1884         * lib/passfd.c: New file.
1885
1886 2011-03-12  Bruno Haible  <bruno@clisp.org>
1887
1888         wcswidth, mbswidth: Avoid integer overflow.
1889         * lib/wcswidth.c: Include <limits.h>.
1890         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1891         * lib/mbswidth.c: Include <limits.h>.
1892         (mbsnwidth): Avoid 'int' overflow.
1893         Reported by Jim Meyering.
1894
1895 2011-03-12  Bruno Haible  <bruno@clisp.org>
1896
1897         futimens, utimensat: Avoid endless recursion on Solaris 10.
1898         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1899         Solaris.
1900         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1901         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1902
1903 2011-03-11  Jim Meyering  <meyering@redhat.com>
1904
1905         maint.mk: relax a regexp to accommodate other formatting styles
1906         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1907         between "ngettext" and the following "(".
1908
1909 2011-03-11  Pádraig Brady <P@draigBrady.com>
1910
1911         maint.mk: suppress a false positive warning
1912         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1913         diagnostics are marked with ngettext.
1914
1915 2011-03-10  Eric Blake  <eblake@redhat.com>
1916
1917         wchar: add explicit dependencies, for Tru64
1918         * modules/mbmemcasecoll (Depends-on): Add wchar.
1919         * modules/mbtowc (Depends-on): Likewise.
1920         * modules/vasnprintf (Depends-on): Likewise.
1921         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1922         * modules/wctomb (Depends-on): Likewise.
1923         Reported by Peter O'Gorman.
1924
1925 2011-03-08  Bruno Haible  <bruno@clisp.org>
1926
1927         passfd module, part 1, tweaks.
1928         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1929         Improve indentation. Improve AC_MSG_CHECKING messages.
1930         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1931         gl_SOCKET_FAMILIES.
1932
1933 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1934
1935         passfd module, part 1.
1936         * m4/afunix.m4: New file.
1937         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1938         sockets.
1939
1940 2011-03-08  Bruno Haible  <bruno@clisp.org>
1941
1942         regex-quote: New API.
1943         * lib/regex-quote.h: Include <stdbool.h>.
1944         (struct regex_quote_spec): New type.
1945         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1946         New declarations.
1947         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1948         'const struct regex_quote_spec *' argument.
1949         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1950         (pcre_special): New constant.
1951         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1952         New functions.
1953         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1954         'const struct regex_quote_spec *' argument.
1955         * modules/regex-quote (Depends-on): Add stdbool.
1956         * tests/test-regex-quote.c (check): Update for new API. Add test for
1957         anchored results.
1958         * NEWS: Mention the API change.
1959         Reported by Reuben Thomas and Eric Blake.
1960
1961 2011-03-06  Bruno Haible  <bruno@clisp.org>
1962
1963         regex-quote: Fix creation of POSIX extended regular expressions.
1964         * lib/regex-quote.c (ere_special): Add grouping and alternation
1965         operators.
1966
1967 2011-03-05  Bruno Haible  <bruno@clisp.org>
1968
1969         doc: Improve doc regarding autopoint vs. gnulib.
1970         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1971         disable autopoint while running autoreconf.
1972         Suggested by Ralf Wildenhues.
1973
1974 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1975
1976         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1977         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1978
1979 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1980
1981         parse-duration: remove xalloc.h dependency
1982         * lib/parse-duration.c (parse_period): handle NULL return from
1983         strdup instead of calling xstrdup().
1984         * modules/parse-duration: remove "xalloc" dependency
1985
1986 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1987
1988         bootstrap: honor m4_base when running aclocal
1989         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1990
1991 2011-03-02  Jim Meyering  <meyering@redhat.com>
1992
1993         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1994         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1995         on request from Matt Booth.
1996
1997 2011-03-01  Eric Blake  <eblake@redhat.com>
1998
1999         test-link: work on Hurd
2000         * tests/test-link.h (test_link): Hurd rejects linking directories
2001         with EISDIR instead of the POSIX-mandated EPERM.
2002
2003 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
2004
2005         stdio: simplify by moving files to printf-posix, sigpipe
2006         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
2007         since this symbol is needed only if printf is replaced.
2008         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
2009         Require gl_ASM_SYMBOL_PREFIX.
2010         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
2011         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
2012         (Depends-on): Add 'raise'.
2013         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
2014         * modules/stdio (Files): Remove lib/stdio-write.c,
2015         m4/asm-underscore.m4.
2016         (Depends-on): Remove 'raise'.
2017
2018         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
2019         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
2020         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
2021         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
2022
2023 2011-02-28  Bruno Haible  <bruno@clisp.org>
2024
2025         localcharset: Assume ANSI C behaviour of free().
2026         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
2027         calling free().
2028         Suggested by Simon Josefsson <simon@josefsson.org>.
2029
2030 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
2031             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
2032             Bruno Haible  <bruno@clisp.org>  (tiny change)
2033
2034         On Cygwin, use /proc file system instead of win32 API.
2035         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
2036         Win32 file names.
2037         (DllMain): Simplify by removing Cygwin specific code.
2038         (find_shared_library_fullname): Use Linux specific implementation also
2039         for Cygwin.
2040         (get_shared_library_fullname): Update accordingly.
2041         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
2042         Win32 file names.
2043         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
2044         Cygwin specific code.
2045
2046 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
2047             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
2048
2049         Fix OpenMP flag detection for various Fortran compilers.
2050         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
2051         OpenMP-conditional compilation construct, to force compile
2052         failure with missing OpenMP flag.
2053         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
2054
2055 2011-02-25  Eric Blake  <eblake@redhat.com>
2056
2057         strstr: expand test coverage
2058         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
2059         compilation.
2060         * tests/test-memmem.c (main): Duplicate tests.
2061         * tests/test-strcasestr.c (main): Likewise.
2062         * tests/test-c-strcasestr.c (main): Likewise.
2063
2064 2011-02-25  Jim Meyering  <meyering@redhat.com>
2065
2066         maint.mk: detect missing-NL-at-EOF, too
2067         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
2068         it also detects when a file lacks a newline at EOF.
2069         (require_exactly_one_NL_at_EOF_): Renamed from
2070         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
2071         since people may well have .x-sc_... file names tied to the
2072         existing name.  Suggested by Eric Blake.
2073
2074 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2075
2076         dirname: move m4/dos.m4 functionality into lib/dosname.h
2077
2078         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
2079         extracts symbols from it, puts them into config.h; but it's much
2080         easier to use the symbols directly.  filename.h already does this,
2081         but it disagrees with dos.m4 in some respects.  This patch
2082         introduces a different include file dosname.h that packages up
2083         dos.m4, and then later we can work on merging filename.h and
2084         dosname.h.  Applications that need only the easy-to-configure
2085         symbols should consider including dosname.h rather than dirname.h.
2086         * NEWS: Mention incompatible changes.
2087         * m4/dos.m4: Remove.
2088         * lib/dosname.h, modules/dosname: New files.
2089         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
2090         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
2091         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
2092         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
2093         Include dosname.h, not dirname.h.
2094         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
2095         Include dosname.h, for definitions of symbols like ISSLASH
2096         that used to be in config.h.
2097         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
2098         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2099         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2100         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2101         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
2102         * modules/rmdir (Files): Likewise.
2103         * modules/stat (Files): Likewise.
2104         * modules/unlink (Files): Likewise.
2105         * modules/dirname-lgpl (Depends-on): Add dosname.
2106         * modules/lstat (Depends-on): Likewise.
2107         * modules/openat (Depends-on): Likewise.
2108         * modules/rmdir (Depends-on): Likewise.
2109         * modules/savewd (Depends-on): Likewise.
2110         * modules/stat (Depends-on): Likewise.
2111         * modules/unlink (Depends-on): Likewise.
2112         * modules/openat (Depends-on): Remove dirname-lgpl.
2113         * modules/savewd (Depends-on): Likewise.
2114         * tests/test-dirname.c: Do not use removed symbols like
2115         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
2116         the remaining symbols, e.g., ISSLASH ('\\').
2117
2118 2011-02-25  Eric Blake  <eblake@redhat.com>
2119
2120         strstr: revert patches that introduced bug and pessimization
2121         * lib/str-two-way.h: Add another reference.
2122         (two_way_short_needle, two_way_long_needle): Revert changes from
2123         2011-02-24; they pessimize search speed.
2124         (critical_factorization): Partially revert changes from
2125         2010-06-22; they violate the requirement that the left half of the
2126         needle be smaller than the period of the needle.
2127
2128 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2129
2130         filenamecat: remove unnecessary dependency on dirname-lgpl
2131         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
2132         is no direct dependency, just an indirect one via filenamecat-lgpl.
2133
2134         remove: remove unnecessary use of m4/dos.m4
2135         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
2136         * modules/remove (FILES): Remove m4/dos.m4.
2137
2138         * lib/openat-proc.c: Don't include dirname.h; not needed.
2139
2140         backupfile: remove unnecessary use of m4/dos.m4
2141         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
2142         of its symbols are used by the backupfile code.  backupfile.c does
2143         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
2144         for the rare case of programs that want all their backup file
2145         names to live within 8+3 limits, and dos.m4 doesn't address that.
2146         * modules/backupfile (Files): Remove m4/dos.m4.
2147
2148 2011-02-24  Jim Meyering  <meyering@redhat.com>
2149
2150         strstr: fix a bug whereby strstr would mistakenly return NULL
2151         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
2152         in period calculation.
2153         (two_way_long_needle): Likewise.
2154         The original problem was reported by Mike Stump in
2155         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
2156         Ralf Wildenhues provided the short needle and haystack.
2157         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
2158         Add a more involved test to trigger the bug in two_way_long_needle.
2159
2160 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2161
2162         gnulib-tool: remove use of bold display in help screen
2163         * gnulib-tool (func_usage): Do not use bold display anymore in the
2164         help screen.  That was just meant to be a temporary emphasis for a
2165         backward-incompatible change.
2166
2167 2011-02-23  Bruno Haible  <bruno@clisp.org>
2168
2169         Fix misindentation of preprocessor directives.
2170         * lib/argp-namefrob.h: Reindent preprocessor directives.
2171         * lib/getopt_int.h (struct _getopt_data): Likewise.
2172         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
2173         * lib/vasnprintf.c (decode_long_double): Likewise.
2174         * tests/test-argmatch.c: Insert blank lines, for clarity.
2175         * tests/test-exclude.c: Likewise.
2176
2177 2011-02-22  Bruno Haible  <bruno@clisp.org>
2178
2179         ioctl: Fix for MacOS X in 64-bit mode.
2180         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
2181         value.
2182         Suggested by Eric Blake.
2183         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
2184
2185 2011-02-22  Jim Meyering  <meyering@redhat.com>
2186
2187         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
2188         * Makefile (sc_cpp_indent_check): Don't limit the check to files
2189         in lib/.
2190
2191 2011-02-22  Eric Blake  <eblake@redhat.com>
2192
2193         maint: avoid any CDPATH issue
2194         * Makefile (sc_cpp_indent_check): Anchor cd argument.
2195
2196         maint: adjust cpp indentation for my modules, as well
2197         * Makefile (sc_cpp_indent_check): Add my name.
2198         * lib/fbufmode.c: Filter through cppi.
2199         * lib/fpurge.c: Likewise.
2200         * lib/freadable.c: Likewise.
2201         * lib/freading.c: Likewise.
2202         * lib/fwritable.c: Likewise.
2203         * lib/fwriting.c: Likewise.
2204         * lib/sigaction.c: Likewise.
2205
2206 2011-02-22  Jim Meyering  <meyering@redhat.com>
2207
2208         maint: adjust cpp indentation to reflect nesting depth
2209         I.e., in a block of code that begins with an unnested "#if",
2210         put one space between the "#" in column 1 and following token.
2211         For example,
2212         -#include <sys/vfs.h>
2213         +# include <sys/vfs.h>
2214         Do this only in .c files that are part of a module I maintain.
2215         * lib/linkat.c: Filter through cppi.
2216         * lib/nanosleep.c: Likewise.
2217         * lib/openat.c: Likewise.
2218         * lib/openat-die.c: Likewise.
2219         * lib/dup3.c: Likewise.
2220         * lib/fchownat.c: Likewise.
2221         * lib/flock.c: Likewise.
2222         * lib/fsync.c: Likewise.
2223         * lib/fts.c: Likewise.
2224         * lib/getpass.c: Likewise.
2225         * lib/gettimeofday.c: Likewise.
2226         * lib/userspec.c: Likewise.
2227         * Makefile (sc_cpp_indent_check): New rule, to check this.
2228
2229 2011-02-22  Bruno Haible  <bruno@clisp.org>
2230
2231         New module 'wctomb'.
2232         * lib/stdlib.in.h (wctomb): New declaration.
2233         * lib/wctomb.c: New file.
2234         * lib/wctomb-impl.h: New file.
2235         * m4/wctomb.m4: New file.
2236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
2237         REPLACE_WCTOMB.
2238         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
2239         REPLACE_WCTOMB.
2240         * modules/wctomb: New file.
2241         * tests/test-stdlib-c++.cc: Test signature of wctomb.
2242         * doc/posix-functions/wctomb.texi: Mention the new module.
2243         * modules/wctob (Depends-on): Add wctomb.
2244
2245 2011-02-22  Bruno Haible  <bruno@clisp.org>
2246
2247         New module 'mbtowc'.
2248         * lib/stdlib.in.h (mbtowc): New declaration.
2249         * lib/mbtowc.c: New file.
2250         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
2251         * m4/mbtowc.m4: New file.
2252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
2253         REPLACE_MBTOWC.
2254         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
2255         REPLACE_MBTOWC.
2256         * modules/mbtowc: New file.
2257         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
2258         * doc/posix-functions/mbtowc.texi: Mention the new module.
2259         * modules/btowc (Depends-on): Add mbtowc.
2260
2261 2011-02-22  Bruno Haible  <bruno@clisp.org>
2262
2263         wcrtomb: Add more tests for native Windows platforms.
2264         * tests/test-wcrtomb-w32-1.sh: New file.
2265         * tests/test-wcrtomb-w32-2.sh: New file.
2266         * tests/test-wcrtomb-w32-3.sh: New file.
2267         * tests/test-wcrtomb-w32-4.sh: New file.
2268         * tests/test-wcrtomb-w32-5.sh: New file.
2269         * tests/test-wcrtomb-w32.c: New file.
2270         * modules/wcrtomb-tests (Files): Add them.
2271         (Makefile.am): Arrange to run these tests.
2272         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
2273         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
2274
2275 2011-02-20  Bruno Haible  <bruno@clisp.org>
2276
2277         wcrtomb: Enhance test.
2278         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
2279
2280 2011-02-20  Bruno Haible  <bruno@clisp.org>
2281
2282         mbrtowc: Tiny optimization.
2283         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
2284
2285 2011-02-20  Jim Meyering  <meyering@redhat.com>
2286
2287         test-exclude.c: remove unmatched #endif
2288         * tests/test-exclude.c: Remove stray #endif, left over from
2289         the change of a week ago.
2290
2291 2011-02-19  Jim Meyering  <meyering@redhat.com>
2292
2293         git-version-gen: skip "-dirty" check when appropriate
2294         * build-aux/git-version-gen: Don't run any git commands when the
2295         version string comes from .tarball-version.  Prior to this, we
2296         would run git update-index --refresh even from a just-unpacked
2297         tarball directory, and that could affect a .git/ directory in a
2298         parent of the build directory.  Reported by Mike Frysinger.
2299
2300 2011-02-19  Bruno Haible  <bruno@clisp.org>
2301
2302         unictype/property-byname: Reduce the size of the 'data' segment.
2303         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
2304
2305 2011-02-19  Bruno Haible  <bruno@clisp.org>
2306
2307         unictype/scripts: Reduce the size of the 'data' segment.
2308         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
2309         '%pic'.
2310         * lib/unictype/scripts_byname.gperf: Regenerated.
2311
2312 2011-02-19  Bruno Haible  <bruno@clisp.org>
2313
2314         stdint: Update documentation.
2315         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
2316
2317 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
2318
2319         stdint: omit redundant check for wchar.h
2320         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
2321         always tests whether wchar.h exists, so remove the now-redundant test.
2322
2323 2011-02-18  Bruno Haible  <bruno@clisp.org>
2324
2325         stdint: Cut dependency to module 'wchar'.
2326         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
2327         include the necessary prerequisites.
2328         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
2329         * modules/stdint (Depends-on): Remove wchar.
2330         (Makefile.am): Substitute HAVE_WCHAR_H.
2331         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
2332
2333 2011-02-18  Eric Blake  <eblake@redhat.com>
2334
2335         longlong: skip, rather than fail, on cross-compilation
2336         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
2337         when cross-compiling; regression from 2011-02-16.
2338
2339 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2340
2341         * NEWS: Mention 2011-02-08 change to stdlib.
2342
2343 2011-02-17  Bruno Haible  <bruno@clisp.org>
2344
2345         getloadavg: Add comments about platforms.
2346         * m4/getloadavg.m4: Add comment.
2347         * lib/getloadavg.c: Likewise.
2348
2349 2011-02-17  Bruno Haible  <bruno@clisp.org>
2350
2351         getloadavg: Fix link error on Solaris 2.6.
2352         * modules/getloadavg (Link): New section.
2353         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
2354         linking test-getloadavg.
2355         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
2356         getloadavg.
2357
2358 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2359
2360         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
2361         It was 'int', but this doesn't match the IRIX 6.5 manual.
2362         Suggested by Bruno Haible in
2363         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
2364
2365 2011-02-17  Bruno Haible  <bruno@clisp.org>
2366
2367         havelib: Fix comments.
2368         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
2369         change.
2370
2371 2011-02-17  Bruno Haible  <bruno@clisp.org>
2372
2373         havelib: Update config.rpath.
2374         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
2375
2376 2011-02-17  Bruno Haible  <bruno@clisp.org>
2377
2378         getloadavg test: Add some plausibility checks.
2379         * tests/test-getloadavg.c (check_avg): Print a warning when the value
2380         is improbable.
2381
2382 2011-02-16  Eric Blake  <eblake@redhat.com>
2383
2384         maintainer-makefile: make syntax-check a no-op from tarballs
2385         * top/maint.mk (no-vc-detected): New rule.
2386         (local-checks-available): Use it to avoid hanging if someone tries
2387         'make syntax-check' from a tarball.  Also append to any non-syntax
2388         checks already defined in cfg.mk.
2389
2390 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
2391
2392         longlong: tune, particularly for common case of c99
2393
2394         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
2395         or running anything if c99, or if unsigned long long int does not
2396         work.  In either case, we know the answer without further tests.
2397         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
2398         it at most once, and use its results for both long long int and
2399         unsigned long long int.  This is more likely to be efficient in
2400         the common case where the program wants to check for both long
2401         long int and unsigned long long int.
2402         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
2403         since the answer is already known.
2404
2405 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
2406
2407         getloadavg: set errno
2408         * lib/getloadavg.c: Set errno when returning -1.  If no other
2409         error number looks appropriate, set it to ENOSYS if the getloadavg
2410         looks like it can't possibly ever work, ENOTSUP otherwise.
2411         Suggested by Bruno Haible in
2412         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
2413
2414         getloadavg: trim unused parts and speed up 'configure'
2415         * NEWS: Document this.
2416         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
2417         always compiled if getloadavg is absent.
2418         Move test code to ...
2419         * tests/test-getloadavg.c: New file, containing previous
2420         contents of test from lib/getloadavg.c.  It also contains
2421         suggestions by Bruno Haible in
2422         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
2423         * modules/getloadavg-tests: New file.
2424         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
2425         Do tests in the same order as they're needed for getloadavg.c.
2426         Omit setgid-related tests that generate symbols KMEM_GROUP,
2427         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
2428         Do only the tests that are needed to see whether the system has
2429         getloadavg, moving the other tests into ...
2430         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
2431         NLIST_NAME_UNION; nobody should be using it.  Do not define
2432         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
2433         relevant, as the user of this module shouldn't care how getloadavg
2434         is implemented.
2435
2436         getloadavg: omit unused var
2437         * lib/getloadavg.c (getloadavg): Omit unused local variable.
2438
2439 2011-02-15  Jim Meyering  <meyering@redhat.com>
2440
2441         doc: update users.txt
2442         * users.txt: Update iwhd's URL.
2443
2444 2011-02-13  Bruno Haible  <bruno@clisp.org>
2445
2446         Consistent macro naming for macros that use GCC __attribute__.
2447         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
2448         _ATTRIBUTE_NONNULL_.
2449         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
2450         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
2451         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
2452         ATTRIBUTE_DEPRECATED.
2453         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
2454         ATTRIBUTE_NORETURN.
2455         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2456         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2457         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2458         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
2459         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
2460         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
2461         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
2462         ATTRIBUTE_SENTINEL.
2463         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
2464         ATTRIBUTE_RETURN_CHECK.
2465         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
2466         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
2467         ATTRIBUTE_NORETURN.
2468         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
2469         Reported by Paul Eggert.
2470
2471 2011-02-13  Bruno Haible  <bruno@clisp.org>
2472
2473         Don't interfere with a program's definition of __attribute__.
2474         * lib/argp.h (__attribute__): Remove definition.
2475         (_GL_ATTRIBUTE_FORMAT): New macro.
2476         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
2477         * lib/argp-fmtstream.h (__attribute__): Remove definition.
2478         (_GL_ATTRIBUTE_FORMAT): New macro.
2479         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
2480         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
2481         GCC 3 or newer.
2482         * lib/error.h (__attribute__): Remove definition.
2483         (_GL_ATTRIBUTE_FORMAT): New macro.
2484         (error, error_at_line): Use it.
2485         * lib/hash.h (__attribute__): Remove definition.
2486         (ATTRIBUTE_WUR): Update definition. Define always.
2487         * lib/openat.h (__attribute__): Remove definition.
2488         (ATTRIBUTE_NORETURN): Update definition. Define always.
2489         * lib/sigpipe-die.h (__attribute__): Remove definition.
2490         (ATTRIBUTE_NORETURN): Update definition. Define always.
2491         * lib/vasnprintf.h (__attribute__): Remove definition.
2492         (_GL_ATTRIBUTE_FORMAT): New macro.
2493         (asnprintf, vasnprintf): Use it.
2494         * lib/xalloc.h (__attribute__): Remove definition.
2495         (ATTRIBUTE_NORETURN): Update definition. Define always.
2496         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
2497         * lib/xmemdup0.h (__attribute__): Remove definition.
2498         (ATTRIBUTE_NORETURN): Update definition. Define always.
2499         * lib/xprintf.h (__attribute__): Remove definition.
2500         (_GL_ATTRIBUTE_FORMAT): New macro.
2501         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
2502         * lib/xstrtol.h (__attribute__): Remove definition.
2503         (ATTRIBUTE_NORETURN): Update definition. Define always.
2504         * lib/xvasprintf.h (__attribute__): Remove definition.
2505         (_GL_ATTRIBUTE_FORMAT): New macro.
2506         (xasprintf, xvasprintf): Use it.
2507         * tests/test-argmatch.c (__attribute__): Remove definition.
2508         (ATTRIBUTE_NORETURN): Update definition. Define always.
2509         * tests/test-exclude.c (__attribute__): Remove definition.
2510         (ATTRIBUTE_NORETURN): Update definition. Define always.
2511         Reported by Paul Eggert.
2512
2513 2011-02-13  Bruno Haible  <bruno@clisp.org>
2514
2515         mbrtowc: Add more tests for native Windows platforms.
2516         * tests/test-mbrtowc-w32-1.sh: New file.
2517         * tests/test-mbrtowc-w32-2.sh: New file.
2518         * tests/test-mbrtowc-w32-3.sh: New file.
2519         * tests/test-mbrtowc-w32-4.sh: New file.
2520         * tests/test-mbrtowc-w32-5.sh: New file.
2521         * tests/test-mbrtowc-w32.c: New file.
2522         * modules/mbrtowc-tests (Files): Add them.
2523         (Makefile.am): Arrange to run these tests.
2524         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
2525         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
2526
2527 2011-02-13  Bruno Haible  <bruno@clisp.org>
2528
2529         mbrtowc: Work around native Windows bug.
2530         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
2531         guess when no suitable locale for testing was found.
2532         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
2533
2534 2011-02-13  Bruno Haible  <bruno@clisp.org>
2535
2536         mbsinit: Work around mingw bug.
2537         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
2538         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
2539         Windows.
2540         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
2541
2542 2011-02-13  Bruno Haible  <bruno@clisp.org>
2543
2544         mbsinit: Don't crash for a NULL argument.
2545         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
2546         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
2547
2548 2011-02-13  Bruno Haible  <bruno@clisp.org>
2549
2550         Don't interfere with a program's definition of __attribute__.
2551         * lib/stdio.in.h (__attribute__): Remove definition.
2552         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
2553         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
2554         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
2555         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
2556         * lib/string.in.h (__attribute__): Remove definition.
2557         Reported by Paul Eggert.
2558
2559 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2560
2561         stdlib: don't get in the way of non-GCC __attribute__
2562         See thread starting at
2563         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
2564         Revert previous stdlib change, installing the following instead:
2565         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
2566         to get in the way of a non-GCC compiler that supports __attribute__.
2567         (_GL_ATTRIBUTE_RETURN): New macro.
2568         (_Exit): Use it instead of __attribute__.
2569
2570 2011-02-12  Bruno Haible  <bruno@clisp.org>
2571
2572         quotearg test: Avoid test failure on mingw.
2573         * tests/test-quotearg.sh: Convert the locale identifier from native
2574         Windows syntax to Unix syntax.
2575
2576 2011-02-12  Bruno Haible  <bruno@clisp.org>
2577
2578         setlocale: Prefer gnulib's override over libintl's override.
2579         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
2580         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
2581         GNULIB_defined_setlocale is set.
2582
2583 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
2584
2585         stdlib: support non-GCC __attribute__
2586
2587         Fix a serious and tricky problem encountered when attempting to
2588         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
2589         5.5, but it crashed due to memory corruption on Solaris 10 with
2590         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
2591         bits that are otherwise zero.  This tagging is optional inside
2592         Emacs but is preferred and is used when __attribute__ ((__aligned
2593         (8))) works, as it does with both recent-enough GCC and with Sun C
2594         5.11.  However, Sun C 5.11 is not GCC and does not #define
2595         __GNUC__ and __GNUC_MINOR__.
2596
2597         When I added the getloadavg module to Emacs, it brought in
2598         stdlib.in.h, which contained this fragment:
2599
2600            #ifndef __attribute__
2601            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
2602            #  define __attribute__(Spec)   /* empty */
2603            # endif
2604            #endif
2605
2606         When files that include <stdlib.h> were compiled with Sun C 5.11,
2607         the above code disabled __attribute__ ((__aligned (8))), which
2608         caused variables to not be properly aligned, which eventually led
2609         to the pointer corruption mentioned above.  (This was a bit hard
2610         to diagnose, unfortunately.)
2611
2612         Several "#define __attribute__(X) /* empty */" code snippets need
2613         to be eradicated from Gnulib to work with non-GCC compilers that
2614         support __attribute__.  The Autoconf way to do this is to test for
2615         each kind of attribute that we want support for, and selectively
2616         enable that in source code.
2617
2618         Fix this problem just for stdlib.h, by adding a test for the
2619         __noreturn__ attribute, and change stdlib.in.h to use that test
2620         when needed.  This technique can be easily generalized to the
2621         other *.in.h files and attributes, and a similar technique can be
2622         used for *.h and *.c files.  This patch is enough to solve the
2623         problem for Emacs + getloadavg, and I thought I'd publish it for
2624         feedback before undertaking further, similar fixes in other
2625         modules.
2626
2627         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
2628         because it's not needed for stdlib.h.  It merely substitutes the
2629         value directly into stdlib.h.  We may well need to #define it, or
2630         similar symbols, for other modules, but it's nice to also have an
2631         option to not #define it for applications like Emacs that do not
2632         need it.
2633
2634         * lib/stdlib.in.h (__attribute__): Do not #define.
2635         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
2636         be defined only if the _Exit module is also used.
2637         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
2638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
2639         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
2640         platforms.
2641         * modules/_Exit (Files): Add m4/attribute.m4.
2642         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
2643         * m4/attribute.m4: New file.
2644
2645 2011-02-12  Bruno Haible  <bruno@clisp.org>
2646
2647         wcsrtombs: Work around bug on native Windows.
2648         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
2649         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
2650         instead of len.
2651         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
2652
2653 2011-02-12  Bruno Haible  <bruno@clisp.org>
2654
2655         mbsrtowcs: Work around bug on native Windows.
2656         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
2657         against mingw bug.
2658         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
2659
2660 2011-02-12  Bruno Haible  <bruno@clisp.org>
2661
2662         Avoid setlocale bugs in tests.
2663         * modules/btowc (Dependencies): Add setlocale.
2664         * modules/c-strcase (Dependencies): Likewise.
2665         * modules/mbmemcasecmp (Dependencies): Likewise.
2666         * modules/mbmemcasecoll (Dependencies): Likewise.
2667         * modules/mbrtowc (Dependencies): Likewise.
2668         * modules/mbscasecmp (Dependencies): Likewise.
2669         * modules/mbscasestr (Dependencies): Likewise.
2670         * modules/mbschr (Dependencies): Likewise.
2671         * modules/mbscspn (Dependencies): Likewise.
2672         * modules/mbsinit (Dependencies): Likewise.
2673         * modules/mbsncasecmp (Dependencies): Likewise.
2674         * modules/mbsnrtowcs (Dependencies): Likewise.
2675         * modules/mbspbrk (Dependencies): Likewise.
2676         * modules/mbspcasecmp (Dependencies): Likewise.
2677         * modules/mbsrchr (Dependencies): Likewise.
2678         * modules/mbsrtowcs (Dependencies): Likewise.
2679         * modules/mbsspn (Dependencies): Likewise.
2680         * modules/mbsstr (Dependencies): Likewise.
2681         * modules/nl_langinfo (Dependencies): Likewise.
2682         * modules/quotearg (Dependencies): Likewise.
2683         * modules/unicase/locale-language (Dependencies): Likewise.
2684         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
2685         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
2686         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
2687         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
2688         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
2689         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
2690         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
2691         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
2692         * modules/vasnprintf-posix (Dependencies): Likewise.
2693         * modules/wcrtomb (Dependencies): Likewise.
2694         * modules/wcsnrtombs (Dependencies): Likewise.
2695         * modules/wcsrtombs (Dependencies): Likewise.
2696
2697 2011-02-12  Bruno Haible  <bruno@clisp.org>
2698
2699         setlocale: Workaround native Windows bug.
2700         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
2701         succeeds but sets LC_CTYPE to "C", report a failure.
2702         * tests/test-setlocale2.sh: New file.
2703         * tests/test-setlocale2.c: New file.
2704         * modules/setlocale-tests (Files): Add the new files.
2705         (Makefile.am): Enable test-setlocale2.sh test.
2706         * doc/posix-functions/setlocale.texi: Mention workaround.
2707
2708 2011-02-11  Bruno Haible  <bruno@clisp.org>
2709
2710         Tests for module 'setlocale'.
2711         * modules/setlocale-tests: New file.
2712         * tests/test-setlocale1.sh: New file.
2713         * tests/test-setlocale1.c: New file.
2714
2715         New module 'setlocale'.
2716         * lib/locale.in.h (setlocale): New declaration.
2717         * lib/setlocale.c: New file, based on
2718         gettext/gettext-runtime/intl/setlocale.c.
2719         * m4/setlocale.m4: New file.
2720         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
2721         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
2722         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
2723         REPLACE_SETLOCALE.
2724         * modules/setlocale: New file.
2725         * tests/test-locale-c++.cc: Test the declaration of setlocale.
2726         * doc/posix-functions/setlocale.texi: Mention the new module.
2727
2728 2011-02-11  Bruno Haible  <bruno@clisp.org>
2729
2730         Prepare for locale dependent tests on mingw.
2731         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
2732         because it has the wrong locale encoding.
2733         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
2734         French_France.1252 instead of "fr".
2735         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
2736         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
2737         because it has the wrong locale encoding.
2738         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
2739         native Windows, try Turkish_Turkey.65001.
2740         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
2741         Chinese_China.54936.
2742
2743         Prepare for locale dependent tests on mingw.
2744         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
2745         differently.
2746         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2747         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2748         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2749         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2750
2751 2011-02-11  Eric Blake  <eblake@redhat.com>
2752
2753         strptime: avoid compiler warnings
2754         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
2755         compiler warnings about dead code.
2756         Reported by Daniel P. Berrange.
2757
2758 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
2759
2760         doc: update users.txt
2761         * users.txt: Add rcs.
2762
2763 2011-02-10  John W. Eaton  <jwe@gnu.org>
2764
2765         doc: update users.txt
2766         * users.txt: Add octave.
2767
2768 2011-02-10  Jim Meyering  <meyering@redhat.com>
2769
2770         doc: update users.txt
2771         * users.txt: Add iwhd.
2772
2773 2011-02-09  Bruno Haible  <bruno@clisp.org>
2774
2775         gnulib-tool: Make copyright notice adjustment more robust.
2776         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2777         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2778         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2779         License".
2780         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2781
2782 2011-02-06  Bruno Haible  <bruno@clisp.org>
2783
2784         New module 'towctrans'.
2785         * modules/towctrans: New file.
2786         * lib/wctype.in.h (towctrans): New declaration.
2787         * lib/towctrans.c: New file.
2788         * lib/towctrans-impl.h: New file.
2789         * m4/towctrans.m4: New file.
2790         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2791         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2792         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2793         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2794         * doc/posix-functions/towctrans.texi: Mention the new module.
2795
2796 2011-02-06  Bruno Haible  <bruno@clisp.org>
2797
2798         New module 'wctrans'.
2799         * modules/wctrans: New file.
2800         * lib/wctype.in.h (wctrans): New declaration.
2801         * lib/wctrans.c: New file.
2802         * lib/wctrans-impl.h: New file.
2803         * m4/wctrans.m4: New file.
2804         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2805         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2806         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2807         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2808         * doc/posix-functions/wctrans.texi: Mention the new module.
2809
2810 2011-02-06  Bruno Haible  <bruno@clisp.org>
2811
2812         New module 'iswctype'.
2813         * modules/iswctype: New file.
2814         * lib/wctype.in.h (iswctype): New declaration.
2815         * lib/iswctype.c: New file.
2816         * lib/iswctype-impl.h: New file.
2817         * m4/iswctype.m4: New file.
2818         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2819         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2820         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2821         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2822         * doc/posix-functions/iswctype.texi: Mention the new module and the
2823         HP-UX 11.00 problem.
2824
2825 2011-02-06  Bruno Haible  <bruno@clisp.org>
2826
2827         New module 'wctype'.
2828         * modules/wctype: Change to represent the wctype() substitute.
2829         * lib/wctype.in.h (wctype): New declaration.
2830         * lib/wctype.c: New file.
2831         * lib/wctype-impl.h: New file.
2832         * m4/wctype.m4: New file.
2833         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2834         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2835         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2836         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2837         * doc/posix-functions/wctype.texi: Mention the new module and the
2838         HP-UX 11.00 problem.
2839
2840 2011-02-06  Bruno Haible  <bruno@clisp.org>
2841
2842         wctype-h: Ensure wctype_t and wctrans_t are defined.
2843         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2844         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2845         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2846         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2847         HAVE_WCTRANS_T.
2848         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2849
2850 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2851
2852         flock: fix license typo
2853
2854         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2855         omitted.
2856
2857 2011-02-08  Bruno Haible  <bruno@clisp.org>
2858
2859         Split large sed scripts, for HP-UX sed.
2860         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2861         to avoid HP-UX limit of 99 commands, in the near future.
2862         * modules/stdlib (Makefile.am): Likewise.
2863         * modules/unistd (Makefile.am): Likewise.
2864         * modules/wchar (Makefile.am): Likewise.
2865         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2866         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2867         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2868
2869 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2870             Bruno Haible  <bruno@clisp.org>
2871
2872         stdlib: improve random_r modularization
2873         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2874         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2875         you also need the random_r module to get this material right.
2876         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2877         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2878         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2879
2880 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2881
2882         stdlib: don't depend on stdint
2883         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2884         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2885         be independent of whether stdint.h is needed.
2886         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2887         here, instead of ...
2888         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2889         struct random_data should be using the random_r module, not just
2890         the stdlib module (which wouldn't make sense: what package needs
2891         just struct random_data without also needing random_r?).
2892         * modules/stdlib (Depends-on): Remove stdint.
2893
2894         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2895         See the thread rooted at
2896         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2897         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2898         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2899         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2900         __VMS)); previously it was always included (via fcntl--.h).
2901         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2902         hand; this is good enough for load averages.  Also, do not use
2903         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2904         flags directly if available and don't bother otherwise.  (Packages
2905         that need the extra reliability should use the modules that define
2906         these flags on older platforms that lack them.)
2907         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2908         fcntl-safer.
2909
2910 2011-02-08  Jim Meyering  <meyering@redhat.com>
2911
2912         di-set.h, ino-map.h: add multiple-inclusion guard
2913         Technically, the guard is required only for ino-map.h, due to its
2914         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2915         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2916         * lib/ino-map.h: Likewise.
2917
2918 2011-02-06  Bruno Haible  <bruno@clisp.org>
2919
2920         iswblank: Ensure declaration on glibc systems.
2921         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2922         * modules/iswblank (Dependencies): Add 'extensions'.
2923         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2924
2925 2011-02-06  Bruno Haible  <bruno@clisp.org>
2926
2927         New module 'iswblank'.
2928         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2929         * modules/iswblank: New file.
2930         * modules/wctype-h (Files): Remove lib/iswblank.c.
2931         (Makefile.am): Substitute GNULIB_ISWBLANK.
2932         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2933         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2934         (gl_WCTYPE_H_DEFAULTS): New macro.
2935         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2936         * modules/iswblank-tests: New file.
2937         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2938         * tests/test-wctype-h.c (main): Remove iswblank tests.
2939         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2940         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2941         of 'wctype-h'.
2942         * NEWS: Mention the change.
2943         * modules/mbchar (Depends-on): Add iswblank.
2944
2945 2011-02-08  Bruno Haible  <bruno@clisp.org>
2946
2947         di-set tests: Refactor.
2948         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2949         unnecessary includes.
2950         (ASSERT): Remove macro.
2951         (main): Make C90 compliant by avoiding variable declaration after
2952         statement.
2953         * modules/di-set-tests (Files): Add tests/macros.h.
2954
2955 2011-02-08  Bruno Haible  <bruno@clisp.org>
2956
2957         ino-map tests: Refactor.
2958         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2959         unnecessary includes.
2960         (ASSERT): Remove macro.
2961         (main): Make C90 compliant by avoiding variable declaration after
2962         statement.
2963         * modules/ino-map-tests (Files): Add tests/macros.h.
2964
2965 2011-02-08  Jim Meyering  <meyering@redhat.com>
2966
2967         di-set: add "const" to a cast
2968         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2969         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2970
2971 2011-02-06  Bruno Haible  <bruno@clisp.org>
2972
2973         Rename module 'wctype' to 'wctype-h'.
2974         * modules/wctype-h: Renamed from modules/wctype.
2975         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2976         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2977         (Files, Depends-on, Makefile.am): Update.
2978         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2979         (Files, Makefile.am): Update.
2980         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2981         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2982         * doc/posix-headers/wctype.texi: Update.
2983         * doc/posix-functions/iswalnum.texi: Update.
2984         * doc/posix-functions/iswalpha.texi: Update.
2985         * doc/posix-functions/iswblank.texi: Update.
2986         * doc/posix-functions/iswcntrl.texi: Update.
2987         * doc/posix-functions/iswdigit.texi: Update.
2988         * doc/posix-functions/iswgraph.texi: Update.
2989         * doc/posix-functions/iswlower.texi: Update.
2990         * doc/posix-functions/iswprint.texi: Update.
2991         * doc/posix-functions/iswpunct.texi: Update.
2992         * doc/posix-functions/iswspace.texi: Update.
2993         * doc/posix-functions/iswupper.texi: Update.
2994         * doc/posix-functions/iswxdigit.texi: Update.
2995         * doc/posix-functions/towlower.texi: Update.
2996         * doc/posix-functions/towupper.texi: Update.
2997         * NEWS: Mention the change.
2998         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2999         * modules/mbchar (Dependencies): Likewise.
3000         * modules/mbswidth (Dependencies): Likewise.
3001         * modules/quotearg (Dependencies): Likewise.
3002         * modules/regex (Dependencies): Likewise.
3003         * modules/wcscasecmp (Dependencies): Likewise.
3004         * modules/wcsncasecmp (Dependencies): Likewise.
3005         * modules/wcwidth (Dependencies): Likewise.
3006
3007 2011-02-06  Bruno Haible  <bruno@clisp.org>
3008
3009         New module 'wcswidth'.
3010         * modules/wcswidth: New file.
3011         * lib/wchar.in.h (wcswidth): New declaration.
3012         * lib/wcswidth.c: New file.
3013         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
3014         * m4/wcswidth.m4: New file.
3015         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
3016         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
3017         REPLACE_WCSWIDTH.
3018         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
3019         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
3020         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
3021         * doc/posix-functions/wcswidth.texi: Mention the new module.
3022
3023 2011-02-06  Bruno Haible  <bruno@clisp.org>
3024
3025         New module 'wcstok'.
3026         * modules/wcstok: New file.
3027         * lib/wchar.in.h (wcstok): New declaration.
3028         * lib/wcstok.c: New file.
3029         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
3030         * m4/wcstok.m4: New file.
3031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
3032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
3033         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
3034         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
3035         * doc/posix-functions/wcstok.texi: Mention the new module.
3036
3037 2011-02-06  Bruno Haible  <bruno@clisp.org>
3038
3039         New module 'wcsstr'.
3040         * modules/wcsstr: New file.
3041         * lib/wchar.in.h (wcsstr): New declaration.
3042         * lib/wcsstr.c: New file.
3043         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
3044         * m4/wcsstr.m4: New file.
3045         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
3046         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
3047         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
3048         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
3049         * doc/posix-functions/wcsstr.texi: Mention the new module.
3050
3051 2011-02-06  Bruno Haible  <bruno@clisp.org>
3052
3053         New module 'wcspbrk'.
3054         * modules/wcspbrk: New file.
3055         * lib/wchar.in.h (wcspbrk): New declaration.
3056         * lib/wcspbrk.c: New file.
3057         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
3058         * m4/wcspbrk.m4: New file.
3059         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
3060         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
3061         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
3062         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
3063         * doc/posix-functions/wcspbrk.texi: Mention the new module.
3064
3065 2011-02-06  Bruno Haible  <bruno@clisp.org>
3066
3067         New module 'wcsspn'.
3068         * modules/wcsspn: New file.
3069         * lib/wchar.in.h (wcsspn): New declaration.
3070         * lib/wcsspn.c: New file.
3071         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
3072         * m4/wcsspn.m4: New file.
3073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
3074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
3075         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
3076         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
3077         * doc/posix-functions/wcsspn.texi: Mention the new module.
3078
3079 2011-02-06  Bruno Haible  <bruno@clisp.org>
3080
3081         New module 'wcscspn'.
3082         * modules/wcscspn: New file.
3083         * lib/wchar.in.h (wcscspn): New declaration.
3084         * lib/wcscspn.c: New file.
3085         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
3086         * m4/wcscspn.m4: New file.
3087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
3088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
3089         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
3090         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
3091         * doc/posix-functions/wcscspn.texi: Mention the new module.
3092
3093 2011-02-06  Bruno Haible  <bruno@clisp.org>
3094
3095         New module 'wcsrchr'.
3096         * modules/wcsrchr: New file.
3097         * lib/wchar.in.h (wcsrchr): New declaration.
3098         * lib/wcsrchr.c: New file.
3099         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
3100         * m4/wcsrchr.m4: New file.
3101         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
3102         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
3103         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
3104         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
3105         * doc/posix-functions/wcsrchr.texi: Mention the new module.
3106
3107 2011-02-06  Bruno Haible  <bruno@clisp.org>
3108
3109         New module 'wcschr'.
3110         * modules/wcschr: New file.
3111         * lib/wchar.in.h (wcschr): New declaration.
3112         * lib/wcschr.c: New file.
3113         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
3114         * m4/wcschr.m4: New file.
3115         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
3116         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
3117         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
3118         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
3119         * doc/posix-functions/wcschr.texi: Mention the new module.
3120
3121 2011-02-06  Bruno Haible  <bruno@clisp.org>
3122
3123         New module 'wcsdup'.
3124         * modules/wcsdup: New file.
3125         * lib/wchar.in.h (wcsdup): New declaration.
3126         * lib/wcsdup.c: New file.
3127         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
3128         * m4/wcsdup.m4: New file.
3129         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
3130         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
3131         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
3132         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
3133         * doc/posix-functions/wcsdup.texi: Mention the new module.
3134
3135 2011-02-06  Bruno Haible  <bruno@clisp.org>
3136
3137         New module 'wcsxfrm'.
3138         * modules/wcsxfrm: New file.
3139         * lib/wchar.in.h (wcsxfrm): New declaration.
3140         * lib/wcsxfrm.c: New file.
3141         * lib/wcsxfrm-impl.h: New file.
3142         * m4/wcsxfrm.m4: New file.
3143         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
3144         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
3145         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
3146         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
3147         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
3148
3149 2011-02-06  Bruno Haible  <bruno@clisp.org>
3150
3151         New module 'wcscoll'.
3152         * modules/wcscoll: New file.
3153         * lib/wchar.in.h (wcscoll): New declaration.
3154         * lib/wcscoll.c: New file.
3155         * lib/wcscoll-impl.h: New file.
3156         * m4/wcscoll.m4: New file.
3157         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
3158         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
3159         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
3160         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
3161         * doc/posix-functions/wcscoll.texi: Mention the new module.
3162
3163 2011-02-06  Bruno Haible  <bruno@clisp.org>
3164
3165         New module 'wcsncasecmp'.
3166         * modules/wcsncasecmp: New file.
3167         * lib/wchar.in.h (wcsncasecmp): New declaration.
3168         * lib/wcsncasecmp.c: New file.
3169         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
3170         * m4/wcsncasecmp.m4: New file.
3171         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
3172         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
3173         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
3174         HAVE_WCSNCASECMP.
3175         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
3176         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
3177
3178 2011-02-06  Bruno Haible  <bruno@clisp.org>
3179
3180         New module 'wcscasecmp'.
3181         * modules/wcscasecmp: New file.
3182         * lib/wchar.in.h (wcscasecmp): New declaration.
3183         * lib/wcscasecmp.c: New file.
3184         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
3185         * m4/wcscasecmp.m4: New file.
3186         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
3187         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
3188         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
3189         HAVE_WCSCASECMP.
3190         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
3191         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
3192
3193 2011-02-05  Bruno Haible  <bruno@clisp.org>
3194
3195         New module 'wcsncmp'.
3196         * modules/wcsncmp: New file.
3197         * lib/wchar.in.h (wcsncmp): New declaration.
3198         * lib/wcsncmp.c: New file.
3199         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
3200         * m4/wcsncmp.m4: New file.
3201         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
3202         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
3203         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
3204         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
3205         * doc/posix-functions/wcsncmp.texi: Mention the new module.
3206
3207 2011-02-05  Bruno Haible  <bruno@clisp.org>
3208
3209         New module 'wcscmp'.
3210         * modules/wcscmp: New file.
3211         * lib/wchar.in.h (wcscmp): New declaration.
3212         * lib/wcscmp.c: New file.
3213         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
3214         * m4/wcscmp.m4: New file.
3215         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
3216         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
3217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
3218         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
3219         * doc/posix-functions/wcscmp.texi: Mention the new module.
3220
3221 2011-02-05  Bruno Haible  <bruno@clisp.org>
3222
3223         New module 'wcsncat'.
3224         * modules/wcsncat: New file.
3225         * lib/wchar.in.h (wcsncat): New declaration.
3226         * lib/wcsncat.c: New file.
3227         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
3228         * m4/wcsncat.m4: New file.
3229         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
3230         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
3231         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
3232         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
3233         * doc/posix-functions/wcsncat.texi: Mention the new module.
3234
3235 2011-02-05  Bruno Haible  <bruno@clisp.org>
3236
3237         New module 'wcscat'.
3238         * modules/wcscat: New file.
3239         * lib/wchar.in.h (wcscat): New declaration.
3240         * lib/wcscat.c: New file.
3241         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
3242         * m4/wcscat.m4: New file.
3243         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
3244         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
3245         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
3246         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
3247         * doc/posix-functions/wcscat.texi: Mention the new module.
3248
3249 2011-02-05  Bruno Haible  <bruno@clisp.org>
3250
3251         New module 'wcpncpy'.
3252         * modules/wcpncpy: New file.
3253         * lib/wchar.in.h (wcpncpy): New declaration.
3254         * lib/wcpncpy.c: New file.
3255         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
3256         * m4/wcpncpy.m4: New file.
3257         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
3258         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
3259         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
3260         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
3261         * doc/posix-functions/wcpncpy.texi: Mention the new module.
3262
3263 2011-02-05  Bruno Haible  <bruno@clisp.org>
3264
3265         New module 'wcsncpy'.
3266         * modules/wcsncpy: New file.
3267         * lib/wchar.in.h (wcsncpy): New declaration.
3268         * lib/wcsncpy.c: New file.
3269         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
3270         * m4/wcsncpy.m4: New file.
3271         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
3272         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
3273         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
3274         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
3275         * doc/posix-functions/wcsncpy.texi: Mention the new module.
3276
3277 2011-02-05  Bruno Haible  <bruno@clisp.org>
3278
3279         New module 'wcpcpy'.
3280         * modules/wcpcpy: New file.
3281         * lib/wchar.in.h (wcpcpy): New declaration.
3282         * lib/wcpcpy.c: New file.
3283         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
3284         * m4/wcpcpy.m4: New file.
3285         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
3286         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
3287         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
3288         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
3289         * doc/posix-functions/wcpcpy.texi: Mention the new module.
3290
3291 2011-02-05  Bruno Haible  <bruno@clisp.org>
3292
3293         New module 'wcscpy'.
3294         * modules/wcscpy: New file.
3295         * lib/wchar.in.h (wcscpy): New declaration.
3296         * lib/wcscpy.c: New file.
3297         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
3298         * m4/wcscpy.m4: New file.
3299         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
3300         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
3301         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
3302         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
3303         * doc/posix-functions/wcscpy.texi: Mention the new module.
3304
3305 2011-02-05  Bruno Haible  <bruno@clisp.org>
3306
3307         New module 'wcsnlen'.
3308         * modules/wcsnlen: New file.
3309         * lib/wchar.in.h (wcsnlen): New declaration.
3310         * lib/wcsnlen.c: New file.
3311         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
3312         * m4/wcsnlen.m4: New file.
3313         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
3314         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
3315         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
3316         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
3317         * doc/posix-functions/wcsnlen.texi: Mention the new module.
3318
3319 2011-02-05  Bruno Haible  <bruno@clisp.org>
3320
3321         New module 'wcslen'.
3322         * modules/wcslen: New file.
3323         * lib/wchar.in.h (wcslen): New declaration.
3324         * lib/wcslen.c: New file.
3325         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
3326         * m4/wcslen.m4: New file.
3327         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
3328         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
3329         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
3330         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
3331         * doc/posix-functions/wcslen.texi: Mention the new module.
3332
3333 2011-02-05  Bruno Haible  <bruno@clisp.org>
3334
3335         New module 'wmemset'.
3336         * modules/wmemset: New file.
3337         * lib/wchar.in.h (wmemset): New declaration.
3338         * lib/wmemset.c: New file.
3339         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
3340         * m4/wmemset.m4: New file.
3341         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
3342         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
3343         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
3344         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
3345         * doc/posix-functions/wmemset.texi: Mention the new module.
3346
3347 2011-02-05  Bruno Haible  <bruno@clisp.org>
3348
3349         New module 'wmemmove'.
3350         * modules/wmemmove: New file.
3351         * lib/wchar.in.h (wmemmove): New declaration.
3352         * lib/wmemmove.c: New file.
3353         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
3354         * m4/wmemmove.m4: New file.
3355         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
3356         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
3357         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
3358         HAVE_WMEMMOVE.
3359         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
3360         * doc/posix-functions/wmemmove.texi: Mention the new module.
3361
3362 2011-02-05  Bruno Haible  <bruno@clisp.org>
3363
3364         New module 'wmemcpy'.
3365         * modules/wmemcpy: New file.
3366         * lib/wchar.in.h (wmemcpy): New declaration.
3367         * lib/wmemcpy.c: New file.
3368         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
3369         * m4/wmemcpy.m4: New file.
3370         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
3371         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
3372         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
3373         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
3374         * doc/posix-functions/wmemcpy.texi: Mention the new module.
3375
3376 2011-02-05  Bruno Haible  <bruno@clisp.org>
3377
3378         New module 'wmemcmp'.
3379         * modules/wmemcmp: New file.
3380         * lib/wchar.in.h (wmemcmp): New declaration.
3381         * lib/wmemcmp.c: New file.
3382         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
3383         * m4/wmemcmp.m4: New file.
3384         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
3385         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
3386         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
3387         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
3388         * doc/posix-functions/wmemcmp.texi: Mention the new module.
3389
3390 2011-02-07  Jim Meyering  <meyering@redhat.com>
3391
3392         di-set, ino-map: new modules, from coreutils
3393         * lib/di-set.c: New file.
3394         * lib/di-set.h: Likewise.
3395         * lib/ino-map.c: Likewise.
3396         * lib/ino-map.h: Likewise.
3397         * modules/di-set: Likewise.
3398         * modules/di-set-tests: Likewise.
3399         * modules/ino-map: Likewise.
3400         * modules/ino-map-tests: Likewise.
3401         * tests/test-di-set.c: Likewise.
3402         * tests/test-ino-map.c: Likewise.
3403
3404 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
3405
3406         getloadavg: merge minor changes from Emacs
3407
3408         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
3409         (getloadavg): Use memset, not bzero.
3410
3411         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
3412         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3413         clash (bug#86).
3414
3415 2010-11-14  Bruno Haible  <bruno@clisp.org>
3416
3417         Allow multiple gnulib generated replacements to coexist.
3418         * lib/getopt.in.h (struct option): Avoid identical redefinition.
3419         * lib/inttypes.in.h (imaxdiv_t): Likewise.
3420         * lib/langinfo.in.h (nl_item): Likewise.
3421         * lib/math.in.h (_NaN, NAN): Likewise.
3422         * lib/netdb.in.h (struct addrinfo): Likewise.
3423         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
3424         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
3425         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
3426         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
3427         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
3428         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
3429         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
3430         pthread_mutexattr_init, pthread_mutexattr_settype,
3431         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
3432         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
3433         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
3434         pthread_spin_trylock, pthread_spin_unlock): Likewise.
3435         * lib/sched.in.h (struct sched_param): Likewise.
3436         * lib/se-selinux.in.h (security_class_t, security_context_t,
3437         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
3438         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
3439         lsetfilecon, fsetfilecon, security_check_context,
3440         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
3441         Likewise.
3442         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
3443         Likewise.
3444         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
3445         _gl_function_taking_int_returning_void_t, union sigval,
3446         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
3447         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
3448         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
3449         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
3450         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
3451         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
3452         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
3453         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
3454         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
3455         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
3456         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
3457         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
3458         socklen_t, rpl_fd_isset): Likewise.
3459         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
3460         * lib/sys_time.in.h (struct timeval): Likewise.
3461         * lib/sys_times.in.h (struct tms): Likewise.
3462         * lib/sys_utsname.in.h (struct utsname):
3463         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
3464         * lib/unistd.in.h (getpagesize): Likewise.
3465         * lib/wchar.in.h (mbstate_t): Likewise.
3466         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
3467         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
3468         towlower, towupper): Likewise.
3469         Reported by Sam Steingold <sds@gnu.org>.
3470
3471 2011-02-05  Eric Blake  <eblake@redhat.com>
3472
3473         unsetenv: work around Haiku issues
3474         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
3475         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
3476
3477 2010-12-30  Bruce Korb  <bkorb@gnu.org>
3478
3479         libposix: avoid calling error() within libposix
3480         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
3481         is defined.
3482
3483 2011-02-05  Eric Blake  <eblake@redhat.com>
3484
3485         strerror_r-posix: port to cygwin
3486         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
3487         implementation.
3488         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
3489         * tests/test-strerror_r.c (main): Fix test.
3490         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
3491         issue.
3492
3493 2011-02-05  Bruno Haible  <bruno@clisp.org>
3494
3495         New module 'wmemchr'.
3496         * modules/wmemchr: New file.
3497         * lib/wchar.in.h (wmemchr): New declaration.
3498         * lib/wmemchr.c: New file.
3499         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
3500         * m4/wmemchr.m4: New file.
3501         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
3502         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
3503         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
3504         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
3505         * doc/posix-functions/wmemchr.texi: Mention the new module.
3506
3507 2011-02-04  Eric Blake  <eblake@redhat.com>
3508
3509         fdopendir: detect FreeBSD bug
3510         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
3511         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
3512
3513 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
3514
3515         stdbool: do not define HAVE_STDBOOL_H
3516         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
3517         AC_HEADER_STDBOOL.  All uses changed.  Do not define
3518         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
3519         imported from the latest Autoconf git.  It was motivated by Emacs,
3520         which uses gnulib but does not need HAVE_STDBOOL_H.
3521
3522 2011-02-04  Bruno Haible  <bruno@clisp.org>
3523
3524         wcsnrtombs: Prepare for new module wwcsnrtombs.
3525         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
3526         * lib/wcsnrtombs.c: Include it.
3527         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
3528
3529         wcsrtombs: Prepare for new module wwcsrtombs.
3530         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
3531         * lib/wcsrtombs.c: Include it.
3532         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
3533
3534         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
3535         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
3536         * lib/mbsnrtowcs.c: Include it.
3537         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
3538
3539         mbsrtowcs: Prepare for new module mbsrtowwcs.
3540         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
3541         * lib/mbsrtowcs.c: Include it.
3542         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
3543
3544 2011-02-04  Bruno Haible  <bruno@clisp.org>
3545
3546         vasnprintf: Reduce use of malloc for small format strings.
3547         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
3548         (arguments): Add room for the first 7 arguments.
3549         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
3550         (char_directives, u8_directives, u16_directives, u32_directives): Add
3551         room for the first 7 directives.
3552         * lib/printf-parse.c: Include <string.h>.
3553         (PRINTF_PARSE): Change memory handling code so that it uses the first
3554         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
3555         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
3556         Reported by Pádraig Brady <P@draigbrady.com>.
3557
3558 2011-01-31  Eric Blake  <eblake@redhat.com>
3559
3560         dup2: work around Haiku bug
3561         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
3562         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
3563         * doc/posix-functions/dup2.texi (dup2): Document the bug.
3564         * tests/test-dup2.c (main): Enhance test.
3565
3566 2011-01-31  Simon Josefsson  <simon@josefsson.org>
3567
3568         doc: off_t is not available in eglibc 2.11.2 stdio.h.
3569         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
3570         declared by eglibc 2.11.2.
3571         * lib/stdio.in.h: Likewise.
3572
3573 2011-01-31  Eric Blake  <eblake@redhat.com>
3574
3575         ignore-value: add missing test dependency
3576         * tests/test-ignore-value.c: Revert previous change; stdio.h
3577         provides off_t.
3578         * modules/ignore-value-tests (Depends-on): Add missing dependency.
3579
3580 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
3581
3582         mktime: clarify long_int width checking
3583         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
3584         the top level, to make it clearer that the assumption about
3585         long_int width is being checked.  See
3586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
3587
3588 2011-01-30  Simon Josefsson  <simon@josefsson.org>
3589
3590         ignore-value: Fix self-test.
3591         * tests/test-ignore-value.c: Include sys/types.h for off_t.
3592
3593 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
3594
3595         TYPE_MAXIMUM: avoid theoretically undefined behavior
3596         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
3597         negative number, which the C Standard says has undefined behavior.
3598         In practice this is not a problem, but might as well do it by the book.
3599         Reported by Rich Felker and Eric Blake; see
3600         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
3601         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
3602         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
3603         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
3604         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
3605         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3606         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
3607
3608         mktime: #undef mktime before #defining it
3609         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
3610
3611         mktime: systematically normalize tm_isdst comparisons
3612         * lib/mktime.c (isdst_differ): New function.
3613         (__mktime_internal): Use it systematically for all isdst comparisons.
3614         This completes the fix for libc BZ #6723, and removes the need for
3615         normalizing tm_isdst.  See
3616         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
3617         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
3618
3619         mktime: fix some integer overflow issues and sidestep the rest
3620
3621         This was prompted by a bug report by Benjamin Lindner for MinGW
3622         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
3623         His bug is due to signed integer overflow (0 - INT_MIN), and I
3624         I scanned through mktime.c looking for other integer overflow
3625         problems, fixing all the bugs I found.
3626
3627         Although the C Standard says the resulting code is still not safe
3628         in the presence of integer overflow, in practice it should be good
3629         enough for all real-world two's-complement implementations, except
3630         for debugging environments that deliberately trap on integer
3631         overflow (e.g., gcc -ftrapv).
3632
3633         * lib/mktime.c (WRAPV): New macro.
3634         (SHR): Also check that long_int and time_t shift right in the
3635         usual way, before using the fast-but-unportable method.
3636         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
3637         used.  The code already assumed two's complement, so there's
3638         no need to test for alternatives.  All uses removed.
3639         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
3640         the C standard.  Problem reported by Rich Felker in
3641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
3642         (twos_complement_arithmetic): Also check long_int and time_t.
3643         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
3644         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
3645         (__mktime_internal): Avoid integer overflow with unary subtraction
3646         in two instances where -1 - X is an adequate replacement for -X,
3647         since the calculations are approximate.
3648
3649 2011-01-29  Eric Blake  <eblake@redhat.com>
3650
3651         mktime: avoid infinite loop
3652         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
3653         type; behavior is still undefined but portable to all known targets.
3654         Reported by Rich Felker.
3655
3656 2011-01-29  Simon Josefsson  <simon@josefsson.org>
3657
3658         rename, unlink, same-inode: Relicense.
3659         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
3660         * modules/unlink (License): Likewise.
3661         * modules/same-inode (License): Likewise.
3662
3663 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
3664
3665         mktime: avoid problems on NetBSD 5 / i386
3666         * lib/mktime.c (long_int): New type.  This works around a problem
3667         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
3668         but time_t is 64 bits, and where I expect the existing code is
3669         wrong in some cases.
3670         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
3671         (ydhms_diff): Bring back the compile-time check for wide-enough
3672         year and yday.
3673
3674         mktime: fix misspelling in comment
3675         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
3676         This merges all recent glibc changes of importance.
3677
3678 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3679
3680         move-if-change: cope with concurrent mv of identical file.
3681         * build-aux/move-if-change (CMPPROG): Accept environment
3682         variable as an override for `cmp'.
3683         (usage): Document CMPPROG.
3684         Adjust comparison to drop stdout.  Cope with failure of mv if
3685         the target file exists and is identical to the source, for
3686         parallel builds.
3687         Report from H.J. Lu against binutils in PR binutils/12283.
3688
3689 2011-01-28  Bruce Korb  <bkorb@gnu.org>
3690
3691         * users.txt: Mention sharutils.
3692
3693 2011-01-28  Simon Josefsson  <simon@josefsson.org>
3694
3695         * users.txt: Mention OATH Toolkit.
3696
3697 2011-01-27  Bruno Haible  <bruno@clisp.org>
3698
3699         Prepare for supporting FreeBSD 10.
3700         * build-aux/config.libpath: Remove handling of freebsd1*.
3701
3702 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
3703
3704         Prepare for supporting FreeBSD 10.
3705         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
3706         match FreeBSD 10.0.
3707
3708 2011-01-27  Bruno Haible  <bruno@clisp.org>
3709
3710         vma-iter, get-rusage-as: Add OpenBSD support.
3711         * modules/vma-iter (configure.ac): Test for mquery.
3712         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
3713         * lib/vma-iter.c: Include <sys/mman.h>.
3714         (vma_iterate): Add an implementation based on mquery().
3715         * lib/resource-ext.h (get_rusage_as): Update comments.
3716         * lib/get-rusage-as.c: Likewise.
3717         * lib/get-rusage-data.c: Likewise.
3718
3719 2011-01-26  Karl Berry  <karl@gnu.org>
3720
3721         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
3722         variables to make it easier to override the makeinfo program used.
3723
3724 2011-01-26  Eric Blake  <eblake@redhat.com>
3725
3726         fcntl: work around Haiku F_DUPFD bugs
3727         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
3728         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
3729         cloexec bit on duplication.
3730         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
3731
3732 2011-01-26  Bruno Haible  <bruno@clisp.org>
3733
3734         Enable memory leak tests on AIX.
3735         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
3736         * tests/test-fprintf-posix3.c (main): Likewise.
3737
3738 2011-01-26  Bruno Haible  <bruno@clisp.org>
3739
3740         Tests for module 'get-rusage-data'.
3741         * modules/get-rusage-data-tests: New file.
3742         * tests/test-get-rusage-data.c: New file.
3743
3744         New module 'get-rusage-data'.
3745         * lib/resource-ext.h (get_rusage_data): New declaration.
3746         * lib/get-rusage-data.c: New file.
3747         * modules/get-rusage-data: New file.
3748
3749 2011-01-25  Bruno Haible  <bruno@clisp.org>
3750
3751         get-rusage-as: Allow for easier testing.
3752         * lib/resource-ext.h (get_rusage_as): Add comment.
3753         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
3754         (main): New function for interactive testing.
3755
3756 2011-01-25  Bruno Haible  <bruno@clisp.org>
3757
3758         vma-iter: Treat Haiku like BeOS.
3759         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
3760         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
3761
3762 2011-01-25  Eric Blake  <eblake@redhat.com>
3763
3764         c-stack: fix regression on cygwin when libsigsegv is present
3765         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3766
3767 2011-01-24  Bruno Haible  <bruno@clisp.org>
3768
3769         vma-iter: Avoid empty intervals.
3770         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3771         on an empty interval.
3772
3773 2011-01-24  Jim Meyering  <meyering@redhat.com>
3774
3775         u64: remove unnecessary #include
3776         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3777
3778 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3779
3780         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3781         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3782
3783 2011-01-23  Bruno Haible  <bruno@clisp.org>
3784
3785         New module 'vma-iter'.
3786         * lib/vma-iter.h: New file.
3787         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3788         * modules/vma-iter: New file.
3789         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3790         for get_rusage_as_via_iterator.
3791         (vma_iterate_callback): New function.
3792         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3793         * modules/get-rusage-as (Depends-on): Add vma-iter.
3794
3795 2011-01-23  Bruno Haible  <bruno@clisp.org>
3796
3797         uninorm: Tweak includes.
3798         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3799         Reported by Jim Meyering.
3800
3801 2011-01-23  Bruno Haible  <bruno@clisp.org>
3802
3803         get-rusage-as: Improve on NetBSD.
3804         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3805         /proc, like on FreeBSD.
3806
3807 2011-01-23  Jim Meyering  <meyering@redhat.com>
3808
3809         xreadlink.h: remove unnecessary #include
3810         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3811
3812         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3813         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3814
3815 2011-01-23  Bruno Haible  <bruno@clisp.org>
3816
3817         get-rusage-as: Fix bug.
3818         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3819         original limit when aborting the first loop.
3820
3821 2011-01-23  Bruno Haible  <bruno@clisp.org>
3822
3823         wctype: Ensure valid C syntax.
3824         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3825         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3826
3827 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3828
3829         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3830         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3831         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3832         as they are needed only for configure's test case.
3833         This removes two unnecessary symbols from config.h.
3834
3835         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3836         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3837         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3838         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3839         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3840         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3841         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3842         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3843         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3844         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3845         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3846         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3847         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3848         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3849         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3850         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3851         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3852         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3853
3854 2011-01-21  Eric Blake  <eblake@redhat.com>
3855
3856         maintainer-makefile: work with older git for submodule check
3857         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3858         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3859         Reported by Matthias Bolte.
3860
3861         bootstrap: minor portability fixes
3862         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3863         (usage): Omit leading capital and trailing . on help phrases, per
3864         GNU Coding Standards.
3865         (check_versions, top level): Prefix messages with script name.
3866
3867 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3868
3869         bootstrap: support --no-git option
3870         * build-aux/bootstrap: Add --no-git option, to be used when
3871         --gnulib-srcdir points to the exact desired checkout.
3872
3873 2011-01-21  Eric Blake  <eblake@redhat.com>
3874
3875         strerror_r-posix: work with glibc 2.13
3876         * lib/strerror_r.c (strerror_r): Fix return type.
3877
3878 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3879             Bruno Haible  <bruno@clisp.org>
3880
3881         uN_strstr: New unit tests.
3882         * modules/unistr/u8-strstr-tests: New file.
3883         * modules/unistr/u16-strstr-tests: New file.
3884         * modules/unistr/u32-strstr-tests: New file.
3885         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3886         * tests/unistr/test-u8-strstr.c: New file.
3887         * tests/unistr/test-u16-strstr.c: New file.
3888         * tests/unistr/test-u32-strstr.c: New file.
3889
3890 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3891             Bruno Haible  <bruno@clisp.org>
3892
3893         Make uN_strstr functions O(n) worst-case.
3894         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3895         16-bit and 32-bit unit cases, use the unibyte algorithm from
3896         lib/mbsstr.c.
3897         * lib/unistr/u8-strstr.c: Include <string.h>.
3898         (UNIT_IS_UINT8_T): New macro.
3899         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3900         (U_STRLEN, U_STRNLEN): New macros.
3901         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3902         (U_STRLEN, U_STRNLEN): New macros.
3903         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3904         (configure.ac): Update required libunistring version.
3905         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3906         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3907         malloca.
3908         (configure.ac): Update required libunistring version.
3909         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3910         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3911         malloca.
3912         (configure.ac): Update required libunistring version.
3913
3914 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3915             Bruno Haible  <bruno@clisp.org>
3916
3917         Prepare for faster uN_strstr functions.
3918         * lib/str-kmp.h: Support definable UNITs.
3919         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3920         needle_len argument.
3921         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3922         * lib/mbscasestr.c (mbscasestr): Likewise.
3923
3924 2011-01-21  Pádraig Brady <P@draigBrady.com>
3925
3926         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3927         * tests/test-malloca.c (main): Unset the environment variable
3928         to greatly speed up the test.
3929         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3930         * modules/malloca-tests: Depend on unsetenv.
3931
3932 2011-01-21  Pádraig Brady <P@draigBrady.com>
3933
3934         ignore-value: remove stdint dependency
3935         * lib/ignore-value.h: Remove <stdint.h>
3936         * modules/ignore-value: Remove stdint dependency.
3937
3938 2011-01-21  Jim Meyering  <meyering@redhat.com>
3939
3940         maint.mk: adjust variable name to be consistent with other gl_ vars
3941         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3942         to be lower case.
3943
3944 2011-01-20  Jim Meyering  <meyering@redhat.com>
3945
3946         maint.mk: make "check" depend on public-submodule-commit by default
3947         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3948
3949 2011-01-20  Bruno Haible  <bruno@clisp.org>
3950
3951         mbfile, mbiter: Complete change from 2008-12-21.
3952         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3953         * m4/mbiter.m4 (gl_MBITER): Likewise.
3954
3955 2011-01-20  Jim Meyering  <meyering@redhat.com>
3956
3957         init.sh: insert space between each function name and "()"
3958         * tests/init.sh: Make it a little easier to see that a function's
3959         name is "warn_", and not "warn" when looking at the first part of
3960         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3961
3962 2011-01-20  Jim Meyering  <meyering@redhat.com>
3963
3964         mountlist: clean up code formatting
3965         * lib/mountlist.c (read_file_system_list): Split a long line,
3966         correct bracing style, use NULL in place of "(struct statfs *)0",
3967         don't parenthesize return value, add spaces around "=" and after
3968         ";-in-for-stmt".
3969
3970 2011-01-14  Markus Duft <mduft@gentoo.org>
3971
3972         mountlist: add support for Interix
3973         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3974         Apply statvfs to all entries of /dev/fs.
3975         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3976         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3977
3978 2011-01-20  Jim Meyering  <meyering@redhat.com>
3979
3980         maint.mk: improve the public-submodule-commit rule
3981         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3982         to suppress printing of its commands... unless V=1.
3983         Add git submodule's --quiet option to suppress printing of e.g.,
3984         "Entering gnulib" output.
3985         "cd" into $(srcdir) before running git submodule.
3986
3987 2011-01-20  Bruno Haible  <bruno@clisp.org>
3988
3989         include_next: Fix bug introduced on 2011-01-18.
3990         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3991         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3992         ac_cv_header_... variable if the second argument is not 'check'.
3993         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3994         gl_NEXT_HEADERS_INTERNAL.
3995
3996 2011-01-20  Bruno Haible  <bruno@clisp.org>
3997
3998         Allow the user to avoid the GNULIB_TEST_* macros.
3999         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
4000         Suggested by Paul Eggert.
4001
4002 2011-01-14  Jim Meyering  <meyering@redhat.com>
4003
4004         bootstrap: avoid failure when there is no .gitmodules file
4005         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
4006         has been assigned to, even when its value is the empty string.
4007         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
4008         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
4009         Reported by John W. Eaton <jwe@gnu.org>.
4010
4011 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4012
4013         assume <ctype.h>, ..., <time.h> exist
4014         For years gnulib has been assuming the existence of the headers
4015         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
4016         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
4017         them, since they don't appear to be needed.
4018         * README (Portability guidelines): Document this.
4019         * lib/flock.c: Assume <fcntl.h> exists.
4020         * lib/regex_internal.h: Assume <locale.h> exists.
4021         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
4022         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
4023         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
4024         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
4025         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
4026         * m4/regex.m4 (gl_REGEX): Likewise.
4027         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
4028         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
4029         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
4030         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
4031         * tests/test-argp.c: Likewise.
4032         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
4033
4034         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
4035         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
4036         AA_APPLE_UNIVERSAL_BUILD.  See
4037         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
4038         * NEWS: Document this.
4039
4040 2011-01-19  Eric Blake  <eblake@redhat.com>
4041
4042         c-stack: assume stack overflow if SA_SIGINFO unsupported
4043         * lib/c-stack.c (SIGACTION_WORKS): Rename...
4044         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
4045         sigaction will work.
4046         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
4047         behavior match Linux.
4048         * tests/test-c-stack.c (main): Prefer NULL for pointers.
4049
4050         stdbool-tests: accomodate Haiku
4051         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
4052
4053         binary-io: fix O_TEXT on Haiku
4054         * modules/binary-io (Depends-on): Add fcntl-h.
4055         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
4056         than blindly undefining O_TEXT.
4057         Reported by Scott McCreary.
4058
4059 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4060
4061         include_next: do not check for standard headers like stddef.h
4062
4063         I found this problem when modifying Emacs to use gnulib.
4064         I noticed that it added HAVE_STDDEF_H to config.h, even though
4065         gnulib always assumes <stddef.h> exists as per README and this
4066         symbol is unnecessary.
4067         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
4068         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
4069         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
4070         faster for headers like stddef.h that are known to exist.
4071         (gl_CHECK_NEXT_HEADERS): Use it.
4072         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
4073         rather than gl_CHECK_NEXT_HEADERS.
4074         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
4075         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
4076
4077 2011-01-18  Eric Blake  <eblake@redhat.com>
4078
4079         ansi-c++-opt: skip C++ dependency style if C++ is unused
4080         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
4081         tests when we know C++ compilation is not desired.
4082         Reported by Scott McCreary.
4083
4084 2011-01-18  Bruno Haible  <bruno@clisp.org>
4085
4086         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
4087         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
4088         (main): Perform test also when getrlimit and setrlimit don't exist or
4089         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
4090         limiting the address space size using setrlimit, compare the address
4091         space size before and after the the test.
4092         * tests/test-dprintf-posix2.c: Likewise.
4093         * tests/test-fprintf-posix3.sh: Update skip messages.
4094         * tests/test-dprintf-posix2.sh: Likewise.
4095         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
4096         * modules/dprintf-posix-tests (Depends-on): Likewise.
4097         Reported by Bruce Korb <bkorb@gnu.org> and
4098         Gary V. Vaughan <gary@gnu.org>.
4099
4100 2011-01-18  Bruno Haible  <bruno@clisp.org>
4101
4102         get-rusage-as: Improvement for Cygwin.
4103         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
4104         areas that are merely reserved.
4105
4106 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4107
4108         strftime: remove dependencies on multibyte modules
4109
4110         strftime depended on mbrlen, mbsinit, and wchar, but these modules
4111         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
4112         only if __osf__ is defined, and I suspect OSF doesn't need these
4113         other modules.  If my guess is wrong, we'll need to come up with a
4114         variant of strftime that doesn't need the multibyte modules.
4115
4116         I discovered this problem when attempting modify Emacs to use the
4117         strftime module.  With the previous gnulib, this caused Emacs to
4118         need 31 new files, ranging from lib/config.charset to
4119         m4/wint_t.m4.  This was overkill and I expect would be offputting
4120         to the Emacs maintainers.  After this change, only 6 new files are
4121         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
4122         stdbool.m4, and tm_gmtoff.m4.
4123
4124         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
4125         Suggested by Bruno Haible in
4126         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
4127         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
4128         and do not check for wchar.h.
4129         * modules/strftime (Files): Remove m4/mbstate_t.m4.
4130         (Depends-on): Remove mbrlen, mbsinit, wchar.
4131
4132 2011-01-18  Bruno Haible  <bruno@clisp.org>
4133
4134         Tests for module 'get-rusage-as'.
4135         * modules/get-rusage-as-tests: New file.
4136         * tests/test-get-rusage-as.c: New file.
4137
4138         New module 'get-rusage-as'.
4139         * modules/get-rusage-as: New file.
4140         * lib/resource-ext.h: New file.
4141         * lib/get-rusage-as.c: New file.
4142
4143 2011-01-17  Eric Blake  <eblake@redhat.com>
4144
4145         sigaction: relax license from LGPLv3+ to LGPLv2+
4146         * modules/sigaction (License): Relax to LGPLv2+.
4147
4148 2011-01-14  Bruno Haible  <bruno@clisp.org>
4149
4150         filemode: Make function declarations usable in C++ mode.
4151         * lib/filemode.h: Enclose function declarations in extern "C" block.
4152         Reported by John W. Eaton <jwe@gnu.org>.
4153
4154 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
4155
4156         save-cwd: no longer include "xgetcwd.h"
4157         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
4158         This avoids a compilation failure in projects that use save-cwd
4159         without also using the xgetcwd module.
4160
4161 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4162
4163         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
4164         This is so that a program like Emacs, which needs only dtoastr,
4165         does not have to bother with distributing and compiling ftoastr
4166         and ldtoastr.
4167         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
4168         * modules/dtoastr, modules/ldtoastr: New files.
4169         * modules/ftoastr: Now works just for 'float'.
4170         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
4171         (Makefile.am): Remove ftoastr.h (not needed and no effect),
4172         dtoastr.c, ldtoastr.c.
4173
4174 2011-01-11  Jim Meyering  <meyering@redhat.com>
4175
4176         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
4177         There is no need to work around the lack of the fchdir function,
4178         since gnulib can now provide a replacement when required.
4179         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
4180         * modules/save-cwd (Depends-on): Add fchdir.
4181
4182 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4183
4184         openat, save-cwd: avoid xmalloc
4185
4186         This removes a direct (but undocumented) dependency of openat on
4187         xalloc, along with an indirect dependency via save-cwd.  It also
4188         removes a dependency of save-cwd on xgetcwd, and thereby
4189         indirectly on xalloc.  This change causes the openat substitute
4190         to fall back on save_cwd when memory is tight, and for save_cwd to
4191         fail instead of dying when memory is tight, but that's good enough.
4192         Problem and initial idea for fix reported by Bastien Roucaries in
4193         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
4194
4195         * lib/openat-proc.c: Include stdlib.h (for malloc), not
4196         xalloc.h (for xmalloc).
4197         (openat_proc_name): Use malloc, not xmalloc.
4198         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
4199         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
4200
4201         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
4202         This avoids heap allocation for file names whose lengths are in
4203         the range 512..1023, with the upper bound increasing to at most
4204         4031 depending on the platform's PATH_MAX.  (We do not want
4205         pathmax.h here as it might supply a non-constant PATH_MAX.)
4206         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
4207         Perhaps they should be moved to malloca.h?
4208         (OPENAT_BUFFER_SIZE): Use them.
4209
4210 2011-01-10  Bruno Haible  <bruno@clisp.org>
4211
4212         doc: Update users.txt.
4213         * users.txt: Add recutils.
4214
4215 2011-01-09  Karl Berry  <karl@gnu.org>
4216
4217         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
4218
4219         * doc/configmake.texi: New file.
4220         * doc/gnulib.texi: Include it.
4221         * modules/configmake: Move documentation from here.
4222
4223 2011-01-09  Bruno Haible  <bruno@clisp.org>
4224
4225         Update to Unicode 6.0.0.
4226         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
4227         (get_lbp): Update for Unicode 6.0.0.
4228         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
4229         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
4230         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
4231         U+11001, U+11038..U+11046. Remove U+06DE.
4232         (uc_width): Fix bounds of planes.
4233         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4234         lib/uniwidth/width.c.
4235         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
4236         trailing whitespace removed.
4237         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
4238         without comments, but with the original copyright notice.
4239         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
4240         * lib/unicase/ignorable.h: Likewise.
4241         * lib/unicase/tocasefold.h: Likewise.
4242         * lib/unicase/tolower.h: Likewise.
4243         * lib/unicase/totitle.h: Likewise.
4244         * lib/unicase/toupper.h: Likewise.
4245         * lib/unictype/bidi_of.h: Likewise.
4246         * lib/unictype/blocks.h: Likewise.
4247         * lib/unictype/categ_C.h: Likewise.
4248         * lib/unictype/categ_Cn.h: Likewise.
4249         * lib/unictype/categ_L.h: Likewise.
4250         * lib/unictype/categ_Ll.h: Likewise.
4251         * lib/unictype/categ_Lm.h: Likewise.
4252         * lib/unictype/categ_Lo.h: Likewise.
4253         * lib/unictype/categ_Lu.h: Likewise.
4254         * lib/unictype/categ_M.h: Likewise.
4255         * lib/unictype/categ_Mc.h: Likewise.
4256         * lib/unictype/categ_Me.h: Likewise.
4257         * lib/unictype/categ_Mn.h: Likewise.
4258         * lib/unictype/categ_N.h: Likewise.
4259         * lib/unictype/categ_Nd.h: Likewise.
4260         * lib/unictype/categ_No.h: Likewise.
4261         * lib/unictype/categ_P.h: Likewise.
4262         * lib/unictype/categ_Po.h: Likewise.
4263         * lib/unictype/categ_S.h: Likewise.
4264         * lib/unictype/categ_Sc.h: Likewise.
4265         * lib/unictype/categ_Sk.h: Likewise.
4266         * lib/unictype/categ_Sm.h: Likewise.
4267         * lib/unictype/categ_So.h: Likewise.
4268         * lib/unictype/categ_of.h: Likewise.
4269         * lib/unictype/combining.h: Likewise.
4270         * lib/unictype/ctype_alnum.h: Likewise.
4271         * lib/unictype/ctype_alpha.h: Likewise.
4272         * lib/unictype/ctype_graph.h: Likewise.
4273         * lib/unictype/ctype_lower.h: Likewise.
4274         * lib/unictype/ctype_print.h: Likewise.
4275         * lib/unictype/ctype_punct.h: Likewise.
4276         * lib/unictype/ctype_upper.h: Likewise.
4277         * lib/unictype/decdigit.h: Likewise.
4278         * lib/unictype/digit.h: Likewise.
4279         * lib/unictype/numeric.h: Likewise.
4280         * lib/unictype/pr_alphabetic.h: Likewise.
4281         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4282         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4283         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4284         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4285         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4286         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4287         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4288         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4289         * lib/unictype/pr_case_ignorable.h: Likewise.
4290         * lib/unictype/pr_cased.h: Likewise.
4291         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
4292         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
4293         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
4294         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
4295         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
4296         * lib/unictype/pr_combining.h: Likewise.
4297         * lib/unictype/pr_composite.h: Likewise.
4298         * lib/unictype/pr_currency_symbol.h: Likewise.
4299         * lib/unictype/pr_decimal_digit.h: Likewise.
4300         * lib/unictype/pr_deprecated.h: Likewise.
4301         * lib/unictype/pr_format_control.h: Likewise.
4302         * lib/unictype/pr_grapheme_base.h: Likewise.
4303         * lib/unictype/pr_grapheme_extend.h: Likewise.
4304         * lib/unictype/pr_grapheme_link.h: Likewise.
4305         * lib/unictype/pr_id_continue.h: Likewise.
4306         * lib/unictype/pr_id_start.h: Likewise.
4307         * lib/unictype/pr_ideographic.h: Likewise.
4308         * lib/unictype/pr_lowercase.h: Likewise.
4309         * lib/unictype/pr_math.h: Likewise.
4310         * lib/unictype/pr_numeric.h: Likewise.
4311         * lib/unictype/pr_other_alphabetic.h: Likewise.
4312         * lib/unictype/pr_other_id_continue.h: Likewise.
4313         * lib/unictype/pr_other_math.h: Likewise.
4314         * lib/unictype/pr_punctuation.h: Likewise.
4315         * lib/unictype/pr_sentence_terminal.h: Likewise.
4316         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4317         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4318         * lib/unictype/pr_unified_ideograph.h: Likewise.
4319         * lib/unictype/pr_uppercase.h: Likewise.
4320         * lib/unictype/pr_xid_continue.h: Likewise.
4321         * lib/unictype/pr_xid_start.h: Likewise.
4322         * lib/unictype/scripts.h: Likewise.
4323         * lib/unictype/scripts_byname.gperf: Likewise.
4324         * lib/unictype/sy_java_ident.h: Likewise.
4325         * lib/unigbrk/gbrkprop.h: Likewise.
4326         * lib/unilbrk/lbrkprop1.h: Likewise.
4327         * lib/unilbrk/lbrkprop2.h: Likewise.
4328         * lib/uninorm/decomposition-table2.h: Likewise.
4329         * lib/uniwbrk/wbrkprop.h: Likewise.
4330         * tests/unicase/test-cased.c: Likewise.
4331         * tests/unicase/test-ignorable.c: Likewise.
4332         * tests/unicase/test-uc_tolower.c: Likewise.
4333         * tests/unicase/test-uc_totitle.c: Likewise.
4334         * tests/unicase/test-uc_toupper.c: Likewise.
4335         * tests/unictype/test-categ_C.c: Likewise.
4336         * tests/unictype/test-categ_Cn.c: Likewise.
4337         * tests/unictype/test-categ_L.c: Likewise.
4338         * tests/unictype/test-categ_Ll.c: Likewise.
4339         * tests/unictype/test-categ_Lm.c: Likewise.
4340         * tests/unictype/test-categ_Lo.c: Likewise.
4341         * tests/unictype/test-categ_Lu.c: Likewise.
4342         * tests/unictype/test-categ_M.c: Likewise.
4343         * tests/unictype/test-categ_Mc.c: Likewise.
4344         * tests/unictype/test-categ_Me.c: Likewise.
4345         * tests/unictype/test-categ_Mn.c: Likewise.
4346         * tests/unictype/test-categ_N.c: Likewise.
4347         * tests/unictype/test-categ_Nd.c: Likewise.
4348         * tests/unictype/test-categ_No.c: Likewise.
4349         * tests/unictype/test-categ_P.c: Likewise.
4350         * tests/unictype/test-categ_Po.c: Likewise.
4351         * tests/unictype/test-categ_S.c: Likewise.
4352         * tests/unictype/test-categ_Sc.c: Likewise.
4353         * tests/unictype/test-categ_Sk.c: Likewise.
4354         * tests/unictype/test-categ_Sm.c: Likewise.
4355         * tests/unictype/test-categ_So.c: Likewise.
4356         * tests/unictype/test-ctype_alnum.c: Likewise.
4357         * tests/unictype/test-ctype_alpha.c: Likewise.
4358         * tests/unictype/test-ctype_graph.c: Likewise.
4359         * tests/unictype/test-ctype_lower.c: Likewise.
4360         * tests/unictype/test-ctype_print.c: Likewise.
4361         * tests/unictype/test-ctype_punct.c: Likewise.
4362         * tests/unictype/test-ctype_upper.c: Likewise.
4363         * tests/unictype/test-decdigit.h: Likewise.
4364         * tests/unictype/test-digit.h: Likewise.
4365         * tests/unictype/test-numeric.h: Likewise.
4366         * tests/unictype/test-pr_alphabetic.c: Likewise.
4367         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4368         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
4369         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
4370         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4371         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4372         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4373         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4374         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4375         * tests/unictype/test-pr_case_ignorable.c: Likewise.
4376         * tests/unictype/test-pr_cased.c: Likewise.
4377         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
4378         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
4379         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
4380         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
4381         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
4382         * tests/unictype/test-pr_combining.c: Likewise.
4383         * tests/unictype/test-pr_composite.c: Likewise.
4384         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4385         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4386         * tests/unictype/test-pr_deprecated.c: Likewise.
4387         * tests/unictype/test-pr_format_control.c: Likewise.
4388         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4389         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4390         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4391         * tests/unictype/test-pr_id_continue.c: Likewise.
4392         * tests/unictype/test-pr_id_start.c: Likewise.
4393         * tests/unictype/test-pr_ideographic.c: Likewise.
4394         * tests/unictype/test-pr_lowercase.c: Likewise.
4395         * tests/unictype/test-pr_math.c: Likewise.
4396         * tests/unictype/test-pr_numeric.c: Likewise.
4397         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4398         * tests/unictype/test-pr_other_id_continue.c: Likewise.
4399         * tests/unictype/test-pr_other_math.c: Likewise.
4400         * tests/unictype/test-pr_punctuation.c: Likewise.
4401         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4402         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4403         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4404         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4405         * tests/unictype/test-pr_uppercase.c: Likewise.
4406         * tests/unictype/test-pr_xid_continue.c: Likewise.
4407         * tests/unictype/test-pr_xid_start.c: Likewise.
4408         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4409         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4410         changes.
4411         * lib/unictype/categ_Cc.h: Likewise.
4412         * lib/unictype/categ_Cf.h: Likewise.
4413         * lib/unictype/categ_Co.h: Likewise.
4414         * lib/unictype/categ_Cs.h: Likewise.
4415         * lib/unictype/categ_Lt.h: Likewise.
4416         * lib/unictype/categ_Nl.h: Likewise.
4417         * lib/unictype/categ_Pc.h: Likewise.
4418         * lib/unictype/categ_Pd.h: Likewise.
4419         * lib/unictype/categ_Pe.h: Likewise.
4420         * lib/unictype/categ_Pf.h: Likewise.
4421         * lib/unictype/categ_Pi.h: Likewise.
4422         * lib/unictype/categ_Ps.h: Likewise.
4423         * lib/unictype/categ_Z.h: Likewise.
4424         * lib/unictype/categ_Zl.h: Likewise.
4425         * lib/unictype/categ_Zp.h: Likewise.
4426         * lib/unictype/categ_Zs.h: Likewise.
4427         * lib/unictype/ctype_blank.h: Likewise.
4428         * lib/unictype/ctype_cntrl.h: Likewise.
4429         * lib/unictype/ctype_digit.h: Likewise.
4430         * lib/unictype/ctype_space.h: Likewise.
4431         * lib/unictype/ctype_xdigit.h: Likewise.
4432         * lib/unictype/mirror.h: Likewise.
4433         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4434         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4435         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4436         * lib/unictype/pr_bidi_control.h: Likewise.
4437         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4438         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4439         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4440         * lib/unictype/pr_bidi_pdf.h: Likewise.
4441         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4442         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4443         * lib/unictype/pr_dash.h: Likewise.
4444         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4445         * lib/unictype/pr_diacritic.h: Likewise.
4446         * lib/unictype/pr_extender.h: Likewise.
4447         * lib/unictype/pr_hex_digit.h: Likewise.
4448         * lib/unictype/pr_hyphen.h: Likewise.
4449         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4450         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4451         * lib/unictype/pr_ignorable_control.h: Likewise.
4452         * lib/unictype/pr_iso_control.h: Likewise.
4453         * lib/unictype/pr_join_control.h: Likewise.
4454         * lib/unictype/pr_left_of_pair.h: Likewise.
4455         * lib/unictype/pr_line_separator.h: Likewise.
4456         * lib/unictype/pr_logical_order_exception.h: Likewise.
4457         * lib/unictype/pr_non_break.h: Likewise.
4458         * lib/unictype/pr_not_a_character.h: Likewise.
4459         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4460         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4461         * lib/unictype/pr_other_id_start.h: Likewise.
4462         * lib/unictype/pr_other_lowercase.h: Likewise.
4463         * lib/unictype/pr_other_uppercase.h: Likewise.
4464         * lib/unictype/pr_paired_punctuation.h: Likewise.
4465         * lib/unictype/pr_paragraph_separator.h: Likewise.
4466         * lib/unictype/pr_pattern_syntax.h: Likewise.
4467         * lib/unictype/pr_pattern_white_space.h: Likewise.
4468         * lib/unictype/pr_private_use.h: Likewise.
4469         * lib/unictype/pr_quotation_mark.h: Likewise.
4470         * lib/unictype/pr_radical.h: Likewise.
4471         * lib/unictype/pr_soft_dotted.h: Likewise.
4472         * lib/unictype/pr_space.h: Likewise.
4473         * lib/unictype/pr_titlecase.h: Likewise.
4474         * lib/unictype/pr_variation_selector.h: Likewise.
4475         * lib/unictype/pr_white_space.h: Likewise.
4476         * lib/unictype/pr_zero_width.h: Likewise.
4477         * lib/unictype/sy_c_ident.h: Likewise.
4478         * lib/unictype/sy_c_whitespace.h: Likewise.
4479         * lib/unictype/sy_java_whitespace.h: Likewise.
4480         * lib/uninorm/composition-table.gperf: Likewise.
4481         * lib/uninorm/decomposition-table1.h: Likewise.
4482         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
4483         LB8.
4484         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4485         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4486         * modules/unictype/*: Bump version number of expected libunistring
4487         version.
4488
4489 2011-01-09  Bruno Haible  <bruno@clisp.org>
4490
4491         Update to Unicode 5.2.0.
4492         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
4493         trailing whitespace removed.
4494
4495 2011-01-09  Bruno Haible  <bruno@clisp.org>
4496
4497         New Unicode character properties, from Unicode 5.2.0.
4498         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
4499         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
4500         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
4501         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
4502         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
4503         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
4504         uc_is_property_cased, uc_is_property_case_ignorable,
4505         uc_is_property_changes_when_lowercased,
4506         uc_is_property_changes_when_uppercased,
4507         uc_is_property_changes_when_titlecased,
4508         uc_is_property_changes_when_casefolded,
4509         uc_is_property_changes_when_casemapped): New declarations.
4510         * lib/unictype/pr_byname.gperf: Add the new properties.
4511         * modules/unictype/property-byname (Depends-on): Depend on the new
4512         properties modules.
4513         * modules/unictype/property-all (Depends-on): Likewise.
4514         * MODULES.html.sh (Unicode string functions): Add
4515         unictype/property-case-ignorable, unictype/property-cased,
4516         unictype/property-changes-when-casefolded,
4517         unictype/property-changes-when-casemapped,
4518         unictype/property-changes-when-lowercased,
4519         unictype/property-changes-when-titlecased,
4520         unictype/property-changes-when-uppercased.
4521
4522         New module 'unictype/property-changes-when-casemapped'.
4523         * modules/unictype/property-changes-when-casemapped: New file.
4524         * lib/unictype/pr_changes_when_casemapped.c: New file.
4525         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
4526         generated by gen-uni-tables.
4527         * modules/unictype/property-changes-when-casemapped-tests: New file.
4528         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
4529         automatically generated by gen-uni-tables.
4530
4531         New module 'unictype/property-changes-when-casefolded'.
4532         * modules/unictype/property-changes-when-casefolded: New file.
4533         * lib/unictype/pr_changes_when_casefolded.c: New file.
4534         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
4535         generated by gen-uni-tables.
4536         * modules/unictype/property-changes-when-casefolded-tests: New file.
4537         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
4538         automatically generated by gen-uni-tables.
4539
4540         New module 'unictype/property-changes-when-titlecased'.
4541         * modules/unictype/property-changes-when-titlecased: New file.
4542         * lib/unictype/pr_changes_when_titlecased.c: New file.
4543         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
4544         generated by gen-uni-tables.
4545         * modules/unictype/property-changes-when-titlecased-tests: New file.
4546         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
4547         automatically generated by gen-uni-tables.
4548
4549         New module 'unictype/property-changes-when-uppercased'.
4550         * modules/unictype/property-changes-when-uppercased: New file.
4551         * lib/unictype/pr_changes_when_uppercased.c: New file.
4552         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
4553         generated by gen-uni-tables.
4554         * modules/unictype/property-changes-when-uppercased-tests: New file.
4555         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
4556         automatically generated by gen-uni-tables.
4557
4558         New module 'unictype/property-changes-when-lowercased'.
4559         * modules/unictype/property-changes-when-lowercased: New file.
4560         * lib/unictype/pr_changes_when_lowercased.c: New file.
4561         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
4562         generated by gen-uni-tables.
4563         * modules/unictype/property-changes-when-lowercased-tests: New file.
4564         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
4565         automatically generated by gen-uni-tables.
4566
4567         New module 'unictype/property-case-ignorable'.
4568         * modules/unictype/property-case-ignorable: New file.
4569         * lib/unictype/pr_case_ignorable.c: New file.
4570         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
4571         by gen-uni-tables.
4572         * modules/unictype/property-case-ignorable-tests: New file.
4573         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
4574         generated by gen-uni-tables.
4575
4576         New module 'unictype/property-cased'.
4577         * modules/unictype/property-cased: New file.
4578         * lib/unictype/pr_cased.c: New file.
4579         * lib/unictype/pr_cased.h: New file, automatically generated by
4580         gen-uni-tables.
4581         * modules/unictype/property-cased-tests: New file.
4582         * tests/unictype/test-pr_cased.c: New file, automatically generated by
4583         gen-uni-tables.
4584
4585 2011-01-09  Bruno Haible  <bruno@clisp.org>
4586
4587         Update to Unicode 5.2.0.
4588         * lib/gen-uni-tables.c (output_predicate, output_category,
4589         output_combclass, output_bidi_category, output_decimal_digit_test,
4590         output_decimal_digit, output_digit_test, output_digit,
4591         output_numeric_test, output_numeric, output_mirror, output_scripts,
4592         output_scripts_byname, output_blocks, output_ident_category): Fix
4593         comment header.
4594         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
4595         get_wbp.
4596         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
4597         items.
4598         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
4599         Changes_When_Lowercased, Changes_When_Uppercased,
4600         Changes_When_Titlecased, Changes_When_Casefolded,
4601         Changes_When_Casemapped.
4602         (is_property_alphabetic, is_property_default_ignorable_code_point):
4603         Update for Unicode 5.2.0.
4604         (is_property_cased, is_property_case_ignorable,
4605         is_property_changes_when_lowercased,
4606         is_property_changes_when_uppercased,
4607         is_property_changes_when_titlecased,
4608         is_property_changes_when_casefolded,
4609         is_property_changes_when_casemapped): New functions.
4610         (output_properties): Output also the properties cased, case_ignorable,
4611         changes_when_lowercased, changes_when_uppercased,
4612         changes_when_titlecased, changes_when_casefolded,
4613         changes_when_casemapped.
4614         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
4615         Unicode TR#11 revision 17 -> 19.
4616         (LBP_CP): New enumeration value.
4617         (LBP_*): Adjust values accordingly.
4618         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4619         TR#14 revision 22 -> 24.
4620         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
4621         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
4622         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
4623         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
4624         is_WBP_MIDLETTER.
4625         (output_composition_tables): Allow for 24 bits instead of 16 bits in
4626         the code1 and code2 of each composition rule.
4627         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
4628         * lib/unicase/ignorable.h: Likewise.
4629         * lib/unicase/tocasefold.h: Likewise.
4630         * lib/unicase/tolower.h: Likewise.
4631         * lib/unicase/totitle.h: Likewise.
4632         * lib/unicase/toupper.h: Likewise.
4633         * lib/unictype/bidi_of.h: Likewise.
4634         * lib/unictype/blocks.h: Likewise.
4635         * lib/unictype/categ_C.h: Likewise.
4636         * lib/unictype/categ_Cf.h: Likewise.
4637         * lib/unictype/categ_Cn.h: Likewise.
4638         * lib/unictype/categ_L.h: Likewise.
4639         * lib/unictype/categ_Ll.h: Likewise.
4640         * lib/unictype/categ_Lm.h: Likewise.
4641         * lib/unictype/categ_Lo.h: Likewise.
4642         * lib/unictype/categ_Lu.h: Likewise.
4643         * lib/unictype/categ_M.h: Likewise.
4644         * lib/unictype/categ_Mc.h: Likewise.
4645         * lib/unictype/categ_Mn.h: Likewise.
4646         * lib/unictype/categ_N.h: Likewise.
4647         * lib/unictype/categ_Nd.h: Likewise.
4648         * lib/unictype/categ_Nl.h: Likewise.
4649         * lib/unictype/categ_No.h: Likewise.
4650         * lib/unictype/categ_P.h: Likewise.
4651         * lib/unictype/categ_Pd.h: Likewise.
4652         * lib/unictype/categ_Po.h: Likewise.
4653         * lib/unictype/categ_S.h: Likewise.
4654         * lib/unictype/categ_Sc.h: Likewise.
4655         * lib/unictype/categ_So.h: Likewise.
4656         * lib/unictype/categ_of.h: Likewise.
4657         * lib/unictype/combining.h: Likewise.
4658         * lib/unictype/ctype_alnum.h: Likewise.
4659         * lib/unictype/ctype_alpha.h: Likewise.
4660         * lib/unictype/ctype_graph.h: Likewise.
4661         * lib/unictype/ctype_lower.h: Likewise.
4662         * lib/unictype/ctype_print.h: Likewise.
4663         * lib/unictype/ctype_punct.h: Likewise.
4664         * lib/unictype/ctype_upper.h: Likewise.
4665         * lib/unictype/decdigit.h: Likewise.
4666         * lib/unictype/digit.h: Likewise.
4667         * lib/unictype/numeric.h: Likewise.
4668         * lib/unictype/pr_alphabetic.h: Likewise.
4669         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4670         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4671         * lib/unictype/pr_bidi_european_digit.h: Likewise.
4672         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4673         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4674         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4675         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4676         * lib/unictype/pr_combining.h: Likewise.
4677         * lib/unictype/pr_composite.h: Likewise.
4678         * lib/unictype/pr_currency_symbol.h: Likewise.
4679         * lib/unictype/pr_dash.h: Likewise.
4680         * lib/unictype/pr_decimal_digit.h: Likewise.
4681         * lib/unictype/pr_deprecated.h: Likewise.
4682         * lib/unictype/pr_diacritic.h: Likewise.
4683         * lib/unictype/pr_extender.h: Likewise.
4684         * lib/unictype/pr_grapheme_base.h: Likewise.
4685         * lib/unictype/pr_grapheme_extend.h: Likewise.
4686         * lib/unictype/pr_grapheme_link.h: Likewise.
4687         * lib/unictype/pr_id_continue.h: Likewise.
4688         * lib/unictype/pr_id_start.h: Likewise.
4689         * lib/unictype/pr_ideographic.h: Likewise.
4690         * lib/unictype/pr_ignorable_control.h: Likewise.
4691         * lib/unictype/pr_logical_order_exception.h: Likewise.
4692         * lib/unictype/pr_lowercase.h: Likewise.
4693         * lib/unictype/pr_numeric.h: Likewise.
4694         * lib/unictype/pr_other_alphabetic.h: Likewise.
4695         * lib/unictype/pr_punctuation.h: Likewise.
4696         * lib/unictype/pr_sentence_terminal.h: Likewise.
4697         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4698         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4699         * lib/unictype/pr_unified_ideograph.h: Likewise.
4700         * lib/unictype/pr_uppercase.h: Likewise.
4701         * lib/unictype/pr_xid_continue.h: Likewise.
4702         * lib/unictype/pr_xid_start.h: Likewise.
4703         * lib/unictype/pr_zero_width.h: Likewise.
4704         * lib/unictype/scripts.h: Likewise.
4705         * lib/unictype/scripts_byname.gperf: Likewise.
4706         * lib/unictype/sy_java_ident.h: Likewise.
4707         * lib/unigbrk/gbrkprop.h: Likewise.
4708         * lib/unilbrk/lbrkprop1.h: Likewise.
4709         * lib/unilbrk/lbrkprop2.h: Likewise.
4710         * lib/unilbrk/lbrktables.h: Likewise.
4711         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
4712         LBP_CP. Implement rule LB30.
4713         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
4714         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
4715         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
4716         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
4717         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
4718         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
4719         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
4720         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
4721         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
4722         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
4723         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
4724         bits instead of 16 bits in the code1 and code2 of each composition
4725         rule.
4726         (uc_composition): Update for Unicode 5.2.0.
4727         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
4728         * lib/uninorm/decomposition-table2.h: Likewise.
4729         * lib/uniwbrk/wbrkprop.h: Likewise.
4730         * tests/unicase/test-cased.c: Likewise.
4731         * tests/unicase/test-ignorable.c: Likewise.
4732         * tests/unicase/test-uc_tolower.c: Likewise.
4733         * tests/unicase/test-uc_totitle.c: Likewise.
4734         * tests/unicase/test-uc_toupper.c: Likewise.
4735         * tests/unictype/test-categ_C.c: Likewise.
4736         * tests/unictype/test-categ_Cf.c: Likewise.
4737         * tests/unictype/test-categ_Cn.c: Likewise.
4738         * tests/unictype/test-categ_L.c: Likewise.
4739         * tests/unictype/test-categ_Ll.c: Likewise.
4740         * tests/unictype/test-categ_Lm.c: Likewise.
4741         * tests/unictype/test-categ_Lo.c: Likewise.
4742         * tests/unictype/test-categ_Lu.c: Likewise.
4743         * tests/unictype/test-categ_M.c: Likewise.
4744         * tests/unictype/test-categ_Mc.c: Likewise.
4745         * tests/unictype/test-categ_Mn.c: Likewise.
4746         * tests/unictype/test-categ_N.c: Likewise.
4747         * tests/unictype/test-categ_Nd.c: Likewise.
4748         * tests/unictype/test-categ_Nl.c: Likewise.
4749         * tests/unictype/test-categ_No.c: Likewise.
4750         * tests/unictype/test-categ_P.c: Likewise.
4751         * tests/unictype/test-categ_Pd.c: Likewise.
4752         * tests/unictype/test-categ_Po.c: Likewise.
4753         * tests/unictype/test-categ_S.c: Likewise.
4754         * tests/unictype/test-categ_Sc.c: Likewise.
4755         * tests/unictype/test-categ_So.c: Likewise.
4756         * tests/unictype/test-ctype_alnum.c: Likewise.
4757         * tests/unictype/test-ctype_alpha.c: Likewise.
4758         * tests/unictype/test-ctype_graph.c: Likewise.
4759         * tests/unictype/test-ctype_lower.c: Likewise.
4760         * tests/unictype/test-ctype_print.c: Likewise.
4761         * tests/unictype/test-ctype_punct.c: Likewise.
4762         * tests/unictype/test-ctype_upper.c: Likewise.
4763         * tests/unictype/test-decdigit.h: Likewise.
4764         * tests/unictype/test-digit.h: Likewise.
4765         * tests/unictype/test-numeric.h: Likewise.
4766         * tests/unictype/test-pr_alphabetic.c: Likewise.
4767         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4768         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4769         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4770         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4771         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4772         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4773         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4774         * tests/unictype/test-pr_combining.c: Likewise.
4775         * tests/unictype/test-pr_composite.c: Likewise.
4776         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4777         * tests/unictype/test-pr_dash.c: Likewise.
4778         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4779         * tests/unictype/test-pr_deprecated.c: Likewise.
4780         * tests/unictype/test-pr_diacritic.c: Likewise.
4781         * tests/unictype/test-pr_extender.c: Likewise.
4782         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4783         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4784         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4785         * tests/unictype/test-pr_id_continue.c: Likewise.
4786         * tests/unictype/test-pr_id_start.c: Likewise.
4787         * tests/unictype/test-pr_ideographic.c: Likewise.
4788         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4789         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4790         * tests/unictype/test-pr_lowercase.c: Likewise.
4791         * tests/unictype/test-pr_numeric.c: Likewise.
4792         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4793         * tests/unictype/test-pr_punctuation.c: Likewise.
4794         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4795         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4796         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4797         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4798         * tests/unictype/test-pr_uppercase.c: Likewise.
4799         * tests/unictype/test-pr_xid_continue.c: Likewise.
4800         * tests/unictype/test-pr_xid_start.c: Likewise.
4801         * tests/unictype/test-pr_zero_width.c: Likewise.
4802         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4803         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4804         changed behaviour: line breaking is now disallowed between a letter
4805         or '=' and '('.
4806         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4807         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4808         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4809         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4810         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4811         lib/uniwidth/width.c.
4812         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4813         without comments, but with the original copyright notice.
4814         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4815         changes.
4816         * lib/unictype/categ_Cc.h: Likewise.
4817         * lib/unictype/categ_Co.h: Likewise.
4818         * lib/unictype/categ_Cs.h: Likewise.
4819         * lib/unictype/categ_Lt.h: Likewise.
4820         * lib/unictype/categ_Me.h: Likewise.
4821         * lib/unictype/categ_Pc.h: Likewise.
4822         * lib/unictype/categ_Pe.h: Likewise.
4823         * lib/unictype/categ_Pf.h: Likewise.
4824         * lib/unictype/categ_Pi.h: Likewise.
4825         * lib/unictype/categ_Ps.h: Likewise.
4826         * lib/unictype/categ_Sk.h: Likewise.
4827         * lib/unictype/categ_Sm.h: Likewise.
4828         * lib/unictype/categ_Z.h: Likewise.
4829         * lib/unictype/categ_Zl.h: Likewise.
4830         * lib/unictype/categ_Zp.h: Likewise.
4831         * lib/unictype/categ_Zs.h: Likewise.
4832         * lib/unictype/ctype_blank.h: Likewise.
4833         * lib/unictype/ctype_cntrl.h: Likewise.
4834         * lib/unictype/ctype_digit.h: Likewise.
4835         * lib/unictype/ctype_space.h: Likewise.
4836         * lib/unictype/ctype_xdigit.h: Likewise.
4837         * lib/unictype/mirror.h: Likewise.
4838         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4839         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4840         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4841         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4842         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4843         * lib/unictype/pr_bidi_control.h: Likewise.
4844         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4845         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4846         * lib/unictype/pr_bidi_pdf.h: Likewise.
4847         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4848         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4849         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4850         * lib/unictype/pr_format_control.h: Likewise.
4851         * lib/unictype/pr_hex_digit.h: Likewise.
4852         * lib/unictype/pr_hyphen.h: Likewise.
4853         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4854         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4855         * lib/unictype/pr_iso_control.h: Likewise.
4856         * lib/unictype/pr_join_control.h: Likewise.
4857         * lib/unictype/pr_left_of_pair.h: Likewise.
4858         * lib/unictype/pr_line_separator.h: Likewise.
4859         * lib/unictype/pr_math.h: Likewise.
4860         * lib/unictype/pr_non_break.h: Likewise.
4861         * lib/unictype/pr_not_a_character.h: Likewise.
4862         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4863         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4864         * lib/unictype/pr_other_id_continue.h: Likewise.
4865         * lib/unictype/pr_other_id_start.h: Likewise.
4866         * lib/unictype/pr_other_lowercase.h: Likewise.
4867         * lib/unictype/pr_other_math.h: Likewise.
4868         * lib/unictype/pr_other_uppercase.h: Likewise.
4869         * lib/unictype/pr_paired_punctuation.h: Likewise.
4870         * lib/unictype/pr_paragraph_separator.h: Likewise.
4871         * lib/unictype/pr_pattern_syntax.h: Likewise.
4872         * lib/unictype/pr_pattern_white_space.h: Likewise.
4873         * lib/unictype/pr_private_use.h: Likewise.
4874         * lib/unictype/pr_quotation_mark.h: Likewise.
4875         * lib/unictype/pr_radical.h: Likewise.
4876         * lib/unictype/pr_soft_dotted.h: Likewise.
4877         * lib/unictype/pr_space.h: Likewise.
4878         * lib/unictype/pr_titlecase.h: Likewise.
4879         * lib/unictype/pr_variation_selector.h: Likewise.
4880         * lib/unictype/pr_white_space.h: Likewise.
4881         * lib/unictype/sy_c_ident.h: Likewise.
4882         * lib/unictype/sy_c_whitespace.h: Likewise.
4883         * lib/unictype/sy_java_whitespace.h: Likewise.
4884         * modules/uni*/*: Bump version number of expected libunistring version.
4885         Reported by Simon Josefsson.
4886
4887 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4888
4889         useless-if-before-free: fix typo in --help and make the internal,
4890         automatic version date update process work once again.
4891         --help output contained a NUL character instead of the
4892         backslash-zero that was intended.  Also, the "must lie within
4893         the first 8 lines" line is on line 9, and hence not getting
4894         automatically updated.
4895         * build-aux/useless-if-before-free: Fix the former by adding a
4896         backslash, and the latter by condensing the three lines of what-it-does
4897         to a single line, leaving one line of slack for the future.
4898
4899 2011-01-09  Bruno Haible  <bruno@clisp.org>
4900
4901         uniwidth/width: Fix width of U+1D173..U+1D17A.
4902         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4903         symbolic_width, output_width_property_test): New functions.
4904         (main): Invoke output_nonspacing_property, output_width_property_test.
4905         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4906         U+1D173..U+1D17A.
4907         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4908         1.
4909         * modules/uniwidth/*: Bump version number of expected libunistring
4910         version.
4911         * modules/unilbrk/*: Likewise.
4912
4913 2011-01-08  Bruno Haible  <bruno@clisp.org>
4914
4915         uninorm tests: Preserve copyright of Unicode data file.
4916         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4917         Mention modifications.
4918
4919 2011-01-08  Bruno Haible  <bruno@clisp.org>
4920
4921         gen-uni-tables: Prepare for Unicode 5.2.0.
4922         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4923         (debug_output_lbp, output_lbp): Update.
4924
4925 2011-01-08  Bruno Haible  <bruno@clisp.org>
4926
4927         unilbrk: Clarify gen-uni-tables.c code.
4928         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4929         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4930         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4931
4932 2011-01-07  Bruno Haible  <bruno@clisp.org>
4933
4934         strtod: Restore errno when successfully parsing Infinity or NaN.
4935         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4936         restore the original errno.
4937
4938 2011-01-07  Bruno Haible  <bruno@clisp.org>
4939
4940         remove test: Avoid failure on HP-UX 11.
4941         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4942
4943 2011-01-07  Bruno Haible  <bruno@clisp.org>
4944
4945         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4946         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4947         error code.
4948
4949 2011-01-07  Pádraig Brady <P@draigBrady.com>
4950
4951         ignore-value: fixup comments, and add Eric Blake
4952         as an author since he rewrote the macros.
4953         * lib/ignore-value.h (ignore_value):  State that
4954         we now support aggregates.  Also specify exactly
4955         when the GCC warn_unused_result feature was added.
4956
4957 2011-01-06  Eric Blake  <eblake@redhat.com>
4958
4959         ignore-value: support aggregate types
4960         * lib/ignore-value.h (ignore_value): Provide separate gcc
4961         definition.
4962         * modules/ignore-value-tests: New test module.
4963         * tests/test-ignore-value.c: New test.
4964
4965         maint.mk: improve sc_prohibit_strcmp regex
4966         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4967         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4968         definition of STRNEQ.
4969
4970         signal: work around Haiku issue with SIGBUS
4971         * lib/siglist.h: Add comment.
4972         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4973         strsignal's favoring of SIGSEGV.
4974         * tests/test-signal.c (main): Avoid test failure.
4975         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4976         Reported by Scott McCreary.
4977
4978         maint.mk: add pre-release check to ensure submodule commits are public
4979         * top/maint.mk (public-submodule-commit): New rule.
4980         (submodule-checks): New variable.
4981         (alpha beta stable): Depend on the variable.
4982
4983 2011-01-05  Pádraig Brady <P@draigBrady.com>
4984         and Jim Meyering  <meyering@redhat.com>
4985
4986         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4987         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4988         (ATTRIBUTE_DEPRECATED): Define.
4989         (_ignore_case): New function.
4990         (ignore_value): New macro, to replace the old function.
4991         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4992         * modules/ignore-value (Depends-on): Add stdint.
4993
4994 2011-01-04  Eric Blake  <eblake@redhat.com>
4995
4996         doc: regenerate INSTALL
4997         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4998         @firstparagraphindent support, now that autoconf dropped it.
4999         (INSTALL_PRELUDE): Reinstate old macro.
5000         * doc/install.texi: Resync from autoconf.
5001         * doc/INSTALL: Reflect recent autoconf update.
5002         * doc/INSTALL.ISO: Likewise.
5003         * doc/INSTALL.UTF-8: Likewise.
5004         Reported by Karl Berry.
5005
5006 2011-01-04  Bruce Korb  <address@hidden>
5007
5008         git-version-gen: avoid a sub-shell
5009         * build-aux/git-version-gen: Redirect stderr in `...` via
5010         "exec 2>...", rather than via an added sub-shell.
5011
5012 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
5013
5014         git-version-gen: use (...) rather than sh -c '...'
5015         * build-aux/git-version-gen: Rather than hard-coding a shell's name
5016         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
5017
5018 2011-01-03  Jim Meyering  <meyering@redhat.com>
5019
5020         git-version-gen: convert leading TABs to spaces
5021         * build-aux/git-version-gen: Expand leading TABs.
5022
5023         git-version-gen: handle failed "git rev-list"
5024         * build-aux/git-version-gen: Rather than leaking a "fatal" error
5025         from git and proceeding as if it had succeeded but printed no SHA1
5026         checksums, suppress the diagnostic and handle the failure.
5027         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
5028
5029         git-version-gen: include command name in one more diagnostic
5030         * build-aux/git-version-gen: When the required .tarball-version file
5031         was missing or unreadable, you might see the diagnostic from "cat",
5032         but no trace of the name of the invoking script.  Now, you still see
5033         the diagnostic from cat, but also get one from "git-version-gen: ".
5034         Inspired by a patch from Bruce Korb.
5035
5036         update-copyright: adjust test to match changed code
5037         * tests/test-update-copyright.sh: Change test's expected output
5038         to match new actual output.
5039
5040 2011-01-02  Bruno Haible  <bruno@clisp.org>
5041
5042         getlogin_r: Avoid test failure on HP-UX 11.
5043         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
5044         ERANGE when the second argument is zero.
5045         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
5046         portability problem.
5047
5048 2011-01-02  Bruce Korb  <bkorb@gnu.org>
5049
5050         * build-aux/update-copyright: doc Simon's changes
5051
5052 2011-01-02  Simon Josefsson  <simon@josefsson.org>
5053
5054         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
5055         environment variable.
5056
5057 2011-01-02  Bruno Haible  <bruno@clisp.org>
5058
5059         unigbrk: Avoid gcc warnings.
5060         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
5061         unused variable.
5062         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
5063         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
5064         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
5065         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
5066         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
5067         Change type of first argument to 'const char *'.
5068         (main): Remove unused variable.
5069         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
5070         type of first argument to 'const char *'.
5071         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
5072         Likewise.
5073         (main): Change type of variable 's'.
5074         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
5075         to 'int'.
5076
5077 2011-01-02  Bruno Haible  <bruno@clisp.org>
5078
5079         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
5080         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
5081         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
5082         bug.
5083         * lib/pwrite.c: Undo 2010-12-31 patch.
5084         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
5085
5086 2011-01-02  Bruno Haible  <bruno@clisp.org>
5087
5088         pread: Fix test whether it works.
5089         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
5090
5091 2011-01-02  Bruno Haible  <bruno@clisp.org>
5092
5093         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
5094         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
5095         ends in "6". Don't require a specific month name. Try also the locale
5096         names found on HP-UX 11 and Solaris 7.
5097
5098 2011-01-02  Bruno Haible  <bruno@clisp.org>
5099
5100         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
5101         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
5102         C linkage.
5103         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
5104
5105 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5106
5107         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
5108         for consistency, since the "cluster" term is not used elsewhere.
5109         * lib/unigbrk.in.h: Update name.
5110         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
5111         * lib/unigbrk/u16-grapheme-next.c: Update name.
5112         * lib/unigbrk/u16-grapheme-prev.c: Update name.
5113         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
5114         * lib/unigbrk/u32-grapheme-next.c: Update name.
5115         * lib/unigbrk/u32-grapheme-prev.c: Update name.
5116         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
5117         * lib/unigbrk/u8-grapheme-next.c: Update name.
5118         * lib/unigbrk/u8-grapheme-prev.c: Update name.
5119         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
5120         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
5121         Suggested by Bruno Haible.
5122
5123 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5124
5125         Remove module 'u8-grapheme-len' as too redundant with
5126         'u8-grapheme-next'.
5127         * modules/unigbrk/u8-grapheme-len: Delete file.
5128         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
5129         * lib/unigbrk.in.h: Remove prototype for deleted function.
5130         * lib/unigbrk/u8-grapheme-len.c: Delete file.
5131         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
5132
5133         Remove module 'u16-grapheme-len' as too redundant with
5134         'u16-grapheme-next'.
5135         * modules/unigbrk/u16-grapheme-len: Delete file.
5136         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
5137         * lib/unigbrk.in.h: Remove prototype for deleted function.
5138         * lib/unigbrk/u16-grapheme-len.c: Delete file.
5139         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
5140
5141         Remove module 'u32-grapheme-len' as too redundant with
5142         'u32-grapheme-next'.
5143         * modules/unigbrk/u32-grapheme-len: Delete file.
5144         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
5145         * lib/unigbrk.in.h: Remove prototype for deleted function.
5146         * lib/unigbrk/u32-grapheme-len.c: Delete file.
5147         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
5148
5149         Suggested by Bruno Haible.
5150
5151 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5152
5153         * unigbrk.in.h: Fix typo: "ben" => "been".
5154         Reported by Bruno Haible.
5155
5156 2011-01-01  Jim Meyering  <meyering@redhat.com>
5157
5158         maint: update almost all copyright ranges to include 2011
5159         Run the new "make update-copyright" rule.
5160
5161 2011-01-01  Jim Meyering  <meyering@redhat.com>
5162
5163         maint: update-copyright: exempt doc/INSTALL*
5164         * Makefile (update-copyright): Also exclude doc/INSTALL*,
5165         since they are generated.  Suggested by Bruno Haible.
5166
5167 2011-01-01  Jim Meyering  <meyering@redhat.com>
5168
5169         maint: refine the update-copyright rule
5170         * Makefile (update-copyright): Also exclude any file that includes
5171         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
5172         code that merely generates the comment.
5173
5174 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5175
5176         New module 'u8-grapheme-len'.
5177         * modules/unigbrk/u8-grapheme-len: New file.
5178         * modules/unigbrk/u8-grapheme-len-tests: New file.
5179         * lib/unigbrk.in.h: Add prototype for new function.
5180         * lib/unigbrk/u8-grapheme-len.c: New file.
5181         * tests/unigbrk/test-u8-grapheme-len.c: New file.
5182
5183         New module 'u16-grapheme-len'.
5184         * modules/unigbrk/u16-grapheme-len: New file.
5185         * modules/unigbrk/u16-grapheme-len-tests: New file.
5186         * lib/unigbrk.in.h: Add prototype for new function.
5187         * lib/unigbrk/u16-grapheme-len.c: New file.
5188         * tests/unigbrk/test-u16-grapheme-len.c: New file.
5189
5190         New module 'u32-grapheme-len'.
5191         * modules/unigbrk/u32-grapheme-len: New file.
5192         * modules/unigbrk/u32-grapheme-len-tests: New file.
5193         * lib/unigbrk.in.h: Add prototype for new function.
5194         * lib/unigbrk/u32-grapheme-len.c: New file.
5195         * tests/unigbrk/test-u32-grapheme-len.c: New file.
5196
5197         New module 'u8-grapheme-next'.
5198         * modules/unigbrk/u8-grapheme-next: New file.
5199         * modules/unigbrk/u8-grapheme-next-tests: New file.
5200         * lib/unigbrk.in.h: Add prototype for new function.
5201         * lib/unigbrk/u8-grapheme-next.c: New file.
5202         * tests/unigbrk/test-u8-grapheme-next.c: New file.
5203
5204         New module 'u16-grapheme-next'.
5205         * modules/unigbrk/u16-grapheme-next: New file.
5206         * modules/unigbrk/u16-grapheme-next-tests: New file.
5207         * lib/unigbrk.in.h: Add prototype for new function.
5208         * lib/unigbrk/u16-grapheme-next.c: New file.
5209         * tests/unigbrk/test-u16-grapheme-next.c: New file.
5210
5211         New module 'u32-grapheme-next'.
5212         * modules/unigbrk/u32-grapheme-next: New file.
5213         * modules/unigbrk/u32-grapheme-next-tests: New file.
5214         * lib/unigbrk.in.h: Add prototype for new function.
5215         * lib/unigbrk/u32-grapheme-next.c: New file.
5216         * tests/unigbrk/test-u32-grapheme-next.c: New file.
5217
5218         New module 'u8-grapheme-prev'.
5219         * modules/unigbrk/u8-grapheme-prev: New file.
5220         * modules/unigbrk/u8-grapheme-prev-tests: New file.
5221         * lib/unigbrk.in.h: Add prototype for new function.
5222         * lib/unigbrk/u8-grapheme-prev.c: New file.
5223         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
5224
5225         New module 'u16-grapheme-prev'.
5226         * modules/unigbrk/u16-grapheme-prev: New file.
5227         * modules/unigbrk/u16-grapheme-prev-tests: New file.
5228         * lib/unigbrk.in.h: Add prototype for new function.
5229         * lib/unigbrk/u16-grapheme-prev.c: New file.
5230         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
5231
5232         New module 'u32-grapheme-prev'.
5233         * modules/unigbrk/u32-grapheme-prev: New file.
5234         * modules/unigbrk/u32-grapheme-prev-tests: New file.
5235         * lib/unigbrk.in.h: Add prototype for new function.
5236         * lib/unigbrk/u32-grapheme-prev.c: New file.
5237         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
5238
5239         New module 'u8-grapheme-breaks'.
5240         * modules/unigbrk/u8-grapheme-breaks: New file.
5241         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
5242         * lib/unigbrk.in.h: Add prototype for new function.
5243         * lib/unigbrk/u8-grapheme-breaks.c: New file.
5244         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
5245
5246         New module 'u16-grapheme-breaks'.
5247         * modules/unigbrk/u16-grapheme-breaks: New file.
5248         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
5249         * lib/unigbrk.in.h: Add prototype for new function.
5250         * lib/unigbrk/u16-grapheme-breaks.c: New file.
5251         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
5252
5253         New module 'u32-grapheme-breaks'.
5254         * modules/unigbrk/u32-grapheme-breaks: New file.
5255         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
5256         * lib/unigbrk.in.h: Add prototype for new function.
5257         * lib/unigbrk/u32-grapheme-breaks.c: New file.
5258         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
5259
5260         New module 'ulc-grapheme-breaks'.
5261         * modules/unigbrk/ulc-grapheme-breaks: New file.
5262         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
5263         * m4/locale-ar.m4: New file.
5264         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
5265         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
5266         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
5267
5268 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5269
5270         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
5271         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
5272         modified how this file was generated before I initially submitted
5273         the module, but failed to regenerate it.  This meant that several
5274         of the level2 entries were wrong.
5275         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
5276         Remove the division-by-2 that is folded into the table now that
5277         gbrkprop.h has been regenerated properly.  Now -1 entries are
5278         handled correctly.
5279
5280         New module 'unigbrk/uc-gbrk-prop-tests'.
5281         * modules/unigbrk/uc-gbrk-prop-tests: New file.
5282         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
5283         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
5284         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
5285
5286 2011-01-01  Bruno Haible  <bruno@clisp.org>
5287
5288         Avoid use of hexadecimal escapes.
5289         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
5290         instead of hexadecimal escapes.
5291
5292 2011-01-01  Jim Meyering  <meyering@redhat.com>
5293
5294         maint: new rule to update copyright year ranges
5295         * Makefile (update-copyright): New rule.
5296
5297         maint: indent with TABs in Makefile
5298         * Makefile: Expand leading sequences of spaces to TABs
5299
5300         version-etc: update the copyright year it reports
5301         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
5302
5303 2010-12-31  Bruno Haible  <bruno@clisp.org>
5304
5305         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
5306         * lib/isfinite.c (zerof, zerod, zerol): New variables.
5307         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
5308         zero.
5309
5310 2010-12-31  Bruno Haible  <bruno@clisp.org>
5311
5312         pwrite: Work around HP-UX 11.11 bug.
5313         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
5314         works and set REPLACE_PWRITE if not.
5315         * lib/pwrite.c (pwrite): Add an implementation that uses the system
5316         function.
5317         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
5318
5319 2010-12-31  Bruno Haible  <bruno@clisp.org>
5320
5321         pread: Work around HP-UX 11 bugs.
5322         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
5323         and set REPLACE_PREAD if not.
5324         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
5325
5326 2010-12-31  Eric Blake  <eblake@redhat.com>
5327
5328         nl_langinfo: fix YESEXPR on Irix 6.5
5329         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
5330         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
5331         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
5332         it.
5333
5334 2010-12-31  Bruno Haible  <bruno@clisp.org>
5335
5336         iconv: Document HP-UX 11 bug.
5337         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
5338
5339 2010-12-31  Bruno Haible  <bruno@clisp.org>
5340
5341         ldexpl: Fix link error on HP-UX 11.
5342         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
5343         LDEXPL_LIBM, using $ISNANL_LIBM.
5344
5345 2010-12-31  Eric Blake  <eblake@redhat.com>
5346
5347         ftello: avoid compilation failure with SunStudio c89
5348         * lib/ftello.c (ftello): Use lseek, not llseek.
5349
5350         tests: avoid failing coreutils tests on cygwin
5351         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
5352         (create_exe_shims_): Return 0 when skipping.
5353
5354 2010-12-31  Bruno Haible  <bruno@clisp.org>
5355
5356         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
5357         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
5358
5359 2010-12-31  Bruno Haible  <bruno@clisp.org>
5360
5361         waitpid: Fix link error in C++ mode.
5362         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
5363
5364 2010-12-31  Bruno Haible  <bruno@clisp.org>
5365
5366         isnan: Use GCC built-ins when possible.
5367         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
5368         __builtin_isnan.
5369         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
5370         (isnan): Define using GCC built-ins for GCC >= 4.0.
5371
5372 2010-12-31  Bruno Haible  <bruno@clisp.org>
5373
5374         isnand: Fix mistake.
5375         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
5376         __builtin_isnand.
5377
5378 2010-12-31  Bruno Haible  <bruno@clisp.org>
5379
5380         open: Avoid C++ error on HP-UX 11.
5381         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
5382
5383 2010-12-31  Bruno Haible  <bruno@clisp.org>
5384
5385         time_r: Add missing declarations on HP-UX 11.
5386         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
5387         instead of HAVE_LOCALTIME_R.
5388         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
5389         HAVE_LOCALTIME_R always.
5390         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
5391         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
5392         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
5393         HAVE_LOCALTIME_R.
5394         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
5395         * doc/posix-functions/localtime_r.texi: Likewise.
5396
5397 2010-12-29  Eric Blake  <eblake@redhat.com>
5398
5399         mountlist: tweak previous commit
5400         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
5401         Reported by Paul Eggert.
5402
5403         mountlist: fix local drive detection on cygwin
5404         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
5405         that works for cygwin.
5406
5407 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
5408
5409         ftoastr, snprintf: ftoastr + snprintf module
5410         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
5411         since the snprintf module now should be good enough here.
5412         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
5413         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
5414         and gl_MODULE_INDICATOR([snprintf]), but the former enables
5415         GNULIB_SNPRINTF only for the test directory, and the latter
5416         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
5417         seems to suffice by itself.
5418
5419 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
5420
5421         alloca: one step towards thread-safety
5422         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
5423         need for a static variable.  All callers changed.  This does not
5424         make the alloca replacement thread-safe, but it's one step.
5425
5426         tests: minor indenting change
5427         * tests/init.sh: Sync from coreutils housekeeping patch
5428         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
5429         to keep lines within 80 columns.
5430
5431 2010-12-28  Jim Meyering  <meyering@redhat.com>
5432
5433         regex: don't infloop on persistent failing calloc
5434         * lib/regexec.c (build_trtable): Return failure indication upon
5435         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
5436         In glibc, this was fixed for version 2.13:
5437         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
5438
5439 2010-12-28  Bruno Haible  <bruno@clisp.org>
5440             Paul Eggert <eggert@cs.ucla.edu>
5441
5442         linkat: Make implementation robust against system behaviour variations.
5443         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
5444         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
5445         way, and to -2 if it needs a generic runtime test.
5446         * lib/linkat.c (solaris_optimized_link_immediate,
5447         solaris_optimized_link_follow): New functions.
5448         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
5449         (check_same_link): Use it.
5450
5451 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
5452
5453         New module 'unigbrk/base'.
5454         * modules/unigbrk/base: New file.
5455         * lib/unigbrk.in.h: New file.
5456
5457         New module 'unigbrk/uc-gbrk-prop'.
5458         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
5459         * modules/unigbrk/uc-gbrk-prop: New file.
5460         * lib/unigbrk/gbrkprop.h: New file.
5461         * lib/unigbrk/uc-gbrk-prop.c: New file.
5462
5463         New module 'unigbrk/uc-is-grapheme-break'.
5464         * modules/unigbrk/uc-is-grapheme-break: New file.
5465         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
5466         * lib/unigbrk/uc-is-grapheme-break.c: New file.
5467         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
5468         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
5469         * tests/unigbrk/GraphemeBreakTest.txt: New file.
5470
5471         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
5472
5473 2010-12-27  Bruno Haible  <bruno@clisp.org>
5474
5475         linkat test: Avoid failure on Solaris 11 2010-11.
5476         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
5477
5478 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5479
5480         utimens: work around glibc rounding bug on more platforms
5481         * lib/utimens.c (fdutimens): Work around rounding bug even if
5482         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
5483         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
5484
5485 2010-12-27  Bruno Haible  <bruno@clisp.org>
5486
5487         select tests: Improve comments.
5488         * tests/test-select.c (do_select): Add comments.
5489
5490 2010-12-27  Bruno Haible  <bruno@clisp.org>
5491
5492         select tests: Safer way of handling timeout.
5493         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
5494         at every invocation.
5495
5496 2010-12-27  Bruno Haible  <bruno@clisp.org>
5497
5498         select tests: Use 'bool' where appropriate.
5499         * tests/test-select.c (connect_to_socket): Change argument type to
5500         'bool'.
5501
5502 2010-12-27  Bruno Haible  <bruno@clisp.org>
5503
5504         select tests: Use existing modules.
5505         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
5506         (configure.ac): Don't test for unistd.h.
5507         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
5508         declared in <unistd.h>.
5509
5510 2010-12-27  Bruno Haible  <bruno@clisp.org>
5511
5512         mbrtowc: Work around a Solaris 7 bug.
5513         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
5514         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
5515         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
5516         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
5517         MBRTOWC_NULL_ARG1_BUG.
5518         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
5519         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
5520         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
5521         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
5522
5523 2010-12-27  Jim Meyering  <meyering@redhat.com>
5524
5525         read-file.c: tweak syntax
5526         * lib/read-file.c (fread_file): Remove space after "*" in function
5527         definitions.
5528
5529 2010-12-27  Bruno Haible  <bruno@clisp.org>
5530
5531         times test: Avoid gcc warnings on OSF/1.
5532         * tests/test-times.c (main): Cast printf arguments from clock_t to
5533         'long int'.
5534
5535 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
5536
5537         utimens: work around glibc rounding bug on older Linux kernels
5538         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
5539         on Linux with a glibc whose utimes might not work, then work
5540         around a longstanding glibc bug involving rounding rather than
5541         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
5542         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5543
5544 2010-12-26  Bruno Haible  <bruno@clisp.org>
5545
5546         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
5547         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
5548         _GL_CXXALIAS_SYS.
5549         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5550
5551 2010-12-26  Bruno Haible  <bruno@clisp.org>
5552
5553         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
5554         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
5555         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
5556         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
5557         looking for the declaration.
5558         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5559         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
5560         problem.
5561         * doc/posix-functions/inet_pton.texi: Likewise.
5562
5563 2010-12-26  Bruno Haible  <bruno@clisp.org>
5564
5565         arpa_inet: Use the common idioms with C++ support.
5566         * lib/arpa_inet.in.h: Include c++defs.h.
5567         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
5568         support.
5569         * modules/arpa_inet (Depends-on): Add c++defs.
5570         (Makefile.am): Substitute the contents of c++defs.h.
5571         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
5572         * modules/arpa_inet-c++-tests: New file.
5573         * tests/test-arpa_inet-c++.cc: New file.
5574
5575 2010-12-25  Bruno Haible  <bruno@clisp.org>
5576
5577         Fix more C++ link errors on Solaris 8.
5578         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
5579         $(LIB_EACCESS).
5580         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
5581         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
5582         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
5583         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
5584         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
5585
5586 2010-12-25  Bruno Haible  <bruno@clisp.org>
5587
5588         printf-posix: Fix link error when a non-GCC compiler is used.
5589         * lib/stdio.in.h (printf): When not using GCC, override printf
5590         correctly.
5591         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5592
5593 2010-12-25  Bruno Haible  <bruno@clisp.org>
5594
5595         strerror_r-posix: Update doc.
5596         * doc/posix-functions/strerror_r.texi: Update doc about the return
5597         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
5598
5599 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
5600
5601         utimens: simplify the logic of the previous change
5602         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
5603         This should not affect whether the test succeeds or fails.
5604
5605         utimens: configure better on hosts with NFS clock skew
5606         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
5607         uses the clock of the local host.  It might use the clock of the
5608         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
5609         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
5610
5611 2010-12-25  Bruno Haible  <bruno@clisp.org>
5612
5613         ptsname test: Avoid failure on Solaris.
5614         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
5615         open a pseudo-terminal; don't use BSD-style ptys.
5616         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
5617
5618 2010-12-25  Bruno Haible  <bruno@clisp.org>
5619
5620         ptsname: Avoid ERANGE failure on some systems.
5621         * lib/ptsname.c (buffer): Increase size.
5622
5623 2010-12-25  Bruno Haible  <bruno@clisp.org>
5624
5625         rename, renameat: Avoid test failures at NFS mounted locations.
5626         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
5627         so that subsequent mkdir calls succeed.
5628
5629 2010-12-25  Bruno Haible  <bruno@clisp.org>
5630
5631         iswblank: Fix C++ link error on Solaris 8.
5632         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
5633         _GL_FUNCDECL_SYS.
5634
5635 2010-12-25  Bruno Haible  <bruno@clisp.org>
5636
5637         unistd: Fix C++ link error on Solaris 8.
5638         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
5639
5640 2010-12-25  Bruno Haible  <bruno@clisp.org>
5641
5642         readlink doc: Mention an old glibc bug.
5643         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
5644
5645 2010-12-25  Bruno Haible  <bruno@clisp.org>
5646
5647         fcntl-h: Fix for use of C++ on glibc systems.
5648         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
5649         also on glibc systems in C++ mode.
5650         Reported by Gary V. Vaughan <gary@gnu.org>.
5651
5652 2010-12-25  Bruno Haible  <bruno@clisp.org>
5653
5654         roundl-ieee: Make it work on OSF/1 5.1 with cc.
5655         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
5656
5657 2010-12-25  Bruno Haible  <bruno@clisp.org>
5658
5659         truncl-ieee: Make it work on OSF/1 5.1 with cc.
5660         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
5661         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
5662         test whether truncl works according to ISO C 99 with IEC 60559.
5663         * m4/truncl-ieee.m4: New file.
5664         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
5665         m4/signbit.m4.
5666         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
5667
5668 2010-12-25  Bruno Haible  <bruno@clisp.org>
5669
5670         ceill-ieee: Make it work on OSF/1 5.1 with cc.
5671         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
5672         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
5673         test whether ceill works according to ISO C 99 with IEC 60559.
5674         * m4/ceill-ieee.m4: New file.
5675         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
5676         m4/signbit.m4.
5677         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
5678
5679 2010-12-25  Bruno Haible  <bruno@clisp.org>
5680
5681         Ensure all prerequisites of <wchar.h> are included.
5682         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
5683         before <wchar.h>.
5684         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
5685         gl_MBRLEN_NUL_RETVAL): Likewise.
5686         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
5687         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
5688         AC_FUNC_MBRTOWC): Likewise.
5689         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5690         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
5691         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5692         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5693         Likewise.
5694         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5695         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
5696         (gl_WCHAR_H): Improve comments.
5697         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5698
5699 2010-12-25  Bruno Haible  <bruno@clisp.org>
5700
5701         strtok_r: Fix C syntax error in autoconf macro.
5702         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
5703         characters in test program.
5704
5705 2010-12-24  Bruno Haible  <bruno@clisp.org>
5706
5707         ceil, trunc, round: Fix gcc warnings.
5708         * lib/ceil.c (MIN): Undefine before redefining.
5709         * lib/trunc.c (MIN): Likewise.
5710         * lib/round.c (MIN): Likewise.
5711         Include <math.h> first.
5712
5713 2010-12-24  Bruno Haible  <bruno@clisp.org>
5714
5715         select tests: Avoid failures on OSF/1 5.1.
5716         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
5717         failure of closing the last socket; it may fail with ECONNRESET.
5718
5719 2010-12-24  Eric Blake  <eblake@redhat.com>
5720
5721         stdint: avoid HP-UX 10.20 preprocessor bug
5722         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
5723         than #if.
5724         * tests/test-floor2.c (main): Likewise.
5725         Reported by Peter O'Gorman.
5726
5727         pipe: make obsoletion transition easier
5728         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
5729         * modules/pipe (Files): Include revived file.
5730         (Include): Drop reference, to mirror getdate's behavior.
5731
5732 2010-12-24  Bruno Haible  <bruno@clisp.org>
5733
5734         sys_socket: Hide mismatch of declarations on NonStop Kernel.
5735         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
5736         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
5737         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5738
5739 2010-12-24  Bruno Haible  <bruno@clisp.org>
5740
5741         gethostname: Ensure declaration on NonStop Kernel.
5742         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
5743         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5744
5745 2010-12-24  Bruno Haible  <bruno@clisp.org>
5746
5747         sys_select: Ensure all necessary types on NonStop Kernel.
5748         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
5749         include <sys/time.h>.
5750         * doc/posix-headers/sys_select.texi: Mention that it's missing on
5751         NonStop Kernel.
5752         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5753
5754 2010-12-24  Bruno Haible  <bruno@clisp.org>
5755
5756         sys_select: Remove unneeded include.
5757         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
5758         have <sys/select.h>.
5759
5760 2010-12-24  Bruno Haible  <bruno@clisp.org>
5761
5762         gethostname: Provide a fallback for HOST_NAME_MAX.
5763         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
5764         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5765         instead.
5766         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5767
5768 2010-12-24  Bruno Haible  <bruno@clisp.org>
5769
5770         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5771         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5772         (SA_RESTART): Likewise.
5773         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5774
5775 2010-12-24  Bruno Haible  <bruno@clisp.org>
5776
5777         signal: Define NSIG.
5778         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5779         * tests/test-signal.c (nsig): New variable.
5780         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5781
5782 2010-12-24  Bruno Haible  <bruno@clisp.org>
5783
5784         rename, renameat: Avoid test failures on OSF/1 5.1.
5785         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5786         alternative error codes.
5787         * tests/test-renameat.c (main): Likewise.
5788
5789 2010-12-24  Bruno Haible  <bruno@clisp.org>
5790
5791         *printf: Detect large precisions bug on Solaris 10/SPARC.
5792         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5793         by Paul Eggert.
5794         * tests/test-snprintf-posix.h (test_function): Add this test code here
5795         too.
5796         * tests/test-sprintf-posix.h (test_function): Likewise.
5797         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5798         * tests/test-vasprintf-posix.c (test_function): Likewise.
5799         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5800         around by gnulib.
5801         * doc/posix-functions/printf.texi: Likewise.
5802         * doc/posix-functions/snprintf.texi: Likewise.
5803         * doc/posix-functions/sprintf.texi: Likewise.
5804         * doc/posix-functions/vfprintf.texi: Likewise.
5805         * doc/posix-functions/vprintf.texi: Likewise.
5806         * doc/posix-functions/vsnprintf.texi: Likewise.
5807         * doc/posix-functions/vsprintf.texi: Likewise.
5808         * doc/posix-functions/dprintf.texi: Undo last commit.
5809         * doc/posix-functions/vdprintf.texi: Likewise.
5810
5811 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5812
5813         tests: port test-fdutimensat.c to Solaris 8
5814         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5815         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5816         On Solaris 8, it fails with errno == ENOSYS, because there is no
5817         futimens (so it can't use the fd), and there is no lutimens (so it
5818         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5819
5820         vsnprintf: make more consistent with snprintf; doc fixes
5821
5822         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5823         the byte count return problem was promoted from the snprintf-posix
5824         to the snprintf module.
5825         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5826         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5827         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5828         * tests/test-snprintf.c (main): Check the byte count returned.
5829         * tests/test-vsnprintf.c (main): Likewise.
5830
5831 2010-12-23  Eric Blake  <eblake@redhat.com>
5832
5833         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5834         * modules/sigpipe (License): Relax license.
5835
5836 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5837
5838         doc: document Solaris printf bug with large float precisions
5839         * doc/posix-functions/dprintf.texi (dprintf):
5840         * doc/posix-functions/fprintf.texi (fprintf):
5841         * doc/posix-functions/printf.texi (printf):
5842         * doc/posix-functions/snprintf.texi (snprintf):
5843         * doc/posix-functions/sprintf.texi (sprintf):
5844         * doc/posix-functions/vdprintf.texi (vdprintf):
5845         * doc/posix-functions/vfprintf.texi (vfprintf):
5846         * doc/posix-functions/vprintf.texi (vprintf):
5847         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5848         * doc/posix-functions/vsprintf.texi (vsprintf):
5849         Mention that these functions mishandle large floating point
5850         precisions on Solaris 10.  The same bug is also present in Solaris
5851         8, and I assume earlier.  This causes "cd gnulib-tests; make
5852         check" to fail on Solaris 8 (and I assume, later) when building
5853         the latest coreutils, in test-vasprintf-posix's call to
5854         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5855         the wide flavors (e.g., wprintf) so this patch just updates the
5856         documentation for the narrow ones.
5857
5858         test-posixtm.c: add two tests
5859         * tests/test-posixtm.c: Add two tests, to highlight the
5860         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5861         around this bug; this is merely to document it.
5862
5863 2010-12-22  Bruno Haible  <bruno@clisp.org>
5864
5865         getlogin_r: Work around portability problem on OSF/1.
5866         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5867         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5868         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5869         test for a truncated result.
5870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5871         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5872         * modules/getlogin_r (Depends-on): Add memchr.
5873         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5874
5875 2010-12-22  Bruno Haible  <bruno@clisp.org>
5876
5877         ptsname: Avoid test failure on OSF/1 5.1.
5878         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5879         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5880         (same_slave): New function.
5881         (main): Use it to compare ptsname's result with the expected file name.
5882
5883 2010-12-22  Bruno Haible  <bruno@clisp.org>
5884
5885         Port extended stdio modules to HP NonStop Kernel.
5886         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5887         macros.
5888         * lib/fbufmode.c: Update comments.
5889         * lib/fflush.c: Likewise.
5890         * lib/fpurge.c: Likewise.
5891         * lib/freadable.c: Likewise.
5892         * lib/freadahead.c: Likewise.
5893         * lib/freading.c: Likewise.
5894         * lib/freadptr.c: Likewise.
5895         * lib/freadseek.c: Likewise.
5896         * lib/fseeko.c: Likewise.
5897         * lib/fseterr.c: Likewise.
5898         * lib/fwritable.c: Likewise.
5899         * lib/fwriting.c: Likewise.
5900         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5901
5902 2010-12-22  Bruno Haible  <bruno@clisp.org>
5903
5904         ttyname_r: Work around bug on OSF/1 5.1.
5905         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5906         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5907         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5908         present.
5909         * lib/ttyname_r.c (ttyname_r): Update comments.
5910
5911 2010-12-22  Bruno Haible  <bruno@clisp.org>
5912
5913         round: Implement result sign according to IEEE 754.
5914         * lib/round.c (MIN, MINUS_ZERO): New macros.
5915         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5916         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5917         * tests/test-round-ieee.c (main): Likewise.
5918         * tests/test-roundl-ieee.c (main): Likewise.
5919
5920         trunc: Implement result sign according to IEEE 754.
5921         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5922         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5923         * tests/test-trunc2.c: Include minus-zero.h.
5924         (MINUS_ZERO): New macro.
5925         (trunc_reference): Keep in sync with lib/trunc.c.
5926         * tests/test-truncf2.c: Include minus-zero.h.
5927         (MINUS_ZERO): New macro.
5928         (truncf_reference): Keep in sync with lib/trunc.c.
5929         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5930         * tests/test-trunc-ieee.c (main): Likewise.
5931         * tests/test-truncl-ieee.c (main): Likewise.
5932
5933         ceil: Implement result sign according to IEEE 754.
5934         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5935         (FUNC): Return -0.0 for -1 < x < 0.
5936         * tests/test-ceil2.c: Include minus-zero.h.
5937         (MINUS_ZERO): New macro.
5938         (ceil_reference): Keep in sync with lib/ceil.c.
5939         * tests/test-ceilf2.c: Include minus-zero.h.
5940         (MINUS_ZERO): New macro.
5941         (ceilf_reference): Keep in sync with lib/ceil.c.
5942         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5943         * tests/test-ceil-ieee.c (main): Likewise.
5944         * tests/test-ceill-ieee.c (main): Likewise.
5945
5946         floor: Implement result sign according to IEEE 754.
5947         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5948         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5949         * tests/test-floorf2.c (floorf_reference): Likewise.
5950         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5951         * tests/test-floor-ieee.c (main): Likewise.
5952         * tests/test-floorl-ieee.c (main): Likewise.
5953
5954 2010-12-22  Bruno Haible  <bruno@clisp.org>
5955
5956         getaddrinfo: Update doc.
5957         * doc/posix-functions/gai_strerror.texi: Return type is also different
5958         on AIX and HP-UX.
5959
5960 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5961
5962         getaddrinfo, inet_ntop: Update doc for Solaris.
5963         * doc/posix-functions/gai_strerror.texi: Return type is also an
5964         issue on Solaris 9 and earlier.
5965         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5966         on Solaris 10 and earlier.
5967
5968 2010-12-21  Bruno Haible  <bruno@clisp.org>
5969
5970         New module 'roundl-ieee'.
5971         * modules/roundl-ieee: New file.
5972         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5973         test whether roundl works according to ISO C 99 with IEC 60559.
5974         * m4/roundl-ieee.m4: New file.
5975         * modules/roundl-ieee-tests: New file.
5976         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5977         * tests/test-roundl.c (main): Remove signbit tests.
5978         * modules/roundl-tests (Depends-on): Remove signbit.
5979         * doc/posix-functions/roundl.texi: Mention the new module.
5980
5981 2010-12-21  Bruno Haible  <bruno@clisp.org>
5982
5983         New module 'truncl-ieee'.
5984         * modules/truncl-ieee: New file.
5985         * modules/truncl-ieee-tests: New file.
5986         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5987         * tests/test-truncl.c (main): Remove signbit tests.
5988         * modules/truncl-tests (Depends-on): Remove signbit.
5989         * doc/posix-functions/truncl.texi: Mention the new module.
5990
5991 2010-12-21  Bruno Haible  <bruno@clisp.org>
5992
5993         New module 'ceill-ieee'.
5994         * modules/ceill-ieee: New file.
5995         * modules/ceill-ieee-tests: New file.
5996         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5997         * tests/test-ceill.c (main): Remove signbit tests.
5998         * modules/ceill-tests (Depends-on): Remove signbit.
5999         * doc/posix-functions/ceill.texi: Mention the new module.
6000
6001 2010-12-21  Bruno Haible  <bruno@clisp.org>
6002
6003         New module 'floorl-ieee'.
6004         * modules/floorl-ieee: New file.
6005         * modules/floorl-ieee-tests: New file.
6006         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
6007         * tests/test-floorl.c (main): Remove signbit tests.
6008         * modules/floorl-tests (Depends-on): Remove signbit.
6009         * doc/posix-functions/floorl.texi: Mention the new module.
6010
6011 2010-12-21  Bruno Haible  <bruno@clisp.org>
6012
6013         New module 'round-ieee'.
6014         * modules/round-ieee: New file.
6015         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
6016         whether round works according to ISO C 99 with IEC 60559.
6017         * m4/round-ieee.m4: New file.
6018         * modules/round-ieee-tests: New file.
6019         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
6020         * tests/test-round1.c (main): Remove signbit tests.
6021         * modules/round-tests (Depends-on): Remove 'signbit'.
6022         * doc/posix-functions/round.texi: Mention the new module.
6023
6024 2010-12-21  Bruno Haible  <bruno@clisp.org>
6025
6026         New module 'trunc-ieee'.
6027         * modules/trunc-ieee: New file.
6028         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
6029         whether trunc works according to ISO C 99 with IEC 60559.
6030         * m4/trunc-ieee.m4: New file.
6031         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
6032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
6033         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
6034         * modules/trunc-ieee-tests: New file.
6035         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
6036         * tests/test-trunc1.c (main): Remove signbit tests.
6037         * modules/trunc-tests (Depends-on): Remove 'signbit'.
6038         * doc/posix-functions/trunc.texi: Mention the new module.
6039
6040 2010-12-21  Bruno Haible  <bruno@clisp.org>
6041
6042         New module 'ceil-ieee'.
6043         * modules/ceil-ieee: New file.
6044         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
6045         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
6046         ISO C 99 with IEC 60559.
6047         * m4/ceil-ieee.m4: New file.
6048         * modules/ceil (Files): Add lib/ceil.c.
6049         (Depends-on): Add 'float'.
6050         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6051         * lib/math.in.h (ceil): New declaration.
6052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
6053         REPLACE_CEIL.
6054         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
6055         * modules/ceil-ieee-tests: New file.
6056         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
6057         * tests/test-math-c++.cc: Check the signature of 'ceil'.
6058         * doc/posix-functions/ceil.texi: Mention the new module.
6059
6060 2010-12-21  Bruno Haible  <bruno@clisp.org>
6061
6062         New module 'floor-ieee'.
6063         * modules/floor-ieee: New file.
6064         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
6065         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
6066         ISO C 99 with IEC 60559.
6067         * m4/floor-ieee.m4: New file.
6068         * modules/floor (Files): Add lib/floor.c.
6069         (Depends-on): Add 'float'.
6070         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6071         * lib/math.in.h (floor): New declaration.
6072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
6073         REPLACE_FLOOR.
6074         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
6075         * modules/floor-ieee-tests: New file.
6076         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
6077         * tests/test-math-c++.cc: Check the signature of 'floor'.
6078         * doc/posix-functions/floor.texi: Mention the new module.
6079
6080 2010-12-21  Bruno Haible  <bruno@clisp.org>
6081
6082         New module 'roundf-ieee'.
6083         * modules/roundf-ieee: New file.
6084         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
6085         test whether roundf works according to ISO C 99 with IEC 60559.
6086         * m4/roundf-ieee.m4: New file.
6087         * modules/roundf-ieee-tests: New file.
6088         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
6089         * tests/test-roundf1.c (main): Remove signbit tests.
6090         * modules/roundf-tests (Depends-on): Remove 'signbit'.
6091         * doc/posix-functions/roundf.texi: Mention the new module.
6092
6093 2010-12-21  Bruno Haible  <bruno@clisp.org>
6094
6095         New module 'truncf-ieee'.
6096         * modules/truncf-ieee: New file.
6097         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
6098         test whether truncf works according to ISO C 99 with IEC 60559.
6099         * m4/truncf-ieee.m4: New file.
6100         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
6101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
6102         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
6103         * modules/truncf-ieee-tests: New file.
6104         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
6105         * tests/test-truncf1.c (main): Remove signbit tests.
6106         * modules/truncf-tests (Depends-on): Remove 'signbit'.
6107         * doc/posix-functions/truncf.texi: Mention the new module.
6108
6109 2010-12-21  Bruno Haible  <bruno@clisp.org>
6110
6111         New module 'ceilf-ieee'.
6112         * modules/ceilf-ieee: New file.
6113         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
6114         test whether ceilf works according to ISO C 99 with IEC 60559.
6115         * m4/ceilf-ieee.m4: New file.
6116         * modules/ceilf-ieee-tests: New file.
6117         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
6118         * tests/test-ceilf1.c (main): Remove signbit tests.
6119         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
6120         * doc/posix-functions/ceilf.texi: Mention the new module.
6121
6122 2010-12-21  Bruno Haible  <bruno@clisp.org>
6123
6124         New module 'floorf-ieee'.
6125         * modules/floorf-ieee: New file.
6126         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
6127         test whether floorf works according to ISO C 99 with IEC 60559.
6128         * m4/floorf-ieee.m4: New file.
6129         * modules/floorf-ieee-tests: New file.
6130         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
6131         * tests/test-floorf1.c (main): Remove signbit tests.
6132         * modules/floorf-tests (Depends-on): Remove 'signbit'.
6133         * doc/posix-functions/floorf.texi: Mention the new module.
6134
6135 2010-12-21  Bruno Haible  <bruno@clisp.org>
6136
6137         Support for minus zero in autoconf macros.
6138         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
6139         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
6140         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
6141         * tests/minus-zero.h: Update comments.
6142
6143 2010-12-21  Bruno Haible  <bruno@clisp.org>
6144
6145         Tests for module 'ceil'.
6146         * modules/ceil-tests: New file.
6147         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
6148         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
6149
6150 2010-12-21  Bruno Haible  <bruno@clisp.org>
6151
6152         Tests for module 'floor'.
6153         * modules/floor-tests: New file.
6154         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
6155         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
6156
6157 2010-12-21  Bruno Haible  <bruno@clisp.org>
6158
6159         math: Fix indentation.
6160         * lib/math.in.h (floorf): Fix indentation.
6161
6162 2010-12-21  Bruno Haible  <bruno@clisp.org>
6163
6164         Fix cross-compilation guesses on Solaris.
6165         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
6166         not match "solaris2.10".
6167         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6168         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
6169         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
6170
6171 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6172
6173         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
6174         This fixes a problem observed with the latest coreutils snapshot
6175         that caused a test to fail on Solaris 8.  src/csplit.c's call
6176         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
6177         earlier, instead of returning the number of bytes that would have
6178         been generated; this causes csplit to incorrectly report memory
6179         exhaustion.
6180         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
6181         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
6182         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
6183         comments to match.
6184         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
6185         Fix typo in matching older versions of Solaris: "solaris2.10"
6186         is matched by the shell pattern "solaris2.[0-9]*".  This matters
6187         only for guessing while cross-compiling.
6188         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
6189
6190 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6191
6192         ftoastr: fix comment again
6193         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6194         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
6195         Also, simplify example a bit by using flags = 0.
6196
6197 2010-12-20  Bruno Haible  <bruno@clisp.org>
6198
6199         round*, trunc*: Update documentation regarding glibc.
6200         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
6201         * doc/posix-functions/round.texi: Likewise.
6202         * doc/posix-functions/roundl.texi: Likewise.
6203         * doc/posix-functions/truncf.texi: Likewise.
6204         * doc/posix-functions/trunc.texi: Likewise.
6205         * doc/posix-functions/truncl.texi: Likewise.
6206
6207 2010-12-20  Bruno Haible  <bruno@clisp.org>
6208
6209         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
6210         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
6211         * doc/posix-functions/round.texi: Likewise.
6212         * doc/posix-functions/roundl.texi: Likewise.
6213
6214 2010-12-20  Bruno Haible  <bruno@clisp.org>
6215
6216         ttyname_r: Add missing declaration on HP-UX 11.
6217         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
6218         HAVE_TTYNAME_R.
6219         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
6220         declared. Set HAVE_TTYNAME_R always.
6221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6222         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
6223         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
6224         HAVE_TTYNAME_R.
6225         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
6226
6227 2010-12-20  Bruno Haible  <bruno@clisp.org>
6228
6229         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
6230         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
6231         * doc/posix-functions/getlogin_r.texi: Likewise.
6232         * tests/test-getlogin.c: Include <errno.h>.
6233         (main): Avoid test failure on HP-UX 11.11.
6234         * tests/test-getlogin_r.c (main): Likewise.
6235
6236 2010-12-20  Bruno Haible  <bruno@clisp.org>
6237
6238         getlogin_r: Add missing declaration on HP-UX 11.
6239         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
6240         declared also when it exists as a function.
6241         * doc/posix-functions/getlogin_r.texi: Document this workaround.
6242
6243 2010-12-20  Bruno Haible  <bruno@clisp.org>
6244
6245         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
6246         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
6247         through wcrtomb.
6248
6249 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6250
6251         ftoastr: fix comment
6252         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6253         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
6254
6255 2010-12-19  Bruno Haible  <bruno@clisp.org>
6256
6257         isnan: Ensure it is a macro.
6258         * lib/math.in.h (isnan): Define as a macro if not already a macro.
6259         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
6260         Solaris.
6261
6262 2010-12-19  Bruno Haible  <bruno@clisp.org>
6263
6264         ldexpl test: Fix link error on OSF/1 5.1.
6265         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
6266
6267 2010-12-19  Bruno Haible  <bruno@clisp.org>
6268
6269         wctype: Make it work in C++ mode on OSF/1 5.1.
6270         * lib/wctype.in.h (iswblank): Declare but not define here.
6271         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
6272         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
6273         * modules/wctype (Files): Add lib/iswblank.c.
6274
6275 2010-12-19  Bruno Haible  <bruno@clisp.org>
6276
6277         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
6278         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
6279         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
6280
6281 2010-12-19  Bruno Haible  <bruno@clisp.org>
6282
6283         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
6284         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
6285         _POSIX_PII_SOCKET.
6286         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
6287         * doc/posix-functions/recvfrom.texi: Likewise.
6288         * doc/posix-functions/send.texi: Likewise.
6289         * doc/posix-functions/sendto.texi: Likewise.
6290
6291 2010-12-19  Bruno Haible  <bruno@clisp.org>
6292
6293         tcgetsid: Add missing declaration on OSF/1 5.1.
6294         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
6295         HAVE_TCGETSID.
6296         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
6297         Don't set HAVE_TCGETSID.
6298         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
6299         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
6300         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
6301         HAVE_TCGETSID.
6302         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
6303
6304 2010-12-19  Bruno Haible  <bruno@clisp.org>
6305
6306         stdio: Fix problem with popen() declaration on OSF/1 5.1.
6307         * lib/stdio.in.h: During the include_next statement, let recursive
6308         includes of this file include only the system header file.
6309
6310 2010-12-19  Bruno Haible  <bruno@clisp.org>
6311
6312         iconv_open: Fix regression from 2010-12-04.
6313         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
6314         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
6315
6316 2010-12-19  Bruno Haible  <bruno@clisp.org>
6317
6318         stdbool test: Avoid a gcc warning.
6319         * tests/test-stdbool.c (main): Fail if e1 is false.
6320         Reported by Jim Meyering.
6321
6322 2010-12-19  Jim Meyering  <meyering@redhat.com>
6323
6324         setenv: restore to working order
6325         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
6326         mistakenly removed.
6327         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
6328         HAVE_SETENV.
6329         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
6330         HAVE_SETENV.
6331
6332 2010-12-19  Bruno Haible  <bruno@clisp.org>
6333
6334         Document some different function declarations on OSF/1 5.1.
6335         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
6336         * doc/posix-functions/inet_ntop.texi: Likewise.
6337         * doc/posix-functions/gethostname.texi: Likewise.
6338         * lib/unistd.in.h (gethostname): Update comment.
6339
6340 2010-12-19  Bruno Haible  <bruno@clisp.org>
6341
6342         doc: Mention vasprintf-posix module.
6343         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
6344         the 'vasprintf-posix' module.
6345         * doc/glibc-functions/vasprintf.texi: Likewise.
6346
6347 2010-12-19  Bruno Haible  <bruno@clisp.org>
6348
6349         unsetenv: Add missing declaration on OSF/1 5.1.
6350         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
6351         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
6352         Don't set HAVE_UNSETENV. In the test program, set _BSD.
6353         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
6354         not HAVE_UNSETENV.
6355         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
6356         HAVE_UNSETENV.
6357         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
6358
6359 2010-12-19  Bruno Haible  <bruno@clisp.org>
6360
6361         setenv: Add missing declaration on OSF/1 5.1.
6362         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
6363         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
6364         declared. Don't set HAVE_SETENV.
6365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
6366         not HAVE_SETENV.
6367         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
6368         HAVE_SETENV.
6369         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
6370
6371 2010-12-19  Bruno Haible  <bruno@clisp.org>
6372
6373         nl_langinfo tests: Avoid gcc warning.
6374         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
6375
6376 2010-12-19  Bruno Haible  <bruno@clisp.org>
6377
6378         mknod: Avoid error in C++ mode on OSF/1 with GCC.
6379         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
6380         _GL_CXXALIAS_SYS.
6381
6382 2010-12-19  Bruno Haible  <bruno@clisp.org>
6383
6384         stdbool: Relax test.
6385         * tests/test-stdbool.c (e): Don't require that casts from a variable's
6386         address to 'bool' work in static initializer, for compilers other than
6387         GCC.
6388
6389 2010-12-19  Bruno Haible  <bruno@clisp.org>
6390
6391         ftello: Add missing declaration on OSF/1 5.1.
6392         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
6393         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
6394         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
6395         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
6396         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
6397
6398 2010-12-19  Bruno Haible  <bruno@clisp.org>
6399
6400         fseeko: Add missing declaration on OSF/1 5.1.
6401         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
6402         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
6403         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
6404         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
6405         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
6406
6407 2010-12-19  Bruno Haible  <bruno@clisp.org>
6408
6409         fchdir: Add missing declaration on OSF/1 5.1.
6410         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
6411         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
6412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
6413         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
6414         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
6415
6416 2010-12-19  Bruno Haible  <bruno@clisp.org>
6417
6418         relocatable-prog-wrapper: Separate from relocatable-prog.
6419         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
6420         uninstall-relocwrapper rule here.
6421         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
6422         Reported by Ian Beckwith <ianb@erislabs.net>.
6423
6424 2010-12-19  Bruno Haible  <bruno@clisp.org>
6425
6426         unistr/u8-mbsnlen: Add missing dependency.
6427         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
6428         Reported by Ian Beckwith <ianb@erislabs.net>.
6429
6430 2010-12-19  Bruno Haible  <bruno@clisp.org>
6431
6432         iconv: Make it possible again to use this module without 'iconv-h'.
6433         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
6434         if it is not defined.
6435         Reported by Ian Beckwith <ianb@erislabs.net>.
6436
6437 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6438
6439         acl: port to Solaris 8 when copying from tmpfs to ufs
6440         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
6441         error number.  Problem observed on Solaris 8 with latest
6442         coreutils, with "mv A B", where A is on a tmpfs file system and B
6443         is on a ufs file system.  This caused coreutils' mv/part-symlink
6444         test to fail.
6445
6446         tests: set fail=0 at start
6447         * tests/init.sh (setup_): Move fail=0 initialization here ...
6448         (mktempd_): ... from here, so that tests can rely on fail being
6449         set to 0 initially.  This fixes a problem in coreutils; see:
6450         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
6451
6452 2010-12-18  Bruno Haible  <bruno@clisp.org>
6453
6454         memmem-simple: Stylistic changes.
6455         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
6456         Fix preprocessor directive indentation.
6457
6458 2010-12-15  Pádraig Brady <P@draigBrady.com>
6459
6460         memmem, memmem-simple: reorganize and expand empty needle check
6461         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
6462         functional checks to memmem-simple so that one has a fully functional
6463         memmem by using just this module.
6464         Restrict the performance only check to the memmem module.
6465         Also expand the empty needle check to ensure the correct
6466         pointer is returned, not just a non NULL pointer.
6467         * doc/glibc-functions/memmem.texi: Rearrange the portability
6468         documentation to correlate with the rearranged checks.
6469         Clarify exactly how the memmem and memmem-simple modules
6470         relate to each other.
6471
6472 2010-12-15  Pádraig Brady <P@draigBrady.com>
6473             Bruno Haible  <bruno@clisp.org>
6474
6475         Improve cross-compilation guesses for uClibc.
6476         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
6477         that uClibc does not have the glibc bug.
6478         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
6479         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
6480
6481 2010-12-14  Eric Blake  <eblake@redhat.com>
6482
6483         configmake: provide fallbacks for oldest supported autotools
6484         * m4/configmake.m4: New file.
6485         * modules/configmake (Files): Ship it.
6486         (configure.ac): Use it to guarantee fallbacks.
6487
6488 2010-12-13  Pádraig Brady <P@draigBrady.com>
6489
6490         read-file: Improve handling of large files
6491         * lib/read-file.c (fread_file): Minimize realloc()s
6492         for regular files, and better manage sizes around SIZE_MAX.
6493
6494 2010-12-13  Eric Blake  <eblake@redhat.com>
6495
6496         cloexec, fcntl: relax license
6497         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
6498         consent from all contributors.
6499         * modules/fcntl (License): Likewise.
6500
6501 2010-12-10  Bruno Haible  <bruno@clisp.org>
6502
6503         Tests for module 'pipe-posix'.
6504         * modules/pipe-posix-tests: New file.
6505         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
6506
6507 2010-12-10  Bruno Haible  <bruno@clisp.org>
6508
6509         pipe-posix: Make it work in C++ mode.
6510         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
6511         (pipe): Use common idiom, not a macro definition.
6512         * lib/pipe.c: New file.
6513         * m4/pipe.m4: New file.
6514         * modules/pipe-posix (Description): Enhance.
6515         (Files): Add lib/pipe.c, m4/pipe.m4.
6516         (configure.ac): Invoke gl_FUNC_PIPE.
6517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
6518         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
6519         * tests/test-unistd-c++.cc: Check the signature of pipe.
6520
6521 2010-12-10  Bruno Haible  <bruno@clisp.org>
6522
6523         Rename module 'pipe' to 'spawn-pipe'.
6524         * modules/spawn-pipe: New file, renamed from modules/pipe.
6525         (Files, configure.ac, Makefile.am): Update.
6526         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
6527         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
6528         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
6529         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
6530         "spawn-pipe.h" instead of "pipe.h".
6531         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
6532         to gl_SPAWN_PIPE.
6533         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
6534         (Files, Makefile.am): Update.
6535         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
6536         Update.
6537         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
6538         Include "spawn-pipe.h" instead of "pipe.h".
6539         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
6540         * lib/javacomp.c: Likewise.
6541         * lib/javaversion.c: Likewise.
6542         * lib/pipe-filter-gi.c: Likewise.
6543         * lib/pipe-filter-ii.c: Likewise.
6544         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
6545         * modules/javacomp (Depends-on): Likewise.
6546         * modules/javaversion (Depends-on): Likewise.
6547         * modules/pipe-filter-gi (Depends-on): Likewise.
6548         * modules/pipe-filter-ii (Depends-on): Likewise.
6549         * MODULES.html.sh (Executing programs): Update.
6550         * NEWS: Mention the change.
6551
6552 2010-12-10  Eric Blake  <eblake@redhat.com>
6553
6554         pipe-posix: new module
6555         * modules/pipe-posix: New file.
6556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
6557         (gl_UNISTD_H): Check for declaration.
6558         * modules/unistd (Makefile.am): Substitute it.
6559         * lib/unistd.in.h (pipe): Provide it for mingw.
6560         * doc/posix-functions/pipe.texi (pipe): Update documentation.
6561         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
6562
6563 2010-12-07  Bruno Haible  <bruno@clisp.org>
6564
6565         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
6566         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
6567         u8_strcmp_gnu.
6568         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
6569
6570 2010-12-06  Bruno Haible  <bruno@clisp.org>
6571
6572         Update internal documentation.
6573         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
6574
6575 2010-12-04  Bruno Haible  <bruno@clisp.org>
6576
6577         Put more information about failed tests into the test return codes.
6578         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
6579         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
6580         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6581         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6582         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6583         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6584         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6585         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6586         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
6587         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6588         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
6589         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6590         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6591         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6592         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
6593         returns a bit mask.
6594         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
6595         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
6596         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
6597         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
6598         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6599         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6600         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6601         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
6602         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6603         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
6604         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
6605         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6606         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6607         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6608         * m4/link.m4 (gl_FUNC_LINK): Likewise.
6609         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
6610         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
6611         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
6612         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6613         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
6614         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
6615         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
6616         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
6617         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6618         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6619         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6620         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
6621         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6622         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6623         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
6624         gl_PRINTF_PRECISION): Likewise.
6625         * m4/regex.m4 (gl_REGEX): Likewise.
6626         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6627         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6628         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
6629         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
6630         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6631         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6632         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
6633         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
6634         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6635         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6636         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
6637         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
6638         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
6639         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6640         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6641         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
6642         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
6643         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6644         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6645         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
6646         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
6647         enumerated value.
6648         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
6649
6650 2010-12-04  Bruno Haible  <bruno@clisp.org>
6651
6652         Update for Solaris 11 2010-11.
6653         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
6654         Express, released in November 2010.
6655
6656 2010-12-04  Bruno Haible  <bruno@clisp.org>
6657
6658         nproc: Relax license.
6659         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
6660         and Paul Eggert.
6661         Requested by Ludovic Courtès <ludo@gnu.org>.
6662
6663 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
6664
6665         utimecmp: fine-grained src to nearby coarse-grained dest
6666
6667         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
6668         and the source is on a file system with higher-resolution time
6669         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
6670         not work, and the time stamps are close together, the algorithm to
6671         determine the exact resolution from the read-back mtime was buggy:
6672         it had a "!=" where it should have had an "==".  This bug has been
6673         in the code ever since it was introduced to gnulib.
6674         Problem reported by Dan Jacobson in
6675         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
6676
6677 2010-11-30  Bruno Haible  <bruno@clisp.org>
6678
6679         strerror_r-posix: Fix autoconf test.
6680         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
6681
6682 2010-11-28  Bruno Haible  <bruno@clisp.org>
6683             Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         Tests for module 'getdomainname'.
6686         * modules/getdomainname-tests: New file.
6687         * tests/test-getdomainname.c: New file, based on
6688         tests/test-gethostname.c.
6689
6690 2010-11-28  Bruno Haible  <bruno@clisp.org>
6691             Paul Eggert  <eggert@cs.ucla.edu>
6692
6693         getdomainname: Use the system function when possible.
6694         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
6695         (getdomainname): Replace if needed. Provide the declaration if it is
6696         missing. Don't use _GL_CXXALIAS_SYS_CAST.
6697         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
6698         (getdomainname): When the system has getdomainname, call the system
6699         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
6700         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
6701         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
6702         found in libnsl. Look for the declaration also in <netdb.h>. Replace
6703         the function if its second argument is of type 'int' or if it is found
6704         in libnsl.
6705         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
6706         <sys/systeminfo.h> and sysinfo().
6707         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
6708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6709         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
6710         HAVE_GETDOMAINNAME.
6711         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
6712         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
6713         * doc/glibc-functions/getdomainname.texi: Document the problems with
6714         the getdomainname declaration.
6715
6716 2010-11-28  Bruno Haible  <bruno@clisp.org>
6717
6718         sys_socket: Ensure ss_family field on AIX.
6719         * lib/sys_socket.in.h (ss_family): New macro definition.
6720         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
6721         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
6722         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
6723         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6724         * modules/sys_socket (Makefile.am): Substitute
6725         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
6726         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
6727
6728 2010-11-27  Bruno Haible  <bruno@clisp.org>
6729
6730         readline: Improve configure output.
6731         * m4/readline.m4 (gl_FUNC_READLINE): Make the
6732         "checking for readline..." result understandable.
6733
6734 2010-11-27  Bruno Haible  <bruno@clisp.org>
6735
6736         *printf-posix: Detect a bug on Solaris 10/x86.
6737         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
6738         for floating-point output.
6739         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
6740         directive.
6741         * tests/test-snprintf-posix.h (test_function): Likewise.
6742         * tests/test-sprintf-posix.h (test_function): Likewise.
6743         * tests/test-vasprintf-posix.c (test_function): Likewise.
6744         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
6745         * doc/posix-functions/printf.texi: Likewise.
6746         * doc/posix-functions/snprintf.texi: Likewise.
6747         * doc/posix-functions/sprintf.texi: Likewise.
6748         * doc/posix-functions/vfprintf.texi: Likewise.
6749         * doc/posix-functions/vprintf.texi: Likewise.
6750         * doc/posix-functions/vsnprintf.texi: Likewise.
6751         * doc/posix-functions/vsprintf.texi: Likewise.
6752         * doc/glibc-functions/obstack_printf.texi: Likewise.
6753         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6754
6755 2010-11-27  Bruno Haible  <bruno@clisp.org>
6756
6757         Fix link error when module libunistring-optional is in use.
6758         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
6759         * modules/striconveha-tests (Makefile.am): Likewise.
6760
6761 2010-11-27  Bruno Haible  <bruno@clisp.org>
6762
6763         regex: Mention link dependencies.
6764         * modules/regex (Link): New section.
6765         * modules/rpmatch (Link): Likewise.
6766         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6767
6768 2010-11-27  Bruno Haible  <bruno@clisp.org>
6769
6770         ftoastr: Fix compilation error on Solaris.
6771         * lib/ftoastr.c: Include <config.h>.
6772
6773 2010-11-27  Bruno Haible  <bruno@clisp.org>
6774
6775         getloadavg: Update documentation.
6776         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6777
6778 2010-11-27  Bruno Haible  <bruno@clisp.org>
6779
6780         sys_socket: Fix test whether the functions are declared.
6781         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6782         not <sys/select.h>.
6783
6784 2010-11-27  Bruno Haible  <bruno@clisp.org>
6785
6786         getpass: Make sure to get system declaration on some platforms.
6787         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6788         gl_USE_SYSTEM_EXTENSIONS.
6789         * modules/getpass (Depends-on): Add extensions.
6790
6791 2010-11-26  Bruno Haible  <bruno@clisp.org>
6792
6793         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6794         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6795         'iconv' module is present.
6796         (ICONV_CONST): New macro.
6797         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6798         ICONV_CONST.
6799         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6800         set ICONV_CONST.
6801         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6802         here.
6803         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6804         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6805         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6806         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6807         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6808         present.
6809
6810 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6811
6812         ftoastr: comment fix
6813         * lib/ftoastr.c: "little" -> "little or no" in comment
6814
6815 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6816
6817         stdint: port to GCC 4.3 + OSX + Octave
6818         On this platform, stdint.h is buggy and defines int64_t to long
6819         long int.  The replacement defined it to long int, causing
6820         problems with C++ style name mangling.  Instead, trust the system
6821         definition if INT64_MAX is defined, and likewise for the unsigned
6822         variant.   Problem reported by Jarno Rajahalme in
6823         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6824         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6825         and don't mess with int64_t and INT64_MAX in this case.
6826         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6827
6828 2010-11-24  Bruno Haible  <bruno@clisp.org>
6829
6830         doc: Corrections regarding MacOS X 10.4 and 10.5.
6831         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6832         MacOS X.
6833         Reported by Simon Josefsson.
6834
6835 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6836
6837         Uninstall ".bin" files installed by relocwrapper.
6838         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6839         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6840         unless it is already there.
6841
6842 2010-11-21  Bruno Haible  <bruno@clisp.org>
6843
6844         Update for NetBSD 5.0.
6845         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6846         NetBSD; the test fails on NetBSD 5.0.
6847         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6848         about NetBSD.
6849
6850 2010-11-21  Bruno Haible  <bruno@clisp.org>
6851
6852         Update for HP-UX 11.23 and HP-UX 11.31.
6853         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6854         HP-UX.
6855
6856 2010-11-21  Bruno Haible  <bruno@clisp.org>
6857
6858         Update for MacOS X 10.5.
6859         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6860         MacOS X; the test fails on MacOS X 10.5.8.
6861         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6862         about MacOS X.
6863
6864 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6865
6866         bootstrap: add bootstrap_sync option.
6867         See discussion at
6868         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6869         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6870         * build-aux/bootstrap: Accept --bootstrap-sync to update
6871         bootstrap if it is not identical to the local gnulib's
6872         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6873         enable this by default.  Accept --no-bootstrap-sync to disable
6874         it.
6875
6876 2010-11-20  Bruno Haible  <bruno@clisp.org>
6877
6878         Ensure that <features.h> is included before __GLIBC__ is tested.
6879         * lib/printf-parse.h: Include <features.h>.
6880         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6881         Reported by Mike Frysinger <vapier@gentoo.org>.
6882
6883         Ensure that <features.h> is included before __GLIBC__ is tested.
6884         * lib/wchar.in.h: Include <features.h>.
6885         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6886         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6887         Reported by Mike Frysinger <vapier@gentoo.org>.
6888
6889         Ensure that <features.h> is included before __GLIBC__ is tested.
6890         * lib/arpa_inet.in.h: Include <features.h>.
6891         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6892         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6893         Reported by Mike Frysinger <vapier@gentoo.org>.
6894
6895         Ensure that <features.h> is included before __GLIBC__ is tested.
6896         * build-aux/link-warning.h: Include <features.h>.
6897         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6898         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6899         Reported by Mike Frysinger <vapier@gentoo.org>.
6900
6901         Ensure that <features.h> is included before __GLIBC__ is tested.
6902         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6903         Reported by Mike Frysinger <vapier@gentoo.org>.
6904
6905 2010-11-20  Bruno Haible  <bruno@clisp.org>
6906
6907         memmem: Fix autoconf test.
6908         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6909
6910 2010-11-20  Bruno Haible  <bruno@clisp.org>
6911
6912         Port to uClibc.
6913         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6914         * lib/fcntl.in.h: Likewise.
6915         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6916         * lib/mbrtowc.c (mbrtowc): Likewise.
6917         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6918         * lib/strerror_r.c: Likewise.
6919         * lib/unistr/u8-strnlen.c: Likewise.
6920         * lib/vasnprintf.c (decimal_point_char): Likewise.
6921         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6922         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6923         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6924         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6925         * tests/test-sigaction.c (handler, main): Likewise.
6926         * lib/freading.h: Treat uClibc like a non-glibc platform.
6927         * lib/freading.c: Likewise.
6928         * lib/gettext.h: Likewise.
6929         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6930         Likewise.
6931         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6932         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6933         * lib/propername.c (proper_name_utf8): Likewise.
6934         * lib/spawn.in.h: Likewise.
6935         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6936         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6937         mem_cd_iconveh_internal): Likewise.
6938         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6939         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6940         strstr, strcasestr): Likewise.
6941         * lib/unicodeio.c (unicode_to_mb): Likewise.
6942         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6943         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6944         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6945         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6946         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6947         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6948         * lib/unistr/u8-stpncpy.c: Likewise.
6949         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6950         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6951         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6952         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6953         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6954         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6955         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6956         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6957         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6958         Likewise.
6959         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6960         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6961         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6962         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6963         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6964         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6965         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6966         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6967         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6968         * tests/test-striconveha.c (main): Likewise.
6969         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6970         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6971         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6972         * doc/posix-functions/getline.texi: Likewise.
6973         Reported by Mike Frysinger <vapier@gentoo.org>.
6974
6975 2010-11-20  Bruno Haible  <bruno@clisp.org>
6976
6977         nproc: Fix condition.
6978         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6979         HAVE_PTHREAD_AFFINITY_NP.
6980
6981 2010-11-20  Bruno Haible  <bruno@clisp.org>
6982
6983         Fix a comment.
6984         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6985
6986 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6987
6988         ftoastr: don't assume snprintf
6989         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6990         Implement a subset of snprintf here, by using sprintf safely.
6991         * modules/ftoastr (Depends-on): Remove snprintf.
6992
6993 2010-11-19  Jim Meyering  <meyering@redhat.com>
6994
6995         test-rename.h: fix compilation failure
6996         * tests/test-rename.h (test_rename): Add omitted "}".
6997
6998 2010-11-17  Jim Meyering  <meyering@redhat.com>
6999
7000         maint.mk: add a URL discussing the no-@acronym policy
7001         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
7002
7003 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7004
7005         ftoastr: depend on snprintf, improve comments
7006         * lib/ftoastr.c: Also mention Loitsch's draft.
7007         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
7008         needed in the current implementation, but it might simplify
7009         speeding up the code later.
7010         * modules/ftoastr: Depend on snprintf; this improves portability.
7011         Suggested by Bruno Haible in the same email.
7012
7013         ftoastr: port to hosts lacking strtof and strtold
7014         Problem reported by Bruno Haible in
7015         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
7016         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
7017         environment and strtold (and presumably strtof) are not available.
7018         * modules/ftoastr (Files): Add m4/c-strtod.m4.
7019         (configure.ac): Require gl_C99_STRTOLD.
7020
7021 2010-11-18  Bruno Haible  <bruno@clisp.org>
7022
7023         c-strtold: Avoid link error on AIX 7.
7024         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
7025         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
7026         (gl_C_STRTOLD): Test whether strtold_l exists.
7027         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7028
7029 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7030
7031         intprops: new macro INT_BITS_STRLEN_BOUND
7032         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
7033         ftoastr.h.  This exposes an internal of intprops.h that was formerly
7034         not exposed.  Also, it uses a slightly tighter bound than before;
7035         though this makes no practical difference, we might as well be as
7036         tight as we easily can.
7037
7038         ftoastr: new module, for lossless conversion of floats to short strings
7039         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
7040         * modules/ftoastr: New files.
7041
7042 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7043
7044         bootstrap: port to Solaris sed
7045         * build-aux/bootstrap (get_version): Port to Solaris sed.
7046         See Ralf Wildenhues's note in
7047         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
7048
7049 2010-11-14  Jim Meyering  <meyering@redhat.com>
7050
7051         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
7052         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
7053         and move definition closer to sole use.
7054
7055 2010-11-13  Jim Meyering  <meyering@redhat.com>
7056
7057         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
7058         Now we require at least autoconf-2.59, which means the work-around
7059         is no longer needed.
7060         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
7061         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7062         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
7063         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
7064         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7065
7066 2010-11-13  Bruno Haible  <bruno@clisp.org>
7067
7068         rename, renameat: Avoid test failures at NFS mounted locations.
7069         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
7070         functions.
7071         (test_rename): Use assert_nonexistent.
7072         * tests/test-rename.c: Include <dirent.h>.
7073         * tests/test-renameat.c: Likewise.
7074         Reported by Gary V. Vaughan <gary@gnu.org>.
7075
7076         rename, renameat: Document Linux bug with NFS
7077         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
7078         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
7079         * doc/posix-functions/renameat.texi: Likewise.
7080         Suggested by Eric Blake.
7081
7082 2010-11-13  Bruno Haible  <bruno@clisp.org>
7083
7084         rename test: Add comments.
7085         * tests/test-rename.h (test_rename): Add structure and comments.
7086
7087 2010-11-13  Eric Blake  <eblake@redhat.com>
7088
7089         maintainer-makefile: cover a few more files
7090         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
7091         scripts generated within C files, for libvirt.
7092
7093 2010-11-13  Bruno Haible  <bruno@clisp.org>
7094
7095         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
7096         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
7097         character, return the number of bytes that belong together, not always
7098         1.
7099         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
7100         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
7101         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
7102         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
7103         number of bytes of an invalid character.
7104         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
7105         (main): Invoke it.
7106         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
7107         results.
7108         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
7109         malformed byte sequences.
7110         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
7111         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
7112         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
7113         Reported by Ben Pfaff and Paolo Bonzini.
7114
7115 2010-11-13  Bruno Haible  <bruno@clisp.org>
7116
7117         openat: Work around glibc bug with fchownat() and empty file names.
7118         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
7119         (gl_FUNC_FCHOWNAT): Invoke it.
7120         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
7121         * doc/posix-functions/fchownat.texi: Document the glibc bug.
7122         Reported by Gary V. Vaughan <gary@gnu.org>.
7123
7124 2010-11-13  Bruno Haible  <bruno@clisp.org>
7125
7126         openat: Ensure autoconf macro ordering.
7127         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
7128         gl_USE_SYSTEM_EXTENSIONS.
7129         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
7130
7131 2010-11-13  Bruno Haible  <bruno@clisp.org>
7132
7133         Update comments.
7134         * lib/unistr/u8-check.c: Update file name in comments.
7135         * lib/unistr/u8-mblen.c: Likewise.
7136         * lib/unistr/u8-prev.c: Likewise.
7137         * lib/unistr/u8-strmblen.c: Likewise.
7138         * lib/unistr/u8-strmbtouc.c: Likewise.
7139
7140 2010-11-13  Jim Meyering  <meyering@redhat.com>
7141
7142         tests: avoid test failure on Solaris 10 due to lack of PATH export
7143         * tests/test-update-copyright.sh: Don't forget to export PATH.
7144
7145         init.sh: ensure that IFS is defined, just in case...
7146         * tests/init.sh (setup_): Ensure that IFS is defined,
7147         so that saving and restoring it works as expected.  This
7148         appears to be useful at least for an old version of dash
7149         from a long time ago (RH 6).  See here for details:
7150         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
7151
7152         maint.mk: tighten "test a == b" check
7153         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
7154         test to files that contain something like #!/bin/sh.
7155         Without this, coreutils would get two false positives in
7156         the comments of C source files.
7157
7158 2010-11-12  Eric Blake  <eblake@redhat.com>
7159
7160         bootstrap: fix typo in previous attempt
7161         * build-aux/bootstrap (buildreq): Correct the grouping.
7162         Reported by Paul Eggert.
7163
7164         maintainer-makefile: prohibit test x == x
7165         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
7166         Based on a report by Matthias Bolte.
7167
7168         bootstrap: allow FreeBSD gzip
7169         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
7170         which has no '.' and goes to stderr.
7171         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
7172         Reported by Matthias Bolte.
7173
7174         maintainer-makefile: check for i18n setup
7175         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
7176         will likely work.
7177
7178 2010-11-12  Bruno Haible  <bruno@clisp.org>
7179
7180         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
7181         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
7182         * lib/nanosleep.c (nanosleep): Likewise.
7183
7184 2010-11-11  Bruno Haible  <bruno@clisp.org>
7185
7186         fcntl-h: Fix for use of C++ on glibc systems.
7187         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7188         also on glibc systems in C++ mode.
7189         Reported by Gary V. Vaughan <gary@gnu.org>.
7190
7191 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7192
7193         mknod: avoid false failure with dash
7194         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
7195
7196 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7197
7198         unlink: Fix "is it should" typo in diagnostic.
7199         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
7200         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
7201
7202 2010-11-11  Bruno Haible  <bruno@clisp.org>
7203
7204         Tests for module 'strerror_r-posix'.
7205         * modules/strerror_r-posix-tests: New file.
7206         * tests/test-strerror_r.c: New file.
7207         * tests/test-string-c++.cc: Check the signature of strerror_r.
7208
7209         New module 'strerror_r-posix'.
7210         * lib/string.in.h (strerror_r): New declaration.
7211         * lib/strerror_r.c: New file.
7212         * m4/strerror_r.m4: New file.
7213         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
7214         of strerror_r.
7215         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
7216         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7217         * modules/strerror_r-posix: New file.
7218         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
7219         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7220         * doc/posix-functions/strerror_r.texi: Mention the new module and the
7221         portability problems.
7222
7223 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
7224
7225         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
7226         line is also considered for output. Quoted function name in shell
7227         command, so temporary files for functions like MyClass::operator()
7228         are removed correctly without errors.
7229
7230 2010-11-09  Bruno Haible  <bruno@clisp.org>
7231
7232         * doc/posix-functions/strerror.texi: List more failing platforms.
7233
7234         * doc/posix-functions/strerror.texi: Add a comment.
7235
7236 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
7237
7238         fdopendir: fix bug on MacOS X when low on file descriptors
7239
7240         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
7241         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
7242         All callers changed.
7243         (fdopendir): Invoke save_cwd at the top level, not after using
7244         multiple dup() calls to use up file descriptors.  Then retry
7245         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
7246         less than the maximum number of open file descriptors, because
7247         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
7248         on Mac OS X 10.6.4 for tar 1.24
7249         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
7250         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
7251         and for tar 1.25
7252         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
7253
7254 2010-11-07  Bruno Haible  <bruno@clisp.org>
7255
7256         vasnprintf: Support I flag on glibc systems.
7257         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
7258         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
7259         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
7260         snprintf function.
7261         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
7262         glibc systems.
7263         * tests/test-vasnprintf-posix3.c: New file.
7264         * modules/vasnprintf-posix-tests (Files): Add it.
7265         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
7266
7267 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7268
7269         [html] Fix copy/paste bug: Use unique name for compiler warnings.
7270         * MODULES.html.sh: For compiler warnings, use name
7271         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
7272
7273 2010-11-05  Eric Blake  <eblake@redhat.com>
7274
7275         ceil, floor: avoid spurious failure with icc
7276         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
7277         [denormals-as-zero] when optimizing without -mieee-fp option.
7278         * tests/test-floorf2.c (floorf_reference): Likewise.
7279         * tests/test-ceilf1.c (dummy): New function.
7280         (main): Use it to outsmart icc's optimization.
7281         * tests/test-floorf1.c (dummy, main): Likewise.
7282
7283         tests: require working signbit
7284         * modules/ceilf-tests (Depends-on): Add signbit.
7285         * modules/ceill-tests (Depends-on): Likewise.
7286         * modules/floorf-tests (Depends-on): Likewise.
7287         * modules/floorl-tests (Depends-on): Likewise.
7288         * modules/round-tests (Depends-on): Likewise.
7289         * modules/roundf-tests (Depends-on): Likewise.
7290         * modules/roundl-tests (Depends-on): Likewise.
7291         * modules/trunc-tests (Depends-on): Likewise.
7292         * modules/truncf-tests (Depends-on): Likewise.
7293         * modules/truncl-tests (Depends-on): Likewise.
7294
7295         strtod: work around icc bug
7296         * lib/strtod.c (minus_zero): Define to working value.
7297         (strtod): Use it to avoid icc bug.
7298
7299         copysign: enhance tests
7300         * modules/copysign-tests (Files): Add minus-zero.h.
7301         * tests/test-copysign.c (main): Also test zeros.
7302
7303 2010-11-04  Eric Blake  <eblake@redhat.com>
7304
7305         ceil, floor, round, trunc: enhance tests of -0
7306         * tests/test-ceilf1.c (main): Ensure correct sign of result.
7307         * tests/test-ceill.c (main): Likewise.
7308         * tests/test-floorf1.c (main): Likewise.
7309         * tests/test-floorl.c (main): Likewise.
7310         * tests/test-round1.c (main): Likewise.
7311         * tests/test-roundf1.c (main): Likewise.
7312         * tests/test-roundl.c (main): Likewise.
7313         * tests/test-trunc1.c (main): Likewise.
7314         * tests/test-truncf1.c (main): Likewise.
7315         * tests/test-truncl.c (main): Likewise.
7316
7317 2010-11-04  Eric Blake  <eblake@redhat.com>
7318
7319         frexp, tests: work around ICC bug with -zero
7320         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
7321         works with more compilers.
7322         * tests/minus-zero.h: New file.
7323         * modules/ceilf-tests (Files): Include it.
7324         * modules/ceill-tests (Files): Likewise.
7325         * modules/floorf-tests (Files): Likewise.
7326         * modules/floorl-tests (Files): Likewise.
7327         * modules/frexp-nolibm-tests (Files): Likewise.
7328         * modules/frexp-tests (Files): Likewise.
7329         * modules/frexpl-nolibm-tests (Files): Likewise.
7330         * modules/frexpl-tests (Files): Likewise.
7331         * modules/isnan-tests (Files): Likewise.
7332         * modules/isnand-nolibm-tests (Files): Likewise.
7333         * modules/isnand-tests (Files): Likewise.
7334         * modules/isnanf-nolibm-tests (Files): Likewise.
7335         * modules/isnanf-tests (Files): Likewise.
7336         * modules/isnanl-nolibm-tests (Files): Likewise.
7337         * modules/isnanl-tests (Files): Likewise.
7338         * modules/round-tests (Files): Likewise.
7339         * modules/roundf-tests (Files): Likewise.
7340         * modules/roundl-tests (Files): Likewise.
7341         * modules/ldexpl-tests (Files): Likewise.
7342         * modules/signbit-tests (Files): Likewise.
7343         * modules/snprintf-posix-tests (Files): Likewise.
7344         * modules/sprintf-posix-tests (Files): Likewise.
7345         * modules/strtod-tests (Files): Likewise.
7346         * modules/trunc-tests (Files): Likewise.
7347         * modules/truncf-tests (Files): Likewise.
7348         * modules/truncl-tests (Files): Likewise.
7349         * modules/vsnprintf-posix-tests (Files): Likewise.
7350         * modules/vsprintf-posix-tests (Files): Likewise.
7351         * modules/vasnprintf-posix-tests (Files): Likewise.
7352         * modules/vasprintf-posix-tests (Files): Likewise.
7353         * tests/test-ceilf1.c (main): Use it.
7354         * tests/test-ceill.c (main): Likewise.
7355         * tests/test-floorf1.c (main): Likewise.
7356         * tests/test-floorl.c (main): Likewise.
7357         * tests/test-frexp.c (main): Likewise.
7358         * tests/test-frexpl.c (main): Likewise.
7359         * tests/test-isnan.c (main): Likewise.
7360         * tests/test-isnand.h (main): Likewise.
7361         * tests/test-isnanf.h (main): Likewise.
7362         * tests/test-isnanl.h (main): Likewise.
7363         * tests/test-ldexpl.c (main): Likewise.
7364         * tests/test-round.c (main): Likewise.
7365         * tests/test-roundf.c (main): Likewise.
7366         * tests/test-roundl.c (main): Likewise.
7367         * tests/test-signbit.c (test_signbitf, test_signbitd)
7368         (test_signbitl): Likewise.
7369         * tests/test-snprintf-posix.h (test_function): Likewise.
7370         * tests/test-sprintf-posix.h (test_function): Likewise.
7371         * tests/test-strtod.c (main): Likewise.
7372         * tests/test-trunc1.c (main): Likewise.
7373         * tests/test-truncf1.c (main): Likewise.
7374         * tests/test-truncl.c (main): Likewise.
7375
7376         isnanl: work around icc bug
7377         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
7378
7379 2010-11-03  Eric Blake  <eblake@redhat.com>
7380
7381         tests: fix compiler warnings
7382         * tests/test-getopt.h (test_getopt): Fix condition.
7383         * tests/test-getopt_long.h (test_getopt_long): Likewise.
7384         * tests/test-pipe2.c (main): Likewise.
7385         * tests/test-quotearg-simple.c (main): Avoid icc warning.
7386
7387         utimens: fix broken m4 test
7388         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
7389
7390 2010-10-28  Bruno Haible  <bruno@clisp.org>
7391
7392         posix_spawn*, getdtablesize: Relax license.
7393         * modules/posix_spawn (License): Change to LGPLv2+.
7394         * modules/posix_spawnp (License): Likewise.
7395         * modules/posix_spawn-internal (License): Likewise.
7396         * modules/posix_spawnattr_init (License): Likewise.
7397         * modules/posix_spawnattr_getflags (License): Likewise.
7398         * modules/posix_spawnattr_setflags (License): Likewise.
7399         * modules/posix_spawnattr_getpgroup (License): Likewise.
7400         * modules/posix_spawnattr_setpgroup (License): Likewise.
7401         * modules/posix_spawnattr_getschedparam (License): Likewise.
7402         * modules/posix_spawnattr_setschedparam (License): Likewise.
7403         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
7404         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
7405         * modules/posix_spawnattr_getsigdefault (License): Likewise.
7406         * modules/posix_spawnattr_setsigdefault (License): Likewise.
7407         * modules/posix_spawnattr_getsigmask (License): Likewise.
7408         * modules/posix_spawnattr_setsigmask (License): Likewise.
7409         * modules/posix_spawnattr_destroy (License): Likewise.
7410         * modules/posix_spawn_file_actions_init (License): Likewise.
7411         * modules/posix_spawn_file_actions_addclose (License): Likewise.
7412         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
7413         * modules/posix_spawn_file_actions_addopen (License): Likewise.
7414         * modules/posix_spawn_file_actions_destroy (License): Likewise.
7415         * modules/getdtablesize (License): Likewise.
7416         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
7417
7418 2010-10-26  Bruno Haible  <bruno@clisp.org>
7419
7420         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
7421         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
7422         Cygwin and mingw.
7423         Suggested by Eric Blake.
7424
7425 2010-10-26  Bruno Haible  <bruno@clisp.org>
7426
7427         stdio: Work around compilation error due to renameat() on Solaris 10.
7428         * lib/stdio.in.h: Include <unistd.h> on Solaris.
7429         * lib/renameat.c: Don't include <unistd.h> here.
7430         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
7431         Reported by Paul Eggert and Eric Blake.
7432
7433 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
7434
7435         renameat: port to Solaris 10, which declares renameat in unistd.h
7436
7437         * lib/renameat.c: Include unistd.h before stdio.h, because
7438         Solaris 10 declares renameat in unistd.h.  Problem encountered
7439         when building GNU tar 1.24 on Solaris 10.
7440
7441 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7442
7443         fdopendir: fix C89 compilation
7444         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
7445         compilers.
7446
7447 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
7448
7449         inttostr: simplify by removing unnecessary redundancy
7450         * lib/anytostr.c: Don't include verify.h.
7451         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
7452         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
7453         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
7454         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
7455         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
7456         Likewise.
7457         * modules/inttostr (Depends-on): Remove 'verify'.
7458
7459 2010-10-23  Bruno Haible  <bruno@clisp.org>
7460
7461         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
7462         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
7463         Reported by Eric Blake.
7464
7465 2010-10-23  Bruno Haible  <bruno@clisp.org>
7466
7467         Tests: Fix LOCALE_JA on MirBSD 10.
7468         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
7469         to an UTF-8 locale.
7470         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
7471         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7472         Reported by Eric Blake.
7473
7474 2010-10-21  Bruno Haible  <bruno@clisp.org>
7475
7476         nl_langinfo test: Avoid test failure on NetBSD 5.
7477         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
7478         Reported by Eric Blake.
7479
7480 2010-10-21  Eric Blake  <eblake@redhat.com>
7481
7482         c-stack: work around libsigsegv 2.8 bug
7483         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
7484         overflow on at least PowerPC64.
7485
7486 2010-10-17  Bruno Haible  <bruno@clisp.org>
7487
7488         userspec: Drop redundant file.
7489         * modules/userspec (Files): Remove lib/inttostr.h.
7490
7491 2010-10-17  Bruno Haible  <bruno@clisp.org>
7492
7493         nl_langinfo tests: Silence some warnings.
7494         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
7495         Reported by Jim Meyering.
7496
7497 2010-10-17  Bruno Haible  <bruno@clisp.org>
7498
7499         Make use of GCC's attribute __alloc_size__.
7500         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
7501         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
7502         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
7503         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
7504         __alloc_size__.
7505         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
7506         Suggested by Jim Meyering.
7507
7508 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
7509
7510         bootstrap: anchor .gitignore entries.
7511         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
7512         with...
7513         (insert_vc_ignore): ... this new function, which prepends `/' to
7514         all .gitignore entries before passing them to
7515         insert_sorted_if_absent.
7516
7517 2010-10-16  Bruno Haible  <bruno@clisp.org>
7518
7519         nextafter: Fix configure check.
7520         * modules/nextafter (configure.ac): Correct expected prototype.
7521
7522 2010-10-16  Bruno Haible  <bruno@clisp.org>
7523
7524         termios: Update documentation.
7525         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
7526
7527 2010-10-16  Bruno Haible  <bruno@clisp.org>
7528
7529         tests: Make them compile with TinyCC.
7530         * tests/test-strstr.c (main): Remove parentheses around array
7531         initializer.
7532
7533 2010-10-15  Eric Blake  <eblake@redhat.com>
7534
7535         ignore-value: make header idempotent
7536         * lib/ignore-value.h: Add double-inclusion guards.
7537         Reported by Stefan Berger.
7538
7539 2010-10-15  Jim Meyering  <meyering@redhat.com>
7540
7541         GNUmakefile: handle "stable" target, not "major"
7542         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
7543         lists in maint.mk and announce-gen.  Without this, "make stable"
7544         would fail to ensure that $(VERSION) is up to date.
7545
7546 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
7547
7548         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
7549         & co.
7550
7551 2010-10-14  Bruno Haible  <bruno@clisp.org>
7552
7553         vasnprintf: Don't set errno to 0.
7554         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
7555         block that sets it to 0.
7556         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
7557
7558 2010-10-14  Bruno Haible  <bruno@clisp.org>
7559
7560         socketlib: Fix.
7561         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
7562         gl_PREREQ_SYS_H_WINSOCK2.
7563         Reported by Ian Beckwith <ianb@erislabs.net>.
7564
7565 2010-10-13  Jim Meyering  <meyering@redhat.com>
7566
7567         test-select-stdin.c: avoid warn_unused_result warnings
7568         * tests/test-select-stdin.c: Include "macros.h".
7569         ASSERT that read and fflush succeed.
7570
7571 2010-10-13  Jim Meyering  <meyering@redhat.com>
7572
7573         git-version-gen: do require git-VC'd files in cwd
7574         * build-aux/git-version-gen: Reject a git version string
7575         if there are no commits associated with the current directory.
7576         This avoids an unlikely false-positive (unrelated dir whose parent
7577         repository also contains a tag matching v*), as pointed out
7578         by Giuseppe Scrivano in
7579         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
7580
7581 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7582
7583         argv-iter: omit nonconforming declaration
7584         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
7585         enum arg_iter_err declaration, which doesn't conform to C99.
7586         Solaris 10 cc warns about this.
7587
7588 2010-10-13  Eric Blake  <eblake@redhat.com>
7589
7590         termios: fix compilation on mingw
7591         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
7592         (gl_TERMIOS_H): Adjust it on mingw.
7593         * modules/termios (Makefile.am): Substitute new key.
7594         * lib/termios.in.h (includes): Make include_next conditional.
7595         * doc/posix-headers/termios.texi (termios.h): Update
7596         documentation.
7597         Reported by Daniel P. Berrange.
7598
7599 2010-10-13  Jim Meyering  <meyering@redhat.com>
7600
7601         git-version-gen: don't require that .git/ be in the current dir
7602         * build-aux/git-version-gen: Adjust this script so that it works
7603         when run from any working directory beneath the top-level .git/-
7604         containing directory.  Inspired by a patch from Giuseppe Scrivano,
7605         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
7606
7607         test-select: avoid warn_unused_result warnings
7608         * tests/test-select.c: Include "macros.h".
7609         ASSERT that each call to read, write, and pipe succeeds.
7610         While not technically required, also check each "close".
7611         * modules/select-tests (Files): Add tests/macros.h.
7612
7613         test-symlinkat: remove declaration of unused local
7614         * tests/test-symlinkat.c (main): Remove unused local, "buf".
7615
7616         test-inttostr: avoid shadowing warnings
7617         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
7618         and use malloc rather than the stack for the same reason as
7619         mentioned in the comment justifying the other allocation.
7620
7621 2010-10-11  Bruno Haible  <bruno@clisp.org>
7622
7623         stdlib: Allow multiple gnulib generated replacements to coexist.
7624         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
7625         Reported by Sam Steingold <sds@gnu.org>.
7626
7627 2010-10-11  Jim Meyering  <meyering@redhat.com>
7628
7629         fix a documentation typo
7630         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
7631
7632 2010-10-11  Eric Blake  <eblake@redhat.com>
7633
7634         futimens: work around Solaris 11 bug
7635         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
7636         * tests/test-futimens.h (test_futimens): Enhance, rather than
7637         weaken test.
7638         * doc/posix-functions/futimens.texi (futimens): Document the bug.
7639
7640 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
7641
7642         Indentation.
7643         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
7644         higher-level operators more to the left.
7645
7646 2010-10-11  Jim Meyering  <meyering@redhat.com>
7647
7648         test-futimens: avoid unwarranted test failure on Solaris 5.11
7649         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
7650         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
7651         because it tries to dereference the NULL name argument.
7652
7653 2010-10-11  Bruno Haible  <bruno@clisp.org>
7654
7655         Indentation.
7656         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
7657         indentation.
7658
7659 2010-10-11  Jim Meyering  <meyering@redhat.com>
7660
7661         spawn.in.h: make indentation consistent with parentheses
7662         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
7663         Make indentation consistent with parentheses.
7664
7665 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
7666
7667         Fix mismatched parens in previous commit
7668         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
7669         parens.
7670
7671 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7672
7673         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
7674
7675         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
7676         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
7677         * lib/malloca.c: Include "verify.h".
7678         (verify1): Remove, replacing with a verify call.
7679         * lib/relocwrapper.c (verify1): Likewise.
7680         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
7681         Likewise.
7682         * modules/malloca (Depends-on): Add 'verify'.
7683         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
7684         * modules/vasnprintf (Depends-on): Add 'verify'.
7685         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
7686         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
7687         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
7688         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
7689         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
7690         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
7691         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
7692
7693         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
7694
7695         Formerly the style was sometimes 2*X - 1, because the C standard
7696         was wrongly thought to disallow ?: in integral constant expressions.
7697         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
7698         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
7699         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
7700         * lib/stdint.in.h (_verify_intmax_size): Likewise.
7701         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
7702         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
7703         verify that time_t cannot be floating.
7704
7705 2010-10-08  Eric Blake  <eblake@redhat.com>
7706
7707         time: enforce recent POSIX ruling that time_t is integral
7708         * lib/time.in.h (__time_t_must_be_integral): Detect any
7709         problematic systems, allowing the rest of gnulib to assume POSIX.
7710
7711 2010-10-08  Jim Meyering  <meyering@redhat.com>
7712
7713         fdopendir: fix a bug on systems lacking openat and /proc support
7714         OpenBSD 4.7 is one such system.  The most noticeable effect was
7715         failure of any application making nontrivial use of fts: rm, du,
7716         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
7717           ./rm: traversal failed: `a': Bad file descriptor
7718         Debugging that, you see that even though FD 6 was closed just
7719         prior to the opendir call in fd_clone_opendir, its resulting
7720         dir->dd_fd was 8, rather than the expected value of 6:
7721
7722         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
7723         93                close (fd);
7724         (gdb) n
7725         94                dir = fd_clone_opendir (dupfd);
7726         (gdb) n
7727         95                saved_errno = errno;
7728         (gdb) p dir->dd_fd
7729         $11 = 8
7730
7731         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
7732         The problem is that on OpenBSD, fd_clone_opendir has to resort
7733         to using the old-style save/restore CWD mechanism, due to its
7734         lack of openat/proc support, and *that* would steal the FD (6)
7735         that opendir was supposed to use.
7736
7737         The fix is to squirrel away the desired FD so that save_cwd uses a
7738         different one, and then free the dest FD right before calling opendir.
7739         That guarantees opendir will use the required file descriptor.
7740
7741         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
7742
7743 2010-10-08  Bruno Haible  <bruno@clisp.org>
7744
7745         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
7746         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
7747
7748 2010-10-08  Bruno Haible  <bruno@clisp.org>
7749
7750         nanosleep: Make replacement POSIX compliant.
7751         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
7752         is out of range.
7753         Reported by Jim Meyering.
7754
7755 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7756
7757         bootstrap: add hook for altering gnulib.mk, for Bison
7758         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
7759         the Bison bootstrapping process can rewrite file names and variables
7760         in this file before later parts of 'bootstrap' use the file.
7761         Bison wants to include lib/gnulib.mk from the top-level makefile,
7762         so it needs the file names in this file to be relative to the top
7763         level, not relative to lib; plus it needs variable names to be
7764         rewritten.
7765         (slurp): Use the new function.
7766
7767         bootstrap: reformat for readability
7768         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7769
7770 2010-10-08  Eric Blake  <eblake@redhat.com>
7771
7772         docs: update cygwin progress
7773         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7774         1.7.7.
7775         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7776         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7777         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7778         * doc/posix-functions/carg.texi (carg): Likewise.
7779         * doc/posix-functions/cargf.texi (cargf): Likewise.
7780         * doc/posix-functions/casin.texi (casin): Likewise.
7781         * doc/posix-functions/casinf.texi (casinf): Likewise.
7782         * doc/posix-functions/casinh.texi (casinh): Likewise.
7783         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7784         * doc/posix-functions/catan.texi (catan): Likewise.
7785         * doc/posix-functions/catanf.texi (catanf): Likewise.
7786         * doc/posix-functions/catanh.texi (catanh): Likewise.
7787         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7788         * doc/posix-functions/ccos.texi (ccos): Likewise.
7789         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7790         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7791         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7792         * doc/posix-functions/cexp.texi (cexp): Likewise.
7793         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7794         * doc/posix-functions/cimag.texi (cimag): Likewise.
7795         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7796         * doc/posix-functions/clog.texi (clog): Likewise.
7797         * doc/posix-functions/clogf.texi (clogf): Likewise.
7798         * doc/posix-functions/conj.texi (conj): Likewise.
7799         * doc/posix-functions/conjf.texi (conjf): Likewise.
7800         * doc/posix-functions/cpow.texi (cpow): Likewise.
7801         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7802         * doc/posix-functions/cproj.texi (cproj): Likewise.
7803         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7804         * doc/posix-functions/creal.texi (creal): Likewise.
7805         * doc/posix-functions/crealf.texi (crealf): Likewise.
7806         * doc/posix-functions/csin.texi (csin): Likewise.
7807         * doc/posix-functions/csinf.texi (csinf): Likewise.
7808         * doc/posix-functions/csinh.texi (csinh): Likewise.
7809         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7810         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7811         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7812         * doc/posix-functions/ctan.texi (ctan): Likewise.
7813         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7814         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7815         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7816         * doc/posix-headers/complex.texi (complex.h): Likewise.
7817
7818 2010-10-07  Jim Meyering  <meyering@redhat.com>
7819
7820         parse-datetime: avoid compilation failure on OpenBSD 4.7
7821         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7822         This works around a compilation failure on OpenBSD 4.7:
7823         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7824
7825 2010-10-07  Eric Blake  <eblake@redhat.com>
7826
7827         docs: update cygwin progress
7828         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7829         1.7.6.
7830         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7831         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7832         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7833         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7834         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7835         Likewise.
7836         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7837         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7838         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7839         Likewise.
7840         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7841         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7842         Likewise.
7843         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7844         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7845         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7846         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7847         Likewise.
7848         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7849         Likewise.
7850         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7851
7852         docs: update parse-datetime history
7853         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7854         documentation of this function's history and alternatives.
7855
7856         cygwin: use more robust version check
7857         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7858         exclude an eventual cygwin 1.9.1.
7859         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7860         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7861         (gl_FUNC_STRCASESTR): Likewise.
7862         Reported by Bruno Haible.
7863
7864 2010-10-06  Bruno Haible  <bruno@clisp.org>
7865
7866         string, sys_select: Avoid #including large headers unless necessary.
7867         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7868         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7869         OSF/1, BeOS, Haiku.
7870         Reported by Jim Meyering.
7871
7872 2010-10-05  Eric Blake  <eblake@redhat.com>
7873
7874         memmem, strstr, strcasestr: fix bug with long periodic needle
7875         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7876         periodic needle having false positive.
7877         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7878         and cygwin 1.7.7.
7879         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7880         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7881         (gl_FUNC_STRCASESTR): Likewise.
7882         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7883         * tests/test-memmem.c (main): Expose the bug.
7884         * tests/test-strcasestr.c (main): Likewise.
7885         * tests/test-strstr.c (main): Likewise.
7886         * tests/test-c-strcasestr.c (main): Likewise.
7887         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7888         * doc/posix-functions/strstr.texi (strstr): Likewise.
7889         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7890         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7891
7892 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7893
7894         parse-datetime: do some more renaming
7895         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7896         parse_datetime, not get_date.  Mention the renaming.
7897         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7898         in comments.
7899         * m4/bison.m4: Likewise.
7900
7901 2010-10-05  Eric Blake  <eblake@redhat.com>
7902
7903         parse-datetime: better name than get_date
7904         * NEWS: Reword the deprecation notice.
7905         * modules/get_date: Rename to modules/parse-datetime.
7906         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7907         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7908         * lib/get_date.y: Rename to lib/parse-datetime.y.
7909         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7910         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7911         * doc/getdate.texi: Provide fallback wrapper.
7912         * lib/getdate.h: Move guts, and wrap...
7913         * lib/parse-datetime.h: ...new file.
7914         * lib/parse-datetime.y (get_date): Rename...
7915         (parse_datetime): ...to this.
7916         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7917         (gl_PARSE_DATETIME): ...to this.
7918         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7919         documentation.
7920         * modules/getdate (Files): Provide fallback docs and header.
7921         (Notice, Depends-on): Update references.
7922         * tests/test-parse-datetime.c: Likewise.
7923         * DEPENDENCIES: Likewise.
7924         * MODULES.html.sh (Date and time <time.h>): Likewise.
7925         * doc/parse-datetime.texi (Date input formats)
7926         (Authors of parse_datetime): Likewise.
7927         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7928         (Include): Likewise.
7929         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7930         * gnulib-tool: Likewise.
7931         * m4/bison.m4 (gl_BISON): Likewise.
7932         Suggested by Bruno Haible.
7933
7934 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7935
7936         more ports to Solaris tr, which needs [] around ranges
7937         * gnulib-tool: Solaris tr needs [] around ranges.
7938         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7939         * tests/test-pipe-filter-gi1.c (main): Likewise.
7940         * tests/test-pipe-filter-ii1.c (main): Likewise.
7941
7942 2010-10-05  Eric Blake  <eblake@redhat.com>
7943
7944         bootstrap: fix Solaris regression
7945         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7946         around ranges.
7947         Reported by Pádraig Brady.
7948
7949         bootstrap: work with pkg-config
7950         * build-aux/bootstrap (check_versions): Also transliterate - in
7951         prerequisite name.
7952         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7953         prerequisites that were already found, to avoid confusion.
7954         Reported by Justin Clift.
7955
7956         faccessat: remove unused wrappers
7957         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7958         presence of these wrappers dragged in -lgen on Solaris.
7959         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7960
7961 2010-10-05  Jim Meyering  <meyering@redhat.com>
7962
7963         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7964         * Makefile (sc_pragma_columns): New syntax-check rule.
7965
7966 2010-10-04  Bruno Haible  <bruno@clisp.org>
7967
7968         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7969         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7970         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7971         Reported by Bruce Korb and Eric Blake.
7972
7973 2010-10-04  Bruno Haible  <bruno@clisp.org>
7974
7975         threadlib: Make option --with-libpth-prefix work.
7976         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7977         use $LIBPTH, not just -lpth.
7978
7979 2010-10-04  Bruno Haible  <bruno@clisp.org>
7980
7981         Avoid line length limitation from HP NonStop system header files.
7982         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7983         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7984         * lib/ctype.in.h: Likewise.
7985         * lib/dirent.in.h: Likewise.
7986         * lib/errno.in.h: Likewise.
7987         * lib/fcntl.in.h: Likewise.
7988         * lib/float.in.h: Likewise.
7989         * lib/getopt.in.h: Likewise.
7990         * lib/iconv.in.h: Likewise.
7991         * lib/inttypes.in.h: Likewise.
7992         * lib/langinfo.in.h: Likewise.
7993         * lib/locale.in.h: Likewise.
7994         * lib/math.in.h: Likewise.
7995         * lib/netdb.in.h: Likewise.
7996         * lib/netinet_in.in.h: Likewise.
7997         * lib/poll.in.h: Likewise.
7998         * lib/pthread.in.h: Likewise.
7999         * lib/pty.in.h: Likewise.
8000         * lib/sched.in.h: Likewise.
8001         * lib/se-selinux.in.h: Likewise.
8002         * lib/search.in.h: Likewise.
8003         * lib/signal.in.h: Likewise.
8004         * lib/spawn.in.h: Likewise.
8005         * lib/stdarg.in.h: Likewise.
8006         * lib/stddef.in.h: Likewise.
8007         * lib/stdint.in.h: Likewise.
8008         * lib/stdio.in.h: Likewise.
8009         * lib/stdlib.in.h: Likewise.
8010         * lib/string.in.h: Likewise.
8011         * lib/strings.in.h: Likewise.
8012         * lib/sys_file.in.h: Likewise.
8013         * lib/sys_ioctl.in.h: Likewise.
8014         * lib/sys_select.in.h: Likewise.
8015         * lib/sys_socket.in.h: Likewise.
8016         * lib/sys_stat.in.h: Likewise.
8017         * lib/sys_time.in.h: Likewise.
8018         * lib/sys_times.in.h: Likewise.
8019         * lib/sys_utsname.in.h: Likewise.
8020         * lib/sys_wait.in.h: Likewise.
8021         * lib/sysexits.in.h: Likewise.
8022         * lib/termios.in.h: Likewise.
8023         * lib/time.in.h: Likewise.
8024         * lib/unistd.in.h: Likewise.
8025         * lib/wchar.in.h: Likewise.
8026         * lib/wctype.in.h: Likewise.
8027         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
8028         * modules/ctype (Makefile.am): Likewise.
8029         * modules/dirent (Makefile.am): Likewise.
8030         * modules/errno (Makefile.am): Likewise.
8031         * modules/fcntl-h (Makefile.am): Likewise.
8032         * modules/float (Makefile.am): Likewise.
8033         * modules/getopt-posix (Makefile.am): Likewise.
8034         * modules/iconv-h (Makefile.am): Likewise.
8035         * modules/inttypes (Makefile.am): Likewise.
8036         * modules/langinfo (Makefile.am): Likewise.
8037         * modules/locale (Makefile.am): Likewise.
8038         * modules/math (Makefile.am): Likewise.
8039         * modules/netdb (Makefile.am): Likewise.
8040         * modules/netinet_in (Makefile.am): Likewise.
8041         * modules/poll-h (Makefile.am): Likewise.
8042         * modules/pthread (Makefile.am): Likewise.
8043         * modules/pty (Makefile.am): Likewise.
8044         * modules/sched (Makefile.am): Likewise.
8045         * modules/search (Makefile.am): Likewise.
8046         * modules/selinux-h (Makefile.am): Likewise.
8047         * modules/signal (Makefile.am): Likewise.
8048         * modules/spawn (Makefile.am): Likewise.
8049         * modules/stdarg (Makefile.am): Likewise.
8050         * modules/stddef (Makefile.am): Likewise.
8051         * modules/stdint (Makefile.am): Likewise.
8052         * modules/stdio (Makefile.am): Likewise.
8053         * modules/stdlib (Makefile.am): Likewise.
8054         * modules/string (Makefile.am): Likewise.
8055         * modules/strings (Makefile.am): Likewise.
8056         * modules/sys_file (Makefile.am): Likewise.
8057         * modules/sys_ioctl (Makefile.am): Likewise.
8058         * modules/sys_select (Makefile.am): Likewise.
8059         * modules/sys_socket (Makefile.am): Likewise.
8060         * modules/sys_stat (Makefile.am): Likewise.
8061         * modules/sys_time (Makefile.am): Likewise.
8062         * modules/sys_times (Makefile.am): Likewise.
8063         * modules/sys_utsname (Makefile.am): Likewise.
8064         * modules/sys_wait (Makefile.am): Likewise.
8065         * modules/sysexits (Makefile.am): Likewise.
8066         * modules/termios (Makefile.am): Likewise.
8067         * modules/time (Makefile.am): Likewise.
8068         * modules/unistd (Makefile.am): Likewise.
8069         * modules/wchar (Makefile.am): Likewise.
8070         * modules/wctype (Makefile.am): Likewise.
8071
8072 2010-10-04  Bruno Haible  <bruno@clisp.org>
8073
8074         read-file tests: Avoid a test failure on NonStop Kernel.
8075         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
8076         a regular file.
8077         Reported by Joachim Schmitz <schmitz@hp.com>.
8078
8079 2010-10-03  Bruno Haible  <bruno@clisp.org>
8080
8081         gnulib-tool: Fixes for --create-testdir with --libtool.
8082         * gnulib-tool (func_get_automake_snippet): Don't augment
8083         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
8084         an executable.
8085         (func_create_testdir): Handle module 'alloca' like func_import.
8086         Reported by Bruce Korb <bruce.korb@gmail.com>.
8087
8088 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8089
8090         Avoid some lines longer than 80 characters.
8091         * lib/stdint.in.h: Break long comment lines.
8092         * lib/math.in.h: Likewise.
8093         (_GL_NUM_UINT_WORDS): New macro, for readability.
8094         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
8095         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
8096         * lib/stdlib.in.h: Likewise.
8097         * lib/spawn.in.h: Likewise.
8098         * lib/sys_socket.in.h: Update an URL.
8099         * lib/sys_stat.in.h: Break long line.
8100
8101 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
8102
8103         Improve pmccabe2html.
8104         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
8105         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
8106         when the sources change. Remove the line in the HTML about "Used
8107         ranges" (which implied that there might be other unused ranges),
8108         rename "Resume" to "Summary" (easier to understand for more users).
8109         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
8110         styles, and some unnecessary blank lines.
8111
8112 2010-10-03  Bruno Haible  <bruno@clisp.org>
8113             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8114
8115         acl: Add support for ACLs on NonStop Kernel.
8116         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
8117         Check whether the function aclsort() exists.
8118         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
8119         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
8120         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8121         (acl_nontrivial [HAVE_ACLSORT]: New function.
8122         (file_has_acl): Implement for NonStop Kernel.
8123         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8124         (qset_acl): Implement for NonStop Kernel.
8125         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
8126         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8127         (main): Implement for NonStop Kernel.
8128         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
8129         Kernel. Handle this flavor.
8130         * tests/test-set-mode-acl.sh: Likewise.
8131         * tests/test-copy-acl.sh: Likewise.
8132         * tests/test-copy-file.sh: Likewise.
8133
8134 2010-10-03  Bruno Haible  <bruno@clisp.org>
8135
8136         Info about ACLs on NonStop Kernel.
8137         * doc/acl-resources.txt: Add info about NonStop Kernel.
8138         References by Joachim Schmitz <schmitz@hp.com>.
8139
8140 2010-10-02  Bruno Haible  <bruno@clisp.org>
8141
8142         Define missing EDQUOT on NonStop Kernel.
8143         * lib/errno.in.h (EDQUOT): Assign a value if missing.
8144         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
8145         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
8146         missing.
8147         * doc/posix-headers/errno.texi: Mention the NSK bug.
8148         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
8149         Reported by Joachim Schmitz <schmitz@hp.com>.
8150
8151 2010-10-02  Bruno Haible  <bruno@clisp.org>
8152
8153         Update doc for POSIX:2008.
8154         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
8155         Update URL of POSIX specification.
8156
8157 2010-10-02  Bruno Haible  <bruno@clisp.org>
8158
8159         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
8160         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
8161         from gnulib, not from Automake.
8162
8163 2010-10-02  Bruno Haible  <bruno@clisp.org>
8164
8165         New module 'system-posix'.
8166         * modules/system-posix: New file.
8167         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
8168         module is present.
8169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
8170         GNULIB_SYSTEM_POSIX.
8171         * modules/stdlib (Depends-on): Remove sys_wait.
8172         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
8173         * doc/posix-functions/system.texi: Mention the new module.
8174         * doc/posix-headers/stdlib.texi: Likewise.
8175         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
8176         define test_sys_wait_macros to a no-op.
8177         Reported by Sam Steingold <sds@gnu.org>.
8178
8179 2010-09-30  Bruno Haible  <bruno@clisp.org>
8180
8181         More renaming from 'getdate' to 'get_date'.
8182         * doc/get_date.texi: Renamed from doc/getdate.texi.
8183         * modules/get_date (Files): Update.
8184         * MODULES.html.sh (Date and time <time.h>): Update.
8185         * DEPENDENCIES: Update.
8186         * gnulib-tool: Update comment.
8187         * m4/bison.m4 (gl_BISON): Likewise.
8188         * m4/get_date.m4 (gl_GET_DATE): Likewise.
8189
8190 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
8191
8192         bootstrap: support ACLOCAL_FLAGS during aclocal
8193         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
8194         can add additional -I dir for third-party .m4 files.
8195
8196 2010-09-30  Eric Blake  <eblake@redhat.com>
8197
8198         bootstrap: use glibtoolize on MacOS
8199         * build-aux/bootstrap (check_versions): Convert libtool into
8200         libtoolize.
8201         (tool search): Move libtool check earlier, and look for
8202         glibtoolize for MacOS.
8203         (gnulib_tool_options): Auto-add --libtool when appropriate.
8204         Reported by Justin Clift.
8205
8206         poll: fix typo that broke test on MacOS
8207         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
8208         Reported by Justin Clift.
8209
8210         getdate: rename to get_date
8211         Note: getdate.h is not renamed, to minimize client impact.
8212         * modules/getdate: Mark obsolete.  Move old contents...
8213         * modules/get_date: ...to new module name.
8214         * modules/getdate-tests: Move...
8215         * modules/get_date-tests: ...here.
8216         * m4/getdate.m4: Move...
8217         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
8218         * lib/getdate.y: Move...
8219         * lib/get_date.y: ...here.
8220         * tests/test-getdate.c: Move...
8221         * tests/test-get_date.c: ...here.
8222         * doc/posix-functions/getdate.texi (getdate): Update name.
8223         * NEWS: Mention the change.
8224
8225 2010-09-29  Bruno Haible  <bruno@clisp.org>
8226
8227         Separate the module 'waitpid' from the module 'sys_wait'.
8228         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
8229         present.
8230         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
8231         gl_MODULE_INDICATOR_FOR_TESTS.
8232         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
8233         * modules/sys_wait (Depends-on): Remove waitpid.
8234         (Makefile.am): Substitute GNULIB_WAITPID.
8235         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
8236         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
8237         signature only if the 'waitpid' module is present.
8238         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
8239         * NEWS: Mention the change.
8240         * modules/grantpt (Depends-on): Add waitpid.
8241         * modules/wait-process (Depends-on): Likewise.
8242
8243 2010-09-29  Bruno Haible  <bruno@clisp.org>
8244
8245         More tests for module 'sys_wait'.
8246         * modules/sys_wait-c++-tests: New file.
8247         * tests/test-sys_wait-c++.cc: New file.
8248         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
8249         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8250
8251 2010-09-29  Bruno Haible  <bruno@clisp.org>
8252
8253         New module 'waitpid'.
8254         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
8255         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
8256         Don't include <process.h>.
8257         (waitpid): Declare only, using modern idiom.
8258         * m4/waitpid.m4: New file.
8259         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
8260         * modules/waitpid: New file.
8261         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
8262         (Makefile.am): Update.
8263         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8264
8265 2010-09-28  Bruno Haible  <bruno@clisp.org>
8266
8267         poll: Assume ANSI C.
8268         * lib/poll.c (poll): Use an ANSI C declaration.
8269
8270 2010-09-28  Bruno Haible  <bruno@clisp.org>
8271
8272         poll-h: Create poll.h on all platforms.
8273         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
8274         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
8275         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
8276         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
8277         (gl_REPLACE_POLL_H): Don't set POLL_H.
8278         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
8279         * modules/poll-h (Depends-on): Add include_next.
8280         (Makefile.am): Create poll.h unconditionally. Substitute also
8281         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
8282
8283 2010-09-28  Bruno Haible  <bruno@clisp.org>
8284
8285         Tests for module 'poll-h'.
8286         * modules/poll-h-c++-tests: New file.
8287         * tests/test-poll-h-c++.cc: New file.
8288
8289         Tests for module 'poll-h'.
8290         * modules/poll-h-tests: New file.
8291         * tests/test-poll-h.c: New file.
8292
8293 2010-09-28  Bruno Haible  <bruno@clisp.org>
8294
8295         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
8296         * modules/poll-h (Depends-on): Add 'extensions'.
8297
8298 2010-09-28  Bruno Haible  <bruno@clisp.org>
8299
8300         New module 'poll-h'.
8301         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
8302         (poll): Use modern idiom.
8303         * modules/poll-h: New file.
8304         * modules/poll (Files): Remove lib/poll.in.h.
8305         (Depends-on): Add poll-h.
8306         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
8307         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
8308         * m4/poll_h.m4: New file.
8309         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
8310         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
8311         and invoke gl_REPLACE_POLL_H.
8312         * lib/poll.c: Use common idiom.
8313         * tests/test-poll.c: Likewise.
8314         * doc/posix-headers/poll.texi: Mention the poll-h module.
8315         Suggested by Eric Blake.
8316
8317 2010-09-26  Bruno Haible  <bruno@clisp.org>
8318
8319         sys_wait: Implement WSTOPSIG.
8320         * lib/sys_wait.in.h (WSTOPSIG): New macro.
8321         Reported by Simon Josefsson.
8322
8323 2010-09-26  Simon Josefsson  <simon@josefsson.org>
8324
8325         stdlib, sys_wait: Avoid compilation error on mingw.
8326         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
8327
8328 2010-09-26  Bruno Haible  <bruno@clisp.org>
8329
8330         stdlib tests: Avoid code duplication.
8331         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
8332         * modules/sys_wait-tests (Files): Likewise.
8333         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
8334         * tests/test-stdlib.c: Include test-sys_wait.h.
8335         (main): Invoke test_sys_wait_macros.
8336         * tests/test-sys_wait.c: Include test-sys_wait.h.
8337         (main): Invoke test_sys_wait_macros.
8338
8339 2010-09-25  Simon Josefsson  <simon@josefsson.org>
8340
8341         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
8342         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
8343         sure Windows sockets are working before calling getaddrinfo.
8344         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
8345         * doc/gnulib.texi (Windows sockets): Fix typo.
8346
8347 2010-09-25  Bruno Haible  <bruno@clisp.org>
8348
8349         Tests for module 'regex-quote'.
8350         * modules/regex-quote-tests: New file.
8351         * tests/test-regex-quote.c: New file.
8352
8353         New module 'regex-quote'.
8354         * lib/regex-quote.h: New file.
8355         * lib/regex-quote.c: New file.
8356         * modules/regex-quote: New file.
8357         Suggested by Reuben Thomas <rrt@sc3d.org>.
8358
8359 2010-09-24  Bruno Haible  <bruno@clisp.org>
8360
8361         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
8362         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
8363
8364 2010-09-23  Bruno Haible  <bruno@clisp.org>
8365
8366         setenv: Relax license.
8367         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
8368         Blake.
8369         Requested by Eric Blake.
8370
8371 2010-09-22  Bruno Haible  <bruno@clisp.org>
8372
8373         termios: Relax license.
8374         * modules/termios (License): Change to LGPLv2+.
8375         Requested by Eric Blake.
8376
8377 2010-09-22  Bruno Haible  <bruno@clisp.org>
8378
8379         threadlib: Allow the package to change the default to 'no'.
8380         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
8381         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
8382         Reported by Paul Eggert.
8383
8384 2010-09-22  Pádraig Brady  <P@draigbrady.com>
8385             Bruno Haible  <bruno@clisp.org>
8386
8387         Fix endless loop in mbmemcasecoll.
8388         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
8389         byte.
8390         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
8391
8392 2010-09-22  Bruno Haible  <bruno@clisp.org>
8393
8394         Tests for module 'memcoll'.
8395         * modules/memcoll-tests: New file.
8396         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
8397
8398         memcoll, xmemcoll: Clarify size vs. length.
8399         * modules/memcoll.c (memcoll0): Clarify specification.
8400         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
8401         passed to collate_error.
8402
8403 2010-09-22  Bruno Haible  <bruno@clisp.org>
8404
8405         Tests for module 'memcasecmp'.
8406         * modules/memcasecmp-tests: New file.
8407         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
8408
8409 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8410
8411         * lib/pthread.in.h: Add split double-inclusion guard, and include
8412         system <pthread.h> if there is one.  Use @@-style as in other
8413         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
8414         pthread.h doesn't.
8415         (pthread_mutexattr_destroy, pthread_mutexattr_init):
8416         (pthread_mutexattr_settype, pthread_mutex_trylock):
8417         New static inline functions, if there's no system <pthread.h>.
8418         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
8419         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
8420         Approximate with mutexes if the system lacks spinlocks, as in
8421         MacOS.
8422         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
8423         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
8424         @@-style.  Check for spinlocks separately.
8425         (gl_PTHREAD_DEFAULTS): New macro.
8426         * modules/pthread: Redo to use a more typical style for in.h files.
8427
8428 2010-09-21  Eric Blake  <eblake@redhat.com>
8429
8430         net_if: enhance tests
8431         * tests/test-net_if.c (main): Move signature checks earlier.
8432         Print failures to stderr.
8433         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
8434         Document the bug that we do not yet fix.
8435
8436 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8437
8438         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
8439         about gnulib, not GSS.
8440
8441 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
8442
8443         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
8444         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
8445         for Emacs.
8446         * build-aux/pmccabe2html: Make Makefile.am example code more
8447         cut-and-paste friendly.
8448
8449 2010-09-21  Simon Josefsson  <simon@josefsson.org>
8450
8451         * tests/test-net_if.c: New file.
8452         * modules/net_if-tests: New file.
8453
8454 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
8455
8456         pthread: add pthread_spin_destroy
8457         * lib/pthread.in.h (pthread_spin_destroy): New function.
8458
8459 2010-09-19  Bruno Haible  <bruno@clisp.org>
8460
8461         gnulib-tool: Fix --help output.
8462         * gnulib-tool (func_usage): Fix help message.
8463         Reported by Reuben Thomas <rrt@sc3d.org>.
8464
8465 2010-09-18  Jim Meyering  <meyering@redhat.com>
8466
8467         maint.mk: avoid unexpanded \n in two diagnostics
8468         * top/maint.mk (sc_prohibit_always_true_header_tests):
8469         Don't use a literal \n in a halt=... assignment.  It would not be
8470         expanded, and the two \n bytes would appear in the diagnostic output
8471         rather than the desired newline.  Use halt=$$(printf ... instead.
8472         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
8473
8474 2010-09-18  Bruno Haible  <bruno@clisp.org>
8475
8476         netinet_in: Doc tweak.
8477         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
8478         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8479
8480 2010-09-18  Jim Meyering  <meyering@redhat.com>
8481
8482         init.sh: correct an outdated comment
8483         * tests/init.sh (create_exe_shims_):  s/function/alias/
8484
8485         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
8486         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
8487         a file named "*.exe" is removed between the glob expansion and the
8488         processing of that oddly named file.
8489
8490 2010-09-17  Eric Blake  <eblake@redhat.com>
8491
8492         mirbsd: add some more support
8493         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
8494         in BSD family.
8495         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
8496         devices as OpenBSD.
8497         * m4/host-os.m4 (mirbsd): Add MirBSD.
8498
8499         tests: fix unportable assumption on sys/wait.h
8500         * tests/test-sys_wait.c (main): Relax test.
8501         * tests/test-stdlib.c (main): Likewise.
8502
8503         init.sh: accomodate directory with no .exes
8504         * tests/init.sh: Accomodate directory containing only scripts.
8505
8506         tests: avoid compiler warning
8507         * tests/test-stdlib.c (main): Use the variable.
8508
8509         fdutimens, fdutimensat: update signature, again
8510         * lib/utimens.h (gl_futimens): Delete, and move signature...
8511         (fdutimens): ...here.
8512         (fdutimensat): Rearrange signature.
8513         (lutimensat): Rename variable for clarity.
8514         * lib/fdutimensat.c (fdutimensat): Update signature.
8515         * lib/utimens.c (fdutimens): Likewise.
8516         (gl_futimens): Delete.
8517         (utimens, lutimens): Update callers.
8518         * lib/futimens.c (futimens): Likewise.
8519         * tests/test-fdutimensat.c: Likewise.
8520         * tests/test-utimens.c: Likewise.
8521         * tests/test-futimens.h: Update comment.
8522         * NEWS: Mention this.
8523         Suggested by Paul Eggert.
8524
8525 2010-09-17  Bruno Haible  <bruno@clisp.org>
8526
8527         Take over the maintenance of some older macros from Autoconf.
8528         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
8529         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
8530         GNU Autoconf.
8531         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
8532         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
8533
8534 2010-09-17  Eric Blake  <eblake@redhat.com>
8535
8536         fdutimensat: drop atflag validation
8537         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
8538         with valid fd, to close a race scenario where futimens is
8539         unsupported and FILE was replaced by a symlink.
8540         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
8541         accordingly.
8542         Suggested by Paul Eggert.
8543
8544 2010-09-16  Bruno Haible  <bruno@clisp.org>
8545
8546         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
8547         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
8548
8549 2010-09-16  Bruno Haible  <bruno@clisp.org>
8550
8551         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
8552         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
8553         login_tty exists.
8554         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8555
8556 2010-09-16  Bruno Haible  <bruno@clisp.org>
8557
8558         login_tty: Make the replacement code work on BSD systems.
8559         * lib/login_tty.c: Include <sys/ioctl.h>.
8560         (login_tty): Use ioctl TIOCSCTTY when available.
8561         * modules/login_tty (Depends-on): Add sys_ioctl.
8562         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8563
8564 2010-09-16  Bruno Haible  <bruno@clisp.org>
8565
8566         login_tty: Stricter unit test.
8567         * modules/login_tty-tests (Depends-on): Add tcgetsid.
8568         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
8569         and tcgetsid() after login_tty.
8570         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8571
8572 2010-09-16  Bruno Haible  <bruno@clisp.org>
8573
8574         New module 'tcgetsid'.
8575         * lib/tcgetsid.c: New file.
8576         * m4/tcgetsid.m4: New file.
8577         * modules/tcgetsid: New file.
8578         * modules/termios (Depends-on): Add c++defs, warn-on-use.
8579         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
8580         GNULIB_TCGETSID, HAVE_TCGETSID.
8581         * lib/termios.in.h: Include <sys/types.h>.
8582         (tcgetsid): New declaration.
8583         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
8584         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
8585         * doc/posix-functions/tcgetsid.texi: Mention the new module.
8586         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
8587
8588 2010-09-16  Bruno Haible  <bruno@clisp.org>
8589
8590         Tests for module 'termios'.
8591         * modules/termios-c++-tests: New file.
8592         * modules/termios-tests: New file.
8593         * tests/test-termios-c++.cc: New file.
8594         * tests/test-termios.c: New file.
8595
8596         New module 'termios'.
8597         * modules/termios: New file.
8598         * lib/termios.in.h: New file.
8599         * m4/termios_h.m4: New file.
8600         * doc/posix-headers/termios.texi: Mention the new module.
8601
8602 2010-09-16  Eric Blake  <eblake@redhat.com>
8603
8604         fdutimensat: add an atflag parameter
8605         * lib/fdutimensat.c (fdutimensat): Add new parameter.
8606         * lib/utimens.h (fdutimensat): Update prototype.
8607         * tests/test-fdutimensat.c: Adjust test to match.
8608         * NEWS: Document the change.
8609         Suggested by Paul Eggert.
8610
8611 2010-09-16  Bruno Haible  <bruno@clisp.org>
8612
8613         Fix typos in comments.
8614         * lib/striconveh.h: Fix typo in comment.
8615         * lib/login_tty.c (login_tty): Likewise.
8616
8617 2010-09-15  Bruno Haible  <bruno@clisp.org>
8618
8619         stdlib: clarify MirBSD WEXITSTATUS bug
8620         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
8621         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8622
8623 2010-09-15  Eric Blake  <eblake@redhat.com>
8624
8625         stdlib: work around MirBSD WEXITSTATUS bug
8626         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
8627         * modules/stdlib (Depends-on): Add sys_wait.
8628         * tests/test-sys_wait.c (main): Enhance test.
8629         * tests/test-stdlib.c (main): Likewise.
8630         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
8631
8632         docs: mention MacOS issue with WEXITSTATUS(constant)
8633         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
8634         issue.
8635         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
8636
8637         strnlen: add tests
8638         * modules/strnlen-tests: New file.
8639         * tests/test-strnlen.c: Likewise.
8640
8641 2010-09-14  Bruno Haible  <bruno@clisp.org>
8642
8643         unistr/base: Avoid link errors when module 'libunistring' is also used.
8644         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
8645         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
8646         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
8647         Declare also when HAVE_LIBUNISTRING is set.
8648         Reported by Pádraig Brady <P@draigbrady.com>.
8649
8650 2010-09-14  Eric Blake  <eblake@redhat.com>
8651
8652         test-rawmemchr: make more robust
8653         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
8654         (Depends-on, configure.ac): Add needed prerequisites to use it.
8655         * modules/memchr-tests (Files, Depends-on, configure.ac):
8656         Likewise, to avoid implicit reliance on memchr module prereqs.
8657         * tests/test-memchr.c (main): Ensure proper masking.
8658         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
8659         reads.
8660
8661         memchr: detect glibc Alpha bug
8662         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
8663         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
8664         Alpha.
8665         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
8666         * tests/test-memchr.c (main): Enhance test.
8667         Reported by Nelson H. F. Beebe.
8668
8669 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8670
8671         fts, getcwd, glob: audit for dirfd returning -1
8672         * lib/fts.c (opendir): Remove #define; no longer used.
8673         (opendirat): New arg PDIR_FD.  All callers changed.
8674         (fts_build, _opendir2): Use new opendirat to avoid the need for
8675         dirfd, or for checking whether dirfd returns a negative value.
8676         Don't use opendir; always use openat followed by fdopendir.
8677         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
8678         it.
8679         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
8680         returns -1 here.
8681         * modules/fts (Depends-on): Remove dirfd.
8682         * modules/getcwd (Depends-on): Likewise.
8683
8684 2010-09-13  Eric Blake  <eblake@redhat.com>
8685
8686         float: fix broken MirBSD header
8687         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
8688         * doc/posix-headers/float.texi (float.h): Document it.
8689
8690 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8691
8692         fts: use O_NOFOLLOW to avoid race condition when opening a directory
8693         * lib/fts.c (opendirat): New arg extra_flags.
8694         (__opendir2): Use it to avoid following symlinks when opening
8695         a directory, if symlinks are not supposed to be followed.  See
8696         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
8697
8698         fdopendir: preserve argument fd before returning
8699         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
8700         (fdopendir_with_dup, fd_clone_opendir): New static functions.
8701         (fdopendir): Use them, arranging for FD to be open to the same
8702         directory that it was when it started.  (It might be temporarily
8703         closed while fdopendir is running, so this not thread- or
8704         signal-safe.)  Be careful to do the right thing even when file
8705         descriptors are scarce and dup fails with errno == EMFILE.  See
8706         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
8707
8708 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
8709
8710         regex: Pass the system regex if its only problem is 32-bit regoff_t.
8711         * NEWS: Document change.
8712         * m4/regex.m4: Disable test for regoff_t size.
8713
8714 2010-09-13  Jim Meyering  <meyering@redhat.com>
8715
8716         fts: don't operate on an invalid file descriptor after failed dup
8717         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
8718         negative file descriptor.
8719
8720 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8721
8722         savedir: add streamsavedir, deprecate fdsavedir
8723         * NEWS: Mention deprecation of fdsavedir.
8724         * lib/savedir.c (streamsavedir): New extern function, whose name
8725         ends in "savedir" to be consistent with the others.  This differs
8726         from savedirstream in that it doesn't close its argument.  The
8727         next version of GNU tar will use this instead of fdsavedir, to
8728         avoid some race conditions and conserve file descriptors.
8729         (savedirstream): Reimplement as a wrapper around streamsavedir.
8730         (fdsavedir): Add a comment deprecating this function.  As far as
8731         I know, only GNU tar used it, and GNU tar doesn't need it any more.
8732         * lib/savedir.h (streamsavedir): New decl.
8733         (fdsavedir): Add a comment deprecating this.
8734
8735 2010-09-10  Bruno Haible  <bruno@clisp.org>
8736
8737         langinfo: Fix last commit.
8738         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
8739         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
8740         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8741
8742 2010-09-10  Bruno Haible  <bruno@clisp.org>
8743
8744         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
8745         * lib/progreloc.c (O_EXEC): Define fallback.
8746
8747 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8748
8749         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
8750         * NEWS: Document recent changes to fcntl-h.
8751         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
8752         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
8753         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
8754         Similarly for O_SEARCH; this last was already true, but not documented.
8755         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
8756         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
8757         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
8758         Likewise.
8759         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
8760         is zero, not whether it is defined.
8761         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
8762         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
8763         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
8764
8765 2010-09-10  Bruno Haible  <bruno@clisp.org>
8766
8767         langinfo, nl_langinfo: Fix for IRIX 5.3.
8768         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8769         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8770         HAVE_LANGINFO_YESEXPR.
8771         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8772         HAVE_LANGINFO_YESEXPR.
8773         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8774         HAVE_LANGINFO_T_FMT_AMPM is 0.
8775         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8776         HAVE_LANGINFO_YESEXPR is 0.
8777         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8778         NOEXPR.
8779         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8780         * doc/posix-functions/nl_langinfo.texi: Likewise.
8781         Reported by Eric Blake.
8782
8783 2010-09-10  Bruno Haible  <bruno@clisp.org>
8784
8785         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8786         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8787         on FreeBSD 8.0 and OpenBSD 4.6.
8788         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8789         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8790         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8791         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8792         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8793         ac_includes_default.
8794         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8795
8796 2010-09-09  Eric Blake  <eblake@redhat.com>
8797
8798         strsignal: work around NetBSD bug
8799         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8800         * lib/string.in.h (includes): Likewise.
8801         * doc/posix-functions/strsignal.texi (strsignal): Document the
8802         bug.
8803         Reported by Nelson H. F. Beebe.
8804
8805         gnulib-tool: work with NetBSD /bin/sh
8806         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8807         (func_get_description, func_get_comment, func_get_status)
8808         (func_get_notice, func_get_applicability, func_get_filelist)
8809         (func_get_dependencies, func_get_autoconf_early_snippet)
8810         (func_get_autoconf_snippet, func_get_automake_snippet)
8811         (func_get_include_directive, func_get_link_directive)
8812         (func_get_license, func_get_maintainer, func_import): Avoid
8813         shell syntax errors from parsing syntax extensions.
8814
8815 2010-09-09  Bruno Haible  <bruno@clisp.org>
8816
8817         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8818         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8819         a reliable way to determine whether the 'alias' command works.
8820
8821 2010-09-08  Jim Meyering  <meyering@redhat.com>
8822
8823         init.sh: penalize a set-x-impaired shell; don't disqualify it
8824         * tests/init.sh: Too many shells corrupt application stderr when
8825         you set -x, so we can't afford to disqualify them, since at least
8826         on Irix-6.5, that would disqualify all bourne shells.
8827         Instead, use a two-pass approach.
8828         On the first pass, try to find a shell that meets the stricter
8829         condition that set -x does not corrupt stderr.
8830         If no shell meets the stricter condition, retest each candidate
8831         shell, but without that extra condition.  Finally, when
8832         VERBOSE=yes is requested and set -x might cause trouble, simply
8833         issue a warning and refrain from enabling debug output.
8834
8835 2010-09-08  Eric Blake  <eblake@redhat.com>
8836
8837         unsetenv: fix OpenBSD bug
8838         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8839         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8840         documentation.
8841         Reported by Jim Meyering.
8842
8843         strtod: work around IRIX 6.5 bug
8844         * lib/strtod.c (strtod): Reparse number on shorter string if
8845         exponent parse was invalid.
8846         * tests/test-strtod.c (main): Add check for "0x1p 2".
8847         Reported by Tom G. Christensen.
8848
8849         getopt: optimize previous patch
8850         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8851         empty variable.  Speed up awk script.
8852         Reported by Paolo Bonzini.
8853
8854 2010-09-08  Jim Meyering  <meyering@redhat.com>
8855
8856         test.sh: disqualify shells for which set -x corrupts stderr
8857         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8858         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8859         appear in stderr output.  For example, this command:
8860             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8861         prints "P=1" on those two systems:
8862
8863 2010-09-08  Bruno Haible  <bruno@clisp.org>
8864
8865         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8866         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8867         commands, because some shells ignore redirections when there is an
8868         error in the command lookup.
8869         Reported by Eric Blake.
8870
8871 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8872
8873         * lib/regex.h: Fix a mention of `regex_compile' (should be
8874         `re_compile_pattern').
8875         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8876         (re_set_registers): Correct name of parameter in comment.
8877
8878         * doc/regex.texi: Add documentation for missing syntax flags.
8879         Remove commented-out documentation of defunct syntax option
8880         RE_NO_EMPTY_ALTS.
8881         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8882         Add documentation of re_set_registers.
8883         Document trick to re-use a pattern buffer by setting fastmap manually.
8884         Update documentation of struct re_pattern_buffer per public members.
8885         Uncomment documentation of equivalence class operators and
8886         collating symbol operators, since they are now implemented,
8887         Explain leftmost-longest matching in relation to alternatives.
8888         Tidy documentation of substring matching.
8889         Remove POSIX documentation, which is done better in
8890         glibc, and refer the reader there. Keep BSD API documentation, as
8891         that is not readily available elsewhere.
8892
8893 2010-09-07  Eric Blake  <eblake@redhat.com>
8894
8895         getopt: handle POSIXLY_CORRECT set but not exported
8896         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8897         export state of POSIXLY_CORRECT, due to bash set -o posix.
8898         Reported by Dustin J. Mitchell.
8899
8900 2010-09-05  Bruno Haible  <bruno@clisp.org>
8901
8902         gnulib-tool: Highlight the changed options.
8903         * gnulib-tool (func_usage): Display the --import, --add-import,
8904         --remove-import explanations in bold font.
8905
8906 2010-09-06  Karl Berry  <karl@gnu.org>
8907
8908         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8909
8910 2010-09-05  Bruno Haible  <bruno@clisp.org>
8911
8912         uniwidth/width: Update comment.
8913         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8914         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8915
8916 2010-09-05  Bruno Haible  <bruno@clisp.org>
8917
8918         isinf, isnan: Relax license.
8919         * modules/isinf (License): Change from GPL to LGPL, with consent from
8920         Ben Pfaff.
8921         * modules/isnan (License): Likewise.
8922         Requested by Ludovic Courtès.
8923
8924 2010-09-04  Bruno Haible  <bruno@clisp.org>
8925
8926         gnulib-tool: Help migration from --import to --add-import or --update.
8927         * gnulib-tool: Emit a verbose error message when --import is used
8928         without any module name.
8929
8930 2010-09-04  Bruno Haible  <bruno@clisp.org>
8931
8932         Update doc about gnulib-tool.
8933         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8934         'gnulib-tool --update' in more detail.
8935         Reported by Eric Blake.
8936
8937 2010-09-04  Bruno Haible  <bruno@clisp.org>
8938
8939         gnulib-tool: Change --import. New options --add/remove-import.
8940         * gnulib-tool: New options --add-import, --remove-import.
8941         (func_usage): Document them.
8942         (have_associative): Define always.
8943         (func_import): In import mode, don't merge the specified settings with
8944         the cached settings. Implement remove-import mode.
8945         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8946         Explain when to use them versus --import.
8947         (Simple update): Use --add-import instead of --import.
8948         * NEWS: Mention the change.
8949
8950 2010-09-04  Bruno Haible  <bruno@clisp.org>
8951
8952         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8953         separate gnulib.mk.
8954
8955 2010-09-04  Bruno Haible  <bruno@clisp.org>
8956
8957         gnulib-tool: Don't talk about CVS any more.
8958         * gnulib-tool (func_usage, func_import): Write "version control"
8959         instead of CVS.
8960
8961 2010-09-04  Jim Meyering  <meyering@redhat.com>
8962
8963         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8964         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8965         false positives (whose names may be ill-chosen) when searching
8966         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8967         would cause a false-positive.
8968
8969         avoid coreutils "make distcheck" failure
8970         Coreutils tests with an absolute build directory name that contains
8971         a space.  Not quoting this directory name caused a failure.
8972         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8973         * tests/test-vc-list-files-cvs.sh: Likewise.
8974
8975 2010-09-04  Bruno Haible  <bruno@clisp.org>
8976
8977         gnulib-tool: Avoid error when run in a package without Makefile.am.
8978         * gnulib-tool: When collecting the m4dirs in a package that does not
8979         have a Makefile.am, eliminate those directories that contain no
8980         gnulib-cache.m4. Fix expression that counts these directories.
8981
8982 2010-09-04  Bruno Haible  <bruno@clisp.org>
8983
8984         update-copyright test: Improve output when perl is missing or too old.
8985         * tests/test-update-copyright.sh: Move test of Perl version down after
8986         the test whether Perl exists. Provide an explanation relating Perl's
8987         error message to Automake's SKIP: message.
8988
8989 2010-09-04  Bruno Haible  <bruno@clisp.org>
8990
8991         Don't augment PATH in TESTS_ENVIRONMENT.
8992         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8993         set abs_aux_dir instead of augmenting PATH.
8994         * modules/vc-list-files-tests (Makefile.am): Likewise.
8995         * tests/test-update-copyright.sh: Augment PATH here.
8996         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8997         path_prepend_.
8998         * tests/test-vc-list-files-git.sh: Likewise.
8999
9000 2010-09-04  Jim Meyering  <meyering@redhat.com>
9001
9002         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
9003         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
9004
9005 2010-09-04  Bruno Haible  <bruno@clisp.org>
9006
9007         strdup: Fix compilation error in C++ mode.
9008         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
9009         the macro.
9010
9011 2010-09-04  Bruno Haible  <bruno@clisp.org>
9012
9013         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
9014         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
9015         macro into a function.
9016         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9017
9018 2010-09-04  Bruno Haible  <bruno@clisp.org>
9019
9020         Set PATH_SEPARATOR the same way autoconf does.
9021         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
9022         the value of PATH_SEPARATOR the same way autoconf-generated configure
9023         scripts do.
9024         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
9025         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
9026
9027 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9028
9029         Set PATH_SEPARATOR the same way autoconf does.
9030         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
9031         the same way autoconf-generated configure scripts do.
9032         * posix-modules: Likewise.
9033
9034 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9035
9036         hash: fix safe_hasher const typo
9037         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
9038         const; otherwise, there is a type error later.
9039
9040 2010-09-02  Jim Meyering  <meyering@redhat.com>
9041
9042         test-update-copyright.sh: require perl 5.8.0
9043         * tests/test-update-copyright.sh: Require 5.8.0,
9044         which Tom G. Christensen has confirmed is adequate,
9045         while 5.6.1 is not.
9046
9047 2010-09-02  Eric Blake  <eblake@redhat.com>
9048
9049         tests: init.sh improvements for re-exec'ing with zsh
9050         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
9051         -vx through shell re-exec.
9052         Reported by Tom G. Christensen.
9053
9054         wctype: fix typo in previous commit
9055         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
9056         Reported by Ludovic Courtès.
9057
9058 2010-09-02  Jim Meyering  <meyering@redhat.com>
9059
9060         test-update-copyright.sh: skip test if Perl is too old
9061         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
9062         Reported by Tom G. Christensen.
9063
9064 2010-09-02  Bruno Haible  <bruno@clisp.org>
9065
9066         wctype: Avoid compilation error on IRIX 6.5.30.
9067         * lib/wctype.in.h (iswblank): Declare with a replacement if
9068         REPLACE_ISWBLANK is set.
9069         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
9070         declared. Set REPLACE_ISWBLANK.
9071         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
9072         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
9073         * doc/posix-headers/wctype.texi: Likewise.
9074         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9075
9076 2010-09-01  Bruno Haible  <bruno@clisp.org>
9077
9078         New module 'socketlib'.
9079         * modules/socketlib: New file.
9080         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
9081         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
9082         * modules/sockets (Depends-on): Add socketlib.
9083         Suggested by Sam Steingold <sds@gnu.org>.
9084
9085 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9086
9087         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
9088
9089         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
9090         when one needs search access to a directory but not read access.
9091         On systems where it is available, it works in some cases where
9092         O_RDONLY does not, namely on directories that are searchable but
9093         not readable, and which need only to be searchable.  If O_SEARCH
9094         is not available, fall back to the traditional method of using
9095         O_RDONLY.
9096
9097         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
9098         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
9099         when opening a directory that needs only to be searchable.
9100         * lib/chdir-safer.c (chdir_no_follow): Likewise.
9101         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
9102         * lib/openat-proc.c (openat_proc_name): Likewise.
9103         * lib/openat.c (openat_needs_fchdir): Likewise.
9104         * lib/save-cwd.c (save_cwd): Likewise.
9105         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
9106
9107 2010-08-28  Bruno Haible  <bruno@clisp.org>
9108
9109         New module 'host-cpu-c-abi'.
9110         * modules/host-cpu-c-abi: New file.
9111         * m4/host-cpu-c-abi.m4: New file, based on part of
9112         clisp/src/m4/general.m4.
9113         Requested by Sam Steingold <sds@gnu.org>.
9114
9115 2010-08-31  Eric Blake  <eblake@redhat.com>
9116         and Jim Meyering  <meyering@redhat.com>
9117
9118         hash: factor, and guard against misbehaving hasher function
9119         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
9120         of table->hasher's return value.  Also protect against a hash value
9121         so large that adding it to table->bucket results in a NULL pointer.
9122         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
9123         Use it in place of open-coded check-and-abort.
9124
9125 2010-08-30  Bruno Haible  <bruno@clisp.org>
9126
9127         hash: silence spurious clang warning
9128         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
9129         Reported by Eric Blake.
9130
9131 2010-08-30  Eric Blake  <eblake@redhat.com>
9132
9133         strstr, memmem, strcasestr: avoid leaked shell message
9134         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
9135         FreeBSD.
9136         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9137         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9138
9139         tests: silence clang warning
9140         * tests/test-malloca.c (do_allocation): Avoid dead store.
9141
9142 2010-08-29  Bruno Haible  <bruno@clisp.org>
9143
9144         gettext: Fix recent mistake.
9145         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
9146
9147 2010-08-29  Bruno Haible  <bruno@clisp.org>
9148
9149         selinux-h: Offer a --without-selinux option.
9150         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
9151         --without-selinux was specified, skip all tests and define
9152         HAVE_SELINUX_SELINUX_H to 0.
9153         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
9154         set LIB_SELINUX to empty.
9155         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
9156         gl_LIBSELINUX. If --without-selinux was specified, replace
9157         selinux/context.h.
9158         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
9159
9160 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9161             Bruno Haible  <bruno@clisp.org>
9162
9163         Make the module 'realloc-gnu' work again on AIX and OSF/1.
9164         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
9165         of HAVE_REALLOC.
9166         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
9167         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
9168         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
9169         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9170
9171 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9172             Bruno Haible  <bruno@clisp.org>
9173
9174         Make the module 'calloc-gnu' work again on AIX and OSF/1.
9175         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
9176         HAVE_CALLOC.
9177         * lib/xmalloc.c: Update accordingly.
9178         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9179         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
9180         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
9181
9182 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9183             Bruno Haible  <bruno@clisp.org>
9184
9185         Make the module 'malloc-gnu' work again on AIX and OSF/1.
9186         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
9187         HAVE_MALLOC.
9188         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
9189         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
9190         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9191
9192 2010-08-29  Bruno Haible  <bruno@clisp.org>
9193
9194         Update modules list.
9195         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
9196         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
9197         (String handling <string.h>): Add astrxfrm.
9198         (File system functions): Add readlinkat.
9199
9200 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9201
9202         Tests for module 'realloc-gnu'.
9203         * modules/realloc-gnu-tests: New file.
9204         * tests/test-realloc-gnu.c: New file.
9205
9206         Tests for module 'calloc-gnu'.
9207         * modules/calloc-gnu-tests: New file.
9208         * tests/test-calloc-gnu.c: New file.
9209
9210         Tests for module 'malloc-gnu'.
9211         * modules/malloc-gnu-tests: New file.
9212         * tests/test-malloc-gnu.c: New file.
9213
9214 2010-08-28  Bruno Haible  <bruno@clisp.org>
9215
9216         Rename module 'realloc' -> 'realloc-gnu'.
9217         * modules/realloc-gnu: New file, copied from modules/realloc.
9218         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
9219         obsolete.
9220         * modules/mgetgroups (Depends-on): Update.
9221         * doc/posix-functions/realloc.texi: Update.
9222         * NEWS: Mention the change.
9223
9224         Rename module 'calloc' -> 'calloc-gnu'.
9225         * modules/calloc-gnu: New file, copied from modules/calloc.
9226         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
9227         obsolete.
9228         * doc/posix-functions/calloc.texi: Update.
9229         * NEWS: Mention the change.
9230
9231         Rename module 'malloc' -> 'malloc-gnu'.
9232         * modules/malloc-gnu: New file, copied from modules/malloc.
9233         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
9234         obsolete.
9235         * modules/argp (Depends-on): Update.
9236         * modules/regex (Depends-on): Update.
9237         * doc/posix-functions/malloc.texi: Update.
9238         * NEWS: Mention the change.
9239
9240 2010-08-28  Eric Blake  <eblake@redhat.com>
9241
9242         pread, pwrite: add missing dependency
9243         * modules/pread (Depends-on): Add extensions.
9244         * modules/pwrite (Depends-on): Likewise.
9245
9246 2010-08-28  Bruno Haible  <bruno@clisp.org>
9247
9248         unistr/u*-strchr: Fix tests dependencies.
9249         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
9250         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
9251         Reported by Ian Beckwith <ianb@erislabs.net>.
9252
9253 2010-08-28  Bruno Haible  <bruno@clisp.org>
9254
9255         read-file: Don't occupy too much unused memory.
9256         * lib/read-file.c (fread_file): Shrink the buffer at the end.
9257
9258 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
9259             Eric Blake  <eblake@redhat.com>
9260             Bruno Haible  <bruno@clisp.org>
9261
9262         read-file: Avoid memory reallocations with regular files.
9263         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
9264         (fread_file): With regular files, use the remaining length as the
9265         initial buffer size.  Check against overflow.
9266         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
9267         sys_stat.
9268
9269 2010-08-28  Bruno Haible  <bruno@clisp.org>
9270
9271         ftello: Relax license.
9272         * modules/ftello (License): Relax to LGPLv2+.
9273         Reported by Eric Blake.
9274
9275 2010-08-28  Bruno Haible  <bruno@clisp.org>
9276
9277         Avoid relocwrapper link errors due to gnulib replacement functions.
9278         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
9279         function.
9280         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9281
9282 2010-08-28  Bruno Haible  <bruno@clisp.org>
9283
9284         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
9285         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
9286         defined.
9287         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
9288         Suggested by Eric Blake.
9289
9290 2010-08-28  Bruno Haible  <bruno@clisp.org>
9291
9292         sys_socket, netdb: Ensure socklen_t gets defined.
9293         * modules/sys_socket (Depends-on): Add socklen.
9294         * modules/netdb (Depends-on): Likewise.
9295         * modules/getaddrinfo (Depends-on): Remove socklen.
9296         * modules/getsockopt (Depends-on): Likewise.
9297         * modules/setsockopt (Depends-on): Likewise.
9298         * tests/test-sys_socket.c: Check that socklen_t is defined.
9299         * tests/test-netdb.c: Likewise.
9300         * m4/socklen.m4: Update comments.
9301         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9302
9303 2010-08-27  Eric Blake  <eblake@redhat.com>
9304
9305         login_tty: add missing dependency
9306         * modules/login_tty (Depends-on): Add pty.
9307
9308 2010-08-26  Eric Blake  <eblake@redhat.com>
9309
9310         lib-symbol-versions: fix m4 quoting
9311         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
9312         format for AC_LINK_IFELSE.
9313
9314         glob: fix compile test
9315         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
9316
9317         btowc: fix missing file
9318         * modules/btowc (Files): Also ship locale-fr.m4.
9319
9320         lseek: fix link test
9321         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
9322         AC_LINK_IFELSE.
9323
9324         include_next: silence autoconf 2.68 warning
9325         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
9326         AC_COMPILE_IFELSE as special.
9327         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
9328         autoconf < 2.68.
9329
9330         acl: fix compilation test
9331         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
9332         AC_COMPILE_IFELSE.
9333
9334 2010-08-26  Bruno Haible  <bruno@clisp.org>
9335
9336         Modernize AC_TRY_RUN invocations.
9337         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
9338         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9339         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
9340         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
9341         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
9342         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9343         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9344         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9345         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9346         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9347         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9348         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9349         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9350         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9351         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9352         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9353         gl_MBRLEN_NUL_RETVAL): Likewise.
9354         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9355         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9356         Likewise.
9357         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9358         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9359         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9360         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9361         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
9362         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
9363         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
9364         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9365         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
9366         Likewise.
9367         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9368         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
9369         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9370         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9371         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9372         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9373         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9374         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
9375         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9376         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
9377
9378 2010-08-26  Bruno Haible  <bruno@clisp.org>
9379
9380         Modernize AC_TRY_LINK invocations.
9381         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
9382         AC_TRY_LINK.
9383         * m4/argp.m4 (gl_ARGP): Likewise.
9384         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
9385         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
9386         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
9387         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
9388         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
9389         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
9390         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
9391         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
9392         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
9393         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
9394         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
9395         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
9396         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
9397         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9398         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
9399         * m4/hostent.m4 (gl_HOSTENT): Likewise.
9400         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9401         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
9402         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
9403         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
9404         Likewise.
9405         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
9406         Likewise.
9407         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
9408         Likewise.
9409         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
9410         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
9411         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
9412         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
9413         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
9414         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9415         * m4/servent.m4 (gl_SERVENT): Likewise.
9416         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
9417         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
9418         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
9419         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
9420         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9421         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
9422         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
9423         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9424         * modules/tsearch-tests (configure.ac): Likewise.
9425
9426 2010-08-26  Bruno Haible  <bruno@clisp.org>
9427
9428         Modernize AC_TRY_COMPILE invocations.
9429         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
9430         AC_TRY_COMPILE.
9431         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
9432         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
9433         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
9434         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
9435         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
9436         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
9437         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
9438         * m4/lock.m4 (gl_LOCK): Likewise.
9439         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
9440         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
9441         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
9442         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9443         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
9444         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
9445         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
9446         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
9447         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
9448         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
9449         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
9450         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9451         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
9452         extraneous semicolon.
9453
9454 2010-08-26  Jim Meyering  <meyering@redhat.com>
9455
9456         stat-time: relax license LGPL
9457         * modules/stat-time (License): Change from GPL to LGPL,
9458         with consent from all contributors, for use in libguile.
9459         Requested by Ludovic Courtès.
9460
9461 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
9462
9463         poll: return immediately on POLLHUP.
9464         * lib/poll.c (poll): Always set timeout before wait_timeout is
9465         computed.
9466
9467 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9468
9469         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
9470         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
9471         rmdir ("dir/.//"), unlinkat.
9472
9473 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9474
9475         stdbool: avoid spurious failure with modern xlc
9476         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9477
9478 2010-08-24  Bruno Haible  <bruno@clisp.org>
9479
9480         getloadavg: simplify code
9481         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
9482         gl_have_func. Update comments.
9483
9484 2010-08-24  Eric Blake  <eblake@redhat.com>
9485
9486         getloadavg: don't define SVR4 on cygwin
9487         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
9488         only define SVR4 when -lkvm is required.
9489         Reported by Yaakov Selkowitz.
9490
9491 2010-08-24  Bruno Haible  <bruno@clisp.org>
9492
9493         priv-set: fix comment
9494         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
9495
9496 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9497
9498         priv-set: fix comments
9499         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
9500         to match code, as suggested by David Bartley in:
9501         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
9502
9503 2010-08-23  Eric Blake  <eblake@redhat.com>
9504
9505         stdbool: avoid rejecting clang
9506         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
9507         * tests/test-stdbool.c: Enable more tests if using the system
9508         <stdbool.h> instead of the gnulib replacement.
9509         (main): Move xlc bug test to a runtime test for all compilers.
9510         Reported by Anders Kaseorg.
9511
9512         argz: fix shell quoting issue
9513         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
9514         Reported by Charles Wilson.
9515
9516 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
9517             Erik Faye-Lund <kusmabite@gmail.com>
9518
9519         poll, select: handle ERROR_BROKEN_PIPE.
9520         * lib/poll.c (win32_compute_revents): Return POLLHUP when
9521         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9522         * lib/select.c (win32_compute_revents): Do not mark a pipe
9523         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
9524
9525 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
9526
9527         fts: allow compilation with C++
9528         * lib/fts_.h: Specify extern "C" linkage with C++.
9529
9530 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9531
9532         Fix gnulib-tool sed script de-commentation for AIX sed.
9533         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
9534         sed.
9535
9536 2010-08-17  Eric Blake  <eblake@redhat.com>
9537
9538         test-stddef: test for (some) offsetof bugs
9539         * tests/test-stddef.c: Enhance test to ensure correct type of
9540         offsetof.
9541         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
9542         that we are not fixing at this time.
9543
9544 2010-08-15  Bruno Haible  <bruno@clisp.org>
9545
9546         stpncpy: Allow stpncpy to be defined as a macro.
9547         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
9548         if it's already correctly declared.
9549         * lib/string.in.h (stpncpy): Undefine before redefining.
9550         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
9551
9552 2010-08-14  Bruno Haible  <bruno@clisp.org>
9553
9554         Rename module 'memxfrm' to 'amemxfrm'.
9555         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
9556         (amemxfrm): Renamed from memxfrm.
9557         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
9558         (amemxfrm): Renamed from memxfrm.
9559         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
9560         * NEWS: Mention the change.
9561         * MODULES.html.sh (String handling <string.h>): Update.
9562         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
9563         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
9564         * lib/unicase/u16-casexfrm.c: Likewise.
9565         * lib/unicase/u32-casexfrm.c: Likewise.
9566         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
9567         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
9568         * lib/uninorm/u16-normxfrm.c: Likewise.
9569         * lib/uninorm/u32-normxfrm.c: Likewise.
9570         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
9571         memxfrm.
9572         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
9573         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
9574         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
9575         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
9576         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
9577         Suggested by Paul Eggert.
9578
9579 2010-08-14  Bruno Haible  <bruno@clisp.org>
9580
9581         Tests for module 'astrxfrm'.
9582         * modules/astrxfrm-tests: New file.
9583         * tests/test-astrxfrm.c: New file.
9584
9585         New module 'astrxfrm'.
9586         * lib/astrxfrm.h: New file.
9587         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
9588         * modules/astrxfrm: New file.
9589
9590 2010-08-14  Reuben Thomas <rrt@sc3d.org>
9591
9592         regex: Tweak doc.
9593         * doc/regex.texi (Overview): Don't mention regex.c.
9594         (GNU Regular Expression Compiling): Likewise.
9595         (Match-end-of-line Operator): Mention 'not_eol'.
9596
9597 2010-08-14  Brian Gough  <bjg@gnu.org>
9598             Bruno Haible  <bruno@clisp.org>
9599
9600         git-merge-changelog: add doc relating to use with bzr and hg.
9601         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
9602
9603 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
9604
9605         pthread: fix pthread.h creation for srcdir != builddir
9606         * modules/pthread (Makefile.am): Fix the rule to work also in a
9607         non-srcdir build.
9608
9609 2010-08-13  Karl Berry  <karl@gnu.org>
9610
9611         * doc/regex.texi (Predefined Syntaxes): @smallexample.
9612         * doc/posix-*/*: force line break before @url of POSIX
9613         specifications.
9614         Suggested by Werner Lemberg.
9615
9616 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9617
9618         strtod: fix const diagnostic
9619         * lib/strtod.c (strtod): Don't assign const char * to char *,
9620         as this elicits a warning from GCC when warnings are enabled.
9621
9622 2010-08-10  Pádraig Brady <P@draigbrady.com>
9623         and Eric Blake  <eblake@redhat.com>
9624
9625         copy-acl: ignore ENOTSUP on HP-UX
9626         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
9627         so that it is available for HP-UX.
9628         * lib/copy-acl.c (qcopy_acl): Use it.
9629         Reported by Patrick M. Callahan.
9630
9631 2010-08-10  Eric Blake  <eblake@redhat.com>
9632
9633         open, chown: relax license
9634         * modules/open (License): Change to LGPLv2+, with consent by all
9635         authors, for use in augeas.
9636         * modules/chown (License): Likewise.
9637         * modules/lchown (Likewise): Likewise.
9638         Requested by Adam Stokes.
9639
9640 2010-08-09  Karl Berry  <karl@gnu.org>
9641
9642         * build-aux/ar-lib: new file, import from Automake.
9643         * config/srclist.txt: autocheck for updates.
9644
9645 2010-08-09  Eric Blake  <eblake@redhat.com>
9646
9647         readlinkat: adjust client modules
9648         * modules/areadlinkat (Depends-on): Use readlinkat, not
9649         symlinkat.
9650         * modules/areadlinkat-with-size (Depends-on): Likewise.
9651
9652         mknod: be more vocal about danger of running tests as root
9653         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
9654         root, since that is just asking for problems.
9655         Suggested by Bruno Haible, based on a report by Rainer Tammer.
9656
9657         readlinkat: split into its own module
9658         * modules/symlinkat: Split readlinkat...
9659         * modules/readlinkat: ...into separate module.
9660         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
9661         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
9662         * lib/symlinkat.c (readlinkat): Move...
9663         * lib/readlinkat.c: ...into new file.
9664         * modules/symlinkat-tests: Split readlinkat test...
9665         * modules/readlinkat-tests: ...into separate module.
9666         * tests/test-symlinkat.c: Split...
9667         * tests/test-readlinkat.c: ...into new file.
9668         * NEWS: Document the split.
9669         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
9670         * lib/unistd.in.h (readlinkat): Likewise.
9671         Suggested by Bruno Haible.
9672
9673 2010-08-08  Bruno Haible  <bruno@clisp.org>
9674
9675         memxfrm: Speed up.
9676         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
9677         that usually only one call to strxfrm is necessary for each string
9678         part.
9679         Reported by Paul Eggert <eggert@cs.ucla.edu>.
9680
9681 2010-08-07  Karl Berry  <karl@gnu.org>
9682
9683         * doc/posix-headers/limits.texi,
9684         * doc/posix-functions/malloc.texi,
9685         * doc/posix-functions/strsignal.texi: missing @item.
9686         * doc/ld-version-script.texi: spurious leading i.
9687         * doc/regex.texi (Interval Operators): no commas inside @var.
9688
9689 2010-08-01  Bruno Haible  <bruno@clisp.org>
9690
9691         Integrate the regex documentation.
9692         * doc/gnulib.texi: Define 'cn' index.
9693         (Regular expressions): New a chapter that includes regex.texi and
9694         regexprops-generic.texi.
9695         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
9696         syntax.
9697
9698         Whitespace cleanup.
9699         * doc/regex.texi: Remove trailing spaces.
9700
9701         Add regex documentation.
9702         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
9703         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
9704         Written by Kathy A. Hargreaves and Karl Berry.
9705
9706 2010-08-01  Bruno Haible  <bruno@clisp.org>
9707
9708         link: Update documentation.
9709         * doc/posix-functions/link.texi: Update regarding Solaris.
9710
9711 2010-07-31  Bruno Haible  <bruno@clisp.org>
9712
9713         Update modules list.
9714         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
9715         (String handling <string.h>): Add memcmp2, memxfrm.
9716         (Container data structures): Add xlist, xsublist, xoset.
9717         (Core language properties): Add alignof, unused-parameter.
9718         (Process control, Numeric conversion functions <stdlib.h>): Renamed
9719         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
9720         (Unibyte characters <ctype.h>): New section.
9721         (String handling <string.h>): New section.
9722         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
9723         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
9724         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
9725         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
9726         tan, tanh, tanl, y0, y1, yn.
9727         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
9728         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
9729         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
9730         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
9731         unlockpt, vdprintf, vdprintf-posix.
9732         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
9733         (File system functions): Add concat-filename, sys_file, sys_ioctl,
9734         xconcat-filename.
9735         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
9736         getdtablesize, pipe2, pipe2-safer.
9737         (Security): New section.
9738         (Networking functions): Add accept4.
9739         (Signal handling): Add sigpipe.
9740         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
9741         mbmemcasecoll.
9742         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
9743         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
9744         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
9745         pipe-filter-ii.
9746         (Misc): Add argp-version-etc, login_tty, parse-duration.
9747
9748 2010-07-31  Bruno Haible  <bruno@clisp.org>
9749
9750         Improve doc in MODULES.html.
9751         * modules/linkat (Description): Add the word "function".
9752         * modules/mkfifo (Description): Likewise.
9753         * modules/mknod (Description): Likewise.
9754         * modules/remove (Description): Likewise.
9755         * modules/renameat (Description): Likewise.
9756         * modules/stat (Description): Likewise.
9757         * modules/symlink (Description): Likewise.
9758         * modules/unlink (Description): Likewise.
9759
9760 2010-07-31  Bruno Haible  <bruno@clisp.org>
9761
9762         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
9763         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
9764         option --enable/disable-c++ instead of --enable/disable-cxx.
9765         * NEWS: Mention the change.
9766
9767 2010-07-31  Bruno Haible  <bruno@clisp.org>
9768
9769         readlink, areadlink: Relax test a bit.
9770         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9771         alternative to ENOTDIR.
9772         * tests/test-areadlink.h (test_areadlink): Likewise.
9773         Reported by Rainer Tammer.
9774
9775 2010-07-31  Bruno Haible  <bruno@clisp.org>
9776
9777         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9778         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9779         character, perform the search using U_STRCHR.
9780         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9781         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9782         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9783         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9784         Suggested by Paolo Bonzini.
9785
9786 2010-07-31  Bruno Haible  <bruno@clisp.org>
9787
9788         unistr/u*-strstr: Fix dependencies.
9789         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9790         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9791         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9792
9793 2010-07-31  Bruno Haible  <bruno@clisp.org>
9794
9795         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9796         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9797         the beginning of the loop.
9798         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9799         cases in 'switch' statement.
9800
9801         unistr/u8-strchr: Fix several bugs.
9802         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9803         the string. When not found, return NULL, not a pointer near the end.
9804
9805         More tests for unistr/u8-strchr.
9806         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9807         that the function does not read past the first occurrence of the byte
9808         being searched.
9809         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9810         * tests/unistr/test-u16-strchr.c (main): New function.
9811         * tests/unistr/test-u32-strchr.c (main): New function.
9812
9813 2010-07-31  Bruno Haible  <bruno@clisp.org>
9814
9815         posix-modules: Ignore backup files of documentation files.
9816         * posix-modules: grep only through files named *.texi.
9817
9818 2010-07-31  Bruno Haible  <bruno@clisp.org>
9819
9820         symlinkat: Fix documentation.
9821         * doc/posix-functions/readlinkat.texi: Fix module name.
9822
9823 2010-07-31  Bruno Haible  <bruno@clisp.org>
9824
9825         fchownat: Replace also when chown has the trailing slash bug.
9826         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9827         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9828         introduced on 2010-04-10.
9829         Reported by Rainer Tammer.
9830
9831 2010-07-31  Bruno Haible  <bruno@clisp.org>
9832
9833         linkat: Work around AIX 7.1 bug.
9834         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9835         whether linkat handles trailing slash correctly. If not, replace linkat
9836         and define LINKAT_TRAILING_SLASH_BUG.
9837         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9838         check whether (fd1,file1) points to a directory if file1 or file2 ends
9839         in a slash. Code taken from lib/link.c.
9840         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9841         Reported by Rainer Tammer.
9842
9843 2010-07-31  Bruno Haible  <bruno@clisp.org>
9844
9845         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9846         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9847         This disables an xlc optimization that was causing wrong test results.
9848         Reported by Rainer Tammer.
9849
9850 2010-07-31  Bruno Haible  <bruno@clisp.org>
9851
9852         iconv: Work around AIX 6.1..7.1 bug.
9853         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9854         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9855         cross-compiling, guess no on all versions of AIX.
9856         Reported by Rainer Tammer.
9857
9858 2010-07-31  Bruno Haible  <bruno@clisp.org>
9859
9860         readlink: Relax test a bit.
9861         * tests/test-readlink.h (test_readlink): Allow different errno value
9862         when readlink is called with a file name that ends in / and refers to
9863         a file.
9864         Suggested by Eric Blake.
9865         Reported by Rainer Tammer.
9866
9867 2010-07-31  Bruno Haible  <bruno@clisp.org>
9868
9869         copysign: Does not require -lm on glibc systems.
9870         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9871         gl_COMMON_DOUBLE_MATHFUNC.
9872         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9873
9874 2010-07-31  Bruno Haible  <bruno@clisp.org>
9875
9876         duplocale: Work around AIX 7.1 bug.
9877         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9878         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9879         * lib/duplocale.c (rpl_duplocale): Update comment.
9880         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9881         Reported by Rainer Tammer.
9882
9883 2010-07-30  Bruno Haible  <bruno@clisp.org>
9884
9885         dirfd: Avoid link error on AIX 7.1.
9886         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9887         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9888         exist, set REPLACE_DIRFD.
9889         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9890         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9891         * doc/posix-functions/dirfd.texi: Update.
9892         Reported by Rainer Tammer.
9893
9894 2010-07-30  Eric Blake  <eblake@redhat.com>
9895
9896         strtod: next round of AIX fixes
9897         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9898         exponent.
9899         * tests/test-strtod.c (main): Enhance tests.
9900         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9901         Reported by Rainer Tammer.
9902
9903         futimens: fix configure check
9904         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9905         Reported by Bruno Haible.
9906
9907 2010-07-30  Bruno Haible  <bruno@clisp.org>
9908
9909         getline: Update regarding AIX.
9910         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9911         Reported by Rainer Tammer.
9912
9913 2010-07-30  Bruno Haible  <bruno@clisp.org>
9914
9915         wcwidth: Drop replacement on AIX 7.
9916         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9917         AIX 7.
9918         Reported by Rainer Tammer.
9919
9920 2010-07-30  Bruno Haible  <bruno@clisp.org>
9921
9922         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9923         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9924         a 'char *'.
9925         Reported by Rainer Tammer.
9926
9927 2010-07-30  Bruno Haible  <bruno@clisp.org>
9928
9929         unlink: Update regarding AIX.
9930         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9931         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9932         Reported by Rainer Tammer.
9933
9934 2010-07-30  Bruno Haible  <bruno@clisp.org>
9935
9936         symlink: Update regarding AIX.
9937         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9938         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9939         Reported by Rainer Tammer.
9940
9941 2010-07-30  Bruno Haible  <bruno@clisp.org>
9942
9943         strndup: Update regarding AIX.
9944         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9945         AIX 7.
9946         Reported by Rainer Tammer.
9947
9948 2010-07-30  Bruno Haible  <bruno@clisp.org>
9949
9950         stat: Update regarding AIX.
9951         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9952         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9953         Reported by Rainer Tammer.
9954
9955 2010-07-30  Bruno Haible  <bruno@clisp.org>
9956
9957         truncl: Fix autoconf test.
9958         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9959         whether truncl works.
9960         Reported by Rainer Tammer.
9961
9962 2010-07-30  Bruno Haible  <bruno@clisp.org>
9963
9964         round: Update regarding AIX.
9965         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9966         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9967         Reported by Rainer Tammer.
9968
9969 2010-07-30  Bruno Haible  <bruno@clisp.org>
9970
9971         rename: Update regarding AIX.
9972         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9973         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9974         Reported by Rainer Tammer.
9975
9976 2010-07-30  Bruno Haible  <bruno@clisp.org>
9977
9978         printf.m4: Update regarding AIX.
9979         * m4/printf.m4: Update comments regarding AIX.
9980         Reported by Rainer Tammer.
9981
9982 2010-07-30  Bruno Haible  <bruno@clisp.org>
9983
9984         iconv: Update regarding AIX.
9985         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9986         AIX 7.
9987         Reported by Rainer Tammer.
9988
9989 2010-07-30  Bruno Haible  <bruno@clisp.org>
9990
9991         getopt: Update regarding AIX.
9992         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9993         no on AIX.
9994         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9995         Reported by Rainer Tammer.
9996
9997 2010-07-30  Bruno Haible  <bruno@clisp.org>
9998
9999         ldexpl; Update regarding AIX.
10000         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
10001         on AIX 7.
10002         Reported by Rainer Tammer.
10003
10004 2010-07-30  Bruno Haible  <bruno@clisp.org>
10005
10006         frexpl: Update regarding AIX.
10007         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
10008         on AIX 7.
10009         Reported by Rainer Tammer.
10010
10011 2010-07-30  Bruno Haible  <bruno@clisp.org>
10012
10013         open, fopen: Update regarding AIX.
10014         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
10015         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10016         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
10017         * doc/posix-functions/fopen.texi: Likewise.
10018         Reported by Rainer Tammer.
10019
10020 2010-07-30  Bruno Haible  <bruno@clisp.org>
10021
10022         chown: Update doc regarding AIX.
10023         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
10024         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
10025         Reported by Rainer Tammer.
10026
10027 2010-07-30  Eric Blake  <eblake@redhat.com>
10028
10029         strtod: fix bug in replacement function on AIX
10030         * lib/strtod.c (strtod): Special case broken "0x" parse in
10031         underlying strtod.
10032         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
10033         * doc/posix-functions/strtod.texi (strtod): Likewise.
10034         Reported by Rainer Tammer.
10035
10036 2010-07-30  Bruno Haible  <bruno@clisp.org>
10037
10038         mbrlen: Fix cross-compilation guess for AIX.
10039         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
10040         guess. Leftover from 2008-12-22.
10041
10042 2010-07-30  Bruno Haible  <bruno@clisp.org>
10043
10044         mbrtowc: Fix cross-compilation guess for AIX.
10045         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
10046         guess. Leftover from 2008-12-21.
10047
10048 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
10049
10050         init.sh: work around trap limitation of some shells
10051         * tests/init.sh (setup_): Move exit trap outside of shell function.
10052
10053 2010-07-29  Eric Blake  <eblake@redhat.com>
10054
10055         strtod: aid debugging
10056         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
10057         understanding why strtod is rejected.
10058
10059 2010-07-28  Bruno Haible  <bruno@clisp.org>
10060
10061         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
10062         * lib/unistr/u8-chr.c: Include <string.h>.
10063         * tests/unistr/test-u8-chr.c: Likewise.
10064         * tests/unistr/test-u16-chr.c: Likewise.
10065         * tests/unistr/test-u32-chr.c: Likewise.
10066         * tests/unistr/test-u8-strchr.c: Likewise.
10067         * tests/unistr/test-u16-strchr.c: Likewise.
10068         * tests/unistr/test-u32-strchr.c: Likewise.
10069         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
10070         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
10071         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
10072         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
10073
10074 2010-07-28  Bruno Haible  <bruno@clisp.org>
10075
10076         Use spaces for indentation, not tabs.
10077         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10078
10079 2010-07-27  Bruno Haible  <bruno@clisp.org>
10080
10081         mbspcasecmp: Fix function specification.
10082         * lib/string.in.h (mbspcasecmp): Fix specification comment.
10083         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
10084         Reported by Eric Blake <eblake@redhat.com>.
10085
10086 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
10087
10088         timespec: use cast and not conditional, as truncation isn't possible
10089         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
10090         instead of a conditional.  Comment about the situation in more detail.
10091         This undoes most of the 2009-10-29 patch.
10092
10093 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
10094
10095         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
10096         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
10097         * lib/unistr/u8-strchr.c: Likewise.
10098         * modules/unistr/u8-chr: Depend on memchr.
10099
10100         unistr/u*-strchr: add tests
10101         * modules/unistr/u8-strchr-tests: New file.
10102         * modules/unistr/u16-strchr-tests: New file.
10103         * modules/unistr/u32-strchr-tests: New file.
10104         * tests/unistr/test-strchr.h: New file.
10105         * tests/unistr/test-u8-strchr.c: New file.
10106         * tests/unistr/test-u16-strchr.c: New file.
10107         * tests/unistr/test-u32-strchr.c: New file.
10108
10109         unistr/u*-chr: test multibyte sequences more
10110         * tests/unistr/test-chr.h: Do complete testing of the characters in the
10111         test vector.
10112         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
10113         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
10114         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
10115
10116         unistr/u*-chr: test multibyte sequences
10117         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
10118
10119         unistr/u*-chr: prepare for multibyte tests
10120         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
10121         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
10122         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
10123         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
10124         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
10125         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
10126
10127 2010-07-18  Bruno Haible  <bruno@clisp.org>
10128
10129         unistr/u8-strchr: Optimize non-ASCII argument case.
10130         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
10131         because the first byte often matches anyway.
10132         Reported by Pádraig Brady <P@draigbrady.com>.
10133
10134 2010-07-15  Karl Berry  <karl@gnu.org>
10135
10136         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
10137
10138 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
10139
10140         getcwd: on Solaris, work better if ancestors are inaccessible
10141         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
10142         buffer and size, try again with a large buffer.  This works better
10143         on Solaris, since its getcwd succeeds even if the path to the root
10144         is inaccessible, and this is helpful in common cases such as .zfs
10145         hidden directories.  Problem reported by J Chapman Flack in
10146         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10147         Use system getcwd if it's declared, not merely if it's partly
10148         working; use the partly-working test only to avoid needless effort
10149         if the system getcwd fails.
10150         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
10151         comment that was already obsolete and is now even more obsolete.
10152         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
10153         now might call strdup.
10154
10155 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
10156
10157         pthread: Add enough so that coreutils/src/sort.c compiles.
10158         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
10159         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
10160         gnulib. Include <sched.h> and <time.h>, as per POSIX.
10161         Include <sys/types.h>, in case it defines pthread_t.
10162         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
10163         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
10164         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
10165         (pthread_rwlockattr_t, pthread_spinlock_t):
10166         New typedefs, if HAVE_PTHREAD_T is not defined.
10167         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
10168         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
10169         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
10170         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
10171         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
10172         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
10173         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
10174         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
10175         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
10176         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
10177         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
10178         New macros.
10179         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
10180         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
10181         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
10182         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
10183         (pthread_spin_unlock): New dummy functions.
10184         (pthread_create): Return EAGAIN; don't set errno.
10185         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
10186         require AC_C_INLINE.
10187         * modules/pthread (Depends-on): Add sched, time.
10188         (pthread.h): Use AM_V_GEN.
10189
10190 2010-07-13  Bruno Haible  <bruno@clisp.org>
10191
10192         striconveh: Don't malloc memory if the result buffer is sufficient.
10193         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
10194         buffer if its size is sufficient.
10195         Reported by Ludovic Courtès <ludo@gnu.org>.
10196
10197 2010-07-13  Bruno Haible  <bruno@clisp.org>
10198
10199         strtod: Add safety check.
10200         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
10201
10202 2010-07-12  Bruno Haible  <bruno@clisp.org>
10203
10204         Unify tests that set gl_cv_func_ldexpl_no_libm.
10205         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
10206         gl_FUNC_LDEXPL.
10207         (gl_FUNC_LDEXPL): Invoke it.
10208         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10209
10210 2010-07-12  Bruno Haible  <bruno@clisp.org>
10211
10212         Unify tests that set gl_cv_func_ldexp_no_libm.
10213         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
10214         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
10215         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
10216         (configure.ac): Simply invoke gl_FUNC_LDEXP.
10217         * modules/strtod (Files): Add m4/ldexp.m4.
10218
10219 2010-07-12  Bruno Haible  <bruno@clisp.org>
10220
10221         Unify tests that set gl_cv_func_frexpl_no_libm.
10222         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
10223         gl_FUNC_FREXPL_NO_LIBM.
10224         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
10225         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10226
10227 2010-07-12  Bruno Haible  <bruno@clisp.org>
10228
10229         Unify tests that set gl_cv_func_frexp_no_libm.
10230         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
10231         gl_FUNC_FREXP_NO_LIBM.
10232         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
10233         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10234
10235 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10236
10237         memcoll: clarify sizes versus lengths, document better, and tweak perf
10238         * lib/memcoll.c (strcoll_loop, memcoll0):
10239         Improve quality of descriptive comments.  Name variables
10240         consistently as to whether they are lengths (which do not include
10241         terminating null) versus sizes (which do).
10242         * lib/xmemcoll.c (xmemcoll0): Likewise.
10243         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
10244         returned when s1size == 0; this is easier to compile and saves
10245         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
10246
10247 2010-07-12  Bruno Haible  <bruno@clisp.org>
10248
10249         Tests for module '_Exit'.
10250         * modules/_Exit-tests: New file.
10251         * tests/test-_Exit.sh: New file.
10252         * tests/test-_Exit.c: New file.
10253
10254         New module '_Exit'.
10255         * lib/stdlib.in.h (__attribute__): New macro.
10256         (_Exit): New declaration.
10257         * lib/_Exit.c: New file.
10258         * m4/_Exit.m4: New file.
10259         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
10260         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
10261         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
10262         * modules/_Exit: New file.
10263         * tests/test-stdlib-c++.cc (_Exit): Check signature.
10264         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
10265
10266 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10267
10268         strtod: make it more-accurate typically, and don't require libm
10269         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
10270         Include limits.h.  Don't include string.h.
10271         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
10272         (locale_isspace): New function, so that no casts are needed to
10273         check whether *s is a space.
10274         (ldexp): Provide an unused dummy if not available.
10275         (scale_radix_exp, parse_number, underlying_strtod): New functions.
10276         (strtod): Use them.  This implementation prefers to use the
10277         underlying strtod if available, falling back on our own code
10278         only to fix known bugs.  This is more likely to produce an
10279         accurate result.  Also, it avoids the use of libm functions.
10280         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
10281         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
10282         was absent, but it caused a test failure with coreutils.
10283         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
10284         with libm.
10285         * modules/strtod (Makefile.am, Link): libm is no longer needed.
10286         * modules/strtod-tests (Makefile.am): Likewise.
10287
10288 2010-07-11  Pádraig Brady  <P@draigBrady.com>
10289             Bruno Haible  <bruno@clisp.org>
10290
10291         unistr/u8-strchr: Optimize ASCII argument case.
10292         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
10293
10294 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10295
10296         (x)memcoll: minor tweaks
10297         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
10298         is after the type that it qualifies.
10299         (memcoll0): Likewise.
10300         * lib/memcoll.h (memcoll0): Likewise.
10301         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
10302         * lib/xmemcoll.h (xmemcoll0): Likewise.
10303         * lib/memcoll.c (memcoll0): Correct the comment.  This function
10304         differs from memcoll in that the NUL byte is part of the argument.
10305         Omit the abort-checks, as performance is a real issue here.  Plus,
10306         the checks were wrong anyway (an off-by-one error).  Omit local
10307         variable 'diff', as it's a bit clearer that way.
10308         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
10309         no longer needed.
10310
10311 2010-07-08  Chen Guo <chenguo4@yahoo.com>
10312
10313         (x)memcoll: speedup when input is known to be NUL delimited
10314         * lib/memcoll.c: Include stdlib.
10315         (memcoll0) New function.
10316         (strcoll_loop) New function, refactored for use in both memcoll
10317         and memcoll0.
10318         * lib/memcoll.h: Add prototype for memcoll0.
10319         * lib/xmemcoll.c: (xmemcoll0) New function.
10320         (collate_error) New function, refactored for use in both xmemcoll
10321         and xmemcoll0.
10322         * lib/xmemcoll.h: Add prototype for xmemcoll0.
10323         * m4/memcoll.m4: add inline invocation.
10324
10325 2010-07-06  Pádraig Brady  <P@draigBrady.com>
10326
10327         * build-aux/bootstrap: Remove any local translations
10328         from the translation project synchronization directory,
10329         so that local only translations are not distributed.
10330
10331 2010-07-04  Bruno Haible  <bruno@clisp.org>
10332
10333         fsusage: Clarify which code applies to which platforms.
10334         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
10335         platform.
10336         * lib/fsusage.c (get_fs_usage): Likewise.
10337
10338 2010-07-04  Bruno Haible  <bruno@clisp.org>
10339
10340         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
10341         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
10342         Reported by Martin Lambers <marlam@marlam.de>.
10343
10344 2010-07-04  Jim Meyering  <meyering@redhat.com>
10345
10346         hash: once again explicitly disallow insertion of NULL
10347         * lib/hash.c (hash_insert0): Reinstate just-removed test:
10348         inserting a NULL pointer cannot work with these functions.
10349         Add a comment with details.
10350         This reverts part of the 2010-07-01 commit, 5bef1a35
10351         "hash: extend module to deal with non-pointer keys".
10352
10353 2010-07-01  Bruno Haible  <bruno@clisp.org>
10354
10355         stdbool: Update doc.
10356         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
10357         Info from Christian Weisgerber <naddy@mips.inka.de>.
10358
10359 2010-07-01  Jim Meyering  <meyering@redhat.com>
10360
10361         hash: extend module to deal with non-pointer keys
10362         * lib/hash.c (hash_insert0): New interface, much like hash_insert
10363         but that allows insertion of non-pointer entries.
10364         Do not disallow an ENTRY value of NULL.
10365         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
10366         * lib/hash.h (hash_insert0): Declare.
10367
10368 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10369
10370         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
10371         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
10372         not present (i.e. with autoconf 2.59 and when using gettextize, not
10373         gnulib), require AC_GNU_SOURCE instead.
10374
10375 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
10376
10377         idpriv-drop: Fix tests.
10378         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
10379         not to the test-idpriv-droptemp program.
10380
10381 2010-06-29  Bruno Haible  <bruno@clisp.org>
10382
10383         string: Fix syntax error with g++ 2.96.
10384         * lib/string.in.h (__pure__): Remove definition.
10385         (_GL_ATTRIBUTE_PURE): New macro.
10386         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
10387         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
10388         Reported by Christian Weisgerber <naddy@mips.inka.de>.
10389
10390 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
10391
10392         unitypes: Fix bug introduced on 2010-05-18.
10393         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
10394
10395 2010-06-22  Eric Blake  <eblake@redhat.com>
10396
10397         memmem: slight optimization
10398         * lib/str-two-way.h (critical_factorization): Update comments.
10399         Reduce work during factorization phase.
10400         Reported by Carlos Bueno <carlos@bueno.org>.
10401
10402 2010-06-21  Bruno Haible  <bruno@clisp.org>
10403
10404         Fix HAVE_CALLOC_POSIX misnomer.
10405         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
10406         !HAVE_CALLOC_POSIX.
10407         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
10408         HAVE_CALLOC_POSIX.
10409         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
10410         instead of HAVE_CALLOC_POSIX.
10411         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
10412         HAVE_CALLOC_POSIX.
10413
10414         Use modern idiom for calloc() replacement.
10415         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
10416         AC_FUNC_CALLOC.
10417         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
10418         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
10419         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10420         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
10421         (gl_REPLACE_CALLOC): New macro.
10422
10423 2010-06-21  Bruno Haible  <bruno@clisp.org>
10424
10425         Fix HAVE_REALLOC_POSIX misnomer.
10426         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
10427         !HAVE_REALLOC_POSIX.
10428         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
10429         HAVE_REALLOC_POSIX.
10430         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
10431         instead of HAVE_REALLOC_POSIX.
10432         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
10433         HAVE_REALLOC_POSIX.
10434
10435         Use modern idiom for realloc() replacement.
10436         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
10437         AC_FUNC_REALLOC.
10438         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
10439         Autoconf's AC_FUNC_REALLOC.
10440         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10441         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
10442         (gl_REPLACE_REALLOC): New macro.
10443         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10444
10445 2010-06-21  Bruno Haible  <bruno@clisp.org>
10446
10447         Fix HAVE_MALLOC_POSIX misnomer.
10448         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
10449         !HAVE_MALLOC_POSIX.
10450         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
10451         HAVE_MALLOC_POSIX.
10452         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
10453         instead of HAVE_MALLOC_POSIX.
10454         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
10455         HAVE_MALLOC_POSIX.
10456
10457         Use modern idiom for malloc() replacement.
10458         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
10459         AC_FUNC_MALLOC.
10460         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
10461         Autoconf's AC_FUNC_MALLOC.
10462         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
10463         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
10464         (gl_REPLACE_MALLOC): New macro.
10465         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
10466
10467 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
10468
10469         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
10470         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
10471         This macro takes 3 arguments, not 4.
10472
10473 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
10474
10475         ipv6: fix detection under mingw
10476         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
10477         in6_addr.
10478
10479 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
10480
10481         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
10482         that strtod() works when cross-compiling to a glibc version known
10483         to work.
10484
10485 2010-06-15  Bruno Haible  <bruno@clisp.org>
10486
10487         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
10488
10489 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
10490
10491         select: Correct timeout.
10492         * lib/select.c (rpl_select): Compute wait_timeout correctly.
10493
10494 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
10495
10496         git-version-gen: init shell var to avoid env var influence
10497         * build-aux/git-version-gen (v): Init shell var to empty.
10498
10499 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
10500
10501         priv-set: Don't assume that priv.h exists merely because getppriv does.
10502         See Jan Andersen's bug report about AIX 5L in
10503         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
10504         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
10505         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
10506         * lib/priv-set.h: Likewise.
10507         * tests/test-priv-set.c: Likewise.
10508
10509 2010-06-13  Bruno Haible  <bruno@clisp.org>
10510
10511         relocatable: Make it easier to test whether to install wrappers.
10512         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
10513         RELOCATABLE_VIA_WRAPPER.
10514
10515 2010-06-13  Bruno Haible  <bruno@clisp.org>
10516
10517         gnulib-tool: Display specified modules and dependencies differently.
10518         * gnulib-tool (func_show_module_list): New function.
10519         (func_import, func_create_testdir): Invoke it.
10520         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
10521
10522 2010-06-13  Bruno Haible  <bruno@clisp.org>
10523
10524         gnulib-tool: Align code of func_import and func_create_testdir.
10525         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
10526         specified_modules.
10527
10528 2010-06-12  Jim Meyering  <meyering@redhat.com>
10529
10530         test-inttostr: avoid spurious failure on Solaris 9
10531         * tests/test-inttostr.c (main): Skip the test when snprintf fails
10532         to accept "%ju".  Reported by Bruno Haible.
10533
10534 2010-06-11  Jim Meyering  <meyering@redhat.com>
10535
10536         test-sys_socket: mark variables as used more readably
10537         * tests/test-sys_socket.c (main): Mark otherwise unused variables
10538         as "used" explicitly via (void) statement casts.  This is more
10539         readable than using them in an artificial return expression.
10540         Suggestion from Bruno Haible.
10541
10542 2010-06-11  Bruno Haible  <bruno@clisp.org>
10543
10544         Avoid some more warnings from "gcc -Wwrite-strings".
10545         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
10546         to 'const char *'.
10547         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
10548         * tests/test-c-strcasestr.c (main): Likewise.
10549         * tests/test-mbscasestr1.c (main): Likewise.
10550         * tests/test-mbscasestr2.c (main): Likewise.
10551         * tests/test-memmem.c (main): Likewise.
10552         * tests/test-strstr.c (main): Likewise.
10553         * tests/test-strcasestr.c (main): Likewise.
10554
10555 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10556
10557         init.sh: change framework_failure_ to fail with status 99, not 1
10558         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
10559         automake's parallel-tests rule that this is an unexpected failure,
10560         even if the test is listed in XFAIL_TESTS.
10561
10562 2010-06-11  Jim Meyering  <meyering@redhat.com>
10563
10564         test-inttostr: avoid warnings about 4-6KB literal strings
10565         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
10566         Include "macros.h", for its definition of ASSERT.
10567         (CK): s/assert/ASSERT/
10568         * modules/inttostr-tests (Files): Add macros.h.
10569
10570         init.sh: don't use $ME_ or skip_ before they are defined
10571         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
10572         their first uses.  Also hoist their companions: warn_, fail_,
10573         framework_failure_, $stderr_fileno.  Prompted by a patch from
10574         Stefano Lattarini.
10575
10576         test-sys_socket: avoid set-but-not-used warnings from gcc
10577         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
10578         avoid warning about set-but-not-used variables.
10579
10580         test-xvasprintf: avoid 'const' discard warnings
10581         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
10582         "const" when assigning from literal strings.
10583         (test_xasprintf): Add "void" in function argument list to placate
10584         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
10585
10586         tests: avoid compilation warnings in argmatch and exclude tests...
10587         in packages that define ARGMATCH_DIE_DECL, like coreutils.
10588         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
10589         Since it always exits, declare with the "noreturn" attribute.
10590         * tests/test-argmatch.c: Likewise.
10591
10592         tests: avoid 'const' discard warnings in mbsstr tests
10593         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
10594         * tests/test-mbsstr2.c (main): Likewise.
10595
10596         test-verify: avoid warning from gcc's -Wmissing-declarations
10597         * tests/test-verify.c (function): Declare to be static.
10598
10599         test-inttostr.c: include <string.h> for use of strcmp
10600         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
10601
10602         test-linkat: avoid failed assertion on "other" architectures
10603         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
10604         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
10605         sparc: https://bugs.launchpad.net/bugs/591968
10606
10607 2010-06-11  Jim Meyering  <meyering@redhat.com>
10608
10609         printf.m4: avoid autoconf's "Expanded Before Required" warning
10610         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
10611         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
10612         autoconf warning.
10613
10614 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
10615
10616         Replacement header templates are now named with ".in", not "_".
10617         * doc/gnulib-intro.texi: Correct.
10618
10619 2010-06-10  Jim Meyering  <meyering@redhat.com>
10620
10621         inttostr-tests: depend on snprintf, not snprintf-posix
10622         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
10623         snprintf-posix, to avoid this aclocal failure:
10624           missing file gnulib-tests/vasnprintf.c
10625           configure.ac:45: error: expected source file, required through \
10626           AC_LIBSOURCES, not found
10627
10628 2010-06-10  Jim Meyering  <meyering@redhat.com>
10629
10630         inttostr: add a new function, inttostr, and tests
10631         The namesake function was not available.  The existence of the
10632         template file, inttostr.c makes its addition nontrivial.
10633         * lib/anytostr.c: Rename from inttostr.c.
10634         (anytostr): Rename from inttostr.
10635         * lib/inttostr.c: New file.
10636         * modules/inttostr (Files): Add anytostr.c.
10637         (Makefile.am): Set lib_SOURCES instead of ...
10638         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
10639         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
10640         * lib/offtostr.c: Likewise.
10641         * lib/uinttostr.c: Likewise.
10642         * lib/umaxtostr.c: Likewise.
10643         * modules/inttostr-tests: New file.
10644         * tests/test-inttostr.c: New file.  Test these functions.
10645
10646 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
10647             Bruno Haible  <bruno@clisp.org>
10648
10649         Add "Extending Gnulib" chapter to manual.
10650         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
10651         chapter.
10652         (Extending Gnulib): New chapter.
10653         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
10654         chapter.
10655
10656 2010-06-09  Bruno Haible  <bruno@clisp.org>
10657
10658         Avoid relocwrapper link errors due to gnulib replacement functions.
10659         * lib/areadlink.c: Use the system's malloc, realloc functions.
10660         (areadlink): Set errno to ENOMEM explicitly.
10661         * modules/areadlink (Depends-on): Remove malloc-posix.
10662         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10663
10664 2010-06-09  Bruno Haible  <bruno@clisp.org>
10665
10666         Avoid relocwrapper link errors due to gnulib replacement functions.
10667         * lib/canonicalize-lgpl.c: Use the system's malloc function.
10668         * lib/malloca.c: Likewise.
10669         * lib/relocatable.c: Likewise.
10670         * lib/progreloc.c: Use the system's malloc, sprintf functions.
10671         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
10672         * lib/setenv.c: Use the system's malloc, realloc functions.
10673         * lib/strerror.c: Use the system's sprintf function.
10674         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10675
10676 2010-06-04  Bruno Haible  <bruno@clisp.org>
10677
10678         Prefer documented low-level autoconf macro names.
10679         * m4/lib-link.m4: Use m4_translit instead of translit.
10680         * m4/environ.m4: Likewise.
10681         * m4/mathfunc.m4: Likewise.
10682         * m4/onceonly.m4: Likewise.
10683         * m4/stdint.m4: Likewise.
10684         Suggested by Eric Blake.
10685
10686 2010-06-04  Martin Lambers  <marlam@marlam.de>
10687             Bruno Haible  <bruno@clisp.org>
10688
10689         havelib: Allow library names with '+' characters.
10690         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
10691         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
10692
10693 2010-06-09  Bruno Haible  <bruno@clisp.org>
10694
10695         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
10696         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
10697         realloc failed.
10698
10699 2010-06-08  Peter Simons  <simons@cryp.to>
10700
10701         maint.mk: make the news-check rule more configurable
10702         * top/maint.mk (news-check-lines-spec) New variable.
10703         (news-check): Use "sed -n 1,10p" in place of "head".
10704
10705 2010-06-07  Jim Meyering  <meyering@redhat.com>
10706
10707         do-release-commit-and-tag: fix typo in --help
10708         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
10709
10710         regex: avoid new dead-code warning with gcc-4.6.0
10711         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
10712         if-block containing a while-loop.  It's been unused for at least
10713         5 years.
10714
10715 2010-06-05  Bruno Haible  <bruno@clisp.org>
10716
10717         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
10718         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
10719
10720 2010-06-04  Bruno Haible  <bruno@clisp.org>
10721
10722         Update to GNU gettext 0.18.1.
10723         * modules/gettext (configure.ac): Require gettext infrastructure from
10724         version 0.18.1.
10725
10726 2010-06-03  Bruno Haible  <bruno@clisp.org>
10727
10728         Don't use AC_LIBOBJ with file names in subdirectories.
10729         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
10730         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
10731         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
10732         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
10733         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
10734         gl_LIBUNISTRING_LIBSOURCE.
10735         (Makefile.am): Augment lib_SOURCES here, conditionally.
10736         * NEWS: Drop requirement for Automake option 'subdir-objects'.
10737
10738 2010-06-03  Bruno Haible  <bruno@clisp.org>
10739
10740         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
10741         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
10742         expansion does not end with a newline.
10743         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
10744         unnecessary newline.
10745
10746 2010-06-03  Bruno Haible  <bruno@clisp.org>
10747
10748         Reduce dependencies.
10749         * tests/test-quotearg.h: New file, extracted from
10750         tests/test-quotearg.c.
10751         * tests/test-quotearg-simple.c: New file, extracted from
10752         tests/test-quotearg.c.
10753         * tests/test-quotearg.c: Don't include <ctype.h>.
10754         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
10755         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
10756         use_quote_double_quotes, use_quotearg_colon): Moved to
10757         tests/test-quotearg.h.
10758         (results_g, flag_results, custom_quotes, custom_results): Moved
10759         to tests/test-quotearg-simple.c.
10760         (main): Moved the part that does not depend on gettext to
10761         tests/test-quotearg-simple.c. Return 77 if the test cannot be
10762         performed.
10763         * modules/quotearg-simple: New file.
10764         * modules/quotearg-simple-tests: New file.
10765         * modules/quotearg (Depends-on): Add quotearg-simple.
10766         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10767         (Files): Add tests/test-quotearg.h.
10768         Reported by Paolo Bonzini.
10769
10770 2010-06-03  Bruno Haible  <bruno@clisp.org>
10771
10772         Reduce dependencies.
10773         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10774
10775 2010-06-03  Bruno Haible  <bruno@clisp.org>
10776
10777         time: Undefine more broken macros.
10778         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10779         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10780         Reported by Eric Blake.
10781
10782 2010-06-03  Bruno Haible  <bruno@clisp.org>
10783
10784         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10785         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10786         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10787         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10788         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10789         Reported by Ludovic Courtès <ludo@gnu.org>.
10790
10791 2010-06-02  Eric Blake  <eblake@redhat.com>
10792
10793         time: work with mingw + pthreads-win32 library
10794         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10795         if timespec is defined only in pthread.h.
10796         * modules/time (Makefile.am): Substitute it.
10797         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10798         <pthread.h>, when needed.
10799         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10800         from the library.
10801
10802 2010-05-31  Bruno Haible  <bruno@clisp.org>
10803
10804         Avoid expanding two macros in the wrong order.
10805         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10806         gl_LIBUNISTRING if it is defined.
10807         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10808         autoconf >= 2.64.
10809         Reported by Ludovic Courtès <ludo@gnu.org>.
10810
10811 2010-05-27  Jim Meyering  <meyering@redhat.com>
10812
10813         maint.mk: also prohibit "#undef" of always-defined symbols
10814         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10815         Allow more than one space before the symbol name.
10816         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10817         the regexp uses alternation.
10818
10819 2010-05-26  Eric Blake  <eblake@redhat.com>
10820
10821         maint.mk: avoid echo -e
10822         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10823         Convert all uses of echo -* to printf.
10824         Reported by Matthias Bolte.
10825
10826 2010-05-25  Bruno Haible  <bruno@clisp.org>
10827
10828         Update to GNU gettext 0.18, part 2.
10829         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10830         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10831
10832 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10833
10834         Add missing include in test-pwrite.c.
10835         * tests/test-pwrite.c: Include string.h, for strcmp.
10836
10837 2010-05-24  Bruno Haible  <bruno@clisp.org>
10838
10839         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10840
10841 2010-05-24  Bruno Haible  <bruno@clisp.org>
10842
10843         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10844         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10845         iconveh_error argument.
10846         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10847         U_STRCONV_TO_LOCALE.
10848         * lib/unistr/u16-strcoll.c: Likewise.
10849         * lib/unistr/u32-strcoll.c: Likewise.
10850         * modules/unistr/u8-strcoll (Depends-on): Add
10851         uniconv/u8-strconv-to-enc, localcharset. Remove
10852         uniconv/u8-strconv-to-locale.
10853         (configure.ac): Bump version number.
10854         * modules/unistr/u16-strcoll (Depends-on): Add
10855         uniconv/u16-strconv-to-enc, localcharset. Remove
10856         uniconv/u16-strconv-to-locale.
10857         (configure.ac): Bump version number.
10858         * modules/unistr/u32-strcoll (Depends-on): Add
10859         uniconv/u32-strconv-to-enc, localcharset. Remove
10860         uniconv/u32-strconv-to-locale.
10861         (configure.ac): Bump version number.
10862
10863 2010-05-24  Bruno Haible  <bruno@clisp.org>
10864
10865         Avoid a test failure on NetBSD 5.0.
10866         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10867         an iconv() bug.
10868
10869 2010-05-24  Bruno Haible  <bruno@clisp.org>
10870
10871         Adjust #include directive style.
10872         * modules/regex (Includes): Recommend to write <regex.h>.
10873
10874 2010-05-24  Bruno Haible  <bruno@clisp.org>
10875
10876         regex: Don't require alloca.
10877         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10878         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10879         only inside if (0).
10880
10881 2010-05-23  Jim Meyering  <meyering@redhat.com>
10882
10883         test-renameat.c: include <sys/stat.h>
10884         * tests/test-renameat.c: Include <sys/stat.h>; required for
10885         definition of S_IS* macros.
10886
10887 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10888
10889         Update maintainer documentation for 'relocatable-prog' module.
10890         * doc/relocatable-maint.texi: Update.
10891         Comments by Bruno Haible.
10892
10893 2010-05-23  Bruno Haible  <bruno@clisp.org>
10894
10895         git-merge-changelog: Enable --split-merged-entry by default.
10896         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10897         (usage): Don't mention this option any more.
10898         Reported by Ralf Wildenhues.
10899
10900 2010-05-23  Jim Meyering  <meyering@redhat.com>
10901
10902         test-pwrite: do not leave behind a test file named "out"
10903         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10904         The trivial-looking use of init.sh is really necessary.
10905         It ensures that the temporary file, "out", is created in
10906         a temporary directory, and removed upon termination.
10907         * tests/test-pwrite.sh: Re-add file.
10908         * modules/pwrite-tests: Reference it.
10909
10910 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10911
10912         Fix output redirection buglet in init.sh.
10913         * tests/init.sh: Fix redirection of stderr.
10914
10915 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10916
10917         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10918
10919 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10920
10921         * modules/valgrind-tests: New file.
10922         * m4/valgrind-tests.m4: New file.
10923         * doc/valgrind-tests.texi: New file.
10924         * doc/gnulib.texi (Running self-tests under valgrind): New
10925         section.
10926
10927 2010-05-19  Bruno Haible  <bruno@clisp.org>
10928
10929         Clean up dead code in recent commit.
10930         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10931         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10932         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10933         Suggested by Paolo Bonzini.
10934
10935 2010-05-19  Bruno Haible  <bruno@clisp.org>
10936
10937         Avoid valgrind error reports from libunistring.
10938         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10939         * modules/libunistring (Files): Add it.
10940         * modules/libunistring-optional (Files): Likewise.
10941
10942 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10943             Bruno Haible  <bruno@clisp.org>
10944
10945         New module 'libunistring-optional'.
10946         * modules/libunistring-optional: New file.
10947         * m4/libunistring-base.m4: New file.
10948         * m4/libunistring-optional.m4: New file.
10949         * lib/unicase.in.h: Renamed from lib/unicase.h.
10950         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10951         * lib/unictype.in.h: Renamed from lib/unictype.h.
10952         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10953         * lib/uniname.in.h: Renamed from lib/uniname.h.
10954         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10955         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10956         * lib/unistr.in.h: Renamed from lib/unistr.h.
10957         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10958         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10959         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10960         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10961         gl_LIBUNISTRING. If the library was found, determine the installed
10962         version and set LIBUNISTRING_VERSION.
10963         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10964         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10965         handle a configuration option --with-included-libunistring.
10966         * modules/libunistring (Files): Add m4/absolute-header.m4.
10967         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10968         Add m4/libunistring-base.m4.
10969         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10970         (Makefile.am): Build unicase.h from unicase.in.h.
10971         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10972         Add m4/libunistring-base.m4.
10973         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10974         (Makefile.am): Build uniconv.h from uniconv.in.h.
10975         * modules/unictype/base (Files): Use unictype.in.h instead of
10976         unictype.h. Add m4/libunistring-base.m4.
10977         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10978         (Makefile.am): Build unictype.h from unictype.in.h.
10979         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10980         Add m4/libunistring-base.m4.
10981         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10982         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10983         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10984         Add m4/libunistring-base.m4.
10985         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10986         (Makefile.am): Build uniname.h from uniname.in.h.
10987         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10988         Add m4/libunistring-base.m4.
10989         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10990         (Makefile.am): Build uninorm.h from uninorm.in.h.
10991         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10992         unistdio.h. Add m4/libunistring-base.m4.
10993         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10994         (Makefile.am): Build unistdio.h from unistdio.in.h.
10995         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10996         Add m4/libunistring-base.m4.
10997         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10998         (Makefile.am): Build unistr.h from unistr.in.h.
10999         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
11000         Add m4/libunistring-base.m4.
11001         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11002         (Makefile.am): Build unitypes.h from unitypes.in.h.
11003         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
11004         Add m4/libunistring-base.m4.
11005         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11006         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
11007         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
11008         uniwidth.h. Add m4/libunistring-base.m4.
11009         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11010         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
11011         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
11012         instead of augmenting lib_SOURCES.
11013         * modules/unicase/empty-suffix-context: Likewise.
11014         * modules/unicase/locale-language: Likewise.
11015         * modules/unicase/tolower: Likewise.
11016         * modules/unicase/totitle: Likewise.
11017         * modules/unicase/toupper: Likewise.
11018         * modules/unicase/u8-casecmp: Likewise.
11019         * modules/unicase/u8-casecoll: Likewise.
11020         * modules/unicase/u8-casefold: Likewise.
11021         * modules/unicase/u8-casexfrm: Likewise.
11022         * modules/unicase/u8-ct-casefold: Likewise.
11023         * modules/unicase/u8-ct-tolower: Likewise.
11024         * modules/unicase/u8-ct-totitle: Likewise.
11025         * modules/unicase/u8-ct-toupper: Likewise.
11026         * modules/unicase/u8-is-cased: Likewise.
11027         * modules/unicase/u8-is-casefolded: Likewise.
11028         * modules/unicase/u8-is-lowercase: Likewise.
11029         * modules/unicase/u8-is-titlecase: Likewise.
11030         * modules/unicase/u8-is-uppercase: Likewise.
11031         * modules/unicase/u8-prefix-context: Likewise.
11032         * modules/unicase/u8-suffix-context: Likewise.
11033         * modules/unicase/u8-tolower: Likewise.
11034         * modules/unicase/u8-totitle: Likewise.
11035         * modules/unicase/u8-toupper: Likewise.
11036         * modules/unicase/u16-casecmp: Likewise.
11037         * modules/unicase/u16-casecoll: Likewise.
11038         * modules/unicase/u16-casefold: Likewise.
11039         * modules/unicase/u16-casexfrm: Likewise.
11040         * modules/unicase/u16-ct-casefold: Likewise.
11041         * modules/unicase/u16-ct-tolower: Likewise.
11042         * modules/unicase/u16-ct-totitle: Likewise.
11043         * modules/unicase/u16-ct-toupper: Likewise.
11044         * modules/unicase/u16-is-cased: Likewise.
11045         * modules/unicase/u16-is-casefolded: Likewise.
11046         * modules/unicase/u16-is-lowercase: Likewise.
11047         * modules/unicase/u16-is-titlecase: Likewise.
11048         * modules/unicase/u16-is-uppercase: Likewise.
11049         * modules/unicase/u16-prefix-context: Likewise.
11050         * modules/unicase/u16-suffix-context: Likewise.
11051         * modules/unicase/u16-tolower: Likewise.
11052         * modules/unicase/u16-totitle: Likewise.
11053         * modules/unicase/u16-toupper: Likewise.
11054         * modules/unicase/u32-casecmp: Likewise.
11055         * modules/unicase/u32-casecoll: Likewise.
11056         * modules/unicase/u32-casefold: Likewise.
11057         * modules/unicase/u32-casexfrm: Likewise.
11058         * modules/unicase/u32-ct-casefold: Likewise.
11059         * modules/unicase/u32-ct-tolower: Likewise.
11060         * modules/unicase/u32-ct-totitle: Likewise.
11061         * modules/unicase/u32-ct-toupper: Likewise.
11062         * modules/unicase/u32-is-cased: Likewise.
11063         * modules/unicase/u32-is-casefolded: Likewise.
11064         * modules/unicase/u32-is-lowercase: Likewise.
11065         * modules/unicase/u32-is-titlecase: Likewise.
11066         * modules/unicase/u32-is-uppercase: Likewise.
11067         * modules/unicase/u32-prefix-context: Likewise.
11068         * modules/unicase/u32-suffix-context: Likewise.
11069         * modules/unicase/u32-tolower: Likewise.
11070         * modules/unicase/u32-totitle: Likewise.
11071         * modules/unicase/u32-toupper: Likewise.
11072         * modules/unicase/ulc-casecmp: Likewise.
11073         * modules/unicase/ulc-casecoll: Likewise.
11074         * modules/unicase/ulc-casexfrm: Likewise.
11075         * modules/uniconv/u8-conv-from-enc: Likewise.
11076         * modules/uniconv/u8-conv-to-enc: Likewise.
11077         * modules/uniconv/u8-strconv-from-enc: Likewise.
11078         * modules/uniconv/u8-strconv-from-locale: Likewise.
11079         * modules/uniconv/u8-strconv-to-enc: Likewise.
11080         * modules/uniconv/u8-strconv-to-locale: Likewise.
11081         * modules/uniconv/u16-conv-from-enc: Likewise.
11082         * modules/uniconv/u16-conv-to-enc: Likewise.
11083         * modules/uniconv/u16-strconv-from-enc: Likewise.
11084         * modules/uniconv/u16-strconv-from-locale: Likewise.
11085         * modules/uniconv/u16-strconv-to-enc: Likewise.
11086         * modules/uniconv/u16-strconv-to-locale: Likewise.
11087         * modules/uniconv/u32-conv-from-enc: Likewise.
11088         * modules/uniconv/u32-conv-to-enc: Likewise.
11089         * modules/uniconv/u32-strconv-from-enc: Likewise.
11090         * modules/uniconv/u32-strconv-from-locale: Likewise.
11091         * modules/uniconv/u32-strconv-to-enc: Likewise.
11092         * modules/uniconv/u32-strconv-to-locale: Likewise.
11093         * modules/unictype/bidicategory-byname: Likewise.
11094         * modules/unictype/bidicategory-name: Likewise.
11095         * modules/unictype/bidicategory-of: Likewise.
11096         * modules/unictype/bidicategory-test: Likewise.
11097         * modules/unictype/block-list: Likewise.
11098         * modules/unictype/block-test: Likewise.
11099         * modules/unictype/category-C: Likewise.
11100         * modules/unictype/category-Cc: Likewise.
11101         * modules/unictype/category-Cf: Likewise.
11102         * modules/unictype/category-Cn: Likewise.
11103         * modules/unictype/category-Co: Likewise.
11104         * modules/unictype/category-Cs: Likewise.
11105         * modules/unictype/category-L: Likewise.
11106         * modules/unictype/category-Ll: Likewise.
11107         * modules/unictype/category-Lm: Likewise.
11108         * modules/unictype/category-Lo: Likewise.
11109         * modules/unictype/category-Lt: Likewise.
11110         * modules/unictype/category-Lu: Likewise.
11111         * modules/unictype/category-M: Likewise.
11112         * modules/unictype/category-Mc: Likewise.
11113         * modules/unictype/category-Me: Likewise.
11114         * modules/unictype/category-Mn: Likewise.
11115         * modules/unictype/category-N: Likewise.
11116         * modules/unictype/category-Nd: Likewise.
11117         * modules/unictype/category-Nl: Likewise.
11118         * modules/unictype/category-No: Likewise.
11119         * modules/unictype/category-P: Likewise.
11120         * modules/unictype/category-Pc: Likewise.
11121         * modules/unictype/category-Pd: Likewise.
11122         * modules/unictype/category-Pe: Likewise.
11123         * modules/unictype/category-Pf: Likewise.
11124         * modules/unictype/category-Pi: Likewise.
11125         * modules/unictype/category-Po: Likewise.
11126         * modules/unictype/category-Ps: Likewise.
11127         * modules/unictype/category-S: Likewise.
11128         * modules/unictype/category-Sc: Likewise.
11129         * modules/unictype/category-Sk: Likewise.
11130         * modules/unictype/category-Sm: Likewise.
11131         * modules/unictype/category-So: Likewise.
11132         * modules/unictype/category-Z: Likewise.
11133         * modules/unictype/category-Zl: Likewise.
11134         * modules/unictype/category-Zp: Likewise.
11135         * modules/unictype/category-Zs: Likewise.
11136         * modules/unictype/category-and: Likewise.
11137         * modules/unictype/category-and-not: Likewise.
11138         * modules/unictype/category-byname: Likewise.
11139         * modules/unictype/category-name: Likewise.
11140         * modules/unictype/category-none: Likewise.
11141         * modules/unictype/category-of: Likewise.
11142         * modules/unictype/category-or: Likewise.
11143         * modules/unictype/category-test: Likewise.
11144         * modules/unictype/combining-class: Likewise.
11145         * modules/unictype/ctype-alnum: Likewise.
11146         * modules/unictype/ctype-alpha: Likewise.
11147         * modules/unictype/ctype-blank: Likewise.
11148         * modules/unictype/ctype-cntrl: Likewise.
11149         * modules/unictype/ctype-digit: Likewise.
11150         * modules/unictype/ctype-graph: Likewise.
11151         * modules/unictype/ctype-lower: Likewise.
11152         * modules/unictype/ctype-print: Likewise.
11153         * modules/unictype/ctype-punct: Likewise.
11154         * modules/unictype/ctype-space: Likewise.
11155         * modules/unictype/ctype-upper: Likewise.
11156         * modules/unictype/ctype-xdigit: Likewise.
11157         * modules/unictype/decimal-digit: Likewise.
11158         * modules/unictype/digit: Likewise.
11159         * modules/unictype/mirror: Likewise.
11160         * modules/unictype/numeric: Likewise.
11161         * modules/unictype/property-alphabetic: Likewise.
11162         * modules/unictype/property-ascii-hex-digit: Likewise.
11163         * modules/unictype/property-bidi-arabic-digit: Likewise.
11164         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
11165         * modules/unictype/property-bidi-block-separator: Likewise.
11166         * modules/unictype/property-bidi-boundary-neutral: Likewise.
11167         * modules/unictype/property-bidi-common-separator: Likewise.
11168         * modules/unictype/property-bidi-control: Likewise.
11169         * modules/unictype/property-bidi-embedding-or-override: Likewise.
11170         * modules/unictype/property-bidi-eur-num-separator: Likewise.
11171         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
11172         * modules/unictype/property-bidi-european-digit: Likewise.
11173         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
11174         * modules/unictype/property-bidi-left-to-right: Likewise.
11175         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
11176         * modules/unictype/property-bidi-other-neutral: Likewise.
11177         * modules/unictype/property-bidi-pdf: Likewise.
11178         * modules/unictype/property-bidi-segment-separator: Likewise.
11179         * modules/unictype/property-bidi-whitespace: Likewise.
11180         * modules/unictype/property-byname: Likewise.
11181         * modules/unictype/property-combining: Likewise.
11182         * modules/unictype/property-composite: Likewise.
11183         * modules/unictype/property-currency-symbol: Likewise.
11184         * modules/unictype/property-dash: Likewise.
11185         * modules/unictype/property-decimal-digit: Likewise.
11186         * modules/unictype/property-default-ignorable-code-point: Likewise.
11187         * modules/unictype/property-deprecated: Likewise.
11188         * modules/unictype/property-diacritic: Likewise.
11189         * modules/unictype/property-extender: Likewise.
11190         * modules/unictype/property-format-control: Likewise.
11191         * modules/unictype/property-grapheme-base: Likewise.
11192         * modules/unictype/property-grapheme-extend: Likewise.
11193         * modules/unictype/property-grapheme-link: Likewise.
11194         * modules/unictype/property-hex-digit: Likewise.
11195         * modules/unictype/property-hyphen: Likewise.
11196         * modules/unictype/property-id-continue: Likewise.
11197         * modules/unictype/property-id-start: Likewise.
11198         * modules/unictype/property-ideographic: Likewise.
11199         * modules/unictype/property-ids-binary-operator: Likewise.
11200         * modules/unictype/property-ids-trinary-operator: Likewise.
11201         * modules/unictype/property-ignorable-control: Likewise.
11202         * modules/unictype/property-iso-control: Likewise.
11203         * modules/unictype/property-join-control: Likewise.
11204         * modules/unictype/property-left-of-pair: Likewise.
11205         * modules/unictype/property-line-separator: Likewise.
11206         * modules/unictype/property-logical-order-exception: Likewise.
11207         * modules/unictype/property-lowercase: Likewise.
11208         * modules/unictype/property-math: Likewise.
11209         * modules/unictype/property-non-break: Likewise.
11210         * modules/unictype/property-not-a-character: Likewise.
11211         * modules/unictype/property-numeric: Likewise.
11212         * modules/unictype/property-other-alphabetic: Likewise.
11213         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
11214         * modules/unictype/property-other-grapheme-extend: Likewise.
11215         * modules/unictype/property-other-id-continue: Likewise.
11216         * modules/unictype/property-other-id-start: Likewise.
11217         * modules/unictype/property-other-lowercase: Likewise.
11218         * modules/unictype/property-other-math: Likewise.
11219         * modules/unictype/property-other-uppercase: Likewise.
11220         * modules/unictype/property-paired-punctuation: Likewise.
11221         * modules/unictype/property-paragraph-separator: Likewise.
11222         * modules/unictype/property-pattern-syntax: Likewise.
11223         * modules/unictype/property-pattern-white-space: Likewise.
11224         * modules/unictype/property-private-use: Likewise.
11225         * modules/unictype/property-punctuation: Likewise.
11226         * modules/unictype/property-quotation-mark: Likewise.
11227         * modules/unictype/property-radical: Likewise.
11228         * modules/unictype/property-sentence-terminal: Likewise.
11229         * modules/unictype/property-soft-dotted: Likewise.
11230         * modules/unictype/property-space: Likewise.
11231         * modules/unictype/property-terminal-punctuation: Likewise.
11232         * modules/unictype/property-test: Likewise.
11233         * modules/unictype/property-titlecase: Likewise.
11234         * modules/unictype/property-unassigned-code-value: Likewise.
11235         * modules/unictype/property-unified-ideograph: Likewise.
11236         * modules/unictype/property-uppercase: Likewise.
11237         * modules/unictype/property-variation-selector: Likewise.
11238         * modules/unictype/property-white-space: Likewise.
11239         * modules/unictype/property-xid-continue: Likewise.
11240         * modules/unictype/property-xid-start: Likewise.
11241         * modules/unictype/property-zero-width: Likewise.
11242         * modules/unictype/scripts: Likewise.
11243         * modules/unictype/syntax-c-ident: Likewise.
11244         * modules/unictype/syntax-c-whitespace: Likewise.
11245         * modules/unictype/syntax-java-ident: Likewise.
11246         * modules/unictype/syntax-java-whitespace: Likewise.
11247         * modules/unilbrk/u8-possible-linebreaks: Likewise.
11248         * modules/unilbrk/u8-width-linebreaks: Likewise.
11249         * modules/unilbrk/u16-possible-linebreaks: Likewise.
11250         * modules/unilbrk/u16-width-linebreaks: Likewise.
11251         * modules/unilbrk/u32-possible-linebreaks: Likewise.
11252         * modules/unilbrk/u32-width-linebreaks: Likewise.
11253         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
11254         * modules/unilbrk/ulc-width-linebreaks: Likewise.
11255         * modules/uniname/uniname: Likewise.
11256         * modules/uninorm/canonical-decomposition: Likewise.
11257         * modules/uninorm/composition: Likewise.
11258         * modules/uninorm/decomposing-form: Likewise.
11259         * modules/uninorm/decomposition: Likewise.
11260         * modules/uninorm/filter: Likewise.
11261         * modules/uninorm/nfc: Likewise.
11262         * modules/uninorm/nfd: Likewise.
11263         * modules/uninorm/nfkc: Likewise.
11264         * modules/uninorm/nfkd: Likewise.
11265         * modules/uninorm/u8-normalize: Likewise.
11266         * modules/uninorm/u8-normcmp: Likewise.
11267         * modules/uninorm/u8-normcoll: Likewise.
11268         * modules/uninorm/u8-normxfrm: Likewise.
11269         * modules/uninorm/u16-normalize: Likewise.
11270         * modules/uninorm/u16-normcmp: Likewise.
11271         * modules/uninorm/u16-normcoll: Likewise.
11272         * modules/uninorm/u16-normxfrm: Likewise.
11273         * modules/uninorm/u32-normalize: Likewise.
11274         * modules/uninorm/u32-normcmp: Likewise.
11275         * modules/uninorm/u32-normcoll: Likewise.
11276         * modules/uninorm/u32-normxfrm: Likewise.
11277         * modules/unistdio/u8-asnprintf: Likewise.
11278         * modules/unistdio/u8-asprintf: Likewise.
11279         * modules/unistdio/u8-snprintf: Likewise.
11280         * modules/unistdio/u8-sprintf: Likewise.
11281         * modules/unistdio/u8-u8-asnprintf: Likewise.
11282         * modules/unistdio/u8-u8-asprintf: Likewise.
11283         * modules/unistdio/u8-u8-snprintf: Likewise.
11284         * modules/unistdio/u8-u8-sprintf: Likewise.
11285         * modules/unistdio/u8-u8-vasnprintf: Likewise.
11286         * modules/unistdio/u8-u8-vasprintf: Likewise.
11287         * modules/unistdio/u8-u8-vsnprintf: Likewise.
11288         * modules/unistdio/u8-u8-vsprintf: Likewise.
11289         * modules/unistdio/u8-vasnprintf: Likewise.
11290         * modules/unistdio/u8-vasprintf: Likewise.
11291         * modules/unistdio/u8-vsnprintf: Likewise.
11292         * modules/unistdio/u8-vsprintf: Likewise.
11293         * modules/unistdio/u16-asnprintf: Likewise.
11294         * modules/unistdio/u16-asprintf: Likewise.
11295         * modules/unistdio/u16-snprintf: Likewise.
11296         * modules/unistdio/u16-sprintf: Likewise.
11297         * modules/unistdio/u16-u16-asnprintf: Likewise.
11298         * modules/unistdio/u16-u16-asprintf: Likewise.
11299         * modules/unistdio/u16-u16-snprintf: Likewise.
11300         * modules/unistdio/u16-u16-sprintf: Likewise.
11301         * modules/unistdio/u16-u16-vasnprintf: Likewise.
11302         * modules/unistdio/u16-u16-vasprintf: Likewise.
11303         * modules/unistdio/u16-u16-vsnprintf: Likewise.
11304         * modules/unistdio/u16-u16-vsprintf: Likewise.
11305         * modules/unistdio/u16-vasnprintf: Likewise.
11306         * modules/unistdio/u16-vasprintf: Likewise.
11307         * modules/unistdio/u16-vsnprintf: Likewise.
11308         * modules/unistdio/u16-vsprintf: Likewise.
11309         * modules/unistdio/u32-asnprintf: Likewise.
11310         * modules/unistdio/u32-asprintf: Likewise.
11311         * modules/unistdio/u32-snprintf: Likewise.
11312         * modules/unistdio/u32-sprintf: Likewise.
11313         * modules/unistdio/u32-u32-asnprintf: Likewise.
11314         * modules/unistdio/u32-u32-asprintf: Likewise.
11315         * modules/unistdio/u32-u32-snprintf: Likewise.
11316         * modules/unistdio/u32-u32-sprintf: Likewise.
11317         * modules/unistdio/u32-u32-vasnprintf: Likewise.
11318         * modules/unistdio/u32-u32-vasprintf: Likewise.
11319         * modules/unistdio/u32-u32-vsnprintf: Likewise.
11320         * modules/unistdio/u32-u32-vsprintf: Likewise.
11321         * modules/unistdio/u32-vasnprintf: Likewise.
11322         * modules/unistdio/u32-vasprintf: Likewise.
11323         * modules/unistdio/u32-vsnprintf: Likewise.
11324         * modules/unistdio/u32-vsprintf: Likewise.
11325         * modules/unistdio/ulc-asnprintf: Likewise.
11326         * modules/unistdio/ulc-asprintf: Likewise.
11327         * modules/unistdio/ulc-fprintf: Likewise.
11328         * modules/unistdio/ulc-snprintf: Likewise.
11329         * modules/unistdio/ulc-sprintf: Likewise.
11330         * modules/unistdio/ulc-vasnprintf: Likewise.
11331         * modules/unistdio/ulc-vasprintf: Likewise.
11332         * modules/unistdio/ulc-vfprintf: Likewise.
11333         * modules/unistdio/ulc-vsnprintf: Likewise.
11334         * modules/unistdio/ulc-vsprintf: Likewise.
11335         * modules/unistr/u8-check: Likewise.
11336         * modules/unistr/u8-chr: Likewise.
11337         * modules/unistr/u8-cmp: Likewise.
11338         * modules/unistr/u8-cmp2: Likewise.
11339         * modules/unistr/u8-cpy: Likewise.
11340         * modules/unistr/u8-cpy-alloc: Likewise.
11341         * modules/unistr/u8-endswith: Likewise.
11342         * modules/unistr/u8-mblen: Likewise.
11343         * modules/unistr/u8-mbsnlen: Likewise.
11344         * modules/unistr/u8-mbtouc: Likewise.
11345         * modules/unistr/u8-mbtouc-unsafe: Likewise.
11346         * modules/unistr/u8-mbtoucr: Likewise.
11347         * modules/unistr/u8-move: Likewise.
11348         * modules/unistr/u8-next: Likewise.
11349         * modules/unistr/u8-prev: Likewise.
11350         * modules/unistr/u8-set: Likewise.
11351         * modules/unistr/u8-startswith: Likewise.
11352         * modules/unistr/u8-stpcpy: Likewise.
11353         * modules/unistr/u8-stpncpy: Likewise.
11354         * modules/unistr/u8-strcat: Likewise.
11355         * modules/unistr/u8-strchr: Likewise.
11356         * modules/unistr/u8-strcmp: Likewise.
11357         * modules/unistr/u8-strcoll: Likewise.
11358         * modules/unistr/u8-strcpy: Likewise.
11359         * modules/unistr/u8-strcspn: Likewise.
11360         * modules/unistr/u8-strdup: Likewise.
11361         * modules/unistr/u8-strlen: Likewise.
11362         * modules/unistr/u8-strmblen: Likewise.
11363         * modules/unistr/u8-strmbtouc: Likewise.
11364         * modules/unistr/u8-strncat: Likewise.
11365         * modules/unistr/u8-strncmp: Likewise.
11366         * modules/unistr/u8-strncpy: Likewise.
11367         * modules/unistr/u8-strnlen: Likewise.
11368         * modules/unistr/u8-strpbrk: Likewise.
11369         * modules/unistr/u8-strrchr: Likewise.
11370         * modules/unistr/u8-strspn: Likewise.
11371         * modules/unistr/u8-strstr: Likewise.
11372         * modules/unistr/u8-strtok: Likewise.
11373         * modules/unistr/u8-to-u16: Likewise.
11374         * modules/unistr/u8-to-u32: Likewise.
11375         * modules/unistr/u8-uctomb: Likewise.
11376         * modules/unistr/u16-check: Likewise.
11377         * modules/unistr/u16-chr: Likewise.
11378         * modules/unistr/u16-cmp: Likewise.
11379         * modules/unistr/u16-cmp2: Likewise.
11380         * modules/unistr/u16-cpy: Likewise.
11381         * modules/unistr/u16-cpy-alloc: Likewise.
11382         * modules/unistr/u16-endswith: Likewise.
11383         * modules/unistr/u16-mblen: Likewise.
11384         * modules/unistr/u16-mbsnlen: Likewise.
11385         * modules/unistr/u16-mbtouc: Likewise.
11386         * modules/unistr/u16-mbtouc-unsafe: Likewise.
11387         * modules/unistr/u16-mbtoucr: Likewise.
11388         * modules/unistr/u16-move: Likewise.
11389         * modules/unistr/u16-next: Likewise.
11390         * modules/unistr/u16-prev: Likewise.
11391         * modules/unistr/u16-set: Likewise.
11392         * modules/unistr/u16-startswith: Likewise.
11393         * modules/unistr/u16-stpcpy: Likewise.
11394         * modules/unistr/u16-stpncpy: Likewise.
11395         * modules/unistr/u16-strcat: Likewise.
11396         * modules/unistr/u16-strchr: Likewise.
11397         * modules/unistr/u16-strcmp: Likewise.
11398         * modules/unistr/u16-strcoll: Likewise.
11399         * modules/unistr/u16-strcpy: Likewise.
11400         * modules/unistr/u16-strcspn: Likewise.
11401         * modules/unistr/u16-strdup: Likewise.
11402         * modules/unistr/u16-strlen: Likewise.
11403         * modules/unistr/u16-strmblen: Likewise.
11404         * modules/unistr/u16-strmbtouc: Likewise.
11405         * modules/unistr/u16-strncat: Likewise.
11406         * modules/unistr/u16-strncmp: Likewise.
11407         * modules/unistr/u16-strncpy: Likewise.
11408         * modules/unistr/u16-strnlen: Likewise.
11409         * modules/unistr/u16-strpbrk: Likewise.
11410         * modules/unistr/u16-strrchr: Likewise.
11411         * modules/unistr/u16-strspn: Likewise.
11412         * modules/unistr/u16-strstr: Likewise.
11413         * modules/unistr/u16-strtok: Likewise.
11414         * modules/unistr/u16-to-u32: Likewise.
11415         * modules/unistr/u16-to-u8: Likewise.
11416         * modules/unistr/u16-uctomb: Likewise.
11417         * modules/unistr/u32-check: Likewise.
11418         * modules/unistr/u32-chr: Likewise.
11419         * modules/unistr/u32-cmp: Likewise.
11420         * modules/unistr/u32-cmp2: Likewise.
11421         * modules/unistr/u32-cpy: Likewise.
11422         * modules/unistr/u32-cpy-alloc: Likewise.
11423         * modules/unistr/u32-endswith: Likewise.
11424         * modules/unistr/u32-mblen: Likewise.
11425         * modules/unistr/u32-mbsnlen: Likewise.
11426         * modules/unistr/u32-mbtouc: Likewise.
11427         * modules/unistr/u32-mbtouc-unsafe: Likewise.
11428         * modules/unistr/u32-mbtoucr: Likewise.
11429         * modules/unistr/u32-move: Likewise.
11430         * modules/unistr/u32-next: Likewise.
11431         * modules/unistr/u32-prev: Likewise.
11432         * modules/unistr/u32-set: Likewise.
11433         * modules/unistr/u32-startswith: Likewise.
11434         * modules/unistr/u32-stpcpy: Likewise.
11435         * modules/unistr/u32-stpncpy: Likewise.
11436         * modules/unistr/u32-strcat: Likewise.
11437         * modules/unistr/u32-strchr: Likewise.
11438         * modules/unistr/u32-strcmp: Likewise.
11439         * modules/unistr/u32-strcoll: Likewise.
11440         * modules/unistr/u32-strcpy: Likewise.
11441         * modules/unistr/u32-strcspn: Likewise.
11442         * modules/unistr/u32-strdup: Likewise.
11443         * modules/unistr/u32-strlen: Likewise.
11444         * modules/unistr/u32-strmblen: Likewise.
11445         * modules/unistr/u32-strmbtouc: Likewise.
11446         * modules/unistr/u32-strncat: Likewise.
11447         * modules/unistr/u32-strncmp: Likewise.
11448         * modules/unistr/u32-strncpy: Likewise.
11449         * modules/unistr/u32-strnlen: Likewise.
11450         * modules/unistr/u32-strpbrk: Likewise.
11451         * modules/unistr/u32-strrchr: Likewise.
11452         * modules/unistr/u32-strspn: Likewise.
11453         * modules/unistr/u32-strstr: Likewise.
11454         * modules/unistr/u32-strtok: Likewise.
11455         * modules/unistr/u32-to-u16: Likewise.
11456         * modules/unistr/u32-to-u8: Likewise.
11457         * modules/unistr/u32-uctomb: Likewise.
11458         * modules/uniwbrk/u8-wordbreaks: Likewise.
11459         * modules/uniwbrk/u16-wordbreaks: Likewise.
11460         * modules/uniwbrk/u32-wordbreaks: Likewise.
11461         * modules/uniwbrk/ulc-wordbreaks: Likewise.
11462         * modules/uniwbrk/wordbreak-property: Likewise.
11463         * modules/uniwidth/u8-strwidth: Likewise.
11464         * modules/uniwidth/u8-width: Likewise.
11465         * modules/uniwidth/u16-strwidth: Likewise.
11466         * modules/uniwidth/u16-width: Likewise.
11467         * modules/uniwidth/u32-strwidth: Likewise.
11468         * modules/uniwidth/u32-width: Likewise.
11469         * modules/uniwidth/width: Likewise.
11470         * modules/unicase/cased-tests (Makefile.am): Link all test programs
11471         with $(LIBUNISTRING).
11472         * modules/unicase/ignorable-tests: Likewise.
11473         * modules/unicase/locale-language-tests: Likewise.
11474         * modules/unicase/tolower-tests: Likewise.
11475         * modules/unicase/totitle-tests: Likewise.
11476         * modules/unicase/toupper-tests: Likewise.
11477         * modules/unicase/u8-casecmp-tests: Likewise.
11478         * modules/unicase/u8-casecoll-tests: Likewise.
11479         * modules/unicase/u8-casefold-tests: Likewise.
11480         * modules/unicase/u8-is-cased-tests: Likewise.
11481         * modules/unicase/u8-is-casefolded-tests: Likewise.
11482         * modules/unicase/u8-is-lowercase-tests: Likewise.
11483         * modules/unicase/u8-is-titlecase-tests: Likewise.
11484         * modules/unicase/u8-is-uppercase-tests: Likewise.
11485         * modules/unicase/u8-tolower-tests: Likewise.
11486         * modules/unicase/u8-totitle-tests: Likewise.
11487         * modules/unicase/u8-toupper-tests: Likewise.
11488         * modules/unicase/u16-casecmp-tests: Likewise.
11489         * modules/unicase/u16-casecoll-tests: Likewise.
11490         * modules/unicase/u16-casefold-tests: Likewise.
11491         * modules/unicase/u16-is-cased-tests: Likewise.
11492         * modules/unicase/u16-is-casefolded-tests: Likewise.
11493         * modules/unicase/u16-is-lowercase-tests: Likewise.
11494         * modules/unicase/u16-is-titlecase-tests: Likewise.
11495         * modules/unicase/u16-is-uppercase-tests: Likewise.
11496         * modules/unicase/u16-tolower-tests: Likewise.
11497         * modules/unicase/u16-totitle-tests: Likewise.
11498         * modules/unicase/u16-toupper-tests: Likewise.
11499         * modules/unicase/u32-casecmp-tests: Likewise.
11500         * modules/unicase/u32-casecoll-tests: Likewise.
11501         * modules/unicase/u32-casefold-tests: Likewise.
11502         * modules/unicase/u32-is-cased-tests: Likewise.
11503         * modules/unicase/u32-is-casefolded-tests: Likewise.
11504         * modules/unicase/u32-is-lowercase-tests: Likewise.
11505         * modules/unicase/u32-is-titlecase-tests: Likewise.
11506         * modules/unicase/u32-is-uppercase-tests: Likewise.
11507         * modules/unicase/u32-tolower-tests: Likewise.
11508         * modules/unicase/u32-totitle-tests: Likewise.
11509         * modules/unicase/u32-toupper-tests: Likewise.
11510         * modules/unicase/ulc-casecmp-tests: Likewise.
11511         * modules/unicase/ulc-casecoll-tests: Likewise.
11512         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
11513         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
11514         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
11515         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
11516         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
11517         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
11518         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
11519         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
11520         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
11521         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
11522         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
11523         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
11524         * modules/unictype/bidicategory-byname-tests: Likewise.
11525         * modules/unictype/bidicategory-name-tests: Likewise.
11526         * modules/unictype/bidicategory-of-tests: Likewise.
11527         * modules/unictype/bidicategory-test-tests: Likewise.
11528         * modules/unictype/block-list-tests: Likewise.
11529         * modules/unictype/block-of-tests: Likewise.
11530         * modules/unictype/block-test-tests: Likewise.
11531         * modules/unictype/category-C-tests: Likewise.
11532         * modules/unictype/category-Cc-tests: Likewise.
11533         * modules/unictype/category-Cf-tests: Likewise.
11534         * modules/unictype/category-Cn-tests: Likewise.
11535         * modules/unictype/category-Co-tests: Likewise.
11536         * modules/unictype/category-Cs-tests: Likewise.
11537         * modules/unictype/category-L-tests: Likewise.
11538         * modules/unictype/category-Ll-tests: Likewise.
11539         * modules/unictype/category-Lm-tests: Likewise.
11540         * modules/unictype/category-Lo-tests: Likewise.
11541         * modules/unictype/category-Lt-tests: Likewise.
11542         * modules/unictype/category-Lu-tests: Likewise.
11543         * modules/unictype/category-M-tests: Likewise.
11544         * modules/unictype/category-Mc-tests: Likewise.
11545         * modules/unictype/category-Me-tests: Likewise.
11546         * modules/unictype/category-Mn-tests: Likewise.
11547         * modules/unictype/category-N-tests: Likewise.
11548         * modules/unictype/category-Nd-tests: Likewise.
11549         * modules/unictype/category-Nl-tests: Likewise.
11550         * modules/unictype/category-No-tests: Likewise.
11551         * modules/unictype/category-P-tests: Likewise.
11552         * modules/unictype/category-Pc-tests: Likewise.
11553         * modules/unictype/category-Pd-tests: Likewise.
11554         * modules/unictype/category-Pe-tests: Likewise.
11555         * modules/unictype/category-Pf-tests: Likewise.
11556         * modules/unictype/category-Pi-tests: Likewise.
11557         * modules/unictype/category-Po-tests: Likewise.
11558         * modules/unictype/category-Ps-tests: Likewise.
11559         * modules/unictype/category-S-tests: Likewise.
11560         * modules/unictype/category-Sc-tests: Likewise.
11561         * modules/unictype/category-Sk-tests: Likewise.
11562         * modules/unictype/category-Sm-tests: Likewise.
11563         * modules/unictype/category-So-tests: Likewise.
11564         * modules/unictype/category-Z-tests: Likewise.
11565         * modules/unictype/category-Zl-tests: Likewise.
11566         * modules/unictype/category-Zp-tests: Likewise.
11567         * modules/unictype/category-Zs-tests: Likewise.
11568         * modules/unictype/category-and-not-tests: Likewise.
11569         * modules/unictype/category-and-tests: Likewise.
11570         * modules/unictype/category-byname-tests: Likewise.
11571         * modules/unictype/category-name-tests: Likewise.
11572         * modules/unictype/category-none-tests: Likewise.
11573         * modules/unictype/category-of-tests: Likewise.
11574         * modules/unictype/category-or-tests: Likewise.
11575         * modules/unictype/category-test-withtable-tests: Likewise.
11576         * modules/unictype/combining-class-tests: Likewise.
11577         * modules/unictype/ctype-alnum-tests: Likewise.
11578         * modules/unictype/ctype-alpha-tests: Likewise.
11579         * modules/unictype/ctype-blank-tests: Likewise.
11580         * modules/unictype/ctype-cntrl-tests: Likewise.
11581         * modules/unictype/ctype-digit-tests: Likewise.
11582         * modules/unictype/ctype-graph-tests: Likewise.
11583         * modules/unictype/ctype-lower-tests: Likewise.
11584         * modules/unictype/ctype-print-tests: Likewise.
11585         * modules/unictype/ctype-punct-tests: Likewise.
11586         * modules/unictype/ctype-space-tests: Likewise.
11587         * modules/unictype/ctype-upper-tests: Likewise.
11588         * modules/unictype/ctype-xdigit-tests: Likewise.
11589         * modules/unictype/decimal-digit-tests: Likewise.
11590         * modules/unictype/digit-tests: Likewise.
11591         * modules/unictype/mirror-tests: Likewise.
11592         * modules/unictype/numeric-tests: Likewise.
11593         * modules/unictype/property-alphabetic-tests: Likewise.
11594         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
11595         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
11596         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
11597         * modules/unictype/property-bidi-block-separator-tests: Likewise.
11598         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
11599         * modules/unictype/property-bidi-common-separator-tests: Likewise.
11600         * modules/unictype/property-bidi-control-tests: Likewise.
11601         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
11602         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
11603         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
11604         * modules/unictype/property-bidi-european-digit-tests: Likewise.
11605         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
11606         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
11607         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
11608         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
11609         * modules/unictype/property-bidi-pdf-tests: Likewise.
11610         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
11611         * modules/unictype/property-bidi-whitespace-tests: Likewise.
11612         * modules/unictype/property-byname-tests: Likewise.
11613         * modules/unictype/property-combining-tests: Likewise.
11614         * modules/unictype/property-composite-tests: Likewise.
11615         * modules/unictype/property-currency-symbol-tests: Likewise.
11616         * modules/unictype/property-dash-tests: Likewise.
11617         * modules/unictype/property-decimal-digit-tests: Likewise.
11618         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
11619         * modules/unictype/property-deprecated-tests: Likewise.
11620         * modules/unictype/property-diacritic-tests: Likewise.
11621         * modules/unictype/property-extender-tests: Likewise.
11622         * modules/unictype/property-format-control-tests: Likewise.
11623         * modules/unictype/property-grapheme-base-tests: Likewise.
11624         * modules/unictype/property-grapheme-extend-tests: Likewise.
11625         * modules/unictype/property-grapheme-link-tests: Likewise.
11626         * modules/unictype/property-hex-digit-tests: Likewise.
11627         * modules/unictype/property-hyphen-tests: Likewise.
11628         * modules/unictype/property-id-continue-tests: Likewise.
11629         * modules/unictype/property-id-start-tests: Likewise.
11630         * modules/unictype/property-ideographic-tests: Likewise.
11631         * modules/unictype/property-ids-binary-operator-tests: Likewise.
11632         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
11633         * modules/unictype/property-ignorable-control-tests: Likewise.
11634         * modules/unictype/property-iso-control-tests: Likewise.
11635         * modules/unictype/property-join-control-tests: Likewise.
11636         * modules/unictype/property-left-of-pair-tests: Likewise.
11637         * modules/unictype/property-line-separator-tests: Likewise.
11638         * modules/unictype/property-logical-order-exception-tests: Likewise.
11639         * modules/unictype/property-lowercase-tests: Likewise.
11640         * modules/unictype/property-math-tests: Likewise.
11641         * modules/unictype/property-non-break-tests: Likewise.
11642         * modules/unictype/property-not-a-character-tests: Likewise.
11643         * modules/unictype/property-numeric-tests: Likewise.
11644         * modules/unictype/property-other-alphabetic-tests: Likewise.
11645         * modules/unictype/property-other-default-ignorable-code-point-tests:
11646         Likewise.
11647         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
11648         * modules/unictype/property-other-id-continue-tests: Likewise.
11649         * modules/unictype/property-other-id-start-tests: Likewise.
11650         * modules/unictype/property-other-lowercase-tests: Likewise.
11651         * modules/unictype/property-other-math-tests: Likewise.
11652         * modules/unictype/property-other-uppercase-tests: Likewise.
11653         * modules/unictype/property-paired-punctuation-tests: Likewise.
11654         * modules/unictype/property-paragraph-separator-tests: Likewise.
11655         * modules/unictype/property-pattern-syntax-tests: Likewise.
11656         * modules/unictype/property-pattern-white-space-tests: Likewise.
11657         * modules/unictype/property-private-use-tests: Likewise.
11658         * modules/unictype/property-punctuation-tests: Likewise.
11659         * modules/unictype/property-quotation-mark-tests: Likewise.
11660         * modules/unictype/property-radical-tests: Likewise.
11661         * modules/unictype/property-sentence-terminal-tests: Likewise.
11662         * modules/unictype/property-soft-dotted-tests: Likewise.
11663         * modules/unictype/property-space-tests: Likewise.
11664         * modules/unictype/property-terminal-punctuation-tests: Likewise.
11665         * modules/unictype/property-test-tests: Likewise.
11666         * modules/unictype/property-titlecase-tests: Likewise.
11667         * modules/unictype/property-unassigned-code-value-tests: Likewise.
11668         * modules/unictype/property-unified-ideograph-tests: Likewise.
11669         * modules/unictype/property-uppercase-tests: Likewise.
11670         * modules/unictype/property-variation-selector-tests: Likewise.
11671         * modules/unictype/property-white-space-tests: Likewise.
11672         * modules/unictype/property-xid-continue-tests: Likewise.
11673         * modules/unictype/property-xid-start-tests: Likewise.
11674         * modules/unictype/property-zero-width-tests: Likewise.
11675         * modules/unictype/scripts-tests: Likewise.
11676         * modules/unictype/syntax-c-ident-tests: Likewise.
11677         * modules/unictype/syntax-c-whitespace-tests: Likewise.
11678         * modules/unictype/syntax-java-ident-tests: Likewise.
11679         * modules/unictype/syntax-java-whitespace-tests: Likewise.
11680         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
11681         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
11682         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
11683         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
11684         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
11685         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
11686         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
11687         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
11688         * modules/uniname/uniname-tests: Likewise.
11689         * modules/uninorm/canonical-decomposition-tests: Likewise.
11690         * modules/uninorm/compat-decomposition-tests: Likewise.
11691         * modules/uninorm/composition-tests: Likewise.
11692         * modules/uninorm/decomposing-form-tests: Likewise.
11693         * modules/uninorm/decomposition-tests: Likewise.
11694         * modules/uninorm/filter-tests: Likewise.
11695         * modules/uninorm/nfc-tests: Likewise.
11696         * modules/uninorm/nfd-tests: Likewise.
11697         * modules/uninorm/nfkc-tests: Likewise.
11698         * modules/uninorm/nfkd-tests: Likewise.
11699         * modules/uninorm/u8-normcmp-tests: Likewise.
11700         * modules/uninorm/u8-normcoll-tests: Likewise.
11701         * modules/uninorm/u16-normcmp-tests: Likewise.
11702         * modules/uninorm/u16-normcoll-tests: Likewise.
11703         * modules/uninorm/u32-normcmp-tests: Likewise.
11704         * modules/uninorm/u32-normcoll-tests: Likewise.
11705         * modules/unistdio/u8-asnprintf-tests: Likewise.
11706         * modules/unistdio/u8-vasnprintf-tests: Likewise.
11707         * modules/unistdio/u8-vasprintf-tests: Likewise.
11708         * modules/unistdio/u8-vsnprintf-tests: Likewise.
11709         * modules/unistdio/u8-vsprintf-tests: Likewise.
11710         * modules/unistdio/u16-asnprintf-tests: Likewise.
11711         * modules/unistdio/u16-vasnprintf-tests: Likewise.
11712         * modules/unistdio/u16-vasprintf-tests: Likewise.
11713         * modules/unistdio/u16-vsnprintf-tests: Likewise.
11714         * modules/unistdio/u16-vsprintf-tests: Likewise.
11715         * modules/unistdio/u32-asnprintf-tests: Likewise.
11716         * modules/unistdio/u32-vasnprintf-tests: Likewise.
11717         * modules/unistdio/u32-vasprintf-tests: Likewise.
11718         * modules/unistdio/u32-vsnprintf-tests: Likewise.
11719         * modules/unistdio/u32-vsprintf-tests: Likewise.
11720         * modules/unistdio/ulc-asnprintf-tests: Likewise.
11721         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
11722         * modules/unistdio/ulc-vasprintf-tests: Likewise.
11723         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
11724         * modules/unistdio/ulc-vsprintf-tests: Likewise.
11725         * modules/unistr/u8-check-tests: Likewise.
11726         * modules/unistr/u8-chr-tests: Likewise.
11727         * modules/unistr/u8-cmp-tests: Likewise.
11728         * modules/unistr/u8-cmp2-tests: Likewise.
11729         * modules/unistr/u8-cpy-alloc-tests: Likewise.
11730         * modules/unistr/u8-cpy-tests: Likewise.
11731         * modules/unistr/u8-mblen-tests: Likewise.
11732         * modules/unistr/u8-mbsnlen-tests: Likewise.
11733         * modules/unistr/u8-mbtouc-tests: Likewise.
11734         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
11735         * modules/unistr/u8-mbtoucr-tests: Likewise.
11736         * modules/unistr/u8-move-tests: Likewise.
11737         * modules/unistr/u8-next-tests: Likewise.
11738         * modules/unistr/u8-prev-tests: Likewise.
11739         * modules/unistr/u8-set-tests: Likewise.
11740         * modules/unistr/u8-stpcpy-tests: Likewise.
11741         * modules/unistr/u8-stpncpy-tests: Likewise.
11742         * modules/unistr/u8-strcat-tests: Likewise.
11743         * modules/unistr/u8-strcmp-tests: Likewise.
11744         * modules/unistr/u8-strcoll-tests: Likewise.
11745         * modules/unistr/u8-strcpy-tests: Likewise.
11746         * modules/unistr/u8-strdup-tests: Likewise.
11747         * modules/unistr/u8-strlen-tests: Likewise.
11748         * modules/unistr/u8-strmblen-tests: Likewise.
11749         * modules/unistr/u8-strmbtouc-tests: Likewise.
11750         * modules/unistr/u8-strncat-tests: Likewise.
11751         * modules/unistr/u8-strncmp-tests: Likewise.
11752         * modules/unistr/u8-strncpy-tests: Likewise.
11753         * modules/unistr/u8-strnlen-tests: Likewise.
11754         * modules/unistr/u8-to-u16-tests: Likewise.
11755         * modules/unistr/u8-to-u32-tests: Likewise.
11756         * modules/unistr/u8-uctomb-tests: Likewise.
11757         * modules/unistr/u16-check-tests: Likewise.
11758         * modules/unistr/u16-chr-tests: Likewise.
11759         * modules/unistr/u16-cmp-tests: Likewise.
11760         * modules/unistr/u16-cmp2-tests: Likewise.
11761         * modules/unistr/u16-cpy-alloc-tests: Likewise.
11762         * modules/unistr/u16-cpy-tests: Likewise.
11763         * modules/unistr/u16-mblen-tests: Likewise.
11764         * modules/unistr/u16-mbsnlen-tests: Likewise.
11765         * modules/unistr/u16-mbtouc-tests: Likewise.
11766         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11767         * modules/unistr/u16-mbtoucr-tests: Likewise.
11768         * modules/unistr/u16-move-tests: Likewise.
11769         * modules/unistr/u16-next-tests: Likewise.
11770         * modules/unistr/u16-prev-tests: Likewise.
11771         * modules/unistr/u16-set-tests: Likewise.
11772         * modules/unistr/u16-stpcpy-tests: Likewise.
11773         * modules/unistr/u16-stpncpy-tests: Likewise.
11774         * modules/unistr/u16-strcat-tests: Likewise.
11775         * modules/unistr/u16-strcmp-tests: Likewise.
11776         * modules/unistr/u16-strcoll-tests: Likewise.
11777         * modules/unistr/u16-strcpy-tests: Likewise.
11778         * modules/unistr/u16-strdup-tests: Likewise.
11779         * modules/unistr/u16-strlen-tests: Likewise.
11780         * modules/unistr/u16-strmblen-tests: Likewise.
11781         * modules/unistr/u16-strmbtouc-tests: Likewise.
11782         * modules/unistr/u16-strncat-tests: Likewise.
11783         * modules/unistr/u16-strncmp-tests: Likewise.
11784         * modules/unistr/u16-strncpy-tests: Likewise.
11785         * modules/unistr/u16-strnlen-tests: Likewise.
11786         * modules/unistr/u16-to-u32-tests: Likewise.
11787         * modules/unistr/u16-to-u8-tests: Likewise.
11788         * modules/unistr/u16-uctomb-tests: Likewise.
11789         * modules/unistr/u32-check-tests: Likewise.
11790         * modules/unistr/u32-chr-tests: Likewise.
11791         * modules/unistr/u32-cmp-tests: Likewise.
11792         * modules/unistr/u32-cmp2-tests: Likewise.
11793         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11794         * modules/unistr/u32-cpy-tests: Likewise.
11795         * modules/unistr/u32-mblen-tests: Likewise.
11796         * modules/unistr/u32-mbsnlen-tests: Likewise.
11797         * modules/unistr/u32-mbtouc-tests: Likewise.
11798         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11799         * modules/unistr/u32-mbtoucr-tests: Likewise.
11800         * modules/unistr/u32-move-tests: Likewise.
11801         * modules/unistr/u32-next-tests: Likewise.
11802         * modules/unistr/u32-prev-tests: Likewise.
11803         * modules/unistr/u32-set-tests: Likewise.
11804         * modules/unistr/u32-stpcpy-tests: Likewise.
11805         * modules/unistr/u32-stpncpy-tests: Likewise.
11806         * modules/unistr/u32-strcat-tests: Likewise.
11807         * modules/unistr/u32-strcmp-tests: Likewise.
11808         * modules/unistr/u32-strcoll-tests: Likewise.
11809         * modules/unistr/u32-strcpy-tests: Likewise.
11810         * modules/unistr/u32-strdup-tests: Likewise.
11811         * modules/unistr/u32-strlen-tests: Likewise.
11812         * modules/unistr/u32-strmblen-tests: Likewise.
11813         * modules/unistr/u32-strmbtouc-tests: Likewise.
11814         * modules/unistr/u32-strncat-tests: Likewise.
11815         * modules/unistr/u32-strncmp-tests: Likewise.
11816         * modules/unistr/u32-strncpy-tests: Likewise.
11817         * modules/unistr/u32-strnlen-tests: Likewise.
11818         * modules/unistr/u32-to-u16-tests: Likewise.
11819         * modules/unistr/u32-to-u8-tests: Likewise.
11820         * modules/unistr/u32-uctomb-tests: Likewise.
11821         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11822         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11823         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11824         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11825         * modules/uniwidth/u8-strwidth-tests: Likewise.
11826         * modules/uniwidth/u8-width-tests: Likewise.
11827         * modules/uniwidth/u16-strwidth-tests: Likewise.
11828         * modules/uniwidth/u16-width-tests: Likewise.
11829         * modules/uniwidth/u32-strwidth-tests: Likewise.
11830         * modules/uniwidth/u32-width-tests: Likewise.
11831         * modules/uniwidth/width-tests: Likewise.
11832
11833 2010-05-18  Richard Jones  <rjones@redhat.com>
11834
11835         doc: users.txt: list hivex
11836         * users.txt: Add hivex.
11837
11838 2010-05-18  Richard Jones  <rjones@redhat.com>
11839
11840         doc: users.txt: list febootstrap
11841         * users.txt: Add febootstrap.
11842
11843 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11844
11845         bootstrap: fix an error when gnulib is not used as a git submodule
11846         * build-aux/bootstrap (gnulib_path): If its length is zero then
11847         assign "gnulib" to it.
11848         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11849
11850 2010-05-16  Bruno Haible  <bruno@clisp.org>
11851
11852         Avoid autoconf warnings about AM_ICONV.
11853         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11854         2.64.
11855
11856 2010-05-16  Bruno Haible  <bruno@clisp.org>
11857
11858         absolute-header: Make the macro usable in more situations.
11859         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11860         from gl_ABSOLUTE_HEADER.
11861         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11862
11863 2010-05-16  James Youngman  <jay@gnu.org>
11864
11865         doc: update users.txt
11866         * users.txt: Add CSSC.
11867
11868 2010-05-16  Jim Meyering  <meyering@redhat.com>
11869
11870         init.sh: fix an error in the previous change; add more comments
11871         * tests/init.sh: Compare exit code in loop against 9, not 2.
11872         Patch by Bruno Haible.
11873         Make the two tests more similar by adding an empty "then" clause.
11874         Add comments.
11875
11876         init.sh: avoid unnecessary shell re-exec
11877         * tests/init.sh: Improve the re-exec-required check to first test the
11878         current shell.  If it passes the test, do not search for a shell that
11879         does pass, and do not re-exec.  This test is particularly contorted to
11880         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11881         of $(...) evokes a syntax error and causes immediate shell exit with
11882         status 2.  Bruno Haible reported that the re-exec made it impossible
11883         to single-step through any init.sh-using script.
11884
11885 2010-05-16  Bruno Haible  <bruno@clisp.org>
11886
11887         Fix collision between gnulib's and libintl's printf replacements.
11888         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11889         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11890         (printf): When using GNU C, map the __printf__ function to rpl_printf
11891         via __asm__. When not using GNU C, define rpl_printf instead of
11892         __printf__.
11893         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11894         commit.
11895         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11896         commit.
11897         * m4/asm-underscore.m4: New file.
11898         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11899         * modules/stdio (Files): Add m4/asm-underscore.m4.
11900         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11901         Reported by Ben Pfaff.
11902
11903 2010-05-16  Bruno Haible  <bruno@clisp.org>
11904
11905         verify: Avoid skipping the test on openSUSE 11.0.
11906         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11907
11908 2010-05-13  Bruno Haible  <bruno@clisp.org>
11909
11910         Avoid useless warnings from G++.
11911         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11912         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11913         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11914
11915 2010-05-11  Jim Meyering  <meyering@redhat.com>
11916
11917         maint.mk: tweak preceding change
11918         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11919         regexps tighter by anchoring at EOL, and make the new group "shy"
11920         for slightly decreased overhead.
11921
11922 2010-05-11  Eric Blake  <eblake@redhat.com>
11923
11924         maint.mk: gnulib doesn't guarantee NSIG
11925         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11926
11927 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11928
11929         test-pwrite.c: Remove unused variable declaration.
11930         * tests/test-pwrite.c (main): Remove read_buf declaration.
11931
11932         Remove useless test-pwrite.sh file.
11933         * tests/test-pwrite.sh: Delete file.
11934         * modules/pwrite-tests: Remove references.
11935         Reported by Bruno Haible.
11936
11937 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11938
11939         init.sh: fix a typo
11940         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11941
11942 2010-05-10  Jim Meyering  <meyering@redhat.com>
11943
11944         maint.mk: avoid using a temporary file in the always-defined-macros check
11945         * top/maint.mk (.re-defmac): Remove rule.
11946         (gl_trap_): Remove definition.
11947         (sc_prohibit_always-defined_macros): Rewrite not to create and
11948         depend on a temporary file.  Instead, depend on GNU grep's ability
11949         to read a list of regular expressions from stdin when given "-f -".
11950
11951 2010-05-09  Bruno Haible  <bruno@clisp.org>
11952
11953         Update to GNU gettext 0.18, part 1.
11954         * m4/gettext.m4: Update to GNU gettext 0.18.
11955         * m4/intl.m4: Likewise.
11956         * m4/po.m4: Likewise.
11957         * modules/gettext (Files): Add m4/fcntl-o.m4.
11958         (configure.ac): Require gettext infrastructure from version 0.18.
11959
11960 2010-05-09  Jim Meyering  <meyering@redhat.com>
11961
11962         init.sh: enable MALLOC_PERTURB_
11963         * tests/init.sh: Enable glibc's malloc-perturbing option.
11964
11965         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11966         With my recent change in init.sh from the two-line form:
11967             -#   : ${srcdir=.}
11968             -#   . "$srcdir/init.sh"; path_prepend_ .
11969             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11970         I noticed that using the one-line form would cause this test
11971         to fail with a false-positive, or to stop working altogether,
11972         depending on whether help-version changed or all the tests did.
11973         * top/maint.mk (_hv_regex): Remove this definition.
11974         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11975         (_hv_regex_strong): Use a stronger regex to check for conformance.
11976         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11977         Give a separate diagnostic for lack of conforming use.
11978
11979         maint.mk: prohibit definition of symbols defined by gnulib
11980         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11981         definition of symbols defined by gnulib.
11982
11983 2010-05-09  Bruno Haible  <bruno@clisp.org>
11984
11985         acl: Avoid test failure on Cygwin-hosted mingw.
11986         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11987
11988 2010-05-09  Bruno Haible  <bruno@clisp.org>
11989
11990         error: Use system's fcntl function.
11991         * lib/error.c (fcntl): Undefine.
11992
11993 2010-05-09  Jim Meyering  <meyering@redhat.com>
11994
11995         verify: adjust formatting to be more consistent
11996         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11997         argument-list '('s, and after one comma.
11998
11999 2010-05-09  Bruno Haible  <bruno@clisp.org>
12000
12001         error: More reliable output on mingw.
12002         * lib/error.c: Include <windows.h>.
12003         (is_open): New function.
12004         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
12005         defined.
12006
12007 2010-05-09  Bruno Haible  <bruno@clisp.org>
12008
12009         vasnprintf: Fix syntax errors in libintl build on mingw.
12010         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
12011         pad_ourselves and prec_ourselves after use.
12012
12013 2010-05-08  Bruno Haible  <bruno@clisp.org>
12014
12015         * lib/config.charset: Update comments for Cygwin 1.7.
12016         * lib/localcharset.c: Likewise.
12017
12018 2010-05-07  Jim Meyering  <meyering@redhat.com>
12019
12020         init.sh: improve comments
12021         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
12022         . "${srcdir=.}/init.sh"; path_prepend_ .
12023         Add a note about path_prepend_ and the alternative of using
12024         TESTS_ENVIRONMENT.
12025
12026 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
12027
12028         exclude: Unescape hashed patterns in wildcard mode.
12029         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
12030         to the hash list.
12031         * tests/test-exclude8.sh: New test case.
12032         * modules/exclude-tests: Add new test.
12033
12034 2010-05-05  Eric Blake  <eblake@redhat.com>
12035
12036         verify: automate tests
12037         * modules/verify-tests: New module.
12038         * tests/test-verify.sh: New file.
12039         * tests/test-verify.c: Guard each negative test with a unique id.
12040         Also avoid warning about unused left hand of comma expressions.
12041
12042 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12043
12044         Further improvements to verify.h, suggested by Eric Blake.
12045         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
12046         the GL_* versions, to avoid collision with OpenGL.
12047         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
12048         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
12049         than testing merely whether it's defined.
12050
12051         Modify verify.h to pacify gcc -Wredundant_decls.
12052         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
12053         These use the prefix "GL_" since they're likely to be useful elsewhere.
12054         We may need to break them out into a different .h file.
12055         (__COUNTER__): Define to 0 if the compiler doesn't support it.
12056         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
12057         of verify_function__.
12058
12059 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12060
12061         Tests for module pwrite.
12062         * modules/pwrite-tests: New file.
12063         * tests/test-pwrite.sh: New file.
12064         * tests/test-pwrite.c: New file.
12065
12066         New module pwrite.
12067         * lib/unistd.in.h (pwrite): New declaration.
12068         * lib/pwrite.c: New file, from glibc with modifications.
12069         * m4/pwrite.m4: New file.
12070         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
12071         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
12072         REPLACE_PWRITE.
12073         * modules/pwrite: New file.
12074         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
12075         REPLACE_PWRITE.
12076         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
12077         * doc/posix-functions/pwrite.texi: Mention the new module.
12078
12079 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12080
12081         pread: Update documentation.
12082         * doc/posix-functions/pread.texi: Mention the 'pread' module.
12083
12084 2010-05-04  Eric Blake  <eblake@redhat.com>
12085
12086         docs: update cygwin progress
12087         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
12088         this bug.
12089         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
12090         Added in cygwin 1.7.2.
12091         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
12092         Likewise.
12093         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
12094         Likewise.
12095         * doc/glibc-functions/dup3.texi (dup3): Likewise.
12096         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12097         * doc/glibc-functions/accept4.texi (accept4): Likewise.
12098         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
12099         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
12100         Mention nproc module.
12101         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
12102         bug in cygwin 1.7.5 addition.
12103         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
12104         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
12105         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
12106         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
12107         1.7.5.
12108         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
12109         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
12110         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
12111         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
12112         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
12113         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
12114         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
12115         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
12116         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
12117         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
12118         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
12119         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
12120         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
12121         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
12122         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
12123         Likewise.
12124         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
12125         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
12126         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
12127         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
12128         Likewise.
12129         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
12130         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
12131         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
12132         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
12133         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
12134         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
12135         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
12136         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
12137         Likewise.
12138         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
12139         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
12140         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
12141         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
12142         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
12143         Likewise.
12144         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
12145         Likewise.
12146         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
12147         Likewise.
12148         * doc/glibc-functions/xdrrec_endofrecord.texi
12149         (xdrrec_endofrecord): Likewise.
12150         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
12151         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
12152         Likewise.
12153         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
12154         Likewise.
12155
12156 2010-05-04  Jim Meyering  <meyering@redhat.com>
12157
12158         gendocs.sh: make its "-s FILE" option more useful
12159         * build-aux/gendocs.sh: When honoring the -s FILE option, update
12160         $PACKAGE to reflect the probably-different basename of "FILE".
12161
12162 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12163
12164         bootstrap: don't ignore download_po_files failure
12165         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
12166         failure.
12167
12168 2010-05-03  Jim Meyering  <meyering@redhat.com>
12169
12170         maint.mk: allow to pass options to gendocs.sh
12171         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
12172         (gendocs_options_): New overridable variable.
12173
12174         gnu-web-doc-update: don't ignore configure or build failure
12175         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
12176
12177         announce-gen: backslash-escape '@'s in --help output
12178         * build-aux/announce-gen: Fix syntax errors.
12179
12180         maint.mk, announce-gen: allow project-specific announcement mail headers
12181         * top/maint.mk (translation_project_): Define default.
12182         (announcement_Cc_, announcement_mail_headers_): Likewise.
12183         (announcement): Invoke announce-gen with new --mail-headers option.
12184         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
12185
12186         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
12187         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
12188         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
12189         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
12190         line in the "err2" output file when running "make check" in verbose
12191         mode (i.e., with set -x enabled).
12192
12193 2010-05-03  Bruno Haible  <bruno@clisp.org>
12194
12195         wctob: Fix for weird platforms.
12196         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
12197         argument value.
12198
12199 2010-05-03  Jim Meyering  <meyering@redhat.com>
12200
12201         maint.mk: prohibit unwarranted use of <strings.h>
12202         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
12203         strings.h in a file that does not also use strcasecmp, strncasecmp,
12204         ffs or ffsll.
12205
12206         maint.mk: remove obsolete comments
12207         * top/maint.mk: Remove stale, commented-out rules.
12208
12209 2010-05-02  Bruno Haible  <bruno@clisp.org>
12210
12211         wcwidth: Declare also when it's aliased.
12212         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
12213         macro.
12214
12215 2010-05-02  Bruno Haible  <bruno@clisp.org>
12216
12217         Fix regression from 2010-04-25.
12218         * gnulib-tool (func_modules_transitive_closure): Check the status of
12219         all modules, not only of the tests that are of the form foo-tests where
12220         foo is a module.
12221
12222 2010-05-02  Bruno Haible  <bruno@clisp.org>
12223
12224         wctob: Work around nasty Cygwin 1.7.2 bug.
12225         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
12226         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
12227
12228 2010-05-01  Bruno Haible  <bruno@clisp.org>
12229
12230         fpurge: Sharper test.
12231         * tests/test-fpurge.c (main): Add one more ftell check.
12232         * modules/fpurge-tests (Depends-on): Add ftell.
12233         Suggested by Eric Blake.
12234
12235 2010-05-01  Bruno Haible  <bruno@clisp.org>
12236
12237         ftello: Another test.
12238         * tests/test-ftello3.c: New file.
12239         * modules/ftello-tests (Files): Add it.
12240         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12241         MOSTLYCLEANFILES.
12242
12243         ftell: Another test.
12244         * tests/test-ftell3.c: New file.
12245         * modules/ftell-tests (Files): Add it.
12246         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12247         MOSTLYCLEANFILES.
12248
12249 2010-05-01  Bruno Haible  <bruno@clisp.org>
12250
12251         ftell, ftello: Work around Solaris bug.
12252         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
12253         * lib/ftello.c: Include stdio-impl.h.
12254         (ftello): On Solaris, when _IOWRT is set, compute the result without
12255         looking at _IOREAD.
12256         * modules/ftello (Files): Add lib/stdio-impl.h.
12257         * doc/posix-functions/ftell.texi: Mention Solaris bug.
12258         * doc/posix-functions/ftello.texi: Likewise.
12259         Reported by Eric Blake.
12260
12261 2010-05-01  Bruno Haible  <bruno@clisp.org>
12262
12263         freading: Adapt to special meaning of _IOREAD flag on Solaris.
12264         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
12265         the _IOWRT flag is also set.
12266
12267 2010-05-01  Bruno Haible  <bruno@clisp.org>
12268
12269         Fix doc about a HP-UX stdio bug.
12270         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
12271         * doc/posix-functions/ftello.texi: Likewise.
12272
12273 2010-05-01  Bruno Haible  <bruno@clisp.org>
12274
12275         lseek test: Fix failure on Solaris.
12276         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
12277         output.
12278
12279 2010-04-30  Jim Meyering  <meyering@redhat.com>
12280
12281         bootstrap: don't ignore failure to generate po*/Makevars
12282         * build-aux/bootstrap (with_gettext): Don't ignore failure
12283         to create po/Makevars or runtime-po/Makevars.
12284
12285 2010-04-29  Eric Blake  <eblake@redhat.com>
12286
12287         headers: relax license to LGPLv2+
12288         * modules/fcntl-h (License): Relax license.
12289         * modules/getopt-posix (License): Likewise.
12290         * modules/locale (License): Likewise.
12291         * modules/math (License): Likewise.
12292         * modules/pty (License): Likewise.
12293         * modules/sched (License): Likewise.
12294         * modules/search (License): Likewise.
12295         * modules/spawn (License): Likewise.
12296         * modules/stdarg (License): Likewise.
12297         * modules/sysexits (License): Likewise.
12298
12299 2010-04-29  Jim Meyering  <meyering@redhat.com>
12300
12301         inttypes: relax license to LGPLv2+
12302         * modules/inttypes (License): Relax license.
12303
12304 2010-04-29  Simon Josefsson  <simon@josefsson.org>
12305
12306         * top/maint.mk (indent): Run twice to produce idempotent results.
12307
12308 2010-04-28  Bruno Haible  <bruno@clisp.org>
12309
12310         getdate: Generate getdate.c in the source directory.
12311         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
12312         MOSTLYCLEANFILES.
12313         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
12314
12315 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
12316
12317         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
12318         is not declared as a const *; avoid warnings in that case.
12319
12320 2010-04-28  Eric Blake  <eblake@redhat.com>
12321
12322         canonicalize-lgpl: avoid compiler warning
12323         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
12324         declaration' / 'extraneous semicolon' warning with some compilers.
12325         Reported by Andreas Gruenbacher.
12326
12327 2010-04-28  Jim Meyering  <meyering@redhat.com>
12328
12329         init.sh: ensure a more reliable exit status when exiting via trap
12330         * tests/init.sh (setup_): Don't rely on $? in signal handler.
12331         Inspired by patches from Dmitry V. Levin.
12332         Also trap on signal 3 (SIGQUIT).
12333
12334 2010-04-27  Bruno Haible  <bruno@clisp.org>
12335
12336         Update doc about utimes().
12337         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
12338         'utimens' module.
12339         Reported by Andreas Gruenbacher <agruen@suse.de>.
12340
12341 2010-04-27  Eric Blake  <eblake@redhat.com>
12342
12343         full-read, full-write: relax license
12344         * modules/full-read (License): Drop to LGPLv2+.
12345         * modules/full-write (License): Likewise.
12346         * modules/safe-read (License): Likewise.
12347         * modules/safe-write (License): Likewise.
12348
12349         pthread: mention library for linking
12350         * modules/pthread (Link): Mention $(LIB_PTHREAD).
12351
12352 2010-04-27  Jim Meyering  <meyering@redhat.com>
12353
12354         maint.mk: fix a bug introduced in last change
12355         * top/maint.mk (gl_assured_headers_): Now that all names are on
12356         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
12357         is not anchored to end of word, it should be adequate.
12358
12359         maint.mk: avoid side-effect in latest syntax-check
12360         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
12361         to run commands via $(shell...), and hence to incur cost only when
12362         the new rule is actually run.
12363
12364         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
12365         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
12366         and use that to create a regexp used to detect all #if HAVE_..._H uses.
12367         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
12368         (gl_assured_headers_, az_, AZ_): Define.
12369         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
12370
12371 2010-04-26  Jim Meyering  <jim@meyering.net>
12372             Bruno Haible  <bruno@clisp.org>
12373
12374         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
12375         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
12376         Prompted by an exchange with Gilles Espinasse.
12377
12378 2010-04-26  Jim Meyering  <meyering@redhat.com>
12379
12380         git-version-gen: aesthetic tweak
12381         * build-aux/git-version-gen: Use "$nl" rather than a literal,
12382         so that the command remains on a single line.
12383
12384 2010-04-26  Eric Blake  <eblake@redhat.com>
12385
12386         git-version-gen: allow use on EBCDIC hosts
12387         * build-aux/git-version-gen (dirty): Use literal rather than tying
12388         ourselves to ascii.
12389         Reported by Steve Goetze.
12390
12391 2010-04-25  Bruno Haible  <bruno@clisp.org>
12392
12393         netdb: Add support for GNULIB_POSIXCHECK.
12394         * lib/netdb.in.h: Include warn-on-use.h.
12395         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
12396         functions are used when GNULIB_POSIXCHECK is defined and the
12397         getaddrinfo module is not in use.
12398         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
12399         freeaddrinfo, gai_strerror, getnameinfo are declared.
12400         * modules/netdb (Depends-on): Add warn-on-use.
12401         (Makefile.am): Include warn-on-use.h in netdb.h.
12402
12403 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
12404
12405         build: avoid "make check" failure without .git/ directory
12406         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
12407         there is no .git/ directory.
12408
12409 2010-04-25  Bruno Haible  <bruno@clisp.org>
12410
12411         ptsname: Fix misuse of ttyname_r.
12412         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
12413         of errno.
12414
12415 2010-04-25  Bruno Haible  <bruno@clisp.org>
12416
12417         ttyname_r: Make it work on Solaris 10.
12418         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
12419         if the system function has the POSIX declaration. Test whether the
12420         function fails if the buffer is less than 128 bytes large.
12421         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
12422         system's ttyname_r function. Provide a reasonably large buffer.
12423         * modules/ttyname_r (Depends-on): Add extensions.
12424         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
12425
12426 2010-04-25  Bruno Haible  <bruno@clisp.org>
12427
12428         Use the 'extensions' module for some more functions on Solaris.
12429         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
12430         module.
12431         * doc/posix-functions/ctime_r.texi: Likewise.
12432         * doc/posix-functions/getgrgid_r.texi: Likewise.
12433         * doc/posix-functions/getgrnam_r.texi: Likewise.
12434         * doc/posix-functions/getpwnam_r.texi: Likewise.
12435         * doc/posix-functions/getpwuid_r.texi: Likewise.
12436         * doc/posix-functions/readdir_r.texi: Likewise.
12437         * doc/posix-functions/sigwait.texi: Likewise.
12438         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
12439         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
12440
12441 2010-04-25  Bruno Haible  <bruno@clisp.org>
12442
12443         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
12444         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
12445         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
12446         * lib/ttyname_r.c: Include <limits.h>.
12447         (ttyname_r): Define using the system's ttyname_r function, if it exists
12448         and not on Solaris.
12449         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
12450         set.
12451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
12452         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
12453         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
12454         Reported by Simon Josefsson.
12455
12456 2010-04-25  Bruno Haible  <bruno@clisp.org>
12457
12458         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
12459         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
12460         * doc/posix-functions/ctime_r.texi: Likewise.
12461         * doc/posix-functions/getgrgid_r.texi: Likewise.
12462         * doc/posix-functions/getgrnam_r.texi: Likewise.
12463         * doc/posix-functions/getlogin_r.texi: Likewise.
12464         * doc/posix-functions/getpwnam_r.texi: Likewise.
12465         * doc/posix-functions/getpwuid_r.texi: Likewise.
12466         * doc/posix-functions/readdir_r.texi: Likewise.
12467         * doc/posix-functions/sigwait.texi: Likewise.
12468         * doc/posix-functions/ttyname_r.texi: Likewise.
12469         Reported by Simon Josefsson.
12470
12471 2010-04-25  Bruno Haible  <bruno@clisp.org>
12472
12473         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
12474         * gnulib-tool (func_usage): Document that --with-*-tests options apply
12475         also to --create-testdir.
12476         (func_acceptable): Don't consider the status of *-tests modules here.
12477         (func_modules_transitive_closure): Consider it here, before including a
12478         test module.
12479         (func_import, func_create_testdir): Set inc_all_direct_tests,
12480         inc_all_indirect_tests.
12481         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
12482         --create-testdir and --create-megatestdir.
12483
12484 2010-04-25  Bruno Haible  <bruno@clisp.org>
12485
12486         gnulib-tool: Add --without-*-tests options.
12487         * gnulib-tool (func_usage): Document the --without-*-tests options.
12488         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
12489         excl_unportable_tests): New variables.
12490         Fail if they are specified with --import or --update.
12491         (func_acceptable): Respect the excl_*_tests variables.
12492         (func_import): Set the excl_*_tests variables to empty.
12493
12494 2010-04-25  Simon Josefsson  <simon@josefsson.org>
12495             Bruno Haible  <bruno@clisp.org>
12496
12497         Work around a MacOS X 10.4 bug with openpty.
12498         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
12499         * tests/test-openpty.c (main): Close the master side explicitly.
12500
12501 2010-04-25  Bruno Haible  <bruno@clisp.org>
12502
12503         strnlen: Fix a C++ test error on MacOS X and Solaris.
12504         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
12505         the function is not declared.
12506         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
12507         Simon Josefsson.
12508
12509 2010-04-24  Bruno Haible  <bruno@clisp.org>
12510
12511         Avoid a gcc warning.
12512         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
12513         of correct type for %08lx directive.
12514         Reported by Eric Blake.
12515
12516 2010-04-24  Bruno Haible  <bruno@clisp.org>
12517
12518         vasnprintf: Correct errno value in case of out-of-memory.
12519         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
12520         or sprintf. Use the errno value from SNPRINTF or sprintf.
12521         Reported by Ian Beckwith <ianb@erislabs.net>.
12522
12523 2010-04-24  Bruno Haible  <bruno@clisp.org>
12524
12525         ansi-c++-opt: Find correct compiler when cross-compiling.
12526         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
12527         AC_CHECK_PROGS.
12528         Reported by Simon Josefsson.
12529
12530 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
12531
12532         vc-list-files: Add support for subversion
12533         * build-aux/vc-list-files: Use "svn list" to generate the list of
12534         files controlled by subversion.
12535
12536 2010-04-23  Jim Meyering  <meyering@redhat.com>
12537
12538         vc-list-files tests: convert to use init.sh
12539         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
12540         path_prepend_.
12541         Use Exit, not exit.
12542         Use skip_ rather than open coding it.
12543         Remove trap set-up and compare definitions.
12544         * tests/test-vc-list-files-git.sh: Likewise.
12545         * modules/vc-list-files-tests (Files): Add tests/init.sh.
12546
12547 2010-04-22  Simon Josefsson  <simon@josefsson.org>
12548
12549         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
12550         backup files.
12551
12552 2010-04-21  Simon Josefsson  <simon@josefsson.org>
12553
12554         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
12555
12556 2010-04-20  Eric Blake  <eblake@redhat.com>
12557
12558         tests: be robust to ignored SIGPIPE
12559         * tests/test-select-in.sh: Consume all output.
12560         * tests/test-lseek.sh: Check correct exit status, while avoiding
12561         EPIPE.
12562
12563 2010-04-20  Simon Josefsson  <simon@josefsson.org>
12564             Bruno Haible  <bruno@clisp.org>
12565
12566         visibility: Don't use -fvisibility if it leads to a warning.
12567         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
12568         yes, don't pretend that visibility works if it leads to a warning.
12569         Reported by Mike Gran <spk121@yahoo.com>.
12570
12571 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
12572
12573         * build-aux/bootstrap: Use "git -h" for testing for supported options
12574         instead of "git --help".  The short-form option only shows a summary,
12575         and doesn't layout the full man page.  Grep for the full option name
12576         in the summary, too.
12577
12578 2010-04-19  Bruno Haible  <bruno@clisp.org>
12579
12580         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
12581         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
12582         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
12583         mention of RELOCATABLE_STRIP.
12584         Reported by Sylvain Beucler <beuc@beuc.net>.
12585
12586 2010-04-19  Bruno Haible  <bruno@clisp.org>
12587
12588         * lib/diffseq.h: Fix typo in comment.
12589         Reported by Eric Blake.
12590
12591 2010-04-19  Bruno Haible  <bruno@clisp.org>
12592
12593         ioctl: Move autoconf macro to a .m4 file.
12594         * m4/ioctl.m4: New file, extracted from modules/ioctl.
12595         * modules/ioctl (Files): Add it.
12596         (configure.ac): Simply invoke gl_FUNC_IOCTL.
12597         Reported by Ian Beckwith <ianb@erislabs.net>.
12598
12599 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
12600             Bruno Haible  <bruno@clisp.org>
12601
12602         diffseq: Accommodate use-case with abstract arrays.
12603         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
12604         is not defined.
12605         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
12606         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
12607
12608 2010-04-18  Bruno Haible  <bruno@clisp.org>
12609
12610         * doc/posix-headers/stdbool.texi: More precise wording.
12611
12612 2010-04-17  Jim Meyering  <meyering@redhat.com>
12613
12614         maint.mk: use gnu-style indentation in an embedded perl script
12615         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
12616         Rename variable: s/two/last_two_bytes/
12617
12618 2010-04-16  Eric Blake  <eblake@redhat.com>
12619
12620         test-stdbool: skip test that fails with Solaris CC
12621         * tests/test-stdbool.c (f): Skip test that causes compilation
12622         error under buggy C++ compiler.
12623         * lib/stdbool.in.h: Document the limitation.
12624         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
12625
12626         setenv: allow compilation with C++
12627         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
12628         register keyword.
12629
12630         stdint: allow test to pass with C++
12631         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
12632
12633         getopt: allow compilation with C++
12634         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
12635         struct.
12636         * lib/getopt.c (_getopt_internal_r): Use correct type.
12637         Reported by Dagobert Michelson, via Joel E. Denny.
12638
12639 2010-04-16  Bruno Haible  <bruno@clisp.org>
12640
12641         Override netdb.h always.
12642         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
12643         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
12644         Reported by Ludovic Courtès <ludo@gnu.org>.
12645
12646 2010-04-15  Bruno Haible  <bruno@clisp.org>
12647
12648         openpty: Fix mistake from 2010-03-21.
12649         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
12650         Reported by Simon Josefsson.
12651
12652 2010-04-15  Eric Blake  <eblake@redhat.com>
12653
12654         test-forkpty: fix expected signature
12655         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
12656         Reported by Simon Josefsson.
12657
12658 2010-04-15  Jim Meyering  <meyering@redhat.com>
12659
12660         maint.mk: texinfo_suffix_re_: correct the default regexp
12661         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
12662
12663         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
12664         make it configurable via texinfo_suffix_re_.
12665
12666 2010-04-14  Eric Blake  <eblake@redhat.com>
12667
12668         strtok_r: relax license to LGPLv2+
12669         * modules/strtok_r (License): Relax license.
12670         Reported by Matthias Bolte.
12671
12672 2010-04-14  Simon Josefsson  <simon@josefsson.org>
12673
12674         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
12675         version 1.4.4 by default instead of requiring the libgcrypt
12676         version used during build.  This makes it possible to use the
12677         application with older but still binary compatible libgcrypt
12678         versions.
12679
12680 2010-04-13  Eric Blake  <eblake@redhat.com>
12681
12682         getopt-gnu: match recent glibc fixes and posix ruling
12683         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
12684         '+' handling, when requesting extensions.
12685         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
12686         'W;' handling.
12687         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
12688         * doc/posix-functions/getopt.texi (getopt): Document this.
12689         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12690         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12691         Likewise.
12692
12693         getopt: merge bug fixes from glibc
12694         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
12695         diagnostics.  Honor '+:' correctly.  Reject ';'.
12696
12697         getopt-posix: detect MacOS bug
12698         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
12699         optind when missing a required argument.
12700         * doc/posix-functions/getopt.texi (getopt): Document the bug.
12701         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12702         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12703         Likewise.
12704
12705         getopt-posix: avoid spurious failure on Solaris
12706         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
12707         an indicator that setting optind=1 is sufficient for reset.
12708
12709         getopt-posix: avoid spurious failure on FreeBSD
12710         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
12711         in POSIX mode, since the m4 test uses it.
12712
12713         gnulib-tool: silence warning on BSD sh
12714         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
12715
12716 2010-04-13  Jim Meyering  <meyering@redhat.com>
12717
12718         doc: users.txt: GNU patch now uses gnulib
12719         * users.txt: Add patch.
12720
12721 2010-04-12  Jim Meyering  <meyering@redhat.com>
12722
12723         maint.mk: generate more concise timing data for syntax-check rules
12724         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
12725         " done" from each line that reports a syntax-check test duration.
12726
12727 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
12728
12729         git-version-gen: use "git update-index..." rather than "git status"
12730         * build-aux/git-version-gen: Use git update-index --refresh, not
12731         "git status".  With some versions of git, "git status" would fail
12732         to update the index and result in an unwarranted "-dirty" suffix.
12733
12734 2010-04-11  Jim Meyering  <meyering@redhat.com>
12735
12736         openat: correct formatting (no semantic change)
12737         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
12738         Suggested by Bruno Haible.
12739
12740 2010-04-11  Bruno Haible  <bruno@clisp.org>
12741
12742         Stricter declaration checking in testdirs.
12743         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12744         If for_tests is true, augment AM_CPPFLAGS to define
12745         GNULIB_STRICT_CHECKING.
12746         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
12747         GNULIB_STRICT_CHECKING is defined, verify that the function is
12748         declared.
12749
12750 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
12751             Bruno Haible  <bruno@clisp.org>
12752
12753         libunistring: Improve configure output.
12754         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
12755         Don't say "consider installing GNU libunistring" when checking again
12756         with libiconv.
12757
12758 2010-04-11  Bruno Haible  <bruno@clisp.org>
12759
12760         libunistring: Correct value of $LTLIBUNISTRING.
12761         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
12762         correct the value of $LTLIBUNISTRING.
12763
12764 2010-04-11  Bruno Haible  <bruno@clisp.org>
12765
12766         havelib: Add static libraries to LIBS in the right order.
12767         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12768         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12769
12770 2010-04-11  Bruno Haible  <bruno@clisp.org>
12771
12772         libunistring: Detect libunistring also when it depends on libiconv.
12773         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12774         the second AC_LIB_HAVE_LINKFLAGS invocation.
12775
12776 2010-04-11  James Youngman  <jay@gnu.org>
12777
12778         close-stream: declare local scalars to be "const"
12779         * lib/close-stream.c (close_stream): Make boolean variables const
12780         to document the fact that we set but do not change them.
12781
12782 2010-04-11  Bruno Haible  <bruno@clisp.org>
12783
12784         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12785
12786 2010-04-11  Jim Meyering  <meyering@redhat.com>
12787
12788         maint.mk: don't include dist-check.mk
12789         * top/maint.mk: Remove bogus include directive.
12790
12791         maint.mk: improve empty-line-at-EOF check
12792         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12793         solution, rather than tail+Perl-based one.  The latter would read
12794         a few kilobytes from the end of each file, and did not handle empty
12795         files properly.
12796
12797         maint.mk: print the elapsed time for each syntax-check rule
12798         * top/maint.mk (sc_m_rules_): Save start time in a file.
12799         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12800         (local-check): Interpose the .z rules
12801
12802 2010-04-11  Jim Meyering  <meyering@redhat.com>
12803
12804         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12805         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12806         empty file with one that ends in an empty line.
12807
12808 2010-04-10  Bruno Haible  <bruno@clisp.org>
12809
12810         mkdir: Make it work on mingw64.
12811         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12812         * lib/mkdir.c: Update comment.
12813         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
12814
12815 2010-04-10  Bruno Haible  <bruno@clisp.org>
12816
12817         Don't override improved macro from newer autoconf.
12818         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12819         autoconf >= 2.62.
12820         Reported by Joel E. Denny <jdenny@clemson.edu>.
12821
12822 2010-04-10  Jim Meyering  <meyering@redhat.com>
12823
12824         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12825         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12826
12827         maint.mk: correct a diagnostic
12828         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12829         in diagnostic; now use $prohibit.
12830
12831 2010-04-10  Bruno Haible  <address@hidden>
12832
12833         fchownat: Fix a C++ test error on Solaris 8.
12834         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12835         the function does not exist.
12836
12837 2010-04-10  Bruno Haible  <bruno@clisp.org>
12838
12839         vasnprintf: Add more tests.
12840         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12841         (test_function): Test converting an invalid wide string.
12842
12843         vasnprintf: Correct handling of unconvertible wide string arguments.
12844         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12845         VASNPRINTF.
12846         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12847         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12848         smaller than the expected maximum need for the directive. Set errno to
12849         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12850         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12851         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12852         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12853         * modules/vasnprintf (Files): Add m4/printf.m4.
12854         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12855
12856 2010-04-10  Bruno Haible  <bruno@clisp.org>
12857
12858         vasnprintf: Fix crash in %ls directive.
12859         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12860         string is passed as argument to %ls, with no precision and no width.
12861         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12862
12863 2010-04-10  Bruno Haible  <bruno@clisp.org>
12864
12865         vasnprintf: Fix multiple test failures on mingw.
12866         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12867         _snprintf, or snwprintf, not _snwprintf.
12868
12869 2010-04-10  Bruno Haible  <bruno@clisp.org>
12870
12871         write: Fix a C++ test error on mingw.
12872         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12873
12874 2010-04-10  Bruno Haible  <bruno@clisp.org>
12875
12876         vasnprintf test: Reduce code duplication.
12877         * tests/test-vasnprintf.c (test_function): New function, extracted from
12878         test_vasnprintf.
12879         (test_vasnprintf, test_asnprintf): Invoke it.
12880
12881 2010-04-10  Bruno Haible  <bruno@clisp.org>
12882
12883         strnlen: Fix warning in C++ mode on MacOS X.
12884         * lib/string.in.h (strnlen): Use the modern idiom.
12885         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12886         defining strnlen as a macro already in <config.h>.
12887         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12888         REPLACE_STRNLEN.
12889         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12890         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12891
12892 2010-04-08  James Youngman  <jay@gnu.org>
12893
12894         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12895         the example.
12896
12897 2010-04-09  Jim Meyering  <meyering@redhat.com>
12898
12899         maint.mk: print better diagnostic when there is no $(_hv_file)
12900         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12901         announce that when $(_hv_file) (aka help-version) does not exist.
12902
12903         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12904         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12905         not try to interpret its random input bytes.  Jarno Rajahalme reported
12906         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12907         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12908         (mktempd_): Likewise, just in case.
12909
12910         ftruncate: add two years to projected module removal date: 2012
12911         * m4/ftruncate.m4: Adjust comments.
12912
12913         ftruncate: mark module as obsolete; even MinGW provides it, now
12914         * modules/ftruncate (Status): Obsolete.
12915         (Notice): Say that.
12916         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12917         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12918
12919 2010-04-08  Bruno Haible  <bruno@clisp.org>
12920
12921         Fix side effects from tests-related modules.
12922         * modules/dprintf-posix (Comment): New section.
12923         * modules/fprintf-posix (Comment): Likewise.
12924         * modules/obstack-printf-posix (Comment): Likewise.
12925         * modules/printf-posix (Comment): Likewise.
12926         * modules/snprintf-posix (Comment): Likewise.
12927         * modules/sprintf-posix (Comment): Likewise.
12928         * modules/vasnprintf-posix (Comment): Likewise.
12929         * modules/vasprintf-posix (Comment): Likewise.
12930         * modules/vdprintf-posix (Comment): Likewise.
12931         * modules/vfprintf-posix (Comment): Likewise.
12932         * modules/vprintf-posix (Comment): Likewise.
12933         * modules/vsnprintf-posix (Comment): Likewise.
12934         * modules/vsprintf-posix (Comment): Likewise.
12935         * modules/xprintf-posix (Comment): Likewise.
12936         * modules/xvasprintf-posix (Comment): Likewise.
12937         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12938         * modules/floorf-tests (Depends-on): Likewise.
12939         * modules/round-tests (Depends-on): Likewise.
12940         * modules/roundf-tests (Depends-on): Likewise.
12941         * modules/trunc-tests (Depends-on): Likewise.
12942         * modules/truncf-tests (Depends-on): Likewise.
12943         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12944         'fprintf-posix' module is not present.
12945         * tests/test-floorf2.c (check): Likewise.
12946         * tests/test-trunc2.c (check): Likewise.
12947         * tests/test-truncf2.c (check): Likewise.
12948         * tests/test-round2.c (equal): Likewise.
12949         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12950
12951 2010-04-07  Karl Berry  <karl@gnu.org>
12952
12953         * config/srclist.txt,
12954         * config/srclistvars.sh,
12955         * config/srclist-update: doc fixes.
12956
12957 2010-04-07  Jim Meyering  <meyering@redhat.com>
12958
12959         maint.mk: add a PATH crosschecking syntax-check rule
12960         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12961         Useful if you use a test like the one in help-version (coreutils,
12962         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12963         printed by prog --version.
12964
12965 2010-04-06  Bruno Haible  <bruno@clisp.org>
12966
12967         Fix link error on mingw.
12968         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12969         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12970
12971 2010-04-06  Bruno Haible  <bruno@clisp.org>
12972
12973         Assume rmdir exists.
12974         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12975
12976 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12977
12978         doc: update users.txt
12979         * users.txt: Add gcal.
12980
12981 2010-04-06  Jim Meyering  <meyering@redhat.com>
12982
12983         init.sh: simply unset TMPDIR rather than risking env -i
12984         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12985         although it probably works fine on all Unix-based systems, some
12986         systems (Cygwin?) cannot tolerate a totally cleared environment.
12987         Suggestion from Eric Blake.
12988
12989 2010-04-06  Jim Meyering  <meyering@redhat.com>
12990
12991         init.sh: portability fix: use env's POSIX-specified -i option not -u
12992         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12993         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12994
12995 2010-04-05  Bruno Haible  <bruno@clisp.org>
12996
12997         btowc: Work around Cygwin 1.7.2 bug.
12998         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12999         does not map NUL to 0.
13000         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
13001
13002 2010-04-05  Bruno Haible  <bruno@clisp.org>
13003
13004         Make the multithread modules work on Cygwin 1.7.2.
13005         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
13006         imported symbols can be declared weak, so that it returns "no" on
13007         Cygwin 1.7.2.
13008
13009 2010-04-05  Bruno Haible  <bruno@clisp.org>
13010
13011         Use the module 'strncat'.
13012         * modules/unistr/u8-strncat (Depends-on): Add strncat.
13013
13014         Tests for module 'strncat'.
13015         * modules/strncat-tests: New file.
13016         * tests/test-strncat.c: New file.
13017
13018         New module 'strncat'.
13019         * lib/string.in.h (strncat): New declaration.
13020         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
13021         * m4/strncat.m4: New file, based on m4/memchr.m4.
13022         * modules/strncat: New file.
13023         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
13024         is declared.
13025         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
13026         REPLACE_STRNCAT.
13027         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
13028         REPLACE_STRNCAT.
13029         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
13030         module.
13031         * tests/test-string-c++.cc: Check signature of strncat.
13032
13033 2010-04-05  Jim Meyering  <meyering@redhat.com>
13034
13035         xstrtoumax-tests: convert to use init.sh
13036         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
13037         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13038         Use Exit, not exit.
13039         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13040
13041         xstrtoimax-tests: convert to use init.sh
13042         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
13043         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13044         Use Exit, not exit.
13045         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13046
13047 2010-04-05  Bruno Haible  <bruno@clisp.org>
13048
13049         sys_socket: Avoid #define replacements in C++ mode.
13050         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
13051         warning to the function if possible, rather than #defining the symbol
13052         to a dysfunctional alias.
13053
13054 2010-04-05  Bruno Haible  <bruno@clisp.org>
13055
13056         fseeko: Fix C++ test error on mingw.
13057         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
13058         gl_FUNC_FSEEKO.
13059         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
13060         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
13061         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
13062         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
13063
13064 2010-04-05  Bruno Haible  <bruno@clisp.org>
13065
13066         duplocale: Improve test output.
13067         * tests/test-duplocale.c (main): Print reason for skipped test.
13068
13069 2010-04-05  Bruno Haible  <bruno@clisp.org>
13070
13071         Assume rmdir exists.
13072         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
13073         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
13074
13075 2010-04-05  Bruno Haible  <bruno@clisp.org>
13076
13077         Fix link error on Solaris 8 with cc.
13078         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
13079
13080 2010-04-05  Bruno Haible  <bruno@clisp.org>
13081
13082         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13083         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
13084
13085 2010-04-05  Bruno Haible  <bruno@clisp.org>
13086
13087         vasprintf: Update documentation.
13088         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
13089
13090 2010-04-05  Bruno Haible  <bruno@clisp.org>
13091
13092         ptsname: Improve test.
13093         * tests/test-ptsname.c (main): Also try the various master names of BSD
13094         systems.
13095
13096 2010-04-05  Bruno Haible  <bruno@clisp.org>
13097
13098         memchr: Avoid a possible C++ test error.
13099         * lib/string.in.h (memchr): Provide declaration if function is missing.
13100         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
13101         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
13102         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
13103         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
13104
13105 2010-04-05  Bruno Haible  <bruno@clisp.org>
13106
13107         strtok_r: Improve idiom.
13108         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
13109         AC_LIBOBJ is used.
13110
13111 2010-04-05  Bruno Haible  <bruno@clisp.org>
13112
13113         strdup: Improve idiom.
13114         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
13115         AC_LIBOBJ is used.
13116         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
13117         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
13118         when AC_LIBOBJ is used.
13119
13120 2010-04-05  Bruno Haible  <bruno@clisp.org>
13121
13122         mbsinit, mbrtowc, wcrtomb: Improve idioms.
13123         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
13124         don't set REPLACE_MBSINIT to 1.
13125         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
13126         don't set REPLACE_MBRTOWC to 1.
13127         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
13128         exist, don't set REPLACE_MBSRTOWCS to 1.
13129         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
13130         exist, don't set REPLACE_MBSNRTOWCS to 1.
13131         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
13132         don't set REPLACE_WCRTOMB to 1.
13133         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
13134         exist, don't set REPLACE_WCSRTOMBS to 1.
13135         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
13136         exist, don't set REPLACE_WCSNRTOMBS to 1.
13137
13138 2010-04-05  Bruno Haible  <bruno@clisp.org>
13139
13140         ldexpl: Improve idiom.
13141         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
13142         make sure to set HAVE_DECL_LDEXPL to 0.
13143
13144 2010-04-05  Jim Meyering  <meyering@redhat.com>
13145
13146         xstrtol-tests: convert to use init.sh
13147         * modules/xstrtol-tests (Files): Add tests/init.sh.
13148         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13149         Use Exit, not exit.
13150         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13151
13152         atexit-tests: convert to use init.sh
13153         * modules/atexit-tests (Files): Add tests/init.sh.
13154         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13155         Use Exit, not exit.
13156         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13157
13158         init.sh: fix typo
13159         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
13160
13161         init.sh: make it easier for a test script to write to the tty, ...
13162         when using automake's parallel-tests mode.
13163         * tests/init.sh (stderr_fileno_): Define overridable variable.
13164         (warn_): New function, to use it.
13165         (fail_, skip_, framework_failure_): Use warn_.
13166
13167 2010-04-04  Bruno Haible  <bruno@clisp.org>
13168
13169         btowc: Avoid warning.
13170         * lib/btowc.c: Include <stdlib.h>.
13171         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
13172
13173 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13174             Bruno Haible  <bruno@clisp.org>
13175
13176         wchar: Port to NetBSD 1.5.
13177         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
13178         * lib/wctype.in.h (WEOF): Likewise.
13179
13180 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13181             Bruno Haible  <bruno@clisp.org>
13182
13183         Port extended stdio to NetBSD 1.5.
13184         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
13185         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
13186         older.
13187
13188 2010-04-04  Bruno Haible  <bruno@clisp.org>
13189
13190         string: Remove unused substitution.
13191         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13192         HAVE_DECL_STRERROR.
13193         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
13194
13195 2010-04-04  Bruno Haible  <bruno@clisp.org>
13196
13197         strtod: Avoid a possible C++ test error.
13198         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
13199         set REPLACE_STRTOD.
13200
13201 2010-04-04  Bruno Haible  <bruno@clisp.org>
13202
13203         strerror: Update documentation.
13204         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
13205
13206 2010-04-04  Bruno Haible  <bruno@clisp.org>
13207
13208         stdio: Fix some C++ test errors on Solaris 8 with GCC.
13209         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
13210         _GL_CXXALIAS_SYS_CAST.
13211
13212 2010-04-04  Bruno Haible  <bruno@clisp.org>
13213
13214         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13215         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
13216         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
13217         REPLACE_FREXPL to 1.
13218         * doc/posix-functions/frexpl.texi: Update documentation.
13219
13220 2010-04-04  Bruno Haible  <bruno@clisp.org>
13221
13222         math: Fix some C++ test errors on Solaris 8 and Cygwin.
13223         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
13224
13225 2010-04-04  Bruno Haible  <bruno@clisp.org>
13226
13227         Implement nanosleep for native Windows.
13228         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
13229
13230 2010-04-04  Bruno Haible  <bruno@clisp.org>
13231
13232         math: Fix some C++ test errors on Solaris 8.
13233         * lib/math.in.h (truncf, trunc): Use simpler idiom.
13234
13235 2010-04-04  Bruno Haible  <bruno@clisp.org>
13236
13237         math: Fix some C++ test errors on Cygwin.
13238         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
13239         truncl): Provide declaration if the system does not have it.
13240         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
13241         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
13242         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
13243         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
13244         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
13245         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
13246         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
13247         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
13248         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
13249         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
13250         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
13251         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
13252         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
13253         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
13254         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
13255         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
13256         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
13257         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13258         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13259         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
13260         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13261         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13262
13263 2010-04-04  Bruno Haible  <bruno@clisp.org>
13264
13265         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
13266         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13267         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13268         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13269         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13270         * m4/isinf.m4 (gl_ISINF): Likewise.
13271         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13272
13273 2010-04-04  Bruno Haible  <bruno@clisp.org>
13274
13275         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
13276         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13277
13278 2010-04-04  Bruno Haible  <bruno@clisp.org>
13279
13280         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
13281         * modules/tmpfile (configure.ac): Update.
13282
13283         tmpfile: Fix C++ test error on mingw.
13284         * lib/stdio.in.h (tmpfile): New declaration.
13285         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
13286         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
13287         * modules/tmpfile (Depends-on): Add stdio.
13288         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13289         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
13290         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
13291         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
13292         REPLACE_TMPFILE.
13293         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
13294
13295 2010-04-04  Bruno Haible  <bruno@clisp.org>
13296
13297         ioctl: Fix C++ test error on mingw.
13298         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
13299         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
13300         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
13301
13302 2010-04-03  Bruno Haible  <bruno@clisp.org>
13303
13304         wcwidth: Fix C++ test error on mingw.
13305         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
13306         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
13307         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
13308
13309 2010-04-03  Bruno Haible  <bruno@clisp.org>
13310
13311         nanosleep: Fix C++ test error on mingw.
13312         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
13313         * lib/time.in.h (nanosleep): Use modern idiom.
13314         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
13315         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
13316         REPLACE_NANOSLEEP to 1.
13317         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
13318         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
13319
13320 2010-04-03  Bruno Haible  <bruno@clisp.org>
13321
13322         strptime: Fix C++ test error on mingw.
13323         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
13324         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
13325         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
13326         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
13327         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
13328         not REPLACE_STRPTIME.
13329         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
13330         REPLACE_STRPTIME.
13331
13332 2010-04-03  Bruno Haible  <bruno@clisp.org>
13333
13334         timegm: Fix C++ test error on mingw.
13335         * lib/time.in.h (timegm): Use modern idiom.
13336         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
13337         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
13338         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
13339         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
13340
13341 2010-04-03  Bruno Haible  <bruno@clisp.org>
13342
13343         timegm: Assume declaration if function exists.
13344         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
13345         if it exists. Don't clobber ac_cv_func_timegm.
13346
13347 2010-04-03  Bruno Haible  <bruno@clisp.org>
13348
13349         time_r: Fix C++ test error on mingw.
13350         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
13351         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
13352         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
13353         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
13354         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
13355
13356 2010-04-03  Bruno Haible  <bruno@clisp.org>
13357
13358         time_r: Minor updates.
13359         * modules/time_r (Description): Mention the provided functions.
13360         * lib/time_r.c: Don't include <string.h>.
13361         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
13362         * doc/posix-functions/localtime_r.texi: Likewise.
13363
13364 2010-04-03  Bruno Haible  <bruno@clisp.org>
13365
13366         time: Fix regression introduced on 2010-03-08.
13367         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
13368         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
13369
13370 2010-04-03  Jim Meyering  <meyering@redhat.com>
13371
13372         maint.mk: don't silently disable project-specific syntax-check rules
13373         * top/maint.mk (_prohibit_regexp): Define, to help people realize
13374         that they need to convert their project-specific syntax-check rules
13375         to use the new _sc_search_regexp.
13376
13377 2010-04-03  Bruno Haible  <bruno@clisp.org>
13378
13379         fchdir: Fix regression introduced on 2010-03-08.
13380         * lib/unistd.in.h (fchdir): Fix declaration.
13381         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
13382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
13383         REPLACE_FCHDIR.
13384         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
13385         REPLACE_FCHDIR.
13386
13387 2010-04-03  Bruno Haible  <bruno@clisp.org>
13388
13389         getpagesize: Fix C++ test error on mingw.
13390         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
13391         system does not declare the function.
13392         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
13393         declared.
13394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13395         HAVE_DECL_GETPAGESIZE.
13396         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
13397
13398 2010-04-03  Bruno Haible  <bruno@clisp.org>
13399
13400         stdio: Make C++ tests work on mingw.
13401         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
13402         does not declare the function.
13403
13404 2010-04-03  Bruno Haible  <bruno@clisp.org>
13405
13406         ftello: Fix C++ test error on mingw.
13407         * lib/stdio.in.h (ftello): Use modern idiom.
13408         * lib/ftello.c (ftello): Renamed from rpl_ftello.
13409         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
13410         is missing and that it needs to be replaced.
13411         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
13412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
13413         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
13414
13415 2010-04-03  Bruno Haible  <bruno@clisp.org>
13416
13417         fseeko: Fix C++ test error on mingw.
13418         * lib/stdio.in.h (fseeko): Use modern idiom.
13419         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
13420         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
13421         is missing and that it needs to be replaced.
13422         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
13423         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
13424         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
13425
13426 2010-04-03  Bruno Haible  <bruno@clisp.org>
13427
13428         mkstemp: Fix C++ test error on mingw.
13429         * lib/stdlib.in.h (mkstemp): Use modern idiom.
13430         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
13431         function is missing and that it needs to be replaced.
13432         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
13433         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
13434
13435 2010-04-03  Bruno Haible  <bruno@clisp.org>
13436
13437         stpncpy: Fix C++ test error on mingw.
13438         * lib/string.in.h (stpncpy): Use modern idiom.
13439         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
13440         function is missing and that it needs to be replaced.
13441         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13442         REPLACE_STPNCPY.
13443         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
13444
13445 2010-04-03  Bruno Haible  <bruno@clisp.org>
13446
13447         sys_stat: Fix C++ test error on mingw.
13448         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
13449         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
13450
13451 2010-04-03  Bruno Haible  <bruno@clisp.org>
13452
13453         pty: Update doc.
13454         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
13455
13456 2010-04-03  Bruno Haible  <bruno@clisp.org>
13457
13458         unistd: Fix C++ test error on mingw.
13459         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
13460
13461 2010-04-03  Bruno Haible  <bruno@clisp.org>
13462
13463         Update doc regarding mingw.
13464         * doc/glibc-functions/openpty.texi: Update regarding mingw.
13465         * doc/glibc-functions/login_tty.texi: Likewise.
13466         * doc/glibc-functions/forkpty.texi: Likewise.
13467
13468 2010-04-03  Bruno Haible  <bruno@clisp.org>
13469
13470         stdlib: Avoid compilation failure of c-strtold on mingw.
13471         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
13472
13473 2010-04-03  Bruno Haible  <bruno@clisp.org>
13474
13475         locale: Make C++ tests work on Cygwin and mingw.
13476         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
13477         cannot provide the function.
13478         Reported by Simon Josefsson.
13479
13480 2010-04-03  Bruno Haible  <bruno@clisp.org>
13481
13482         localename: Port to MacOS X 10.6.
13483         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
13484         memory layout of the locales in MacOS X 10.6 as well.
13485         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
13486
13487 2010-04-02  Bruno Haible  <bruno@clisp.org>
13488
13489         gnulib-tool: Ensure that long-running tests are executed last.
13490         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
13491         running tests after the one for the other tests.
13492
13493 2010-04-02  Bruno Haible  <bruno@clisp.org>
13494
13495         gnulib-tool: Ensure the tests in the main directory are executed first.
13496         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
13497         start with the current directory.
13498
13499 2010-04-02  Bruno Haible  <bruno@clisp.org>
13500
13501         Tests for module 'havelib', moved here from GNU gettext.
13502         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
13503         modifications.
13504         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
13505         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
13506         with modifications.
13507         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
13508         modifications.
13509         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
13510         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
13511         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
13512         with modifications.
13513         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
13514         with modifications.
13515         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
13516         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
13517         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
13518         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
13519         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
13520         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
13521         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
13522         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
13523         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
13524         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
13525         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
13526         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
13527         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
13528         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
13529         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
13530         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
13531         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
13532         with modifications.
13533         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
13534         with modifications.
13535         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
13536         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
13537         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
13538         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
13539         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
13540         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
13541         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
13542         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
13543         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
13544         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
13545         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
13546         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
13547         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
13548         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
13549         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
13550         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
13551         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
13552         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
13553         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
13554         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
13555         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
13556         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
13557         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
13558         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
13559         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
13560         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
13561         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
13562         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
13563         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
13564         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
13565         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
13566         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
13567         * tests/havelib/rpathx/rpathx.c: New file, from
13568         gettext/autoconf-lib-link.
13569         * tests/havelib/rpathx/Makefile.am: New file, from
13570         gettext/autoconf-lib-link.
13571         * tests/havelib/rpathx/configure.ac: New file, from
13572         gettext/autoconf-lib-link with modifications.
13573         * tests/havelib/rpathy/rpathy.c: New file, from
13574         gettext/autoconf-lib-link.
13575         * tests/havelib/rpathy/Makefile.am: New file, from
13576         gettext/autoconf-lib-link.
13577         * tests/havelib/rpathy/configure.ac: New file, from
13578         gettext/autoconf-lib-link with modifications.
13579         * tests/havelib/rpathz/rpathz.c: New file, from
13580         gettext/autoconf-lib-link.
13581         * tests/havelib/rpathz/Makefile.am: New file, from
13582         gettext/autoconf-lib-link.
13583         * tests/havelib/rpathz/configure.ac: New file, from
13584         gettext/autoconf-lib-link with modifications.
13585         * tests/havelib/rpathlx/usex.c: New file, from
13586         gettext/autoconf-lib-link.
13587         * tests/havelib/rpathlx/Makefile.am: New file, from
13588         gettext/autoconf-lib-link.
13589         * tests/havelib/rpathlx/configure.ac: New file, from
13590         gettext/autoconf-lib-link with modifications.
13591         * tests/havelib/rpathly/usey.c: New file, from
13592         gettext/autoconf-lib-link.
13593         * tests/havelib/rpathly/Makefile.am: New file, from
13594         gettext/autoconf-lib-link.
13595         * tests/havelib/rpathly/configure.ac: New file, from
13596         gettext/autoconf-lib-link with modifications.
13597         * tests/havelib/rpathlz/usez.c: New file, from
13598         gettext/autoconf-lib-link.
13599         * tests/havelib/rpathlz/Makefile.am: New file, from
13600         gettext/autoconf-lib-link.
13601         * tests/havelib/rpathlz/configure.ac: New file, from
13602         gettext/autoconf-lib-link with modifications.
13603         * tests/havelib/rpathlyx/usey.c: New file, from
13604         gettext/autoconf-lib-link.
13605         * tests/havelib/rpathlyx/Makefile.am: New file, from
13606         gettext/autoconf-lib-link.
13607         * tests/havelib/rpathlyx/configure.ac: New file, from
13608         gettext/autoconf-lib-link with modifications.
13609         * tests/havelib/rpathlzyx/usez.c: New file, from
13610         gettext/autoconf-lib-link.
13611         * tests/havelib/rpathlzyx/Makefile.am: New file, from
13612         gettext/autoconf-lib-link.
13613         * tests/havelib/rpathlzyx/configure.ac: New file, from
13614         gettext/autoconf-lib-link with modifications.
13615         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
13616         with modifications.
13617
13618 2010-04-02  Bruno Haible  <bruno@clisp.org>
13619
13620         gnulib-tool: Create distributed built sources also for the tests.
13621         * gnulib-tool (func_create_testdir): Also generate distributed built
13622         sources in the tests directory.
13623
13624 2010-04-02  Bruno Haible  <bruno@clisp.org>
13625
13626         gnulib-tool: Obey user's environment variables.
13627         * gnulib-tool (func_create_testdir): When creating built sources,
13628         respect the environment variables for autoconf, automake, etc. given by
13629         the user.
13630
13631 2010-04-02  Bruno Haible  <bruno@clisp.org>
13632
13633         gnulib-tool: Provide the value of --m4-base to modules.
13634         * gnulib-tool (func_import, func_create_testdir): Emit a definition
13635         of gl_m4_base.
13636
13637 2010-04-02  Eric Blake  <eblake@redhat.com>
13638
13639         maint.mk: fix some fallout
13640         * NEWS: Document the incompatible change, and its effect on cfg.mk.
13641         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
13642
13643 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13644
13645         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
13646         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
13647         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
13648         (sc_cast_of_x_alloc_return_value): Likewise.
13649         (sc_cast_of_alloca_return_value): Likewise.
13650         (sc_space_tab): Likewise.
13651         (sc_prohibit_atoi_atof): Likewise.
13652         (sc_prohibit_magic_number_exit): Likewise.
13653         (sc_error_exit_success): Likewise.
13654         (sc_file_system): Likewise.
13655         (sc_prohibit_have_config_h): Likewise.
13656         (sc_require_config_h): Likewise.
13657         (sc_prohibit_HAVE_MBRTOWC): Likewise.
13658         (sc_obsolete_symbols): Likewise.
13659         (sc_changelog): Likewise.
13660         (sc_program_name): Likewise.
13661         (sc_the_the): Likewise.
13662         (sc_trailing_blank): Likewise.
13663         (sc_two_space_separator_in_usage): Likewise.
13664         (sc_useless_cpp_parens): Likewise.
13665         (sc_GPL_version): Likewise.
13666         (sc_GFDL_version): Likewise.
13667         (sc_texinfo_acronym): Likewise.
13668         (sc_prohibit_cvs_keyword): Likewise.
13669         (sc_prohibit_stat_st_blocks): Likewise.
13670         (sc_prohibit_S_IS_definition): Likewise.
13671         (sc_redundant_const): Likewise.
13672         (sc_makefile_TAB_only_indentation): Likewise.
13673         (sc_m4_quote_check): Likewise.
13674         (sc_makefile_path_separator_check): Likewise.
13675         (sc_copyright_check): Likewise.
13676         (sc_Wundef_boolean): Likewise.
13677         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
13678
13679         maint.mk: match 0 or more whitespace-before-function-call '('
13680         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
13681         that have zero or two-and-more spaces between the function name
13682         and the open parenthesis.
13683         (sc_error_message_warn_fatal): Likewise.
13684         (sc_error_message_uppercase): Likewise.
13685         (sc_error_message_period): Likewise.
13686
13687 2010-03-31  Eric Blake  <eblake@redhat.com>
13688
13689         maint.mk: check for [ as well as test
13690         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
13691         Based on a libvirt report by Matthias Bolte.
13692
13693         gnumakefile: don't squelch _version output
13694         * top/GNUmakefile (_version): Create one-shot dependency rather
13695         than using $(shell) when version must be regenerated.
13696         (_autoreconf): Run verbosely, by default.
13697
13698         sys_time: avoid compiler warnings
13699         * lib/sys_time.in.h (includes): Ensure gcc pragma is
13700         unconditional, fixing regression from 2010-03-29.
13701         Reported by Simon Josefsson.
13702
13703 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
13704
13705         maint.mk: s/_header_without_use/_sc_header_without_use/
13706         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
13707         (sc_prohibit_assert_without_use): Use the new name.
13708         (sc_prohibit_close_stream_without_use): Likewise.
13709         (sc_prohibit_getopt_without_use): Likewise.
13710         (sc_prohibit_quotearg_without_use): Likewise.
13711         (sc_prohibit_quote_without_use): Likewise.
13712         (sc_prohibit_long_options_without_use): Likewise.
13713         (sc_prohibit_inttostr_without_use): Likewise.
13714         (sc_prohibit_ignore_value_without_use): Likewise.
13715         (sc_prohibit_error_without_use): Likewise.
13716         (sc_prohibit_xalloc_without_use): Likewise.
13717         (sc_prohibit_hash_without_use): Likewise.
13718         (sc_prohibit_hash_pjw_without_use): Likewise.
13719         (sc_prohibit_safe_read_without_use): Likewise.
13720         (sc_prohibit_argmatch_without_use): Likewise.
13721         (sc_prohibit_canonicalize_without_use): Likewise.
13722         (sc_prohibit_root_dev_ino_without_use): Likewise.
13723         (sc_prohibit_openat_without_use): Likewise.
13724         (sc_prohibit_c_ctype_without_use): Likewise.
13725         (sc_prohibit_signal_without_use): Likewise.
13726         (sc_prohibit_intprops_without_use): Likewise.
13727
13728 2010-03-30  Eric Blake  <eblake@redhat.com>
13729
13730         maint: improve module indicators
13731         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
13732         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
13733         columns, and avoid extra macro expansion.
13734
13735         fdopendir: work around FreeBSD bug
13736         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13737         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
13738         * modules/dirent (Makefile.am): Substitute it.
13739         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
13740         declaration.
13741         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
13742         fix.
13743         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13744
13745 2010-03-29  Bruno Haible  <bruno@clisp.org>
13746
13747         Emit #pragma system_header after the inclusion guard, not before.
13748         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
13749         guard that spans the entire file, not before. This enables an
13750         optimization in GCC's preprocessor.
13751         * lib/ctype.in.h: Likewise.
13752         * lib/dirent.in.h: Likewise.
13753         * lib/errno.in.h: Likewise.
13754         * lib/float.in.h: Likewise.
13755         * lib/getopt.in.h: Likewise.
13756         * lib/iconv.in.h: Likewise.
13757         * lib/langinfo.in.h: Likewise.
13758         * lib/locale.in.h: Likewise.
13759         * lib/math.in.h: Likewise.
13760         * lib/netdb.in.h: Likewise.
13761         * lib/netinet_in.in.h: Likewise.
13762         * lib/pty.in.h: Likewise.
13763         * lib/sched.in.h: Likewise.
13764         * lib/se-selinux.in.h: Likewise.
13765         * lib/search.in.h: Likewise.
13766         * lib/spawn.in.h: Likewise.
13767         * lib/stdarg.in.h: Likewise.
13768         * lib/stdint.in.h: Likewise.
13769         * lib/string.in.h: Likewise.
13770         * lib/strings.in.h: Likewise.
13771         * lib/sys_file.in.h: Likewise.
13772         * lib/sys_ioctl.in.h: Likewise.
13773         * lib/sys_time.in.h: Likewise.
13774         * lib/sys_times.in.h: Likewise.
13775         * lib/sys_utsname.in.h: Likewise.
13776         * lib/sys_wait.in.h: Likewise.
13777         * lib/sysexits.in.h: Likewise.
13778         * lib/wctype.in.h: Likewise.
13779
13780 2010-03-28  James Youngman  <jay@gnu.org>
13781
13782         save-cwd: don't leak a file descriptor when the caller execs.
13783         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13784         saved file descriptor.
13785         * modules/save-cwd (Depends-on): Depend on cloexec.
13786
13787 2010-03-29  Bruno Haible  <bruno@clisp.org>
13788
13789         Remove vestiges of fts-lgpl module.
13790         * lib/fts_.h: Assume GNULIB_FTS is 1.
13791         * lib/fts.c: Likewise.
13792         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13793
13794 2010-03-28  Bruno Haible  <bruno@clisp.org>
13795
13796         Fix definition of tests witness macro.
13797         * gnulib-tool (func_import): Fix definition of witness macro.
13798
13799 2010-03-28  Bruno Haible  <bruno@clisp.org>
13800
13801         Fix ioctl's protoype on glibc systems.
13802         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13803         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13804         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13805         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13806         signature. If not, arrange to replace the ioctl function.
13807         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13808         REPLACE_IOCTL.
13809         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13810         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13811         Reported by Ludovic Courtès <ludo@gnu.org>.
13812
13813 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13814
13815         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13816         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13817         made it so grep -r --include=GLOB* ... did not work.
13818
13819 2010-03-26  Jim Meyering  <meyering@redhat.com>
13820             Eric Blake  <eblake@redhat.com>
13821
13822         maint.mk: prohibit use of test's -o and -a operators
13823         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13824
13825 2010-03-28  Bruno Haible  <bruno@clisp.org>
13826
13827         Remove unused GNULIB_XYZ macro definitions.
13828         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13829         invocation.
13830
13831 2010-03-28  Bruno Haible  <bruno@clisp.org>
13832
13833         Mark privileged tests modules.
13834         * modules/idpriv-drop-tests (Status): New section.
13835         * modules/idpriv-droptemp-tests (Status): New section.
13836
13837 2010-03-28  Bruno Haible  <bruno@clisp.org>
13838
13839         Split C++ tests into separate tests modules.
13840         * modules/dirent-c++-tests: New file, extracted from
13841         modules/dirent-tests.
13842         * modules/dirent-tests: Depend on it.
13843         * modules/fcntl-h-c++-tests: New file, extracted from
13844         modules/fcntl-h-tests.
13845         * modules/fcntl-h-tests: Depend on it.
13846         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13847         * modules/glob-tests: Depend on it.
13848         * modules/iconv-h-c++-tests: New file, extracted from
13849         modules/iconv-h-tests.
13850         * modules/iconv-h-tests: Depend on it.
13851         * modules/langinfo-c++-tests: New file, extracted from
13852         modules/langinfo-tests.
13853         * modules/langinfo-tests: Depend on it.
13854         * modules/locale-c++-tests: New file, extracted from
13855         modules/locale-tests.
13856         * modules/locale-tests: Depend on it.
13857         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13858         * modules/math-tests: Depend on it.
13859         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13860         * modules/pty-tests: Depend on it.
13861         * modules/search-c++-tests: New file, extracted from
13862         modules/search-tests.
13863         * modules/search-tests: Depend on it.
13864         * modules/signal-c++-tests: New file, extracted from
13865         modules/signal-tests.
13866         * modules/signal-tests: Depend on it.
13867         * modules/spawn-c++-tests: New file, extracted from
13868         modules/spawn-tests.
13869         * modules/spawn-tests: Depend on it.
13870         * modules/stdio-c++-tests: New file, extracted from
13871         modules/stdio-tests.
13872         * modules/stdio-tests: Depend on it.
13873         * modules/stdlib-c++-tests: New file, extracted from
13874         modules/stdlib-tests.
13875         * modules/stdlib-tests: Depend on it.
13876         * modules/string-c++-tests: New file, extracted from
13877         modules/string-tests.
13878         * modules/string-tests: Depend on it.
13879         * modules/sys_ioctl-c++-tests: New file, extracted from
13880         modules/sys_ioctl-tests.
13881         * modules/sys_ioctl-tests: Depend on it.
13882         * modules/sys_select-c++-tests: New file, extracted from
13883         modules/sys_select-tests.
13884         * modules/sys_select-tests: Depend on it.
13885         * modules/sys_socket-c++-tests: New file, extracted from
13886         modules/sys_socket-tests.
13887         * modules/sys_socket-tests: Depend on it.
13888         * modules/sys_stat-c++-tests: New file, extracted from
13889         modules/sys_stat-tests.
13890         * modules/sys_stat-tests: Depend on it.
13891         * modules/sys_time-c++-tests: New file, extracted from
13892         modules/sys_time-tests.
13893         * modules/sys_time-tests: Depend on it.
13894         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13895         * modules/time-tests: Depend on it.
13896         * modules/unistd-c++-tests: New file, extracted from
13897         modules/unistd-tests.
13898         * modules/unistd-tests: Depend on it.
13899         * modules/wchar-c++-tests: New file, extracted from
13900         modules/wchar-tests.
13901         * modules/wchar-tests: Depend on it.
13902         * modules/wctype-c++-tests: New file, extracted from
13903         modules/wctype-tests.
13904         * modules/wctype-tests: Depend on it.
13905         Reported by Simon Josefsson.
13906
13907 2010-03-28  Bruno Haible  <bruno@clisp.org>
13908
13909         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13910         * gnulib-tool (func_exists_module): New function, extracted from
13911         func_verify_module.
13912         (func_verify_module): Use it.
13913         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13914         'foo' only if 'foo' exists.
13915         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13916         module.
13917
13918 2010-03-28  Bruno Haible  <bruno@clisp.org>
13919
13920         gnulib-tool: Add support for special categories of tests.
13921         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13922         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13923         (func_usage): Document them.
13924         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13925         inc_unportable_tests, inc_all_tests): New variables.
13926         (func_acceptable): Consider these variables.
13927         (func_modules_transitive_closure): Make it work when the 'Status' field
13928         consists of multiple words.
13929         (func_import): Store and restore the values of inc_cxx_tests,
13930         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13931         inc_all_tests in gnulib-comp.m4.
13932         (func_create_testdir): Set inc_all_tests to true.
13933         * doc/gnulib.texi (Extra tests modules): New section.
13934         Suggested by Jim Meyering.
13935
13936 2010-03-28  Bruno Haible  <bruno@clisp.org>
13937
13938         ansi-c++-opt: Allow turning off the C++ build by default.
13939         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13940         gl_CXX_CHOICE_DEFAULT_NO is defined.
13941         Requested by Eric Blake.
13942
13943 2010-03-28  Bruno Haible  <bruno@clisp.org>
13944
13945         unistd: Avoid #define replacements in C++ mode.
13946         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13947         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13948         setsockopt, shutdown, select): In C++, attach a warning to the function
13949         if possible, rather than #defining the symbol to a dysfunctional alias.
13950         Reported by John W. Eaton <jwe@gnu.org>.
13951
13952 2010-03-28  Bruno Haible  <bruno@clisp.org>
13953
13954         Fix link errors on mingw.
13955         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13956         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13957         $(LIBSOCKET).
13958         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13959         $(LIBSOCKET).
13960
13961 2010-03-28  Bruno Haible  <bruno@clisp.org>
13962             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13963
13964         lib-ignore: Determine different options for different compilers.
13965         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13966         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13967         Add comments.
13968         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13969         * NEWS: Mention the change.
13970
13971 2010-03-27  Bruno Haible  <bruno@clisp.org>
13972
13973         Remove unused GNULIB_XYZ macro definitions.
13974         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13975         * modules/fseek (configure.ac): Likewise.
13976         * modules/ioctl (configure.ac): Likewise.
13977         * modules/open (configure.ac): Likewise.
13978         * modules/stdlib-safer (configure.ac): Likewise.
13979
13980 2010-03-27  Bruno Haible  <bruno@clisp.org>
13981
13982         Add a remark about certain modules.
13983         * modules/malloc (Comment): New section.
13984         * modules/realloc (Comment): Likewise.
13985         * modules/sigpipe (Comment): Likewise.
13986
13987 2010-03-27  Bruno Haible  <bruno@clisp.org>
13988
13989         Resolve conflict between the two kinds of module indicators.
13990         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13991         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13992         * modules/canonicalize (configure.ac): Invoke
13993         gl_MODULE_INDICATOR_FOR_TESTS.
13994         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13995         GNULIB_XYZ.
13996         * tests/test-dirent-c++.cc: Likewise.
13997         * tests/test-dirent-safer.c: Likewise.
13998         * tests/test-dup2.c: Likewise.
13999         * tests/test-fchdir.c: Likewise.
14000         * tests/test-fcntl-h-c++.cc: Likewise.
14001         * tests/test-getopt.c: Likewise.
14002         * tests/test-getopt.h: Likewise.
14003         * tests/test-langinfo-c++.cc: Likewise.
14004         * tests/test-locale-c++.cc: Likewise.
14005         * tests/test-math-c++.cc: Likewise.
14006         * tests/test-pty-c++.cc: Likewise.
14007         * tests/test-search-c++.cc: Likewise.
14008         * tests/test-signal-c++.cc: Likewise.
14009         * tests/test-spawn-c++.cc: Likewise.
14010         * tests/test-stdio-c++.cc: Likewise.
14011         * tests/test-stdlib-c++.cc: Likewise.
14012         * tests/test-string-c++.cc: Likewise.
14013         * tests/test-sys_ioctl-c++.cc: Likewise.
14014         * tests/test-sys_select-c++.cc: Likewise.
14015         * tests/test-sys_socket-c++.cc: Likewise.
14016         * tests/test-sys_stat-c++.cc: Likewise.
14017         * tests/test-sys_time-c++.cc: Likewise.
14018         * tests/test-time-c++.cc: Likewise.
14019         * tests/test-unistd-c++.cc: Likewise.
14020         * tests/test-wchar-c++.cc: Likewise.
14021         * tests/uninorm/test-u8-nfc.c: Likewise.
14022         * tests/uninorm/test-u8-nfd.c: Likewise.
14023         * tests/uninorm/test-u8-nfkc.c: Likewise.
14024         * tests/uninorm/test-u8-nfkd.c: Likewise.
14025         * tests/uninorm/test-u16-nfc.c: Likewise.
14026         * tests/uninorm/test-u16-nfd.c: Likewise.
14027         * tests/uninorm/test-u16-nfkc.c: Likewise.
14028         * tests/uninorm/test-u16-nfkd.c: Likewise.
14029         * tests/uninorm/test-u32-nfc.c: Likewise.
14030         * tests/uninorm/test-u32-nfc-big.c: Likewise.
14031         * tests/uninorm/test-u32-nfd.c: Likewise.
14032         * tests/uninorm/test-u32-nfd-big.c: Likewise.
14033         * tests/uninorm/test-u32-nfkc.c: Likewise.
14034         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
14035         * tests/uninorm/test-u32-nfkd.c: Likewise.
14036         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
14037         * tests/uninorm/test-u32-normalize-big.c: Likewise.
14038
14039 2010-03-27  Bruno Haible  <bruno@clisp.org>
14040
14041         Distinguish two kinds of module indicators.
14042         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
14043         gl_MODULE_INDICATOR.
14044         (gl_MODULE_INDICATOR): New macro.
14045         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14046         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
14047         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14048         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14049         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14050         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14051         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14052         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14053         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14054         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14055         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14056         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14057         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14058         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14059         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14060         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14061         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14062         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14063         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14064         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14065         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14066         * modules/cloexec (configure.ac): Likewise.
14067         * modules/getopt-gnu (configure.ac): Likewise.
14068         * modules/uninorm/u8-normalize (configure.ac): Likewise.
14069         * modules/uninorm/u16-normalize (configure.ac): Likewise.
14070         * modules/uninorm/u32-normalize (configure.ac): Likewise.
14071         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
14072
14073 2010-03-27  Bruno Haible  <bruno@clisp.org>
14074
14075         New module description field 'Comment'.
14076         * gnulib-tool: New option --extract-comment.
14077         (func_usage): Document it.
14078         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
14079         (func_get_comment): New function.
14080         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
14081
14082 2010-03-27  Bruno Haible  <bruno@clisp.org>
14083
14084         Addendum to 2010-02-07 commit.
14085         * gnulib-tool (func_usage): Document --extract-applicability option.
14086
14087 2010-03-27  Bruno Haible  <bruno@clisp.org>
14088
14089         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
14090         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
14091         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
14092         rather than link errors.
14093
14094 2010-03-27  Bruno Haible  <bruno@clisp.org>
14095
14096         Avoid side effects from tests-related modules on the compilation of lib.
14097         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
14098         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
14099         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
14100         parameter. Emit into AM_CPPFLAGS a definition of the designated C
14101         macro.
14102         (func_import): Define a witness macro. Assign it a value that depends
14103         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
14104         tests-related modules.
14105         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
14106         Reported by Jim Meyering.
14107
14108 2010-03-27  Bruno Haible  <bruno@clisp.org>
14109
14110         Factorize common .m4 code.
14111         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
14112         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
14113         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
14114         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
14115         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14116         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
14117         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
14118         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14119         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14120         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14121         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
14122         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14123         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14124         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14125         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14126         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
14127         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14128         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14129         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14130         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
14131         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
14132         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14133         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14134         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14135         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14136         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14137         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
14138         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
14139         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
14140         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14141         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14142         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14143
14144 2010-03-27  Bruno Haible  <bruno@clisp.org>
14145
14146         Fix a compilation error on Cygwin with g++ >= 4.3.
14147         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
14148         if it is undefined or if we alias it to chmod.
14149         (lstat): Don't warn about the use of this function if it is undefined
14150         or if we alias it to stat.
14151         Reported by Simon Josefsson.
14152
14153 2010-03-27  Bruno Haible  <bruno@clisp.org>
14154
14155         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
14156         * modules/getlogin (configure.ac): Update.
14157
14158         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
14159         * modules/getlogin_r (configure.ac): Update.
14160
14161         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
14162         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
14163         * modules/inet_ntop (configure.ac): Update.
14164
14165         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
14166         * modules/inet_pton (configure.ac): Update.
14167
14168         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
14169         * modules/mbslen (configure.ac): Update.
14170
14171         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
14172         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
14173         * modules/forkpty (configure.ac): Update.
14174         * modules/openpty (configure.ac): Update.
14175
14176 2010-03-26  Simon Josefsson  <simon@josefsson.org>
14177
14178         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
14179         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
14180
14181 2010-03-25  Eric Blake  <eblake@redhat.com>
14182
14183         maint: use pragma consistently across replacement headers
14184         * lib/ctype.in.h (system_header): Hoist for consistent placement.
14185         * lib/dirent.in.h (system_header): Likewise.
14186         * lib/errno.in.h (system_header): Likewise.
14187         * lib/float.in.h (system_header): Likewise.
14188         * lib/getopt.in.h (system_header): Likewise.
14189         * lib/iconv.in.h (system_header): Likewise.
14190         * lib/inttypes.in.h (system_header): Likewise.
14191         * lib/langinfo.in.h (system_header): Likewise.
14192         * lib/locale.in.h (system_header): Likewise.
14193         * lib/math.in.h (system_header): Likewise.
14194         * lib/netdb.in.h (system_header): Likewise.
14195         * lib/netinet_in.in.h (system_header): Likewise.
14196         * lib/pty.in.h (system_header): Likewise.
14197         * lib/sched.in.h (system_header): Likewise.
14198         * lib/se-selinux.in.h (system_header): Likewise.
14199         * lib/search.in.h (system_header): Likewise.
14200         * lib/spawn.in.h (system_header): Likewise.
14201         * lib/stdarg.in.h (system_header): Likewise.
14202         * lib/stdint.in.h (system_header): Likewise.
14203         * lib/string.in.h (system_header): Likewise.
14204         * lib/strings.in.h (system_header): Likewise.
14205         * lib/sys_file.in.h (system_header): Likewise.
14206         * lib/sys_ioctl.in.h (system_header): Likewise.
14207         * lib/sys_socket.in.h (system_header): Likewise.
14208         * lib/sys_times.in.h (system_header): Likewise.
14209         * lib/sys_utsname.in.h (system_header): Likewise.
14210         * lib/sys_wait.in.h (system_header): Likewise.
14211         * lib/sysexits.in.h (system_header): Likewise.
14212         * lib/unistd.in.h (system_header): Likewise.
14213         * lib/wctype.in.h (system_header): Likewise.
14214
14215         arpa/inet: fix mingw compilation warning
14216         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
14217         Reported by Matthew Bolte.
14218
14219 2010-03-25  Bruno Haible  <bruno@clisp.org>
14220
14221         Avoid collision between gnulib wrapper and libintl wrapper.
14222         * lib/printf.c (printf): Don't define if a printf wrapper is already
14223         defined in intl/printf.c.
14224         Reported by Michel Boaventura <michel@michelboaventura.com>.
14225
14226 2010-03-25  Bruno Haible  <bruno@clisp.org>
14227
14228         Use ANSI C.
14229         * lib/readutmp.h (getutent): Provide ANSI C prototype.
14230
14231 2010-03-25  Bruno Haible  <bruno@clisp.org>
14232
14233         Minor formatting changes.
14234         * lib/acosl.c: Insert space before function argument list.
14235         * lib/argz.c: Likewise.
14236         * lib/asinl.c: Likewise.
14237         * lib/expl.c: Likewise.
14238         * lib/gen-uni-tables.c: Likewise.
14239         * lib/gettext.h: Likewise.
14240         * lib/glthread/lock.h: Likewise.
14241         * lib/tanl.c: Likewise.
14242         * lib/uniname/uniname.c: Likewise.
14243         * tests/test-idpriv-drop.c: Likewise.
14244         * tests/test-idpriv-droptemp.c: Likewise.
14245         * tests/test-lock.c: Likewise.
14246         * tests/test-tls.c: Likewise.
14247         * lib/argp-help.c: Insert space before function-like macro argument
14248         list.
14249         * lib/memcmp.c: Likewise.
14250         * tests/test-base64.c: Likewise.
14251         * lib/localename.c: Insert space before sizeof's argument list.
14252         * lib/safe-alloc.h: Likewise.
14253         * lib/file-set.h: Insert space before macro argument list.
14254         * tests/test-argp.c: Likewise.
14255         * lib/argp-namefrob.h: Insert space before function parameter list.
14256         * lib/getaddrinfo.c: Likewise.
14257         * lib/netdb.in.h: Likewise.
14258         * lib/parse-duration.h: Likewise.
14259         * lib/parse-duration.c: Likewise.
14260         * lib/poll.c: Likewise.
14261         * lib/select.c: Likewise.
14262         * lib/trim.h: Likewise.
14263         * tests/test-usleep.c: Likewise.
14264         * lib/ldexpl.c: Insert space before function parameter list and before
14265         function argument list.
14266         * lib/logl.c: Likewise.
14267         * lib/sqrtl.c: Likewise.
14268         * lib/trim.c: Likewise.
14269         * lib/cosl.c: Use GNU style indentation. Insert space before function
14270         argument list.
14271         * lib/sinl.c: Likewise.
14272         * lib/tsearch.c: Insert space after 'for'.
14273         Reported by Jim Meyering.
14274
14275 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
14276
14277         * maint.mk (sc_Wundef_boolean): Check for the presence of the
14278         config header before grepping, as it's not present before
14279         autoreconf/configure are run.  Reported by Simon Josefsson.
14280
14281 2010-03-23  Bruno Haible  <bruno@clisp.org>
14282
14283         pt_chown: Make it work with automake < 1.11.
14284         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
14285         Reported by Simon Josefsson.
14286
14287 2010-03-23  Bruno Haible  <bruno@clisp.org>
14288
14289         pt_chown: Don't depend on GPLed modules.
14290         * lib/pt_chown.c: Don't include idpriv.h.
14291         (main): Don't drop privileges.
14292         * modules/pt_chown (Depends-on): Remove idpriv-drop.
14293         Reported by Simon Josefsson.
14294
14295 2010-03-24  Simon Josefsson  <simon@josefsson.org>
14296
14297         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
14298         suggestions from karl@freefriends.org (Karl Berry).
14299
14300 2010-03-22  Eric Blake  <eblake@redhat.com>
14301
14302         gethostname: further tweaks
14303         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
14304         are overriding gethostname.
14305         Suggested by Bruno Haible.
14306
14307 2010-03-21  Bruno Haible  <bruno@clisp.org>
14308
14309         Fix comments.
14310         * lib/forkpty.c (rpl_forkpty): Fix comment.
14311         * lib/openpty.c (rpl_openpty): Likewise.
14312         Reported by Eric Blake.
14313
14314 2010-03-22  Eric Blake  <eblake@redhat.com>
14315
14316         gethostname: fix build on mingw
14317         * lib/unistd.in.h (includes): Work around fact that mingw
14318         <winsock2.h> re-includes <unistd.h>, by avoiding any
14319         redeclarations if we are being included by <winsock2.h>.
14320         Reported by Matthias Bolte.
14321
14322 2010-03-21  Bruno Haible  <bruno@clisp.org>
14323
14324         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14325         * lib/forkpty.c (forkpty): New replacement function, from glibc with
14326         modifications.
14327         * lib/pty.in.h (forkpty): Update declaration. Add comments.
14328         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
14329         provide the replacement.
14330         * modules/forkpty (Depends-on): Add openpty, login_tty.
14331         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
14332         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
14333         * doc/glibc-functions/forkpty.texi: More supported platforms.
14334         * config/srclist.txt: Add forkpty.c (commented).
14335
14336 2010-03-21  Bruno Haible  <bruno@clisp.org>
14337
14338         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
14339         (Makefile.am): Verify that PTY_LIB is defined.
14340
14341         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
14342
14343 2010-03-21  Bruno Haible  <bruno@clisp.org>
14344
14345         Tests for module 'login_tty'.
14346         * modules/login_tty-tests: New file.
14347         * tests/test-login_tty.c: New file.
14348
14349         New module 'login_tty'.
14350         * lib/login_tty.c: New file.
14351         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
14352         * modules/login_tty: New file.
14353         * doc/glibc-functions/login_tty.texi: Mention the new module.
14354
14355 2010-03-21  Bruno Haible  <bruno@clisp.org>
14356
14357         login_tty: Documentation.
14358         * doc/glibc-functions/login_tty.texi: New file.
14359         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
14360
14361 2010-03-21  Bruno Haible  <bruno@clisp.org>
14362
14363         pty: Consistent macro naming.
14364         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
14365         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
14366         * modules/pty (configure.ac): Update.
14367
14368 2010-03-21  Bruno Haible  <bruno@clisp.org>
14369
14370         Tests for openpty: Make stricter.
14371         * tests/test-openpty.c (main): Add test of canonical processing and
14372         erase.
14373         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
14374
14375         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14376         * lib/openpty.c (openpty): New replacement function.
14377         * lib/pty.in.h: Include <termios.h>.
14378         (openpty): Update declaration. Add comments.
14379         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
14380         is not declared, arrange to provide the replacement. Check for _getpty
14381         and posix_openpt.
14382         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
14383         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
14384         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
14385         * modules/pty-tests (test_pty_c___LDADD): New variable.
14386         * doc/glibc-functions/openpty.texi: More supported platforms.
14387
14388 2010-03-21  Bruno Haible  <bruno@clisp.org>
14389
14390         setenv: Tweaks.
14391         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
14392         the test program.
14393         * doc/posix-functions/setenv.texi: Update platforms list.
14394
14395 2010-03-21  Bruno Haible  <bruno@clisp.org>
14396
14397         New module 'unlockpt'.
14398         * lib/unlockpt.c: New file, from glibc with modifications.
14399         * m4/unlockpt.m4: New file.
14400         * modules/unlockpt: New file.
14401         * lib/stdlib.in.h (unlockpt): New declaration.
14402         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
14403         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
14404         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
14405         HAVE_UNLOCKPT.
14406         * doc/posix-functions/unlockpt.texi: Mention the new module.
14407         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
14408         * config/srclist.txt: Add unlockpt.c (commented).
14409
14410 2010-03-21  Jim Meyering  <meyering@redhat.com>
14411
14412         maint.mk: prohibit inclusion of "intprops.h" without use
14413         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
14414
14415 2010-03-21  Bruno Haible  <bruno@clisp.org>
14416
14417         New module 'grantpt'.
14418         * lib/grantpt.c: New file, from glibc with modifications.
14419         * m4/grantpt.m4: New file.
14420         * modules/grantpt: New file.
14421         * lib/stdlib.in.h (grantpt): New declaration.
14422         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
14423         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
14424         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
14425         HAVE_GRANTPT.
14426         * doc/posix-functions/grantpt.texi: Mention the new module.
14427         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
14428         * config/srclist.txt: Add grantpt.c (commented).
14429
14430 2010-03-21  Bruno Haible  <bruno@clisp.org>
14431
14432         New module 'pt_chown'.
14433         * lib/pt_chown.c: New file, from glibc with modifications.
14434         * lib/pty-private.h: New file, from glibc with modifications.
14435         * modules/pt_chown: New file.
14436         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
14437
14438 2010-03-21  Bruno Haible  <bruno@clisp.org>
14439
14440         Tests for module 'ptsname'.
14441         * modules/ptsname-tests: New file.
14442         * tests/test-ptsname.c: New file.
14443
14444         New module 'ptsname'.
14445         * lib/ptsname.c: New file, from glibc with modifications.
14446         * m4/ptsname.m4: New file.
14447         * modules/ptsname: New file.
14448         * lib/stdlib.in.h (ptsname): New declaration.
14449         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
14450         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
14451         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
14452         HAVE_PTSNAME.
14453         * doc/posix-functions/ptsname.texi: Mention the new module.
14454         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
14455         * config/srclist.txt: Add ptsname.c (commented).
14456
14457 2010-03-21  Bruno Haible  <bruno@clisp.org>
14458
14459         Tests for module 'ttyname_r'.
14460         * modules/ttyname_r-tests: New file.
14461         * tests/test-ttyname_r.c: New file.
14462
14463         New module 'ttyname_r'.
14464         * lib/ttyname_r.c: New file.
14465         * m4/ttyname_r.m4: New file.
14466         * modules/ttyname_r: New file.
14467         * lib/unistd.in.h (ttyname_r): New declaration.
14468         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
14469         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
14470         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
14471         HAVE_TTYNAME_R.
14472         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
14473         * doc/posix-functions/ttyname_r.texi: Mention the new module.
14474
14475 2010-03-20  Bruno Haible  <bruno@clisp.org>
14476
14477         signal: Undefine macro definitions in C++ mode.
14478         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
14479         sigfillset): Undefine macro definitions from the system header in C++
14480         mode.
14481         Reported by John W. Eaton <jwe@gnu.org>.
14482
14483 2010-03-20  Bruno Haible  <bruno@clisp.org>
14484
14485         Ensure no #include statements inside extern "C" { ... }.
14486         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
14487         contain #include statements.
14488         * lib/time.in.h: Likewise.
14489
14490 2010-03-20  Bruno Haible  <bruno@clisp.org>
14491
14492         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
14493         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
14494         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
14495         Reported by John W. Eaton <jwe@gnu.org>.
14496
14497 2010-03-20  Bruno Haible  <bruno@clisp.org>
14498
14499         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
14500         Reported by Jim Meyering.
14501
14502 2010-03-20  Bruno Haible  <bruno@clisp.org>
14503
14504         pipe: Set errno upon failure.
14505         * lib/pipe.h: Specify that when -1 is returned, errno is set.
14506         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
14507         errno value in error message.
14508
14509 2010-03-20  Bruno Haible  <bruno@clisp.org>
14510             Jim Meyering  <meyering@redhat.com>
14511
14512         lchown: Avoid "unused variable" warning.
14513         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
14514
14515 2010-03-20  Bruno Haible  <bruno@clisp.org>
14516
14517         Work around unlink() bug on MacOS X 10.5.6.
14518         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
14519         attempting to unlink a parent directory.
14520         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
14521         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
14522         activate for the replacement function.
14523         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
14524
14525 2010-03-20  Bruno Haible  <bruno@clisp.org>
14526
14527         Fix link errors on Solaris 8.
14528         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
14529         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
14530
14531 2010-03-19  Jim Meyering  <meyering@redhat.com>
14532
14533         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
14534         The _LIBC implementation of build_range_exp correctly honors the
14535         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
14536         However, the non-_LIBC implementation would ignore that syntax-bit
14537         flag and return REG_ERANGE unconditionally.
14538         This change makes it honor that flag.
14539         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
14540         Make two pointer parameters "const".
14541         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
14542         (parse_bracket_exp): Update caller.
14543
14544         regex.m4: correct the reversed range endpoint ([b-a]) test
14545         * m4/regex.m4: When requiring that [b-a] evoke failure,
14546         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
14547         test pass once again for x86-based systems.
14548
14549 2010-03-19  Bruno Haible  <bruno@clisp.org>
14550
14551         scandir: Fix link error on Solaris 8.
14552         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
14553         macros.
14554
14555 2010-03-19  Bruno Haible  <bruno@clisp.org>
14556
14557         getusershell: Fix documentation.
14558         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
14559         module.
14560         * doc/glibc-functions/setusershell.texi: Likewise.
14561
14562         getusershell: Provide declaration, missing on Solaris 9.
14563         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
14564         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
14565         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
14566         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
14567         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14568         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
14569         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
14570         HAVE_GETUSERSHELL.
14571         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
14572
14573 2010-03-19  Bruno Haible  <bruno@clisp.org>
14574
14575         wctype: Provide iswblank function.
14576         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
14577         exists and is fine.
14578         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
14579         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
14580         * tests/test-wctype.c (main): Re-enable the iswblank tests.
14581         * doc/posix-functions/iswblank.texi: Update.
14582
14583 2010-03-19  Bruno Haible  <bruno@clisp.org>
14584
14585         Tests of module 'pty' in C++ mode.
14586         * modules/pty-tests: New file.
14587         * tests/test-pty-c++.cc: New file.
14588         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14589
14590 2010-03-19  Eric Blake  <eblake@redhat.com>
14591
14592         logb: fix documentation
14593         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
14594         1.5 declaration bug.
14595
14596         forkpty, openpty: prefer glibc's const-safe prototype
14597         * lib/forkpty.c (rpl_forkpty): New file.
14598         * lib/openpty.c (rpl_openpty): Likewise.
14599         * modules/forkpty (Files): Distribute it.
14600         * modules/openpty (Files): Likewise.
14601         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
14602         check...
14603         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
14604         replacement for for non-const BSD signature.
14605         * modules/pty (Makefile.am): Substitute witnesses.
14606         * lib/pty.in.h (forkpty, openpty): Declare replacements.
14607         * tests/test-forkpty.c: Update signature check.
14608         * tests/test-openpty.c: Likewise.
14609         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
14610         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14611
14612         forkpty, openpty: split functions into new modules
14613         * modules/pty (Makefile.am): Substitute new witnesses.
14614         (Libraries): Move library detection...
14615         * modules/forkpty: ...into new module.
14616         * modules/openpty: Another new module.
14617         * modules/pty-tests: Rename and split...
14618         * modules/forkpty-tests: ...to this...
14619         * modules/openpty-tests: ...and this.
14620         * tests/test-pty.c: Rename and split...
14621         * tests/test-forkpty.c: ...to this...
14622         * tests/test-openpty.c: ...and this.
14623         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
14624         (gl_PTY): Split library searching...
14625         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
14626         (gl_FORKPTY, gl_OPENPTY): New macros.
14627         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
14628         * NEWS: Mention the split.
14629         * MODULES.html.sh (Misc): Document the modules.
14630         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
14631         * doc/glibc-functions/openpty.texi (openpty): Likewise.
14632
14633         pty: improve replacement header
14634         * lib/pty.in.h: New file.
14635         * modules/pty (Files): Ship it.
14636         (Makefile.am): Always build replacement.
14637         * m4/pty.m4: Rename...
14638         * m4/pty_h.m4: ...to this.
14639         (gl_PTY): Modernize setting of witness macros; update check of
14640         forkpty to take proper advantage of cache.
14641         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
14642
14643         getopt: avoid compiler warning
14644         * lib/getopt.c (attribute_hidden): Remove unused macro.
14645
14646 2010-03-18  Bruno Haible  <bruno@clisp.org>
14647
14648         Fix link errors on Solaris 8.
14649         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
14650         * modules/search-tests (test_search_c___LDADD): Likewise.
14651         * modules/signal-tests (test_signal_c___LDADD): Likewise.
14652         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
14653         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
14654         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
14655         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
14656         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
14657         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
14658
14659 2010-03-18  Bruno Haible  <bruno@clisp.org>
14660
14661         Fix bug introduced on 2010-03-14.
14662         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
14663         (gl_SPAWN_H): Require it.
14664         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
14665         Reported by Simon Josefsson.
14666
14667 2010-03-18  Bruno Haible  <bruno@clisp.org>
14668
14669         Fix typo introduced on 2009-12-31.
14670         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
14671         posix_spawn_file_actions_adddup2.
14672
14673 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
14674         and Eric Blake  <eblake@redhat.com>
14675
14676         test-vc-list-files-git: make more robust
14677         * tests/test-vc-list-files-git.sh: Unset problematic environment
14678         variables.  Chain commands together.
14679
14680 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
14681
14682         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
14683         `AC_CHECK_DECL' invocation.
14684
14685 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
14686
14687         * lib/inttostr.c (inttostr): Make sure the invocation of verify
14688         appears before executable statements. Suggested by Petr Sumbera
14689         <Petr.Sumbera@Sun.COM>.
14690
14691 2010-03-14  Bruno Haible  <bruno@clisp.org>
14692
14693         * tests/test-flock.c (test_exclusive): Comment out a test that causes
14694         portability problems. Instead use a simpler test.
14695         (main): Check that invalid arguments are rejected only on Linux.
14696
14697 2010-03-14  Bruno Haible  <bruno@clisp.org>
14698
14699         Fix bug introduced on 2009-12-31.
14700         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
14701         gl_PREREQ_SYS_H_WINSOCK2 always.
14702         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
14703         SYS_SOCKET_H variable.
14704         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
14705         Update comments.
14706         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
14707         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
14708         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14709         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14710         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14711
14712 2010-03-14  Bruno Haible  <bruno@clisp.org>
14713
14714         Fix values returned by sinl, cosl.
14715         * lib/trigl.h: Add specification comments.
14716         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
14717         that combines the values from the precomputed table with the values of
14718         the Chebyshev polynomials.
14719
14720 2010-03-14  Bruno Haible  <bruno@clisp.org>
14721
14722         Fix compilation error when modules 'posix_spawn[p]' are not used.
14723         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
14724         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
14725
14726 2010-03-14  Bruno Haible  <bruno@clisp.org>
14727
14728         Fix compilation error on mingw when module 'time_r' is not used.
14729         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
14730         is 1.
14731         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
14732         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14733         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
14734         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
14735
14736 2010-03-14  Bruno Haible  <bruno@clisp.org>
14737
14738         Fix compilation error with Sun C.
14739         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
14740         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
14741         instead of GCC specific ULONG_LONG_MAX.
14742         * lib/xstrtoll.c: Likewise.
14743         * lib/xstrtoull.c: Likewise.
14744
14745 2010-03-13  Bruno Haible  <bruno@clisp.org>
14746
14747         Allow the user to disable C++ code and tests.
14748         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
14749         (gl_PROG_ANSI_CXX): Require it.
14750
14751 2010-03-13  Bruno Haible  <bruno@clisp.org>
14752
14753         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
14754         cases.
14755
14756 2010-03-13  Bruno Haible  <bruno@clisp.org>
14757
14758         Test that gnulib does not break the standard C++ headers.
14759         * tests/test-locale-c++2.cc: New file.
14760         * modules/locale-tests (Files): Add it.
14761         (Makefile.am): Compile it for test-locale-c++.
14762         * tests/test-math-c++2.cc: New file.
14763         * modules/math-tests (Files): Add it.
14764         (Makefile.am): Compile it for test-math-c++.
14765         * tests/test-signal-c++2.cc: New file.
14766         * modules/signal-tests (Files): Add it.
14767         (Makefile.am): Compile it for test-signal-c++.
14768         * tests/test-stdio-c++2.cc: New file.
14769         * modules/stdio-tests (Files): Add it.
14770         (Makefile.am): Compile it for test-stdio-c++.
14771         * tests/test-stdlib-c++2.cc: New file.
14772         * modules/stdlib-tests (Files): Add it.
14773         (Makefile.am): Compile it for test-stdlib-c++.
14774         * tests/test-string-c++2.cc: New file.
14775         * modules/string-tests (Files): Add it.
14776         (Makefile.am): Compile it for test-string-c++.
14777         * tests/test-time-c++2.cc: New file.
14778         * modules/time-tests (Files): Add it.
14779         (Makefile.am): Compile it for test-time-c++.
14780         Reported by John W. Eaton <jwe@gnu.org>.
14781
14782 2010-03-13  Bruno Haible  <bruno@clisp.org>
14783
14784         * gnulib-tool (func_usage): Clarify which options are available for
14785         --create-testdir and --create-megatestdir.
14786
14787 2010-03-13  Bruno Haible  <bruno@clisp.org>
14788
14789         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14790         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14791         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14792         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14793         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14794         when appropriate.
14795         Reported by Jim Meyering.
14796
14797 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14798
14799         * gnulib-tool (func_import): Explain origin of code.
14800
14801 2010-03-12  Bruno Haible  <bruno@clisp.org>
14802
14803         Fix problem with automake's definition of CXXLINK.
14804         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14805         Reported by Simon Josefsson and Ludovic Courtès.
14806
14807 2010-03-12  Bruno Haible  <bruno@clisp.org>
14808
14809         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14810         stable releases.
14811
14812 2010-03-11  Bruno Haible  <bruno@clisp.org>
14813
14814         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14815         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14816         whether the system provides one variant or multiple variants of the
14817         function.
14818         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14819         C++ compilers.
14820         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14821         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14822         Reported by Jim Meyering.
14823
14824 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14825
14826         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14827
14828 2010-03-08  Bruno Haible  <bruno@clisp.org>
14829
14830         gnulib-tool: Add support for --libtool in --create-testdir.
14831         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14832         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14833
14834 2010-03-08  Eric Blake  <eblake@redhat.com>
14835
14836         gnulib-tool.texi: mention possibility of git submodule
14837         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14838         submodules.
14839         * doc/.gitignore: Ignore another generated file.
14840
14841 2010-03-08  Karl Berry  <karl@gnu.org>
14842
14843         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14844         of committing gnulib files while skipping others.
14845
14846 2010-03-07  Bruno Haible  <bruno@clisp.org>
14847
14848         Tests of module 'wctype' in C++ mode.
14849         * tests/test-wctype-c++.cc: New file.
14850         * modules/wctype-tests (Files): Add it and tests/signature.h.
14851         (Depends-on): Add ansi-c++-opt.
14852         (Makefile.am): Arrange to compile and run test-wctype-c++.
14853
14854         Tests of module 'wchar' in C++ mode.
14855         * tests/test-wchar-c++.cc: New file.
14856         * modules/wchar-tests (Files): Add it and tests/signature.h.
14857         (Depends-on): Add ansi-c++-opt.
14858         (Makefile.am): Arrange to compile and run test-wchar-c++.
14859         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14860         gl_MODULE_INDICATOR.
14861
14862         Tests of module 'unistd' in C++ mode.
14863         * tests/test-unistd-c++.cc: New file.
14864         * modules/unistd-tests (Files): Add it and tests/signature.h.
14865         (Depends-on): Add ansi-c++-opt.
14866         (Makefile.am): Arrange to compile and run test-unistd-c++.
14867         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14868         gl_MODULE_INDICATOR.
14869
14870         Tests of module 'time' in C++ mode.
14871         * tests/test-time-c++.cc: New file.
14872         * modules/time-tests (Files): Add it and tests/signature.h.
14873         (Depends-on): Add ansi-c++-opt.
14874         (Makefile.am): Arrange to compile and run test-time-c++.
14875         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14876
14877         Tests of module 'sys_time' in C++ mode.
14878         * tests/test-sys_time-c++.cc: New file.
14879         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14880         (Depends-on): Add ansi-c++-opt.
14881         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14882         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14883         gl_MODULE_INDICATOR.
14884
14885         Tests of module 'sys_stat' in C++ mode.
14886         * tests/test-sys_stat-c++.cc: New file.
14887         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14888         (Depends-on): Add ansi-c++-opt.
14889         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14890         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14891         gl_MODULE_INDICATOR.
14892
14893         Tests of module 'sys_socket' in C++ mode.
14894         * tests/test-sys_socket-c++.cc: New file.
14895         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14896         (Depends-on): Add ansi-c++-opt.
14897         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14898         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14899         gl_MODULE_INDICATOR.
14900
14901         Tests of module 'sys_select' in C++ mode.
14902         * tests/test-sys_select-c++.cc: New file.
14903         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14904         (Depends-on): Add ansi-c++-opt.
14905         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14906         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14907         gl_MODULE_INDICATOR.
14908
14909         Tests of module 'sys_ioctl' in C++ mode.
14910         * tests/test-sys_ioctl-c++.cc: New file.
14911         * modules/sys_ioctl-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_ioctl-c++.
14914         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14915         gl_MODULE_INDICATOR.
14916
14917         Tests of module 'string' in C++ mode.
14918         * tests/test-string-c++.cc: New file.
14919         * modules/string-tests (Files): Add it and tests/signature.h.
14920         (Depends-on): Add ansi-c++-opt.
14921         (Makefile.am): Arrange to compile and run test-string-c++.
14922         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14923         gl_MODULE_INDICATOR.
14924
14925         Tests of module 'stdlib' in C++ mode.
14926         * tests/test-stdlib-c++.cc: New file.
14927         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14928         (Depends-on): Add ansi-c++-opt.
14929         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14930         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14931         gl_MODULE_INDICATOR.
14932
14933         Tests of module 'stdio' in C++ mode.
14934         * tests/test-stdio-c++.cc: New file.
14935         * modules/stdio-tests (Files): Add it and tests/signature.h.
14936         (Depends-on): Add ansi-c++-opt.
14937         (Makefile.am): Arrange to compile and run test-stdio-c++.
14938         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14939         gl_MODULE_INDICATOR.
14940
14941         Tests of module 'spawn' in C++ mode.
14942         * tests/test-spawn-c++.cc: New file.
14943         * modules/spawn-tests (Files): Add it and tests/signature.h.
14944         (Depends-on): Add ansi-c++-opt.
14945         (Makefile.am): Arrange to compile and run test-spawn-c++.
14946         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14947         gl_MODULE_INDICATOR.
14948
14949         Tests of module 'signal' in C++ mode.
14950         * tests/test-signal-c++.cc: New file.
14951         * modules/signal-tests (Files): Add it and tests/signature.h.
14952         (Depends-on): Add ansi-c++-opt.
14953         (Makefile.am): Arrange to compile and run test-signal-c++.
14954         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14955         gl_MODULE_INDICATOR.
14956
14957         Tests of module 'search' in C++ mode.
14958         * tests/test-search-c++.cc: New file.
14959         * modules/search-tests (Files): Add it and tests/signature.h.
14960         (Depends-on): Add ansi-c++-opt.
14961         (Makefile.am): Arrange to compile and run test-search-c++.
14962         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14963         gl_MODULE_INDICATOR.
14964
14965         Tests of module 'math' in C++ mode.
14966         * tests/test-math-c++.cc: New file.
14967         * modules/math-tests (Files): Add it and tests/signature.h.
14968         (Depends-on): Add ansi-c++-opt.
14969         (Makefile.am): Arrange to compile and run test-math-c++.
14970         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14971
14972         Tests of module 'locale' in C++ mode.
14973         * tests/test-locale-c++.cc: New file.
14974         * modules/locale-tests (Files): Add it and tests/signature.h.
14975         (Depends-on): Add ansi-c++-opt.
14976         (Makefile.am): Arrange to compile and run test-locale-c++.
14977         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14978         gl_MODULE_INDICATOR.
14979
14980         Tests of module 'langinfo' in C++ mode.
14981         * tests/test-langinfo-c++.cc: New file.
14982         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14983         (Depends-on): Add ansi-c++-opt.
14984         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14985         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14986         gl_MODULE_INDICATOR.
14987
14988         Tests of module 'iconv-h' in C++ mode.
14989         * tests/test-iconv-h-c++.cc: New file.
14990         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14991         (Depends-on): Add ansi-c++-opt.
14992         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14993
14994         Tests of module 'glob' in C++ mode.
14995         * tests/test-glob-c++.cc: New file.
14996         * modules/glob-tests (Files): Add it.
14997         (Depends-on): Add ansi-c++-opt.
14998         (Makefile.am): Arrange to compile and run test-glob-c++.
14999
15000         Tests of module 'fcntl-h' in C++ mode.
15001         * tests/test-fcntl-h-c++.cc: New file.
15002         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
15003         (Depends-on): Add ansi-c++-opt.
15004         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
15005         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
15006         gl_MODULE_INDICATOR.
15007
15008         Tests of module 'dirent' in C++ mode.
15009         * tests/test-dirent-c++.cc: New file.
15010         * modules/dirent-tests (Files): Add it and tests/signature.h.
15011         (Depends-on): Add ansi-c++-opt.
15012         (Makefile.am): Arrange to compile and run test-dirent-c++.
15013         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15014         gl_MODULE_INDICATOR.
15015
15016         New module 'ansi-c++-opt'.
15017         * modules/ansi-c++-opt: New file.
15018         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
15019
15020         Document C++ namespace mode.
15021         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
15022
15023         wctype: Avoid #define replacements in C++ mode.
15024         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
15025         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
15026         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
15027         In C++, define a namespaced alias symbol.
15028         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
15029         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
15030         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
15031         rule.
15032
15033         wchar: Avoid #define replacements in C++ mode.
15034         * lib/wchar.in.h: Include c++defs.h.
15035         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
15036         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
15037         symbol.
15038         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
15039         * modules/wchar (Depends-on): Add c++defs.
15040         (Makefile.am): Update wchar.h rule.
15041
15042         unistd: Avoid #define replacements in C++ mode.
15043         * lib/unistd.in.h: Include c++defs.h.
15044         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
15045         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
15046         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
15047         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
15048         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
15049         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
15050         symbol.
15051         (environ): Update.
15052         * modules/unistd (Depends-on): Add c++defs.
15053         (Makefile.am): Update unistd.h rule.
15054
15055         time: Avoid #define replacements in C++ mode.
15056         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
15057         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
15058         define a namespaced alias symbol.
15059         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
15060         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
15061         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
15062         * modules/time (Depends-on): Add c++defs, warn-on-use.
15063         (Makefile.am): Update time.h rule.
15064         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15065         * modules/nanosleep (configure.ac): Likewise.
15066         * modules/strptime (configure.ac): Likewise.
15067         * modules/timegm (configure.ac): Likewise.
15068
15069         sys_time: Avoid #define replacements in C++ mode.
15070         * lib/sys_time.in.h: Include c++defs.h.
15071         (gettimeofday): In C++, define a namespaced alias symbol.
15072         * modules/sys_time (Depends-on): Add c++defs.
15073         (Makefile.am): Update sys/time.h rule.
15074
15075         sys_stat: Avoid #define replacements in C++ mode.
15076         * lib/sys_stat.in.h: Include c++defs.h.
15077         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
15078         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
15079         namespaced alias symbol.
15080         In C++, define a namespaced alias symbol.
15081         * modules/sys_stat (Depends-on): Add c++defs.
15082         (Makefile.am): Update sys/stat.h rule.
15083
15084         sys_socket: Avoid #define replacements in C++ mode.
15085         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
15086         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
15087         definitions also when the system has a <sys/socket.h>.
15088         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15089         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
15090         In C++, define a namespaced alias symbol.
15091         * modules/sys_socket (Depends-on): Add c++defs.
15092         (Makefile.am): Update sys/socket.h rule.
15093
15094         sys_select: Avoid #define replacements in C++ mode.
15095         * lib/sys_select.in.h: Include c++defs.h. Enable the function
15096         definitions also when the system has a <sys/select.h>.
15097         (select): In C++, define a namespaced alias symbol.
15098         * modules/sys_select (Depends-on): Add c++defs.
15099         (Makefile.am): Update sys/select.h rule.
15100
15101         sys_ioctl: Avoid #define replacements in C++ mode.
15102         * lib/sys_ioctl.in.h: Include c++defs.h.
15103         (ioctl): In C++, define a namespaced alias symbol.
15104         * modules/sys_ioctl (Depends-on): Add c++defs.
15105         (Makefile.am): Update sys/ioctl.h rule.
15106
15107         string: Avoid #define replacements in C++ mode.
15108         * lib/string.in.h: Include c++defs.h.
15109         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
15110         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15111         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15112         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
15113         strsignal, strverscmp): In C++, define a namespaced alias symbol.
15114         * modules/string (Depends-on): Add c++defs.
15115         (Makefile.am): Update string.h rule.
15116
15117         stdlib: Avoid #define replacements in C++ mode.
15118         * lib/stdlib.in.h: Include c++defs.h.
15119         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
15120         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
15121         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
15122         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
15123         symbol.
15124         * modules/stdlib (Depends-on): Add c++defs.
15125         (Makefile.am): Update stdlib.h rule.
15126
15127         stdio: Avoid #define replacements in C++ mode.
15128         * lib/stdio.in.h: Include c++defs.h.
15129         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
15130         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
15131         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
15132         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
15133         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
15134         namespaced alias symbol.
15135         * modules/stdio (Depends-on): Add c++defs.
15136         (Makefile.am): Update stdio.h rule.
15137
15138         spawn: Avoid #define replacements in C++ mode.
15139         * lib/spawn.in.h: Include c++defs.h.
15140         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15141         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15142         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15143         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15144         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15145         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15146         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15147         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15148         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15149         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15150         In C++, define a namespaced alias symbol.
15151         * modules/spawn (Depends-on): Add c++defs.
15152         (Makefile.am): Update spawn.h rule.
15153
15154         signal: Avoid #define replacements in C++ mode.
15155         * lib/signal.in.h: Include c++defs.h.
15156         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15157         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
15158         namespaced alias symbol.
15159         * modules/signal (Depends-on): Add c++defs.
15160         (Makefile.am): Update signal.h rule.
15161
15162         search: Avoid #define replacements in C++ mode.
15163         * lib/search.in.h: Include c++defs.h.
15164         (_gl_search_compar_fn, _gl_search_action_fn): New types.
15165         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
15166         symbol.
15167         * modules/search (Depends-on): Add c++defs.
15168         (Makefile.am): Update search.h rule.
15169
15170         math: Avoid #define replacements in C++ mode.
15171         * lib/math.in.h: Include c++defs.h.
15172         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
15173         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
15174         trunc, truncl): In C++, define a namespaced alias symbol.
15175         * modules/math (Depends-on): Add c++defs.
15176         (Makefile.am): Update math.h rule.
15177
15178         locale: Avoid #define replacements in C++ mode.
15179         * lib/locale.in.h: Include c++defs.h.
15180         (duplocale): In C++, define a namespaced alias symbol.
15181         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
15182         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
15183         * modules/locale (Depends-on): Add c++defs.
15184         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
15185
15186         langinfo: Avoid #define replacements in C++ mode.
15187         * lib/langinfo.in.h: Include c++defs.h.
15188         (nl_langinfo): In C++, define a namespaced alias symbol.
15189         * modules/langinfo (Depends-on): Add c++defs.
15190         (Makefile.am): Update langinfo.h rule.
15191
15192         iconv-h: Avoid #define replacements in C++ mode.
15193         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
15194         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
15195         symbol.
15196         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
15197         whenever iconv is present.
15198         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
15199         (Makefile.am): Update iconv.h rule.
15200
15201         glob: Avoid #define replacements in C++ mode.
15202         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
15203         (_gl_glob_errfunc_fn): New type.
15204         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
15205         symbol.
15206         * modules/glob (Depends-on): Add c++defs, warn-on-use.
15207         (Makefile.am): Update glob.h rule.
15208
15209         fcntl-h: Avoid #define replacements in C++ mode.
15210         * lib/fcntl.in.h: Include c++defs.h.
15211         (fcntl, open, openat): In C++, define a namespaced alias symbol.
15212         * modules/fcntl-h (Depends-on): Add c++defs.
15213         (Makefile.am): Update fcntl.h rule.
15214
15215         dirent: Avoid #define replacements in C++ mode.
15216         * lib/dirent.in.h: Include c++defs.h.
15217         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
15218         namespaced alias symbol.
15219         (dirfd): Update declaration.
15220         * modules/dirent (Depends-on): Add c++defs.
15221         (Makefile.am): Update dirent.h rule.
15222
15223         ctype: Make it usable in C++ code.
15224         * lib/ctype.in.h: Include c++defs.h.
15225         (isblank): Declare as extern "C".
15226         * modules/ctype (Depends-on): Add c++defs.
15227         (Makefile.am): Update ctype.h rule.
15228
15229         New module 'c++defs'.
15230         * modules/c++defs: New file.
15231         * build-aux/c++defs.h: New file.
15232         Reported by John W. Eaton <jwe@gnu.org>.
15233
15234 2010-03-07  Bruno Haible  <bruno@clisp.org>
15235
15236         logb: Provide missing declaration for Cygwin.
15237         * lib/math.in.h (logb): New declaration.
15238         * m4/logb.m4: New file.
15239         * modules/logb (Files): Add m4/logb.m4.
15240         (Depends-on): Add math.
15241         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
15242         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
15243         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
15244         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
15245         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
15246
15247 2010-03-07  Bruno Haible  <bruno@clisp.org>
15248
15249         Fix test-cond link error.
15250         * tests/test-cond.c: Include <stdio.h>.
15251
15252 2010-03-07  Bruno Haible  <bruno@clisp.org>
15253
15254         Fix test-dirent-safer link error.
15255         * modules/dirent-safer-tests (Makefile.am): Define
15256         test_dirent_safer_LDADD.
15257
15258 2010-03-07  Bruno Haible  <bruno@clisp.org>
15259
15260         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
15261         among default module list.
15262
15263 2010-03-07  Bruno Haible  <bruno@clisp.org>
15264
15265         Fix link error on platforms with GNU libiconv.
15266         * modules/unistr/u8-strcoll-tests (Makefile): Define
15267         test_u8_strcoll_LDADD.
15268         * modules/unistr/u16-strcoll-tests (Makefile): Define
15269         test_u16_strcoll_LDADD.
15270         * modules/unistr/u32-strcoll-tests (Makefile): Define
15271         test_u32_strcoll_LDADD.
15272
15273 2010-03-07  Bruno Haible  <bruno@clisp.org>
15274
15275         Use POSIX declarations for socket functions.
15276         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
15277         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
15278         rpl_sendto): Change declaration to match POSIX.
15279         * lib/connect.c (rpl_connect): Likewise.
15280         * lib/accept.c (rpl_accept): Likewise.
15281         * lib/bind.c (rpl_bind): Likewise.
15282         * lib/getpeername.c (rpl_getpeername): Likewise.
15283         * lib/getsockname.c (rpl_getsockname): Likewise.
15284         * lib/recv.c (rpl_recv): Likewise.
15285         * lib/send.c (rpl_send): Likewise.
15286         * lib/recvfrom.c (rpl_recvfrom): Likewise.
15287         * lib/sendto.c (rpl_sendto): Likewise.
15288
15289 2010-03-06  Bruno Haible  <bruno@clisp.org>
15290
15291         Clarify access, euidaccess, faccessat.
15292         * doc/posix-functions/faccessat.texi: Mention security problem under
15293         "Other problems", not "Portability problems".
15294         * doc/posix-functions/access.texi: Likewise. Mention a related security
15295         problem.
15296         * doc/glibc-functions/euidaccess.texi: Mention security problems.
15297         * lib/euidaccess.c: Add comments about platforms.
15298         * lib/unistd.in.h (access, euidaccess): Add warnings.
15299
15300 2010-03-07  Bruno Haible  <bruno@clisp.org>
15301
15302         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
15303         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
15304         (POSIX_SPAWN_SETSCHEDULER): Likewise.
15305         (POSIX_SPAWN_USEVFORK): Define in a way that works when
15306         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15307         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
15308         declare when POSIX_SPAWN_SETSCHEDULER is zero.
15309         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
15310         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
15311         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
15312         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
15313         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
15314         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
15315         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
15316         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
15317         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
15318         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
15319         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
15320         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
15321         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
15322         Likewise.
15323         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
15324         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
15325         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
15326         Likewise.
15327         * tests/test-spawn.c (main): Make it work when
15328         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15329
15330 2010-03-07  Bruno Haible  <bruno@clisp.org>
15331
15332         Fix incorrect Makefile.am generation in German locale.
15333         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15334         Execute sed command with character range in C locale.
15335
15336 2010-03-06  Bruno Haible  <bruno@clisp.org>
15337
15338         Tests for module 'iconv-h'.
15339         * modules/iconv-h-tests: New file.
15340         * tests/test-iconv-h.c: New file.
15341
15342         New module 'iconv-h'.
15343         * modules/iconv-h: New file.
15344         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
15345         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
15346         (configure.ac): Remove gl_ICONV_H.
15347         (Makefile.am): Remove rule for iconv.h.
15348
15349 2010-03-06  Bruno Haible  <bruno@clisp.org>
15350
15351         More consistent naming of *.m4 files.
15352         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
15353         * modules/wctype (Files): Update.
15354
15355         More consistent naming of *.m4 files.
15356         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
15357         * modules/wchar (Files): Update.
15358
15359 2010-03-06  Jim Meyering  <meyering@redhat.com>
15360
15361         euidaccess: relax license to LGPLv2+
15362         * modules/euidaccess (License): Relax to LGPLv2+.
15363
15364 2010-03-06  Bruno Haible  <bruno@clisp.org>
15365
15366         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
15367         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
15368         (Makefile.am): Augment lib_SOURCES instead.
15369
15370 2010-03-04  Jim Meyering  <meyering@redhat.com>
15371
15372         utime: remove obsolete module
15373         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
15374         unnecessary for years, and has been marked as obsolete for 10 months.
15375         * modules/utime: Remove file.
15376         * lib/utime.c: Remove file.
15377         * m4/utime.m4: Remove file.
15378         * m4/utimes-null.m4: Remove file.
15379         * doc/posix-functions/utime.texi (utime): Remove reference to
15380         the module.  Move the sole "fixed by gnulib" item into the
15381         "problems not fixed by Gnulib" list.
15382         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
15383
15384 2010-03-05  Simon Josefsson  <simon@josefsson.org>
15385
15386         * modules/exit (License): Relax license to LGPLv2+.
15387         (Status): Mark as obsolete.
15388         * NEWS: Mention deprecated 'exit' module.
15389         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
15390         of now obsolete 'exit'.
15391
15392 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15393
15394         fts-lgpl: remove unused module
15395         * modules/fts-lgpl: Remove.
15396         * MODULES.html.sh (func_all_modules): Adjust.
15397         * check-module (find_included_lib_files): Adjust.
15398         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
15399
15400 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
15401
15402         copy-acl: enhance Solaris ACL error handling
15403         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
15404         * lib/set-mode-acl.c (qset_acl): Likewise.
15405
15406 2010-03-02  Bruno Haible  <bruno@clisp.org>
15407
15408         spawn: Don't override the system defined values on FreeBSD 8.
15409         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
15410         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
15411         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
15412         if HAVE_POSIX_SPAWN is 1.
15413         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
15414
15415 2010-03-01  Bruno Haible  <bruno@clisp.org>
15416
15417         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
15418         regarding Automake.
15419
15420 2010-02-25  Bruno Haible  <bruno@clisp.org>
15421
15422         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
15423         * gnulib-tool: Define 'echo' as a function only before the ksh alias
15424         setting, not afterwards.
15425         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
15426
15427 2010-02-24  Eric Blake  <eblake@redhat.com>
15428
15429         bootstrap, git-version-gen: use timestamp
15430         * build-aux/git-version-gen (scriptversion): Force UTC.
15431         * build-aux/bootstrap (scriptversion): New variable.
15432
15433         bootstrap: allow older git
15434         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
15435         older than 1.6.4.  Requested by the libvirt project.
15436
15437 2010-02-23  Eric Blake  <eblake@redhat.com>
15438
15439         warn-on-use: work with old autoconf
15440         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
15441         AS_VAR semantics of autoconf 2.60.
15442         Reported by Bruno Haible.
15443
15444         bootstrap: improve some comments
15445         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
15446         clarification comments.
15447
15448         gettimeofday: provide correct function
15449         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
15450         when replacement is declared, otherwise provide gettimeofday.
15451         Reported by Michael Goffioul.
15452
15453 2010-02-23  Jim Meyering  <meyering@redhat.com>
15454
15455         lib-ignore: relax license to "unlimited", not LGPLv2+
15456         * modules/lib-ignore (License): Relax to "unlimited".
15457
15458 2010-02-23  Jim Meyering  <meyering@redhat.com>
15459
15460         lib-ignore: relax license to LGPLv2+
15461         * modules/lib-ignore (License): Relax to LGPLv2+.
15462
15463 2010-02-22  Eric Blake  <eblake@redhat.com>
15464
15465         lseek: avoid bash 3.2 broken pipe bug
15466         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
15467         warning from bash 3.2.
15468         Reported by Ben Pfaff, with analysis from Bruno Haible.
15469
15470         bootstrap: support non-FSF copyright holder
15471         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
15472         bootstrap.conf override of COPYRIGHT_HOLDER.
15473         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
15474
15475         bootstrap: interoperate with gettext 0.14.1
15476         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
15477
15478         bootstrap: allow for alternate submodule location
15479         * build-aux/bootstrap (gnulib_path): New variable; use instead of
15480         hardcoding submodule location.
15481         (gnulib_mk): Allow direct use of Makefile.am.
15482
15483         bootstrap: use GNULIB_SRCDIR to reduce disk usage
15484         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
15485         rather than reconfiguring where the submodule points.
15486
15487         gettimeofday: restore support for platforms that lack function
15488         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
15489         replacement if function is missing.
15490         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
15491         * modules/sys_time (Makefile.am): Substitute it.
15492         * lib/sys_time.in.h (gettimeofday): Check it.
15493         Reported by Michael Goffioul.
15494
15495 2010-02-21  Bruno Haible  <bruno@clisp.org>
15496
15497         * lib/stdio.in.h (obstack_printf): Fix typo.
15498
15499 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
15500
15501         vc-list-files: use bzr ls's -R option
15502         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
15503         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
15504
15505 2010-02-21  Jim Meyering  <meyering@redhat.com>
15506
15507         init.sh: fix EXEEXT shims to work also for names like test-prog
15508         * tests/init.sh: Re-exec a better shell, when needed.
15509         If the current shell lacks support for posix $(...), an init.sh-using
15510         test will now try to find a shell that supports that.  If EXEEXT is
15511         nonempty, we also require support for hyphen-in-alias-name and shell
15512         substitutions like ${var#glob}.  Failure to find such a shell results
15513         in a skipped test.
15514
15515 2010-02-21  Bruno Haible  <bruno@clisp.org>
15516
15517         Really work around around "broken pipe" error message from bash 3.2.
15518         * gnulib-tool (func_reset_sigpipe): Remove function.
15519         (echo): In bash 3.2, define to a function that uses printf.
15520         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
15521
15522 2010-02-20  Bruno Haible  <bruno@clisp.org>
15523
15524         Restore support for automake 1.9.6 with autoconf 2.61.
15525         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
15526         Reported by James Youngman <jay@gnu.org>.
15527
15528 2010-02-20  Bruno Haible  <bruno@clisp.org>
15529
15530         Improve *printf warning condition.
15531         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
15532         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
15533         and the function is overridden due to SIGPIPE emulation.
15534
15535 2010-02-20  Bruno Haible  <bruno@clisp.org>
15536
15537         * lib/stdio.in.h: Tweak comments.
15538
15539 2010-02-19  Bruno Haible  <bruno@clisp.org>
15540
15541         Make it easier to find modules. New gnulib-tool option '--find'.
15542         * gnulib-tool: New option --find.
15543         (func_usage): Document it.
15544         (func_sanitize_modulelist): New function, extracted from
15545         func_all_modules.
15546         (func_all_modules): Invoke it.
15547         * doc/gnulib-tool.texi (Which modules?): New node.
15548
15549 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
15550
15551         * lib/sys_select.in.h: Provide select replacement even if
15552         sys/select.h exists on a system, for Interix.
15553
15554 2010-02-18  Jim Meyering  <meyering@redhat.com>
15555
15556         init.sh: don't use $(...) just yet
15557         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
15558         to accommodate e.g., Solaris' /bin/sh.
15559
15560 2010-02-17  Bruno Haible  <bruno@clisp.org>
15561
15562         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
15563         Reported by Ludovic Courtès <ludo@gnu.org>.
15564
15565 2010-02-16  Simon Josefsson  <simon@josefsson.org>
15566
15567         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
15568         linking with -lintl.
15569
15570 2010-02-17  Simon Josefsson  <simon@josefsson.org>
15571
15572         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
15573         if not provided by the system's netdb.h.  Reported by
15574         ludo@gnu.org (Ludovic Courtès).
15575
15576 2010-02-15  Jim Meyering  <meyering@redhat.com>
15577
15578         init.sh: improve portability and efficiency
15579         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
15580         "dummy" in a for loop.
15581         Use '!', not '^' to select the complement of a character set used
15582         in a "case" statement.
15583         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
15584         Suggestions from Eric Blake.
15585
15586         init.sh: automatically accommodate programs with the .exe suffix
15587         Automatically arrange for an invocation of "prog" to execute the
15588         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
15589         may use the simpler "prog", yet still work when built on a system
15590         that requires specifying the added suffix.
15591         Do this by constructing a function named "prog" that invokes
15592         "prog.exe" for each .exe file in selected directories.
15593         * tests/init.sh (find_exe_basenames_): New function.
15594         (create_exe_shim_functions_): New function.
15595         (path_prepend_): Use it.
15596
15597         maint.mk: mark syntax-check sc_*.m rules as .PHONY
15598         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
15599         "make -t syntax-check" doesn't create a ton of sc_*.m files.
15600
15601 2010-02-14  Jim Meyering  <meyering@redhat.com>
15602
15603         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
15604         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
15605         (sc_prohibit_hash_pjw_without_use): New rule.
15606
15607         maint.mk: allow the default upload destination dir to be overridden
15608         * top/maint.mk (upload_dest_dir_): Define with a default that
15609         preserves the status quo.
15610         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
15611         Reported by Peter Simons.
15612
15613         maint.mk: prohibit inclusion of "hash.h" without_use
15614         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
15615
15616 2010-02-10  Jim Meyering  <meyering@redhat.com>
15617
15618         maint.mk: prohibit inclusion of "ignore-value.h" without_use
15619         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
15620
15621 2010-02-09  Eric Blake  <ebb9@byu.net>
15622         and Bruno Haible  <bruno@clisp.org>
15623
15624         obstack-printf-posix: ensure declaration
15625         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
15626         extracted from gl_FUNC_OBSTACK_PRINTF.
15627         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
15628         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15629         Likewise.
15630         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
15631         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
15632         0.
15633
15634 2010-02-08  Bruno Haible  <bruno@clisp.org>
15635
15636         gnulib-tool: Fix typo in 2010-02-07 commit.
15637         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
15638         Reported by Eric Blake.
15639
15640 2010-02-07  Bruno Haible  <bruno@clisp.org>
15641
15642         gnulib-tool: Fix up caching patches.
15643         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
15644         option --no-cache. Use associative arrays when supported by the shell.
15645         (sed_comments): New variable.
15646         (modcache): Renamed from do_cache.
15647         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
15648         abbreviate unnecessarily.
15649         (have_associative): New variable.
15650         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
15651         way also for ksh and zsh.
15652         (func_init_sed_convert_to_cache_statements): New function, extracted
15653         from func_cache_lookup_module. Add support for associative arrays.
15654         Don't set the c_MODULE_cached variable here. Ignore all lines before
15655         the first field header. Remove only the final newline, not all trailing
15656         newlines. Support empty fields correctly. Limit the use of 'eval' to
15657         assignments.
15658         (func_get_description, func_get_status, func_get_notice,
15659         func_get_applicability, func_get_filelist, func_get_dependencies,
15660         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
15661         func_get_automake_snippet, func_get_include_directive,
15662         func_get_link_directive, func_get_license, func_get_maintainer):
15663         Update documentation. List the unoptimized code first. Add support for
15664         associative arrays. Limit the use of 'eval' to assignments.
15665         (func_get_applicability): Undo stylistic pessimisations.
15666         (func_get_automake_snippet, func_get_include_directive): Reduce code
15667         duplication.
15668         (func_modules_transitive_closure, func_modules_add_dummy,
15669         func_modules_notice, func_modules_to_filelist, func_add_file,
15670         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
15671         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
15672         func_create_testdir, func_create_megatestdir): Update documentation.
15673
15674 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15675
15676         * gnulib-tool (func_cache_lookup_module): Store the module name
15677         belonging to the cache variable; error out if two different
15678         module names map to the same cache variable name.
15679
15680 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15681
15682         gnulib-tool: Make caching optional.
15683         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
15684         Update matching short versions of --no-changelog.
15685         (func_usage): Update.
15686         (sed_extract_cache_prog): Renamed from ...
15687         (sed_extract_prog): ... this; revert to old extraction script.
15688         (func_get_description, func_get_status)
15689         (func_get_notice, func_get_applicability, func_get_filelist)
15690         (func_get_dependencies, func_get_autoconf_early_snippet)
15691         (func_get_autoconf_snippet, func_get_automake_snippet)
15692         (func_get_include_directive, func_get_link_directive)
15693         (func_get_license, func_get_maintainer): If $do_cache is false,
15694         use old, non-caching extraction scripts.
15695         Suggestion by Bruno Haible.
15696
15697 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15698
15699         gnulib-tool: cache module metainformation.
15700         * gnulib-tool (sed_extract_prog): Match newline before each
15701         header, and rewrite header to a shell variable suffix.
15702         (func_cache_var, func_cache_lookup_module): New functions,
15703         to turn a module name into a cache variable prefix, and to
15704         look up and cache module metainformation.
15705         (func_get_description, func_get_status)
15706         (func_get_notice, func_get_applicability, func_get_filelist)
15707         (func_get_dependencies, func_get_autoconf_early_snippet)
15708         (func_get_autoconf_snippet, func_get_automake_snippet)
15709         (func_get_include_directive, func_get_link_directive)
15710         (func_get_license, func_get_maintainer): Use
15711         func_cache_lookup_module.
15712
15713 2010-02-07  Bruno Haible  <bruno@clisp.org>
15714
15715         fnctl: Fix missing dependency.
15716         * modules/fcntl (Depends-on): Add getdtablesize.
15717         Reported by John W. Eaton <jwe@gnu.org>.
15718
15719 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15720
15721         Argp: fix recognition of short alias options.
15722
15723         * lib/argp-parse.c (convert_options): Fix improper use of
15724         `|' between character values.
15725         * tests/test-argp.c (group1_option): New alias option
15726         --read (-r).
15727         (group1_parser): Special handling for 'r'.
15728         (test15): New test case.
15729         (test_fun): Add test15.
15730         * tests/test-argp-2.sh: Update expected --help and --usage
15731         outputs.
15732
15733 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
15734
15735         * tests/test-argp.c: Fix indentation.
15736
15737 2010-02-04  Eric Blake  <ebb9@byu.net>
15738
15739         gettimeofday: expose type of second argument
15740         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
15741         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
15742         * tests/test-gettimeofday.c: Use it to silence warning.
15743         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
15744         the issue.
15745
15746 2010-02-03  Jim Meyering  <meyering@redhat.com>
15747
15748         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
15749         * lib/regcomp.c (TYPE_SIGNED): Define.
15750         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
15751
15752         regcomp.c: avoid a new -Wshadow warning
15753         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
15754
15755 2010-02-01  Jim Meyering  <meyering@redhat.com>
15756
15757         removing useless parentheses in cpp #define directives
15758         For motivation, see commit c0221df4, "define STREQ(a,b)
15759         consistently, removing useless parentheses"
15760         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
15761         * lib/mountlist.c (MNT_IGNORE): Likewise.
15762         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
15763
15764 2010-02-01  Eric Blake  <ebb9@byu.net>
15765
15766         sys_time: use link-warning
15767         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15768         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15769         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15770         * modules/sys_time (Depends-on): Add warn-on-use.
15771         (Makefile.am): Always build replacement.
15772         (configure.ac): Update substitutions.
15773         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15774         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15775         bother with SYS_TIME_H.
15776         * modules/gettimeofday (configure.ac): Declare indicator.
15777         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15778         in use.
15779
15780         closein-tests: silence compiler warning
15781         * tests/test-closein.c (main): Ignore fread result.
15782         * modules/closein-tests (Depends-on): Add ignore-value.
15783
15784         tests: silence warning about system return
15785         * tests/test-areadlink-with-size.c (main): Ignore system result.
15786         * tests/test-areadlink.c (main): Likewise.
15787         * tests/test-areadlinkat-with-size.c (main): Likewise.
15788         * tests/test-areadlinkat.c (main): Likewise.
15789         * tests/test-canonicalize-lgpl.c (main): Likewise.
15790         * tests/test-canonicalize.c (main): Likewise.
15791         * tests/test-chown.c (main): Likewise.
15792         * tests/test-fchownat.c (main): Likewise.
15793         * tests/test-fdutimensat.c (main): Likewise.
15794         * tests/test-fstatat.c (main): Likewise.
15795         * tests/test-futimens.c (main): Likewise.
15796         * tests/test-lchown.c (main): Likewise.
15797         * tests/test-link.c (main): Likewise.
15798         * tests/test-linkat.c (main): Likewise.
15799         * tests/test-lstat.c (main): Likewise.
15800         * tests/test-mkdir.c (main): Likewise.
15801         * tests/test-mkdirat.c (main): Likewise.
15802         * tests/test-mkfifo.c (main): Likewise.
15803         * tests/test-mkfifoat.c (main): Likewise.
15804         * tests/test-mknod.c (main): Likewise.
15805         * tests/test-readlink.c (main): Likewise.
15806         * tests/test-remove.c (main): Likewise.
15807         * tests/test-rename.c (main): Likewise.
15808         * tests/test-renameat.c (main): Likewise.
15809         * tests/test-rmdir.c (main): Likewise.
15810         * tests/test-symlink.c (main): Likewise.
15811         * tests/test-symlinkat.c (main): Likewise.
15812         * tests/test-unlink.c (main): Likewise.
15813         * tests/test-unlinkat.c (main): Likewise.
15814         * tests/test-utimens.c (main): Likewise.
15815         * tests/test-utimensat.c (main): Likewise.
15816         * modules/areadlink-tests (Depends-on): Add ignore-value.
15817         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15818         * modules/areadlinkat-tests (Depends-on): Likewise.
15819         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15820         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15821         * modules/canonicalize-tests (Depends-on): Likewise.
15822         * modules/chown-tests (Depends-on): Likewise.
15823         * modules/fdutimensat-tests (Depends-on): Likewise.
15824         * modules/futimens-tests (Depends-on): Likewise.
15825         * modules/lchown-tests (Depends-on): Likewise.
15826         * modules/link-tests (Depends-on): Likewise.
15827         * modules/linkat-tests (Depends-on): Likewise.
15828         * modules/lstat-tests (Depends-on): Likewise.
15829         * modules/mkdir-tests (Depends-on): Likewise.
15830         * modules/mkfifo-tests (Depends-on): Likewise.
15831         * modules/mkfifoat-tests (Depends-on): Likewise.
15832         * modules/mknod-tests (Depends-on): Likewise.
15833         * modules/openat-tests (Depends-on): Likewise.
15834         * modules/readlink-tests (Depends-on): Likewise.
15835         * modules/remove-tests (Depends-on): Likewise.
15836         * modules/rename-tests (Depends-on): Likewise.
15837         * modules/renameat-tests (Depends-on): Likewise.
15838         * modules/rmdir-tests (Depends-on): Likewise.
15839         * modules/symlink-tests (Depends-on): Likewise.
15840         * modules/symlinkat-tests (Depends-on): Likewise.
15841         * modules/unlink-tests (Depends-on): Likewise.
15842         * modules/utimens-tests (Depends-on): Likewise.
15843         * modules/utimensat-tests (Depends-on): Likewise.
15844
15845 2010-01-31  Bruno Haible  <bruno@clisp.org>
15846
15847         Perform the same test for many <math.h> functions.
15848         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15849         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15850         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15851         of gl_MATHFUNC.
15852         * modules/acos (configure.ac): Likewise.
15853         * modules/asin (configure.ac): Likewise.
15854         * modules/atan (configure.ac): Likewise.
15855         * modules/atan2 (configure.ac): Likewise.
15856         * modules/cbrt (configure.ac): Likewise.
15857         * modules/copysign (configure.ac): Likewise.
15858         * modules/cos (configure.ac): Likewise.
15859         * modules/cosh (configure.ac): Likewise.
15860         * modules/erf (configure.ac): Likewise.
15861         * modules/erfc (configure.ac): Likewise.
15862         * modules/exp (configure.ac): Likewise.
15863         * modules/fmod (configure.ac): Likewise.
15864         * modules/hypot (configure.ac): Likewise.
15865         * modules/j0 (configure.ac): Likewise.
15866         * modules/j1 (configure.ac): Likewise.
15867         * modules/jn (configure.ac): Likewise.
15868         * modules/lgamma (configure.ac): Likewise.
15869         * modules/log (configure.ac): Likewise.
15870         * modules/log10 (configure.ac): Likewise.
15871         * modules/log1p (configure.ac): Likewise.
15872         * modules/pow (configure.ac): Likewise.
15873         * modules/remainder (configure.ac): Likewise.
15874         * modules/sin (configure.ac): Likewise.
15875         * modules/sinh (configure.ac): Likewise.
15876         * modules/tan (configure.ac): Likewise.
15877         * modules/tanh (configure.ac): Likewise.
15878         * modules/y0 (configure.ac): Likewise.
15879         * modules/y1 (configure.ac): Likewise.
15880         * modules/yn (configure.ac): Likewise.
15881         Suggested by Paolo Bonzini.
15882
15883 2010-01-31  Bruno Haible  <bruno@clisp.org>
15884
15885         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15886
15887 2010-01-31  Bruno Haible  <bruno@clisp.org>
15888
15889         Work around getdelim() bug on FreeBSD 8.0.
15890         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15891         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15892         not work.
15893         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15894         is 1.
15895         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15896         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15897         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15898         a non-zero size.
15899         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15900
15901 2010-01-31  Bruno Haible  <bruno@clisp.org>
15902
15903         Work around getline() bug on FreeBSD 8.0.
15904         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15905         and a non-zero size.
15906         * tests/test-getline.c (main): Likewise.
15907         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15908         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15909
15910 2010-01-28  Eric Blake  <ebb9@byu.net>
15911
15912         regex: fix build failure
15913         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15914         platforms.
15915
15916 2010-01-28  Jim Meyering  <meyering@redhat.com>
15917
15918         regex: do not ignore memory allocation failure
15919         * lib/regex_internal.c (create_cd_newstate): Detect
15920         re_node_set_init_copy failure.   Extracted from glibc commit
15921         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15922
15923         regex: sync more white-space changes from libc
15924         * lib/regex_internal.c: White-space only changes.
15925         * lib/regexec.c: Likewise.
15926
15927         regex: add many uses of __attribute_warn_unused_result__
15928         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15929         * lib/regexec.c: Likewise.
15930         Extracted from a messy glibc commit.
15931
15932         regcomp.c: spelling and merge-artifact from glibc
15933         * lib/regcomp.c: Merge remainder of glibc's
15934         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15935
15936         regcomp.c: sync white-space changes from glibc
15937         * lib/regcomp.c: Merge to accommodate white space
15938         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15939
15940         regcomp.c: do not ignore internal return values
15941         * lib/regcomp.c: Do not ignore internal return values.
15942         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15943         but without its white-space changes and spelling fixes.
15944
15945         regex_internal.h: define __attribute_warn_unused_result__
15946         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15947
15948         maint: add a syntax-check rule to check for vulnerable Makefile.in
15949         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15950
15951 2010-01-27  Jim Meyering  <meyering@redhat.com>
15952
15953         ncftpput-ftp: clean up spaces
15954         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15955         Remove trailing blanks.
15956
15957 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15958
15959         * build-aux/git-version-gen: Fix copyright statement.
15960         * build-aux/gnupload: Likewise.
15961         * tests/test-arcfour.c: Likewise.
15962         * tests/test-arctwo.c: Likewise.
15963         * tests/test-count-one-bits.c: Likewise.
15964         * tests/test-crc.c: Likewise.
15965         * tests/test-des.c: Likewise.
15966         * tests/test-gc-arcfour.c: Likewise.
15967         * tests/test-gc-arctwo.c: Likewise.
15968         * tests/test-gc-des.c: Likewise.
15969         * tests/test-gc-hmac-md5.c: Likewise.
15970         * tests/test-gc-hmac-sha1.c: Likewise.
15971         * tests/test-gc-md2.c: Likewise.
15972         * tests/test-gc-md4.c: Likewise.
15973         * tests/test-gc-md5.c: Likewise.
15974         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15975         * tests/test-gc-rijndael.c: Likewise.
15976         * tests/test-gc-sha1.c: Likewise.
15977         * tests/test-gc.c: Likewise.
15978         * tests/test-gethostname.c: Likewise.
15979         * tests/test-gettimeofday.c: Likewise.
15980         * tests/test-hash.c: Likewise.
15981         * tests/test-hmac-md5.c: Likewise.
15982         * tests/test-hmac-sha1.c: Likewise.
15983         * tests/test-md2.c: Likewise.
15984         * tests/test-md4.c: Likewise.
15985         * tests/test-md5.c: Likewise.
15986         * tests/test-memchr.c: Likewise.
15987         * tests/test-memchr2.c: Likewise.
15988         * tests/test-memcmp.c: Likewise.
15989         * tests/test-memmem.c: Likewise.
15990         * tests/test-memrchr.c: Likewise.
15991         * tests/test-rawmemchr.c: Likewise.
15992         * tests/test-read-file.c: Likewise.
15993         * tests/test-rijndael.c: Likewise.
15994         * tests/test-sockets.c: Likewise.
15995         * tests/test-strchrnul.c: Likewise.
15996         * tests/test-strstr.c: Likewise.
15997         * tests/test-strtod.c: Likewise.
15998         * build-aux/ncftpput-ftp: Likewise.
15999
16000 2010-01-26  Eric Blake  <ebb9@byu.net>
16001
16002         ignore-value: update recommended header name
16003         * modules/ignore-value (Include): Only use <> for headers that
16004         exist in glibc.
16005
16006 2010-01-26  Jim Meyering  <meyering@redhat.com>
16007
16008         test-userspec.c: avoid compiler warnings
16009         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
16010         and "initialization discards qualifiers..." warnings.
16011         Put the first "uid" in its own scope, and make char* members "const".
16012
16013 2010-01-25  Bruno Haible  <bruno@clisp.org>
16014
16015         gnulib-tool: Make warning diagnostics consistent.
16016         * gnulib-tool (func_warning): New function.
16017         Use it everywhere where gnulib-tool produces output to stderr and it is
16018         not a fatal error.
16019
16020 2010-01-25  Bruno Haible  <bruno@clisp.org>
16021
16022         Fix test dependencies.
16023         * modules/xstrtol-tests (Depends-on): Add inttypes.
16024         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
16025
16026 2010-01-25 Pádraig Brady <P@draigBrady.com>
16027
16028         syntax-check: detect incorrect boolean macro values in config.h
16029         * modules/maintainer-makefile (configure.ac): Parameterize the location
16030         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
16031         The logic is from Eric Blake and the location indicated by Jim Meyering.
16032         Note the more natural CONFIG_HEADER name is prohibited by automake
16033         for backwards compatibility reasons.
16034         * top/maint.mk (sc_Wundef_boolean): New rule.
16035
16036 2010-01-25  Jim Meyering  <meyering@redhat.com>
16037
16038         bootstrap: detect MacOS 10.6's shasum, too
16039         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
16040         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
16041
16042 2010-01-23  Jim Meyering  <meyering@redhat.com>
16043
16044         xstrtoll: new module
16045         * modules/xstrtoll: New file.
16046         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
16047         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
16048         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
16049         ./configure fails if you use this module and lack "long long".
16050         * modules/xstrtoll-tests: New module.
16051         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
16052         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
16053         new init.sh-based test framework.
16054
16055 2010-01-24  Bruno Haible  <bruno@clisp.org>
16056
16057         Tests for module 'yn'.
16058         * modules/yn-tests: New file.
16059         * tests/test-yn.c: New file.
16060
16061         Tests for module 'y1'.
16062         * modules/y1-tests: New file.
16063         * tests/test-y1.c: New file.
16064
16065         Tests for module 'y0'.
16066         * modules/y0-tests: New file.
16067         * tests/test-y0.c: New file.
16068
16069         Tests for module 'tanh'.
16070         * modules/tanh-tests: New file.
16071         * tests/test-tanh.c: New file.
16072
16073         Tests for module 'tan'.
16074         * modules/tan-tests: New file.
16075         * tests/test-tan.c: New file.
16076
16077         Tests for module 'sqrt'.
16078         * modules/sqrt-tests: New file.
16079         * tests/test-sqrt.c: New file.
16080
16081         Tests for module 'sinh'.
16082         * modules/sinh-tests: New file.
16083         * tests/test-sinh.c: New file.
16084
16085         Tests for module 'sin'.
16086         * modules/sin-tests: New file.
16087         * tests/test-sin.c: New file.
16088
16089         Tests for module 'rint'.
16090         * modules/rint-tests: New file.
16091         * tests/test-rint.c: New file.
16092
16093         Tests for module 'remainder'.
16094         * modules/remainder-tests: New file.
16095         * tests/test-remainder.c: New file.
16096
16097         Tests for module 'pow'.
16098         * modules/pow-tests: New file.
16099         * tests/test-pow.c: New file.
16100
16101         Tests for module 'nextafter'.
16102         * modules/nextafter-tests: New file.
16103         * tests/test-nextafter.c: New file.
16104
16105         Tests for module 'modf'.
16106         * modules/modf-tests: New file.
16107         * tests/test-modf.c: New file.
16108
16109         Tests for module 'logb'.
16110         * modules/logb-tests: New file.
16111         * tests/test-logb.c: New file.
16112
16113         Tests for module 'log1p'.
16114         * modules/log1p-tests: New file.
16115         * tests/test-log1p.c: New file.
16116
16117         Tests for module 'log10'.
16118         * modules/log10-tests: New file.
16119         * tests/test-log10.c: New file.
16120
16121         Tests for module 'log'.
16122         * modules/log-tests: New file.
16123         * tests/test-log.c: New file.
16124
16125         Tests for module 'lgamma'.
16126         * modules/lgamma-tests: New file.
16127         * tests/test-lgamma.c: New file.
16128
16129         Tests for module 'ldexp'.
16130         * modules/ldexp-tests: New file.
16131         * tests/test-ldexp.c: New file.
16132
16133         Tests for module 'jn'.
16134         * modules/jn-tests: New file.
16135         * tests/test-jn.c: New file.
16136
16137         Tests for module 'j1'.
16138         * modules/j1-tests: New file.
16139         * tests/test-j1.c: New file.
16140
16141         Tests for module 'j0'.
16142         * modules/j0-tests: New file.
16143         * tests/test-j0.c: New file.
16144
16145         Tests for module 'hypot'.
16146         * modules/hypot-tests: New file.
16147         * tests/test-hypot.c: New file.
16148
16149         Tests for module 'fmod'.
16150         * modules/fmod-tests: New file.
16151         * tests/test-fmod.c: New file.
16152
16153         Tests for module 'fabs'.
16154         * modules/fabs-tests: New file.
16155         * tests/test-fabs.c: New file.
16156
16157         Tests for module 'exp'.
16158         * modules/exp-tests: New file.
16159         * tests/test-exp.c: New file.
16160
16161         Tests for module 'erfc'.
16162         * modules/erfc-tests: New file.
16163         * tests/test-erfc.c: New file.
16164
16165         Tests for module 'erf'.
16166         * modules/erf-tests: New file.
16167         * tests/test-erf.c: New file.
16168
16169         Tests for module 'cosh'.
16170         * modules/cosh-tests: New file.
16171         * tests/test-cosh.c: New file.
16172
16173         Tests for module 'cos'.
16174         * modules/cos-tests: New file.
16175         * tests/test-cos.c: New file.
16176
16177         Tests for module 'copysign'.
16178         * modules/copysign-tests: New file.
16179         * tests/test-copysign.c: New file.
16180
16181         Tests for module 'cbrt'.
16182         * modules/cbrt-tests: New file.
16183         * tests/test-cbrt.c: New file.
16184
16185         Tests for module 'atan2'.
16186         * modules/atan2-tests: New file.
16187         * tests/test-atan2.c: New file.
16188
16189         Tests for module 'atan'.
16190         * modules/atan-tests: New file.
16191         * tests/test-atan.c: New file.
16192
16193         Tests for module 'asin'.
16194         * modules/asin-tests: New file.
16195         * tests/test-asin.c: New file.
16196
16197         Tests for module 'acos'.
16198         * modules/acos-tests: New file.
16199         * tests/test-acos.c: New file.
16200
16201 2010-01-24  Bruno Haible  <bruno@clisp.org>
16202
16203         Fix tests for common <math.h> functions.
16204         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
16205         code snippet that references the function pointer, rather than merely
16206         calling the function. Substitute the FUNC_LIBM variable.
16207         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
16208         * modules/acos (configure.ac): Likewise.
16209         * modules/asin (configure.ac): Likewise.
16210         * modules/atan (configure.ac): Likewise.
16211         * modules/atan2 (configure.ac): Likewise.
16212         * modules/cbrt (configure.ac): Likewise.
16213         * modules/copysign (configure.ac): Likewise.
16214         * modules/cos (configure.ac): Likewise.
16215         * modules/cosh (configure.ac): Likewise.
16216         * modules/erf (configure.ac): Likewise.
16217         * modules/erfc (configure.ac): Likewise.
16218         * modules/exp (configure.ac): Likewise.
16219         * modules/fabs (configure.ac): Likewise.
16220         * modules/fmod (configure.ac): Likewise.
16221         * modules/hypot (configure.ac): Likewise.
16222         * modules/j0 (configure.ac): Likewise.
16223         * modules/j1 (configure.ac): Likewise.
16224         * modules/jn (configure.ac): Likewise.
16225         * modules/ldexp (configure.ac): Likewise.
16226         * modules/lgamma (configure.ac): Likewise.
16227         * modules/log (configure.ac): Likewise.
16228         * modules/log10 (configure.ac): Likewise.
16229         * modules/log1p (configure.ac): Likewise.
16230         * modules/logb (configure.ac): Likewise.
16231         * modules/modf (configure.ac): Likewise.
16232         * modules/nextafter (configure.ac): Likewise.
16233         * modules/pow (configure.ac): Likewise.
16234         * modules/remainder (configure.ac): Likewise.
16235         * modules/rint (configure.ac): Likewise.
16236         * modules/sin (configure.ac): Likewise.
16237         * modules/sinh (configure.ac): Likewise.
16238         * modules/tan (configure.ac): Likewise.
16239         * modules/tanh (configure.ac): Likewise.
16240         * modules/y0 (configure.ac): Likewise.
16241         * modules/y1 (configure.ac): Likewise.
16242         * modules/yn (configure.ac): Likewise.
16243
16244 2010-01-24  Bruno Haible  <bruno@clisp.org>
16245
16246         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
16247         * tests/test-acosl.c (x): New variable.
16248         (main): Store argument in x and fetch it from x.
16249         * tests/test-asinl.c (x): New variable.
16250         (main): Store argument in x and fetch it from x.
16251         * tests/test-atanl.c (x): New variable.
16252         (main): Store argument in x and fetch it from x.
16253         * tests/test-cosl.c (x): New variable.
16254         (main): Store argument in x and fetch it from x.
16255         * tests/test-expl.c (x): New variable.
16256         (main): Store argument in x and fetch it from x.
16257         * tests/test-logl.c (x): New variable.
16258         (main): Store argument in x and fetch it from x.
16259         * tests/test-sinl.c (x): New variable.
16260         (main): Store argument in x and fetch it from x.
16261         * tests/test-sqrtl.c (x): New variable.
16262         (main): Store argument in x and fetch it from x.
16263         * tests/test-tanl.c (x): New variable.
16264         (main): Store argument in x and fetch it from x.
16265
16266 2010-01-24  Bruno Haible  <bruno@clisp.org>
16267
16268         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
16269         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
16270         assignments to the initial TESTS_ENVIRONMENT.
16271         * doc/gnulib.texi (Unit test modules): Document it.
16272         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
16273         TESTS_ENVIRONMENT.
16274         * modules/btowc-tests (Makefile.am): Likewise.
16275         * modules/c-stack-tests (Makefile.am): Likewise.
16276         * modules/c-strcase-tests (Makefile.am): Likewise.
16277         * modules/copy-file-tests (Makefile.am): Likewise.
16278         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
16279         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
16280         * modules/mbrtowc-tests (Makefile.am): Likewise.
16281         * modules/mbscasecmp-tests (Makefile.am): Likewise.
16282         * modules/mbscasestr-tests (Makefile.am): Likewise.
16283         * modules/mbschr-tests (Makefile.am): Likewise.
16284         * modules/mbscspn-tests (Makefile.am): Likewise.
16285         * modules/mbsinit-tests (Makefile.am): Likewise.
16286         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
16287         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
16288         * modules/mbspbrk-tests (Makefile.am): Likewise.
16289         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
16290         * modules/mbsrchr-tests (Makefile.am): Likewise.
16291         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
16292         * modules/mbsspn-tests (Makefile.am): Likewise.
16293         * modules/mbsstr-tests (Makefile.am): Likewise.
16294         * modules/nl_langinfo-tests (Makefile.am): Likewise.
16295         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
16296         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
16297         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
16298         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
16299         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
16300         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
16301         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
16302         * modules/wcrtomb-tests (Makefile.am): Likewise.
16303         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
16304         * modules/wcsrtombs-tests (Makefile.am): Likewise.
16305         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
16306         assignments from TESTS_ENVIRONMENT.
16307         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
16308         augmentation.
16309         * modules/argp-version-etc-tests (Makefile.am): Likewise.
16310         * modules/atexit-tests (Makefile.am): Likewise.
16311         * modules/binary-io-tests (Makefile.am): Likewise.
16312         * modules/closein-tests (Makefile.am): Likewise.
16313         * modules/dprintf-posix-tests (Makefile.am): Likewise.
16314         * modules/exclude-tests (Makefile.am): Likewise.
16315         * modules/fflush-tests (Makefile.am): Likewise.
16316         * modules/fpending-tests (Makefile.am): Likewise.
16317         * modules/fprintf-posix-tests (Makefile.am): Likewise.
16318         * modules/freadahead-tests (Makefile.am): Likewise.
16319         * modules/freadptr-tests (Makefile.am): Likewise.
16320         * modules/freadseek-tests (Makefile.am): Likewise.
16321         * modules/fseek-tests (Makefile.am): Likewise.
16322         * modules/fseeko-tests (Makefile.am): Likewise.
16323         * modules/ftell-tests (Makefile.am): Likewise.
16324         * modules/ftello-tests (Makefile.am): Likewise.
16325         * modules/idpriv-drop-tests (Makefile.am): Likewise.
16326         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
16327         * modules/lseek-tests (Makefile.am): Likewise.
16328         * modules/parse-duration-tests (Makefile.am): Likewise.
16329         * modules/perror-tests (Makefile.am): Likewise.
16330         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
16331         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
16332         * modules/pipe-tests (Makefile.am): Likewise.
16333         * modules/pread-tests (Makefile.am): Likewise.
16334         * modules/printf-posix-tests (Makefile.am): Likewise.
16335         * modules/select-tests (Makefile.am): Likewise.
16336         * modules/sigpipe-tests (Makefile.am): Likewise.
16337         * modules/tsearch-tests (Makefile.am): Likewise.
16338         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
16339         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
16340         * modules/uniname/uniname-tests (Makefile.am): Likewise.
16341         * modules/uniwidth/width-tests (Makefile.am): Likewise.
16342         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
16343         * modules/version-etc-tests (Makefile.am): Likewise.
16344         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
16345         * modules/vprintf-posix-tests (Makefile.am): Likewise.
16346         * modules/xalloc-die-tests (Makefile.am): Likewise.
16347         * modules/xprintf-posix-tests (Makefile.am): Likewise.
16348         * modules/xstrtoimax-tests (Makefile.am): Likewise.
16349         * modules/xstrtol-tests (Makefile.am): Likewise.
16350         * modules/xstrtoumax-tests (Makefile.am): Likewise.
16351         * modules/yesno-tests (Makefile.am): Likewise.
16352         Suggested by Jim Meyering.
16353
16354 2010-01-24  Bruno Haible  <bruno@clisp.org>
16355
16356         More documentation.
16357         * doc/gnulib.texi (Writing modules): New chapter.
16358         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
16359         the new chapter.
16360
16361 2010-01-24  Jim Meyering  <meyering@redhat.com>
16362
16363         maint.mk: do not prepend "./" after filtering
16364         * top/maint.mk (_prepend_srcdir_prefix): New variable
16365         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
16366         "./" when $(srcdir) is ".".
16367
16368         define STREQ(a,b) consistently, removing useless parentheses
16369         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
16370         since the only risk is that "a" or "b" contains an unparenthesized
16371         comma, but if either did that, STREQ would have 3 or more arguments.
16372         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
16373         * lib/fts.c (STREQ): Remove unnecessary parentheses.
16374         * lib/hash-triple.c (STREQ): Likewise.
16375         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
16376         * lib/getugroups.c (STREQ): Likewise.
16377
16378 2010-01-23  Jim Meyering  <meyering@redhat.com>
16379
16380         maint.mk: fix syntax-check in a non-srcdir build directory
16381         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
16382         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
16383
16384 2010-01-22  Jim Meyering  <meyering@redhat.com>
16385
16386         userspec: add unit tests
16387         * tests/test-userspec.c: New file.
16388         * modules/userspec-tests: Likewise.
16389
16390 2010-01-21  Jim Meyering  <meyering@redhat.com>
16391
16392         maint.mk: handle source file names containing "." robustly
16393         * top/maint.mk (_dot_escaped_srcdir): Define.
16394         (VC_LIST): Use it in LHS of sed substitution.
16395
16396 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
16397
16398         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
16399         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
16400         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
16401         from a non-srcdir build.
16402
16403 2010-01-20  Eric Blake  <ebb9@byu.net>
16404
16405         warn-on-use: use instead of link-warning
16406         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
16407         * modules/unistd (Depends-on, Makefile.am): Likewise.
16408         * modules/arpa_inet (Depends-on): Replace link-warning with
16409         warn-on-use.
16410         (Makefile.am): Update rules accordingly.
16411         * modules/ctype (Depends-on, Makefile.am): Likewise.
16412         * modules/dirent (Depends-on, Makefile.am): Likewise.
16413         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
16414         * modules/inttypes (Depends-on, Makefile.am): Likewise.
16415         * modules/langinfo (Depends-on, Makefile.am): Likewise.
16416         * modules/locale (Depends-on, Makefile.am): Likewise.
16417         * modules/math (Depends-on, Makefile.am): Likewise.
16418         * modules/search (Depends-on, Makefile.am): Likewise.
16419         * modules/signal (Depends-on, Makefile.am): Likewise.
16420         * modules/spawn (Depends-on, Makefile.am): Likewise.
16421         * modules/stdlib (Depends-on, Makefile.am): Likewise.
16422         * modules/string (Depends-on, Makefile.am): Likewise.
16423         * modules/strings (Depends-on, Makefile.am): Likewise.
16424         * modules/sys_file (Depends-on, Makefile.am): Likewise.
16425         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
16426         * modules/sys_select (Depends-on, Makefile.am): Likewise.
16427         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
16428         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
16429         * modules/sys_times (Depends-on, Makefile.am): Likewise.
16430         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
16431         * modules/wchar (Depends-on, Makefile.am): Likewise.
16432         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
16433         should be poisoned.
16434         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
16435         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
16436         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
16437         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
16438         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16439         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16440         * m4/math_h.m4 (gl_MATH_H): Likewise.
16441         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16442         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
16443         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
16444         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
16445         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
16446         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
16447         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
16448         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
16449         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
16450         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16451         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
16452         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
16453         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16454         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16455         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
16456         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16457         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
16458         GL_LINK_WARNING.
16459         * lib/ctype.in.h: Likewise.
16460         * lib/dirent.in.h: Likewise.
16461         * lib/fcntl.in.h: Likewise.
16462         * lib/inttypes.in.h: Likewise.
16463         * lib/langinfo.in.h: Likewise.
16464         * lib/locale.in.h: Likewise.
16465         * lib/math.in.h: Likewise.
16466         * lib/search.in.h: Likewise.
16467         * lib/signal.in.h: Likewise.
16468         * lib/spawn.in.h: Likewise.
16469         * lib/stdio.in.h: Likewise.
16470         * lib/stdlib.in.h: Likewise.
16471         * lib/string.in.h: Likewise.
16472         * lib/strings.in.h: Likewise.
16473         * lib/sys_file.in.h: Likewise.
16474         * lib/sys_ioctl.in.h: Likewise.
16475         * lib/sys_select.in.h: Likewise.
16476         * lib/sys_socket.in.h: Likewise.
16477         * lib/sys_stat.in.h: Likewise.
16478         * lib/sys_times.in.h: Likewise.
16479         * lib/sys_utsname.in.h: Likewise.
16480         * lib/unistd.in.h: Likewise.
16481         * lib/wchar.in.h: Likewise.
16482
16483 2010-01-20  Bruno Haible  <bruno@clisp.org>
16484
16485         Avoid duplicate -lm.
16486         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
16487         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
16488         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
16489         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
16490         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
16491         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
16492         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
16493         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
16494         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
16495         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
16496         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
16497         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16498         Reported by Paolo Bonzini.
16499
16500 2010-01-19  Bruno Haible  <bruno@clisp.org>
16501
16502         langinfo, nl_langinfo: Relicense under LGPLv2+.
16503         * modules/langinfo (License): Change to LGPLv2+.
16504         * modules/nl_langinfo (License): Likewise.
16505         Patch by David Lutterkort <lutter@redhat.com>.
16506
16507 2010-01-19  Bruno Haible  <bruno@clisp.org>
16508
16509         Avoid compilation error with cc on OSF/1 5.1.
16510         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
16511         statement, not before.
16512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16513
16514 2010-01-18  Bruno Haible  <bruno@clisp.org>
16515
16516         Avoid a link error due to the __printf__ symbol.
16517         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
16518         and 2.6.x.
16519         (__format__, __printf__): Remove definitions.
16520         * lib/argp-fmtstream.h: Likewise.
16521         * lib/argp.h: Likewise.
16522         * lib/error.h: Likewise.
16523         * lib/vasnprintf.h: Likewise.
16524         * lib/xprintf.h: Likewise.
16525         * lib/xvasprintf.h: Likewise.
16526         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16527
16528 2010-01-18  Bruno Haible  <bruno@clisp.org>
16529
16530         Tests for module 'tanl'.
16531         * modules/tanl-tests: New file.
16532         * tests/test-tanl.c: New file.
16533
16534         Tests for module 'sqrtl'.
16535         * modules/sqrtl-tests: New file.
16536         * tests/test-sqrtl.c: New file.
16537
16538         Tests for module 'sinl'.
16539         * modules/sinl-tests: New file.
16540         * tests/test-sinl.c: New file.
16541
16542         Tests for module 'logl'.
16543         * modules/logl-tests: New file.
16544         * tests/test-logl.c: New file.
16545
16546         Tests for module 'expl'.
16547         * modules/expl-tests: New file.
16548         * tests/test-expl.c: New file.
16549
16550         Tests for module 'cosl'.
16551         * modules/cosl-tests: New file.
16552         * tests/test-cosl.c: New file.
16553
16554         Tests for module 'atanl'.
16555         * modules/atanl-tests: New file.
16556         * tests/test-atanl.c: New file.
16557
16558         Tests for module 'asinl'.
16559         * modules/asinl-tests: New file.
16560         * tests/test-asinl.c: New file.
16561
16562         Tests for module 'acosl'.
16563         * modules/acosl-tests: New file.
16564         * tests/test-acosl.c: New file.
16565
16566         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16567         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
16568         tanl): Use the standard gnulib idiom.
16569         * lib/cosl.c: Don't include trigl.c and sincosl.c.
16570         * lib/sinl.c: Likewise.
16571         * lib/tanl.c: Don't include trigl.c.
16572         (kernel_tanl): Make static.
16573         * lib/sincosl.c: Include trigl.h first.
16574         * lib/trigl.c: Likewise.
16575         * m4/acosl.m4: New file.
16576         * m4/asinl.m4: New file.
16577         * m4/atanl.m4: New file.
16578         * m4/cosl.m4: New file.
16579         * m4/expl.m4: New file.
16580         * m4/logl.m4: New file.
16581         * m4/sinl.m4: New file.
16582         * m4/sqrtl.m4: New file.
16583         * m4/tanl.m4: New file.
16584         * m4/mathl.m4: Remove file.
16585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
16586         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
16587         Don't initialize GNULIB_MATHL.
16588         * modules/acosl: New file.
16589         * modules/asinl: New file.
16590         * modules/atanl: New file.
16591         * modules/cosl: New file.
16592         * modules/expl: New file.
16593         * modules/logl: New file.
16594         * modules/sinl: New file.
16595         * modules/sqrtl: New file.
16596         * modules/tanl: New file.
16597         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
16598         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
16599         substitute GNULIB_MATHL.
16600         * modules/mathl: Rewritten.
16601         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
16602         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
16603         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
16604         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
16605         * doc/posix-functions/expl.texi: Mention the 'expl' module.
16606         * doc/posix-functions/logl.texi: Mention the 'logl' module.
16607         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
16608         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
16609         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
16610
16611 2010-01-18  Bruno Haible  <bruno@clisp.org>
16612
16613         sqrt: Make gl_FUNC_SQRT requirable.
16614         * m4/sqrt.m4: New file.
16615         * modules/sqrt (Files): Add it.
16616         (configure.ac): Invoke gl_FUNC_SQRT.
16617
16618 2010-01-18  Bruno Haible  <bruno@clisp.org>
16619
16620         New modules for common <math.h> functions.
16621         * m4/mathfunc.m4: New file.
16622         * modules/acos: New file.
16623         * modules/asin: New file.
16624         * modules/atan: New file.
16625         * modules/atan2: New file.
16626         * modules/cbrt: New file.
16627         * modules/copysign: New file.
16628         * modules/cos: New file.
16629         * modules/cosh: New file.
16630         * modules/erf: New file.
16631         * modules/erfc: New file.
16632         * modules/exp: New file.
16633         * modules/fabs: New file.
16634         * modules/fmod: New file.
16635         * modules/hypot: New file.
16636         * modules/j0: New file.
16637         * modules/j1: New file.
16638         * modules/jn: New file.
16639         * modules/ldexp: New file.
16640         * modules/lgamma: New file.
16641         * modules/log: New file.
16642         * modules/log10: New file.
16643         * modules/log1p: New file.
16644         * modules/logb: New file.
16645         * modules/modf: New file.
16646         * modules/nextafter: New file.
16647         * modules/pow: New file.
16648         * modules/remainder: New file.
16649         * modules/rint: New file.
16650         * modules/sin: New file.
16651         * modules/sinh: New file.
16652         * modules/sqrt: New file.
16653         * modules/tan: New file.
16654         * modules/tanh: New file.
16655         * modules/y0: New file.
16656         * modules/y1: New file.
16657         * modules/yn: New file.
16658         * doc/posix-functions/acos.texi: Mention the 'acos' module.
16659         * doc/posix-functions/asin.texi: Mention the 'asin' module.
16660         * doc/posix-functions/atan.texi: Mention the 'atan' module.
16661         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
16662         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
16663         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
16664         * doc/posix-functions/cos.texi: Mention the 'cos' module.
16665         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
16666         * doc/posix-functions/erf.texi: Mention the 'erf' module.
16667         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
16668         * doc/posix-functions/exp.texi: Mention the 'exp' module.
16669         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
16670         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
16671         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
16672         * doc/posix-functions/j0.texi: Mention the 'j0' module.
16673         * doc/posix-functions/j1.texi: Mention the 'j1' module.
16674         * doc/posix-functions/jn.texi: Mention the 'jn' module.
16675         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
16676         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
16677         * doc/posix-functions/log.texi: Mention the 'log' module.
16678         * doc/posix-functions/log10.texi: Mention the 'log10' module.
16679         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
16680         * doc/posix-functions/logb.texi: Mention the 'logb' module.
16681         * doc/posix-functions/modf.texi: Mention the 'modf' module.
16682         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
16683         * doc/posix-functions/pow.texi: Mention the 'pow' module.
16684         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
16685         * doc/posix-functions/rint.texi: Mention the 'rint' module.
16686         * doc/posix-functions/sin.texi: Mention the 'sin' module.
16687         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
16688         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
16689         * doc/posix-functions/tan.texi: Mention the 'tan' module.
16690         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
16691         * doc/posix-functions/y0.texi: Mention the 'y0' module.
16692         * doc/posix-functions/y1.texi: Mention the 'y1' module.
16693         * doc/posix-functions/yn.texi: Mention the 'yn' module.
16694
16695 2010-01-18  Jim Meyering  <meyering@redhat.com>
16696
16697         ignore-value: relax license to LGPLv2+
16698         * modules/ignore-value (License): Relax to LGPLv2+.
16699
16700         getdate: don't leak when TZ contains two or more '"'s
16701         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
16702         double quote in TZ after the first one.
16703
16704         readtokens: do not leak internal token_lengths buffer
16705         * lib/readtokens.c (readtokens): Free the local, lengths,
16706         when the supplied "token_lengths" parameter is NULL.
16707
16708 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16709
16710         Fix a couple of missing LIBTHREAD link failures on AIX.
16711         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
16712         $(LIBTHREAD).
16713         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
16714
16715         Link test-poll against INET_PTON_LIB.
16716         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
16717         for inet_pton on Solaris 10.
16718
16719 2010-01-17  Bruno Haible  <bruno@clisp.org>
16720
16721         unistdio/*-sprintf: Fix typo in module description.
16722         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
16723         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
16724         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
16725         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
16726         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
16727         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
16728         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
16729         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16730
16731 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16732
16733         gnulib-tool: fix filelist for AIX, HP-UX ksh.
16734         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
16735         variables in shell case patterns, for AIX and HP-UX ksh.
16736
16737         Split large sed scripts, for HP-UX sed.
16738         * modules/stdio: Split sed scripts around 50 sed commands,
16739         to avoid HP-UX limit of 99 commands, in the near future.
16740         * modules/string: Likewise.
16741         * modules/unistd: Likewise.
16742
16743         gnulib-tool: avoid writing in the current directory.
16744         * gnulib-tool (func_emit_lib_Makefile_am)
16745         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
16746         not in the current directory, so concurrent gnulib-tool
16747         instances do not interfere.
16748
16749 2010-01-16  Jim Meyering  <meyering@redhat.com>
16750
16751         doc: update users.txt
16752         * users.txt: Add grep.
16753         (diffutils, gzip): Update URLs.
16754
16755 2010-01-12  Bruno Haible  <bruno@clisp.org>
16756
16757         posix_spawn: Avoid test failure on Cygwin.
16758         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
16759         characters.
16760         Reported by Simon Josefsson.
16761
16762 2010-01-12  Bruno Haible  <bruno@clisp.org>
16763
16764         * tests/test-cond.c (main): When skipping the test, show the reason.
16765
16766 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16767
16768         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16769
16770 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16771
16772         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16773         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16774
16775 2010-01-12  Eric Blake  <ebb9@byu.net>
16776
16777         build: guarantee AS_VAR_IF
16778         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16779         (gl_AS_VAR_IF): Move...
16780         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16781         Reported by Simon Josefsson.
16782
16783 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16784
16785         * lib/stdio.in.h: Fix typo.
16786
16787 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16788
16789         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16790         libgpg-error.
16791
16792 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16793
16794         * tests/test-xalloc-die.sh: Use $EXEEXT.
16795
16796 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16797             Bruno Haible  <bruno@clisp.org>
16798
16799         getlogin, getlogin_r: Avoid test failure.
16800         * tests/test-getlogin.c: Include <stdio.h>.
16801         (main): Skip the test when the function fails because stdin is not a
16802         tty.
16803         * tests/test-getlogin_r.c: Include <stdio.h>.
16804         (main): Skip the test when the function fails because stdin is not a
16805         tty.
16806
16807 2010-01-11  Eric Blake  <ebb9@byu.net>
16808
16809         tests: avoid more large file warnings
16810         * tests/test-fflush.c: Avoid warning about ftell use.
16811         * tests/test-fseek.c: Avoid warning about fseek use.
16812
16813 2010-01-10  Bruno Haible  <bruno@clisp.org>
16814
16815         nproc: Work better on Linux when /proc and /sys are not mounted.
16816         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16817         as lower bound when, on glibc/Linux systems,
16818         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16819         Suggested by Pádraig Brady <P@draigbrady.com>.
16820         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16821
16822         nproc: Refactor.
16823         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16824         extracted from num_processors.
16825         (num_processors): Call it.
16826
16827 2010-01-11  Jim Meyering  <meyering@redhat.com>
16828
16829         utimecmp: avoid new warning from upcoming gcc-4.5.0
16830         * lib/utimecmp.c (BILLION): Define using #define rather than an
16831         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16832
16833 2010-01-11  Eric Blake  <ebb9@byu.net>
16834
16835         math: add portability warnings for classification macros
16836         * modules/math (Depends-on): Add warn-on-use.
16837         (Makefile.am): Provide new substitutions.
16838         * m4/math_h.m4 (gl_MATH_H): Require inline.
16839         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16840         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16841         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16842         implement warnings.
16843
16844         unistd: warn on use of environ without module
16845         * modules/unistd (Depends-on): Add warn-on-use.
16846         (Makefile.am): Provide new substitutions.
16847         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16848         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16849
16850         stdio: warn on suspicious uses
16851         * modules/stdio (Depends-on): Add warn-on-use.
16852         (Makefile.am): Provide new substitutions.
16853         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16854         fseeko.
16855         * lib/stdio.in.h (gets): Always warn on use.
16856         (fseek, ftell): Adjust when warnings are issued, and honor
16857         _GL_NO_LARGE_FILES as a way to silence the warning.
16858         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16859         any warning about large file offsets.
16860         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16861         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16862         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16863         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16864         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16865         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16866         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16867         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16868
16869         warn-on-use: new module
16870         * modules/warn-on-use: New file.
16871         * build-aux/warn-on-use.h: Likewise.
16872         * m4/warn-on-use.m4: Likewise.
16873         * MODULES.html.sh (Support for building): Mention it.
16874
16875 2010-01-10  Bruno Haible  <bruno@clisp.org>
16876
16877         Tests for module 'unistr/u32-strdup'.
16878         * modules/unistr/u32-strdup-tests: New file.
16879         * tests/unistr/test-u32-strdup.c: New file.
16880
16881         Tests for module 'unistr/u16-strdup'.
16882         * modules/unistr/u16-strdup-tests: New file.
16883         * tests/unistr/test-u16-strdup.c: New file.
16884
16885         Tests for module 'unistr/u8-strdup'.
16886         * modules/unistr/u8-strdup-tests: New file.
16887         * tests/unistr/test-u8-strdup.c: New file.
16888         * tests/unistr/test-strdup.h: New file.
16889
16890         Tests for module 'unistr/u32-strncmp'.
16891         * modules/unistr/u32-strncmp-tests: New file.
16892         * tests/unistr/test-u32-strncmp.c: New file.
16893
16894         Tests for module 'unistr/u16-strncmp'.
16895         * modules/unistr/u16-strncmp-tests: New file.
16896         * tests/unistr/test-u16-strncmp.c: New file.
16897
16898         Tests for module 'unistr/u8-strncmp'.
16899         * modules/unistr/u8-strncmp-tests: New file.
16900         * tests/unistr/test-u8-strncmp.c: New file.
16901         * tests/unistr/test-strncmp.h: New file.
16902
16903         Tests for module 'unistr/u32-strcoll'.
16904         * modules/unistr/u32-strcoll-tests: New file.
16905         * tests/unistr/test-u32-strcoll.c: New file.
16906
16907         Tests for module 'unistr/u16-strcoll'.
16908         * modules/unistr/u16-strcoll-tests: New file.
16909         * tests/unistr/test-u16-strcoll.c: New file.
16910
16911         Tests for module 'unistr/u8-strcoll'.
16912         * modules/unistr/u8-strcoll-tests: New file.
16913         * tests/unistr/test-u8-strcoll.c: New file.
16914
16915         Tests for module 'unistr/u32-strcmp'.
16916         * modules/unistr/u32-strcmp-tests: New file.
16917         * tests/unistr/test-u32-strcmp.c: New file.
16918         * tests/unistr/test-u32-strcmp.h: New file.
16919
16920         Tests for module 'unistr/u16-strcmp'.
16921         * modules/unistr/u16-strcmp-tests: New file.
16922         * tests/unistr/test-u16-strcmp.c: New file.
16923         * tests/unistr/test-u16-strcmp.h: New file.
16924
16925         Tests for module 'unistr/u8-strcmp'.
16926         * modules/unistr/u8-strcmp-tests: New file.
16927         * tests/unistr/test-u8-strcmp.c: New file.
16928         * tests/unistr/test-u8-strcmp.h: New file.
16929         * tests/unistr/test-strcmp.h: New file.
16930
16931         Tests for module 'unistr/u32-strncat'.
16932         * modules/unistr/u32-strncat-tests: New file.
16933         * tests/unistr/test-u32-strncat.c: New file.
16934
16935         Tests for module 'unistr/u16-strncat'.
16936         * modules/unistr/u16-strncat-tests: New file.
16937         * tests/unistr/test-u16-strncat.c: New file.
16938
16939         Tests for module 'unistr/u8-strncat'.
16940         * modules/unistr/u8-strncat-tests: New file.
16941         * tests/unistr/test-u8-strncat.c: New file.
16942         * tests/unistr/test-strncat.h: New file.
16943
16944         Tests for module 'unistr/u32-strcat'.
16945         * modules/unistr/u32-strcat-tests: New file.
16946         * tests/unistr/test-u32-strcat.c: New file.
16947
16948         Tests for module 'unistr/u16-strcat'.
16949         * modules/unistr/u16-strcat-tests: New file.
16950         * tests/unistr/test-u16-strcat.c: New file.
16951
16952         Tests for module 'unistr/u8-strcat'.
16953         * modules/unistr/u8-strcat-tests: New file.
16954         * tests/unistr/test-u8-strcat.c: New file.
16955         * tests/unistr/test-strcat.h: New file.
16956
16957         Tests for module 'unistr/u32-stpncpy'.
16958         * modules/unistr/u32-stpncpy-tests: New file.
16959         * tests/unistr/test-u32-stpncpy.c: New file.
16960
16961         Tests for module 'unistr/u16-stpncpy'.
16962         * modules/unistr/u16-stpncpy-tests: New file.
16963         * tests/unistr/test-u16-stpncpy.c: New file.
16964
16965         Tests for module 'unistr/u8-stpncpy'.
16966         * modules/unistr/u8-stpncpy-tests: New file.
16967         * tests/unistr/test-u8-stpncpy.c: New file.
16968         * tests/unistr/test-stpncpy.h: New file.
16969
16970         Tests for module 'unistr/u32-strncpy'.
16971         * modules/unistr/u32-strncpy-tests: New file.
16972         * tests/unistr/test-u32-strncpy.c: New file.
16973
16974         Tests for module 'unistr/u16-strncpy'.
16975         * modules/unistr/u16-strncpy-tests: New file.
16976         * tests/unistr/test-u16-strncpy.c: New file.
16977
16978         Tests for module 'unistr/u8-strncpy'.
16979         * modules/unistr/u8-strncpy-tests: New file.
16980         * tests/unistr/test-u8-strncpy.c: New file.
16981         * tests/unistr/test-strncpy.h: New file.
16982
16983         Tests for module 'unistr/u32-stpcpy'.
16984         * modules/unistr/u32-stpcpy-tests: New file.
16985         * tests/unistr/test-u32-stpcpy.c: New file.
16986
16987         Tests for module 'unistr/u16-stpcpy'.
16988         * modules/unistr/u16-stpcpy-tests: New file.
16989         * tests/unistr/test-u16-stpcpy.c: New file.
16990
16991         Tests for module 'unistr/u8-stpcpy'.
16992         * modules/unistr/u8-stpcpy-tests: New file.
16993         * tests/unistr/test-u8-stpcpy.c: New file.
16994         * tests/unistr/test-stpcpy.h: New file.
16995
16996         Tests for module 'unistr/u32-strcpy'.
16997         * modules/unistr/u32-strcpy-tests: New file.
16998         * tests/unistr/test-u32-strcpy.c: New file.
16999
17000         Tests for module 'unistr/u16-strcpy'.
17001         * modules/unistr/u16-strcpy-tests: New file.
17002         * tests/unistr/test-u16-strcpy.c: New file.
17003
17004         Tests for module 'unistr/u8-strcpy'.
17005         * modules/unistr/u8-strcpy-tests: New file.
17006         * tests/unistr/test-u8-strcpy.c: New file.
17007         * tests/unistr/test-strcpy.h: New file.
17008
17009         Tests for module 'unistr/u32-strnlen'.
17010         * modules/unistr/u32-strnlen-tests: New file.
17011         * tests/unistr/test-u32-strnlen.c: New file.
17012
17013         Tests for module 'unistr/u16-strnlen'.
17014         * modules/unistr/u16-strnlen-tests: New file.
17015         * tests/unistr/test-u16-strnlen.c: New file.
17016
17017         Tests for module 'unistr/u8-strnlen'.
17018         * modules/unistr/u8-strnlen-tests: New file.
17019         * tests/unistr/test-u8-strnlen.c: New file.
17020         * tests/unistr/test-strnlen.h: New file.
17021
17022         Tests for module 'unistr/u32-strlen'.
17023         * modules/unistr/u32-strlen-tests: New file.
17024         * tests/unistr/test-u32-strlen.c: New file.
17025
17026         Tests for module 'unistr/u16-strlen'.
17027         * modules/unistr/u16-strlen-tests: New file.
17028         * tests/unistr/test-u16-strlen.c: New file.
17029
17030         Tests for module 'unistr/u8-strlen'.
17031         * modules/unistr/u8-strlen-tests: New file.
17032         * tests/unistr/test-u8-strlen.c: New file.
17033
17034         Tests for module 'unistr/u32-prev'.
17035         * modules/unistr/u32-prev-tests: New file.
17036         * tests/unistr/test-u32-prev.c: New file.
17037
17038         Tests for module 'unistr/u16-prev'.
17039         * modules/unistr/u16-prev-tests: New file.
17040         * tests/unistr/test-u16-prev.c: New file.
17041
17042         Tests for module 'unistr/u8-prev'.
17043         * modules/unistr/u8-prev-tests: New file.
17044         * tests/unistr/test-u8-prev.c: New file.
17045
17046         Tests for module 'unistr/u32-next'.
17047         * modules/unistr/u32-next-tests: New file.
17048         * tests/unistr/test-u32-next.c: New file.
17049
17050         Tests for module 'unistr/u16-next'.
17051         * modules/unistr/u16-next-tests: New file.
17052         * tests/unistr/test-u16-next.c: New file.
17053
17054         Tests for module 'unistr/u8-next'.
17055         * modules/unistr/u8-next-tests: New file.
17056         * tests/unistr/test-u8-next.c: New file.
17057
17058         Tests for module 'unistr/u32-strmbtouc'.
17059         * modules/unistr/u32-strmbtouc-tests: New file.
17060         * tests/unistr/test-u32-strmbtouc.c: New file.
17061
17062         Tests for module 'unistr/u16-strmbtouc'.
17063         * modules/unistr/u16-strmbtouc-tests: New file.
17064         * tests/unistr/test-u16-strmbtouc.c: New file.
17065
17066         Tests for module 'unistr/u8-strmbtouc'.
17067         * modules/unistr/u8-strmbtouc-tests: New file.
17068         * tests/unistr/test-u8-strmbtouc.c: New file.
17069
17070         Tests for module 'unistr/u32-strmblen'.
17071         * modules/unistr/u32-strmblen-tests: New file.
17072         * tests/unistr/test-u32-strmblen.c: New file.
17073
17074         Tests for module 'unistr/u16-strmblen'.
17075         * modules/unistr/u16-strmblen-tests: New file.
17076         * tests/unistr/test-u16-strmblen.c: New file.
17077
17078         Tests for module 'unistr/u8-strmblen'.
17079         * modules/unistr/u8-strmblen-tests: New file.
17080         * tests/unistr/test-u8-strmblen.c: New file.
17081
17082         Tests for module 'unistr/u32-cpy-alloc'.
17083         * modules/unistr/u32-cpy-alloc-tests: New file.
17084         * tests/unistr/test-u32-cpy-alloc.c: New file.
17085
17086         Tests for module 'unistr/u16-cpy-alloc'.
17087         * modules/unistr/u16-cpy-alloc-tests: New file.
17088         * tests/unistr/test-u16-cpy-alloc.c: New file.
17089
17090         Tests for module 'unistr/u8-cpy-alloc'.
17091         * modules/unistr/u8-cpy-alloc-tests: New file.
17092         * tests/unistr/test-u8-cpy-alloc.c: New file.
17093         * tests/unistr/test-cpy-alloc.h: New file.
17094
17095         Tests for module 'unistr/u32-mbsnlen'.
17096         * modules/unistr/u32-mbsnlen-tests: New file.
17097         * tests/unistr/test-u32-mbsnlen.c: New file.
17098
17099         Tests for module 'unistr/u16-mbsnlen'.
17100         * modules/unistr/u16-mbsnlen-tests: New file.
17101         * tests/unistr/test-u16-mbsnlen.c: New file.
17102
17103         Tests for module 'unistr/u8-mbsnlen'.
17104         * modules/unistr/u8-mbsnlen-tests: New file.
17105         * tests/unistr/test-u8-mbsnlen.c: New file.
17106
17107         Tests for module 'unistr/u32-chr'.
17108         * modules/unistr/u32-chr-tests: New file.
17109         * tests/unistr/test-u32-chr.c: New file.
17110
17111         Tests for module 'unistr/u16-chr'.
17112         * modules/unistr/u16-chr-tests: New file.
17113         * tests/unistr/test-u16-chr.c: New file.
17114
17115         Tests for module 'unistr/u8-chr'.
17116         * modules/unistr/u8-chr-tests: New file.
17117         * tests/unistr/test-u8-chr.c: New file.
17118         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
17119
17120         Tests for module 'unistr/u32-cmp2'.
17121         * modules/unistr/u32-cmp2-tests: New file.
17122         * tests/unistr/test-u32-cmp2.c: New file.
17123
17124         Tests for module 'unistr/u16-cmp2'.
17125         * modules/unistr/u16-cmp2-tests: New file.
17126         * tests/unistr/test-u16-cmp2.c: New file.
17127
17128         Tests for module 'unistr/u8-cmp2'.
17129         * modules/unistr/u8-cmp2-tests: New file.
17130         * tests/unistr/test-u8-cmp2.c: New file.
17131         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
17132
17133         Tests for module 'unistr/u32-cmp'.
17134         * modules/unistr/u32-cmp-tests: New file.
17135         * tests/unistr/test-u32-cmp.c: New file.
17136
17137         Tests for module 'unistr/u16-cmp'.
17138         * modules/unistr/u16-cmp-tests: New file.
17139         * tests/unistr/test-u16-cmp.c: New file.
17140
17141         Tests for module 'unistr/u8-cmp'.
17142         * modules/unistr/u8-cmp-tests: New file.
17143         * tests/unistr/test-u8-cmp.c: New file.
17144         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
17145
17146         Tests for module 'unistr/u32-set'.
17147         * modules/unistr/u32-set-tests: New file.
17148         * tests/unistr/test-u32-set.c: New file.
17149
17150         Tests for module 'unistr/u16-set'.
17151         * modules/unistr/u16-set-tests: New file.
17152         * tests/unistr/test-u16-set.c: New file.
17153
17154         Tests for module 'unistr/u8-set'.
17155         * modules/unistr/u8-set-tests: New file.
17156         * tests/unistr/test-u8-set.c: New file.
17157         * tests/unistr/test-set.h: New file.
17158
17159         Tests for module 'unistr/u32-move'.
17160         * modules/unistr/u32-move-tests: New file.
17161         * tests/unistr/test-u32-move.c: New file.
17162
17163         Tests for module 'unistr/u16-move'.
17164         * modules/unistr/u16-move-tests: New file.
17165         * tests/unistr/test-u16-move.c: New file.
17166
17167         Tests for module 'unistr/u8-move'.
17168         * modules/unistr/u8-move-tests: New file.
17169         * tests/unistr/test-u8-move.c: New file.
17170         * tests/unistr/test-move.h: New file.
17171
17172         Tests for module 'unistr/u32-cpy'.
17173         * modules/unistr/u32-cpy-tests: New file.
17174         * tests/unistr/test-u32-cpy.c: New file.
17175
17176         Tests for module 'unistr/u16-cpy'.
17177         * modules/unistr/u16-cpy-tests: New file.
17178         * tests/unistr/test-u16-cpy.c: New file.
17179
17180         Tests for module 'unistr/u8-cpy'.
17181         * modules/unistr/u8-cpy-tests: New file.
17182         * tests/unistr/test-u8-cpy.c: New file.
17183         * tests/unistr/test-cpy.h: New file.
17184
17185 2010-01-09  Bruno Haible  <bruno@clisp.org>
17186
17187         Tests for module 'unistr/u32-uctomb'.
17188         * modules/unistr/u32-uctomb-tests: New file.
17189         * tests/unistr/test-u32-uctomb.c: New file.
17190
17191         Tests for module 'unistr/u16-uctomb'.
17192         * modules/unistr/u16-uctomb-tests: New file.
17193         * tests/unistr/test-u16-uctomb.c: New file.
17194
17195         Tests for module 'unistr/u8-uctomb'.
17196         * modules/unistr/u8-uctomb-tests: New file.
17197         * tests/unistr/test-u8-uctomb.c: New file.
17198
17199         Tests for module 'unistr/u32-mbtoucr'.
17200         * modules/unistr/u32-mbtoucr-tests: New file.
17201         * tests/unistr/test-u32-mbtoucr.c: New file.
17202
17203         Tests for module 'unistr/u16-mbtoucr'.
17204         * modules/unistr/u16-mbtoucr-tests: New file.
17205         * tests/unistr/test-u16-mbtoucr.c: New file.
17206
17207         Tests for module 'unistr/u8-mbtoucr'.
17208         * modules/unistr/u8-mbtoucr-tests: New file.
17209         * tests/unistr/test-u8-mbtoucr.c: New file.
17210
17211         Tests for module 'unistr/u32-mbtouc'.
17212         * modules/unistr/u32-mbtouc-tests: New file.
17213         * tests/unistr/test-u32-mbtouc.c: New file.
17214
17215         Tests for module 'unistr/u16-mbtouc'.
17216         * modules/unistr/u16-mbtouc-tests: New file.
17217         * tests/unistr/test-u16-mbtouc.c: New file.
17218
17219         Tests for module 'unistr/u8-mbtouc'.
17220         * modules/unistr/u8-mbtouc-tests: New file.
17221         * tests/unistr/test-u8-mbtouc.c: New file.
17222
17223         Tests for module 'unistr/u32-mbtouc-unsafe'.
17224         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
17225         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
17226         * tests/unistr/test-u32-mbtouc.h: New file.
17227
17228         Tests for module 'unistr/u16-mbtouc-unsafe'.
17229         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
17230         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
17231         * tests/unistr/test-u16-mbtouc.h: New file.
17232
17233         Tests for module 'unistr/u8-mbtouc-unsafe'.
17234         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
17235         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
17236         * tests/unistr/test-u8-mbtouc.h: New file.
17237
17238         Tests for module 'unistr/u32-mblen'.
17239         * modules/unistr/u32-mblen-tests: New file.
17240         * tests/unistr/test-u32-mblen.c: New file.
17241
17242         Tests for module 'unistr/u16-mblen'.
17243         * modules/unistr/u16-mblen-tests: New file.
17244         * tests/unistr/test-u16-mblen.c: New file.
17245
17246         Tests for module 'unistr/u8-mblen'.
17247         * modules/unistr/u8-mblen-tests: New file.
17248         * tests/unistr/test-u8-mblen.c: New file.
17249
17250         Tests for module 'unistr/u32-to-u16'.
17251         * modules/unistr/u32-to-u16-tests: New file.
17252         * tests/unistr/test-u32-to-u16.c: New file.
17253
17254         Tests for module 'unistr/u32-to-u8'.
17255         * modules/unistr/u32-to-u8-tests: New file.
17256         * tests/unistr/test-u32-to-u8.c: New file.
17257
17258         Tests for module 'unistr/u16-to-u32'.
17259         * modules/unistr/u16-to-u32-tests: New file.
17260         * tests/unistr/test-u16-to-u32.c: New file.
17261
17262         Tests for module 'unistr/u16-to-u8'.
17263         * modules/unistr/u16-to-u8-tests: New file.
17264         * tests/unistr/test-u16-to-u8.c: New file.
17265
17266         Tests for module 'unistr/u8-to-u32'.
17267         * modules/unistr/u8-to-u32-tests: New file.
17268         * tests/unistr/test-u8-to-u32.c: New file.
17269
17270         Tests for module 'unistr/u8-to-u16'.
17271         * modules/unistr/u8-to-u16-tests: New file.
17272         * tests/unistr/test-u8-to-u16.c: New file.
17273
17274         Tests for module 'unistr/u32-check'.
17275         * modules/unistr/u32-check-tests: New file.
17276         * tests/unistr/test-u32-check.c: New file.
17277
17278         Tests for module 'unistr/u16-check'.
17279         * modules/unistr/u16-check-tests: New file.
17280         * tests/unistr/test-u16-check.c: New file.
17281
17282         Tests for module 'unistr/u8-check'.
17283         * modules/unistr/u8-check-tests: New file.
17284         * tests/unistr/test-u8-check.c: New file.
17285
17286         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
17287         (category_equals): New function.
17288         (main): Add more tests.
17289         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
17290
17291         * tests/unictype/test-bidi_byname.c (main): Add more tests.
17292
17293 2010-01-10  Bruno Haible  <bruno@clisp.org>
17294
17295         unistr/u*-strcoll: Try harder to distinguish different strings.
17296         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
17297         compare s1 and s2 to see if they are different.
17298
17299 2010-01-10  Bruno Haible  <bruno@clisp.org>
17300
17301         unistr/u*-stpncpy: Fix the return value.
17302         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
17303         description of the return value consistent with stpncpy in glibc.
17304         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
17305         written non-NUL unit.
17306
17307 2010-01-10  Bruno Haible  <bruno@clisp.org>
17308
17309         unistr/u*-next: Add missing dependencies.
17310         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
17311         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
17312         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
17313
17314 2010-01-10  Bruno Haible  <bruno@clisp.org>
17315
17316         unistr/u8-mbsnlen: Fix return value for incomplete character.
17317         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
17318         u8_mblen.
17319         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
17320         Remove unistr/u8-mblen.
17321         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
17322         u16_mblen.
17323         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
17324         Remove unistr/u16-mblen.
17325
17326 2010-01-10  Bruno Haible  <bruno@clisp.org>
17327
17328         wchar: Fix compilation error when <wchar.h> is used from coreutils.
17329         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
17330         Reported by Brian Gough <bjg@gnu.org> and
17331         Chris Clayton <chris2553@googlemail.com> via
17332         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
17333
17334 2010-01-09  Bruno Haible  <bruno@clisp.org>
17335
17336         unistr/u16-to-u32: Reject invalid input.
17337         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
17338         u16_mbtouc.
17339         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
17340         Remove unistr/u16-mbtouc.
17341
17342         unistr/u16-to-u8: Reject invalid input.
17343         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
17344         u16_mbtouc.
17345         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
17346         Remove unistr/u16-mbtouc.
17347
17348         unistr/u8-to-u32: Reject invalid input.
17349         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
17350         u8_mbtouc.
17351         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
17352         Remove unistr/u8-mbtouc.
17353
17354         unistr/u8-to-u16: Reject invalid input.
17355         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
17356         u8_mbtouc.
17357         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
17358         Remove unistr/u8-mbtouc.
17359
17360 2010-01-09  Bruno Haible  <bruno@clisp.org>
17361
17362         Tests for module 'getlogin'.
17363         * modules/getlogin-tests: New file.
17364         * tests/test-getlogin.c: New file.
17365
17366         New module 'getlogin'.
17367         * lib/unistd.in.h (getlogin): New declaration.
17368         * lib/getlogin.c: New file.
17369         * m4/getlogin.m4: New file.
17370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
17371         HAVE_GETLOGIN.
17372         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
17373         HAVE_GETLOGIN.
17374         * modules/getlogin: New file.
17375         * doc/posix-functions/getlogin.texi: Mention the new module.
17376         Reported by John W. Eaton <jwe@gnu.org>.
17377
17378 2010-01-09  Bruno Haible  <bruno@clisp.org>
17379
17380         getlogin_r: Support for native Windows.
17381         * lib/getlogin_r.c: Include <windows.h>
17382         (getlogin_r): Implement for native Windows.
17383         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
17384         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
17385         via John W. Eaton <jwe@gnu.org>.
17386
17387 2010-01-09  Bruno Haible  <bruno@clisp.org>
17388
17389         getlogin_r: Small fixes.
17390         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
17391         succeeds.
17392         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
17393         before testing whether getlogin_r is declared. No need to set
17394         HAVE_DECL_GETLOGIN_R to 1.
17395         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
17396
17397 2010-01-09  Bruno Haible  <bruno@clisp.org>
17398
17399         * lib/unistd.in.h (getlogin_r): Add comment.
17400
17401 2010-01-09  Bruno Haible  <bruno@clisp.org>
17402
17403         Tests for module 'getlogin_r'.
17404         * modules/getlogin_r-tests: New file.
17405         * tests/test-getlogin_r.c: New file.
17406
17407 2010-01-09  Jim Meyering  <meyering@redhat.com>
17408
17409         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
17410         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
17411         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
17412
17413 2010-01-08  Simon Josefsson  <simon@josefsson.org>
17414
17415         * lib/dup2.c (rpl_dup2): Improve comment.
17416
17417 2010-01-08  Eric Blake  <ebb9@byu.net>
17418
17419         maint.mk: allow packages to add makefile @@ exceptions
17420         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
17421         (sc_makefile_check): Rename...
17422         (sc_makefile_at_at_check): ...to this, and use hook.
17423
17424         dup2: work around mingw bug
17425         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
17426         Reported by Simon Josefsson.
17427
17428 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
17429
17430         glob: Fix C++ compilation.
17431         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
17432         C++.
17433
17434 2010-01-07  Bruno Haible  <bruno@clisp.org>
17435
17436         Fix indentation of wctype.in.h, broken since 2007-01-06.
17437         * lib/wctype.in.h: Fix indentation of preprocessor directives.
17438
17439 2010-01-07  Bruno Haible  <bruno@clisp.org>
17440
17441         mbslen: Avoid collision with system function.
17442         * lib/string.in.h [MirBSD]: Include <wchar.h>.
17443         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
17444         * m4/mbslen.m4: New file.
17445         * modules/mbslen (Files): Add it.
17446         (configure.ac): Invoke gl_MBSLEN.
17447         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
17448         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
17449         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
17450         via Ian Beckwith <ianb@erislabs.net>.
17451
17452 2010-01-07  Bruno Haible  <bruno@clisp.org>
17453
17454         dirent: Document the last fix.
17455         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
17456
17457 2010-01-07  Bruno Haible  <bruno@clisp.org>
17458
17459         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
17460         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
17461         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
17462         va_list are defined.
17463         * doc/posix-headers/stdio.texi: Document the bug of missing types.
17464         Reported by Eric Blake.
17465
17466 2010-01-07  Bruno Haible  <bruno@clisp.org>
17467
17468         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
17469         * modules/xlist (Depends-on): Add 'list',
17470         * modules/xoset (Depends-on): Add 'oset'.
17471         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17472
17473 2010-01-07  Bruno Haible  <bruno@clisp.org>
17474
17475         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
17476         * doc/posix-functions/strncasecmp.texi: Likewise.
17477
17478 2010-01-07  Bruno Haible  <bruno@clisp.org>
17479
17480         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
17481
17482 2010-01-07  John W. Eaton  <jwe@octave.org>
17483
17484         wctype: allow C++ use
17485         * lib/wctype.in.h: Add extern "C" block for C++.
17486
17487 2010-01-06  Eric Blake  <ebb9@byu.net>
17488
17489         maint.mk: detect incorrect GFDL usage
17490         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
17491
17492 2010-01-06  Jim Meyering  <meyering@redhat.com>
17493         and Eric Blake  <ebb9@byu.net>
17494
17495         maint.mk: ignore multi-line copyright in NEWS
17496         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
17497
17498 2010-01-06  Eric Blake  <ebb9@byu.net>
17499
17500         select: add missing dependency
17501         * modules/select-tests (Depends-on): Move sockets dependency...
17502         * modules/select (Depends-on): ...here.
17503         Reported by Ian Beckwith.
17504
17505         doc: regenerate INSTALL
17506         * doc/INSTALL: Reflect recent autoconf update.
17507         * doc/INSTALL.ISO: Likewise.
17508         * doc/INSTALL.UTF-8: Likewise.
17509
17510         pread: fix compilation on glibc
17511         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
17512         Reported by Ralf Wildenhues.
17513
17514         dirent: fix test failure
17515         * lib/dirent.in.h (includes): Guarantee ino_t.
17516         Reported by Ralf Wildenhues.
17517
17518 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
17519
17520         linkat, renameat: avoid bad free
17521         * lib/at-func2.c (at_func2): Fix typo.
17522         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
17523
17524 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17525
17526         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
17527         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
17528         to avoid failure of symlink test later.
17529
17530 2010-01-06  Eric Blake  <ebb9@byu.net>
17531
17532         stdio, unistd: guarantee ssize_t
17533         * lib/unistd.in.h (includes): Ensure that types required by POSIX
17534         2008 are exposed when needed.
17535         * lib/stdio.in.h (includes): Likewise.
17536         Reported by Ralf Wildenhues.
17537
17538 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
17539
17540         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
17541         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
17542         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
17543
17544 2010-01-06  Jim Meyering  <meyering@redhat.com>
17545
17546         readtokens: this module *does* require xalloc.h
17547         It uses only functions that were omitted by the old syntax-check rule.
17548         * lib/readtokens.c: Include "xalloc.h" once again.
17549         * modules/readtokens (Depends-on): Add xalloc.
17550         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
17551
17552 2010-01-05  Eric Blake  <ebb9@byu.net>
17553
17554         maint: support 'make announcement' from a VPATH build
17555         * top/maint.mk (announcement): Look for correct NEWS file.
17556
17557 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
17558
17559         utimens (fdutimens): ignore a negative FD, per contract
17560         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
17561         when we have a valid file descriptor.  Otherwise, using a brand
17562         new glibc (with just-patched futimens that now fails with EBADF)
17563         would cause this function to fail with ENOSYS.
17564         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
17565         See also http://bugzilla.redhat.com/552320.
17566
17567 2010-01-05  Eric Blake  <ebb9@byu.net>
17568
17569         strcase: document what it provides
17570         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
17571         gnulib module.
17572         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
17573         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
17574
17575 2010-01-05  Jim Meyering  <meyering@redhat.com>
17576
17577         maint: remove useless inclusions of "xalloc.h"
17578         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
17579         * lib/readtokens.c: Likewise.
17580         * lib/same.c: Likewise.
17581         * modules/getloadavg (Depends-on): Remove xalloc.
17582         * modules/readtokens: Likewise.
17583         * modules/same: Likewise.
17584
17585         maint.mk: include 4 more function names in alloca.h-checking regexp
17586         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
17587         regexp.  Before, we would give a false-positive (saying alloca.h
17588         is included unnecessarily) when the only uses involved omitted symbols.
17589
17590         xalloc.h: use consistent formatting
17591         * lib/xalloc.h: Move declarations to start in the first column.
17592
17593 2010-01-05  Eric Blake  <ebb9@byu.net>
17594
17595         mkdir: avoid xalloc
17596         * lib/mkdir.c (includes): Drop unused header.
17597         Reported by John W. Eaton.
17598
17599 2010-01-04  Jim Meyering  <meyering@redhat.com>
17600
17601         nl_langinfo: avoid configure-time syntax error
17602         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
17603         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
17604         the empty string.  Don't let that provoke a shell syntax error.
17605
17606         regcomp, regexec, fnmatch: avoid array bounds read error
17607         * lib/regcomp.c (build_equiv_class): From glibc:
17608         Use only the low 24 bits of a findidx return value as an index
17609         into the weights array.  Patch by Ulrich Drepper:
17610         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
17611         * lib/regexec.c (check_node_accept_bytes): Likewise.
17612         * lib/fnmatch_loop.c (FCT): Likewise.
17613
17614         regcomp: skip collseq lookup when there are no rules
17615         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
17616         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
17617
17618         regcomp: recognize ill-formed { } expressions
17619         * lib/regcomp.c (parse_dup_op): From glibc:
17620         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
17621
17622         regcomp: fix typo in comment
17623         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
17624         s/satisfy/satisfies/.
17625
17626         regcomp: sync from glibc: remove dead store
17627         * lib/regcomp.c (duplicate_node_closure): Remove useless
17628         search_duplicated_node call and dead store.
17629
17630         regcomp: sync from glibc; always use nl_langinfo
17631         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
17632         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
17633         * modules/regex (Depends-on): Add nl_langinfo.
17634
17635 2010-01-04  Eric Blake  <ebb9@byu.net>
17636
17637         fdopendir: fix configure test
17638         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
17639
17640 2010-01-01  Bruno Haible  <bruno@clisp.org>
17641
17642         wchar: Remove unused configure check.
17643         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
17644
17645 2010-01-01  Eric Blake  <ebb9@byu.net>
17646
17647         headers: make check of system header explicit
17648         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
17649         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
17650         ourselves.
17651         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17652         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17653         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
17654         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
17655         internals.
17656         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
17657         missing.
17658         Suggested by Bruno Haible.
17659
17660 2010-01-01  Jim Meyering  <meyering@redhat.com>
17661
17662         ChangeLog: tweak to eliminate unnecessary copyright line
17663         * ChangeLog: Remove a copyright line that was mistakenly updated
17664         by today's update-copyright run.  Reported by Eric Blake.
17665
17666         test-update-copyright: don't let envvar setting cause test failure
17667         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17668
17669 2010-01-01  Bruno Haible  <bruno@clisp.org>
17670
17671         localename: Avoid gcc warning.
17672         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
17673         function if it is not used.
17674
17675 2010-01-01  Jim Meyering  <meyering@redhat.com>
17676
17677         update nearly all FSF copyright year lists to include 2010
17678         Use the same procedure as for 2009, outlined in
17679         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
17680
17681         version-etc: set COPYRIGHT_YEAR to 2010
17682         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
17683
17684 2009-12-31  Eric Blake  <ebb9@byu.net>
17685
17686         doc: correct availability of cygwin 1.5.x getopt
17687         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
17688         variables.
17689         * doc/posix-functions/opterr.texi (opterr): Likewise.
17690         * doc/posix-functions/optind.texi (optind): Likewise.
17691         * doc/posix-functions/optopt.texi (optopt): Likewise.
17692         * doc/posix-functions/tzname.texi (tzname): Likewise.
17693
17694         openat: update maintainer
17695         * modules/openat (Maintainer): Add myself.
17696
17697         utimens: avoid shadowing warning
17698         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
17699         buffers into one, to avoid shadowing, as well as avoiding a
17700         redundant stat.
17701         Reported by Jim Meyering.
17702
17703         test-dup2: avoid compiler warning
17704         * tests/test-dup2.c (is_inheritable): Only define if used.
17705
17706 2010-01-01  Bruno Haible  <bruno@clisp.org>
17707
17708         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
17709         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
17710         defined, use wctomb instead of wcrtomb.
17711
17712 2010-01-01  Bruno Haible  <bruno@clisp.org>
17713
17714         iconv: Reject native Solaris iconv.
17715         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
17716         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
17717
17718 2009-12-31  Bruno Haible  <bruno@clisp.org>
17719
17720         * tests/test-signal.c (main): Remove test of 'SIG'.
17721
17722 2009-12-31  Bruno Haible  <bruno@clisp.org>
17723
17724         spawn: Fix incomplete fix.
17725         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17726         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17727         warnings for GNULIB_POSIXCHECK again.
17728         Reported by Eric Blake.
17729
17730 2009-12-31  Bruno Haible  <bruno@clisp.org>
17731
17732         Avoid namespace pollution on glibc systems.
17733         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
17734         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
17735         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
17736         glibc systems.
17737
17738 2009-12-31  Bruno Haible  <bruno@clisp.org>
17739
17740         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
17741         (gl_REPLACE_WCHAR_H): Turn into a no-op.
17742         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
17743         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17744         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17745         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17746         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17747
17748 2009-12-31  Bruno Haible  <bruno@clisp.org>
17749
17750         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17751         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
17752         afterwards.
17753
17754 2009-12-31  Bruno Haible  <bruno@clisp.org>
17755
17756         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
17757         SYS_UTSNAME_H.
17758
17759 2009-12-31  Bruno Haible  <bruno@clisp.org>
17760
17761         spawn: Fix misapplied patch.
17762         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17763         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17764         warnings for GNULIB_POSIXCHECK.
17765
17766 2009-12-31  Bruno Haible  <bruno@clisp.org>
17767
17768         times: Update after sys_times changed.
17769         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17770         * modules/times (Files): Add it.
17771         (configure.ac): Invoke gl_FUNC_TIMES.
17772
17773 2009-12-31  Bruno Haible  <bruno@clisp.org>
17774
17775         Use AC_C_INLINE where necessary.
17776         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17777         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17778         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17779         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17780         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17781         * m4/mbiter.m4 (gl_MBITER): Likewise.
17782         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17783         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17784         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17785         * modules/u64 (configure.ac): Likewise.
17786
17787 2009-12-31  Bruno Haible  <bruno@clisp.org>
17788
17789         Use AC_C_INLINE instead of module 'inline' where possible.
17790         * modules/inline (Description): Clarify purpose.
17791         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17792         * modules/count-one-bits (Depends-on): Remove inline.
17793         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17794         * modules/openat (Depends-on): Remove inline.
17795         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17796         instead of depending on module 'inline'.
17797         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17798         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17799         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17800         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17801         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17802         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17803         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17804         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17805         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17806         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17807         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17808         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17809         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17810         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17811         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17812         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17813         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17814         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17815         Likewise.
17816         * modules/unictype/property-ascii-hex-digit (Depends-on,
17817         configure.ac): Likewise.
17818         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17819         configure.ac): Likewise.
17820         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17821         configure.ac): Likewise.
17822         * modules/unictype/property-bidi-block-separator (Depends-on,
17823         configure.ac): Likewise.
17824         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17825         configure.ac): Likewise.
17826         * modules/unictype/property-bidi-common-separator (Depends-on,
17827         configure.ac): Likewise.
17828         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17829         Likewise.
17830         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17831         configure.ac): Likewise.
17832         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17833         configure.ac): Likewise.
17834         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17835         configure.ac): Likewise.
17836         * modules/unictype/property-bidi-european-digit (Depends-on,
17837         configure.ac): Likewise.
17838         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17839         configure.ac): Likewise.
17840         * modules/unictype/property-bidi-left-to-right (Depends-on,
17841         configure.ac): Likewise.
17842         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17843         configure.ac): Likewise.
17844         * modules/unictype/property-bidi-other-neutral (Depends-on,
17845         configure.ac): Likewise.
17846         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17847         Likewise.
17848         * modules/unictype/property-bidi-segment-separator (Depends-on,
17849         configure.ac): Likewise.
17850         * modules/unictype/property-bidi-whitespace (Depends-on,
17851         configure.ac): Likewise.
17852         * modules/unictype/property-combining (Depends-on, configure.ac):
17853         Likewise.
17854         * modules/unictype/property-composite (Depends-on, configure.ac):
17855         Likewise.
17856         * modules/unictype/property-currency-symbol (Depends-on,
17857         configure.ac): Likewise.
17858         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17859         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17860         Likewise.
17861         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17862         configure.ac): Likewise.
17863         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17864         Likewise.
17865         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17866         Likewise.
17867         * modules/unictype/property-extender (Depends-on, configure.ac):
17868         Likewise.
17869         * modules/unictype/property-format-control (Depends-on, configure.ac):
17870         Likewise.
17871         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17872         Likewise.
17873         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17874         Likewise.
17875         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17876         Likewise.
17877         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17878         Likewise.
17879         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17880         Likewise.
17881         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17882         Likewise.
17883         * modules/unictype/property-id-start (Depends-on, configure.ac):
17884         Likewise.
17885         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17886         Likewise.
17887         * modules/unictype/property-ids-binary-operator (Depends-on,
17888         configure.ac): Likewise.
17889         * modules/unictype/property-ids-trinary-operator (Depends-on,
17890         configure.ac): Likewise.
17891         * modules/unictype/property-ignorable-control (Depends-on,
17892         configure.ac): Likewise.
17893         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17894         Likewise.
17895         * modules/unictype/property-join-control (Depends-on, configure.ac):
17896         Likewise.
17897         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17898         Likewise.
17899         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17900         Likewise.
17901         * modules/unictype/property-logical-order-exception (Depends-on,
17902         configure.ac): Likewise.
17903         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17904         Likewise.
17905         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17906         * modules/unictype/property-non-break (Depends-on, configure.ac):
17907         Likewise.
17908         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17909         Likewise.
17910         * modules/unictype/property-numeric (Depends-on, configure.ac):
17911         Likewise.
17912         * modules/unictype/property-other-alphabetic (Depends-on,
17913         configure.ac): Likewise.
17914         * modules/unictype/property-other-default-ignorable-code-point
17915         (Depends-on, configure.ac): Likewise.
17916         * modules/unictype/property-other-grapheme-extend (Depends-on,
17917         configure.ac): Likewise.
17918         * modules/unictype/property-other-id-continue (Depends-on,
17919         configure.ac): Likewise.
17920         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17921         Likewise.
17922         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17923         Likewise.
17924         * modules/unictype/property-other-math (Depends-on, configure.ac):
17925         Likewise.
17926         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17927         Likewise.
17928         * modules/unictype/property-paired-punctuation (Depends-on,
17929         configure.ac): Likewise.
17930         * modules/unictype/property-paragraph-separator (Depends-on,
17931         configure.ac): Likewise.
17932         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17933         Likewise.
17934         * modules/unictype/property-pattern-white-space (Depends-on,
17935         configure.ac): Likewise.
17936         * modules/unictype/property-private-use (Depends-on, configure.ac):
17937         Likewise.
17938         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17939         Likewise.
17940         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17941         Likewise.
17942         * modules/unictype/property-radical (Depends-on, configure.ac):
17943         Likewise.
17944         * modules/unictype/property-sentence-terminal (Depends-on,
17945         configure.ac): Likewise.
17946         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17947         Likewise.
17948         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17949         * modules/unictype/property-terminal-punctuation (Depends-on,
17950         configure.ac): Likewise.
17951         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17952         Likewise.
17953         * modules/unictype/property-unassigned-code-value (Depends-on,
17954         configure.ac): Likewise.
17955         * modules/unictype/property-unified-ideograph (Depends-on,
17956         configure.ac): Likewise.
17957         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17958         Likewise.
17959         * modules/unictype/property-variation-selector (Depends-on,
17960         configure.ac): Likewise.
17961         * modules/unictype/property-white-space (Depends-on, configure.ac):
17962         Likewise.
17963         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17964         Likewise.
17965         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17966         Likewise.
17967         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17968         Likewise.
17969         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17970         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17971         Likewise.
17972
17973 2009-12-31  Bruno Haible  <bruno@clisp.org>
17974
17975         Remove unnecessary AC_C_INLINE invocation.
17976         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17977         since 2009-08-21.
17978
17979 2009-12-31  Jim Meyering  <meyering@redhat.com>
17980
17981         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17982         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17983         With this change, we can all remove the gpg_key_ID = ... definition
17984         from our respective cfg.mk files.
17985
17986         maint.mk: create announcement template in ~/, not in /tmp
17987         * top/maint.mk (emit_upload_commands): Adjust.
17988         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17989         Remove temporary file, .ci-msg.
17990
17991 2009-12-31  Eric Blake  <ebb9@byu.net>
17992
17993         link-warning: always build headers with link warnings
17994         * modules/arpa_inet (Makefile.am): Always build replacement
17995         header.
17996         * modules/ctype (Makefile.am): Likewise.
17997         * modules/dirent (Makefile.am): Likewise.
17998         * modules/inttypes (Makefile.am): Likewise.
17999         * modules/langinfo (Makefile.am): Likewise.
18000         * modules/locale (Makefile.am): Likewise.
18001         * modules/spawn (Makefile.am): Likewise.
18002         * modules/sys_file (Makefile.am): Likewise.
18003         * modules/sys_ioctl (Makefile.am): Likewise.
18004         * modules/sys_select (Makefile.am): Likewise.
18005         * modules/sys_socket (Makefile.am): Likewise.
18006         * modules/sys_times (Makefile.am): Likewise.
18007         * modules/sys_utsname (Makefile.am): Likewise.
18008         * modules/sys_wait (Makefile.am): Likewise.
18009         * modules/wchar (Makefile.am): Likewise.
18010         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
18011         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
18012         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
18013         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
18014         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
18015         Likewise.
18016         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18017         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18018         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
18019         Likewise.
18020         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
18021         Likewise.
18022         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18023         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
18024         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
18025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18026         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18027         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18028         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18029         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
18030         (gl_WCHAR_H_DEFAULTS): Likewise.
18031
18032 2009-12-31  Eric Blake  <ebb9@byu.net>
18033
18034         signal, spawn: use link warnings
18035         * lib/signal.in.h (sigset_t): Make unconditional.
18036         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
18037         (sigpending, sigprocmask, sigaction): Add link warnings.
18038         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
18039         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
18040         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
18041         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
18042         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
18043         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
18044         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
18045         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
18046         (posix_spawn_file_actions_destroy)
18047         (posix_spawn_file_actions_addopen)
18048         (posix_spawn_file_actions_addclose)
18049         (posix_spawn_file_actions_adddup2): Likewise.
18050         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
18051         * tests/test-signal.c (main): Enhance test.
18052
18053         spawn: improve wrapper support
18054         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
18055         (gl_SPAWN_H_DEFAULTS): New defaults.
18056         * modules/spawn (Makefile.am): Substitute them.
18057         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
18058         Only declare if missing or broken.
18059
18060         sys_times, sys_utsname: use include_next
18061         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
18062         header.
18063         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
18064         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18065         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18066         * modules/sys_times (Depends-on): Add include_next.
18067         (Makefile.am): Substitute additional values.
18068         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18069         * lib/sys_times.in.h (includes): Include native header, if
18070         available.
18071         * lib/sys_utsname.in.h (includes): Likewise.
18072         * tests/test-sys_times.c (main): Enhance test.
18073
18074         fdutimensat: revert prior patch
18075         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
18076         utimens.h.
18077         Reported by Bruno Haible.
18078
18079 2009-12-30  Eric Blake  <ebb9@byu.net>
18080
18081         sys_wait: drop link-warning dependency
18082         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
18083         link-warning efforts.
18084         * lib/sys_wait.in.h: Likewise.
18085
18086         fdutimensat: remove bogus dependency
18087         * modules/fdutimensat (Depends-on): Drop inline.
18088
18089         unistd: fix typo
18090         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
18091
18092 2009-12-30  Bruno Haible  <bruno@clisp.org>
18093
18094         Fix compilation error with Solaris cc.
18095         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
18096         * lib/unicase/u16-is-invariant.c: Likewise.
18097         * lib/unicase/u32-is-invariant.c: Likewise.
18098         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18099
18100 2009-12-30  Bruno Haible  <bruno@clisp.org>
18101
18102         Fix test crash.
18103         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
18104         locales.
18105         Reported by Simon Josefsson <simon@josefsson.org>.
18106
18107 2009-12-30  Bruno Haible  <bruno@clisp.org>
18108
18109         Fix compilation error on most platforms.
18110         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
18111         Reported by Simon Josefsson <simon@josefsson.org>
18112         and Nelson H. F. Beebe <beebe@math.utah.edu>.
18113
18114 2009-12-30  Eric Blake  <ebb9@byu.net>
18115
18116         futimens, utimensat: work around ntfs-3g bug
18117         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
18118         a ctime bug is present, and expand workaround to cover ntfs-3g.
18119         * lib/utimens.c (fdutimens, lutimens): Likewise.
18120         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
18121         (validate_timespec): Adjust return value.
18122         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
18123         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18124         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
18125
18126 2009-12-29  Eric Blake  <ebb9@byu.net>
18127
18128         link-warning: make usage consistent
18129         * modules/ctype (Depends-on): Add link-warning.
18130         (Makefile.am): Update rules accordingly.
18131         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18132         * modules/locale (Depends-on, Makefile.am): Likewise.
18133         * modules/sys_file (Makefile.am): Likewise.
18134         * modules/getopt-posix (Makefile.am): Delete unused link warning
18135         efforts.
18136         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
18137         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
18138         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
18139         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
18140
18141         stdio: remove unused variables
18142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
18143         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
18144         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18145
18146         tests: test more substitute headers
18147         * modules/ctype-tests: New file.
18148         * modules/dirent-tests: Likewise.
18149         * modules/spawn-tests: Likewise.
18150         * modules/sys_file-tests: Likewise.
18151         * modules/sys_ioctl-tests: Likewise.
18152         * modules/sys_wait-tests: Likewise.
18153         * tests/test-ctype.c: Likewise.
18154         * tests/test-dirent.c: Likewise.
18155         * tests/test-spawn.c: Likewise.
18156         * tests/test-sys_file.c: Likewise.
18157         * tests/test-sys_ioctl.c: Likewise.
18158         * tests/test-sys_wait.c: Likewise.
18159         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
18160         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
18161         whether or not flock is in use.
18162
18163         tests: remove License section from module
18164         * modules/arpa_inet-tests: Remove unneeded section.
18165         * modules/byteswap-tests: Likewise.
18166         * modules/ceilf-tests: Likewise.
18167         * modules/ceill-tests: Likewise.
18168         * modules/crypto/des-tests: Likewise.
18169         * modules/crypto/gc-arcfour-tests: Likewise.
18170         * modules/crypto/gc-arctwo-tests: Likewise.
18171         * modules/crypto/gc-des-tests: Likewise.
18172         * modules/crypto/gc-hmac-md5-tests: Likewise.
18173         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18174         * modules/crypto/gc-md2-tests: Likewise.
18175         * modules/crypto/gc-md4-tests: Likewise.
18176         * modules/crypto/gc-md5-tests: Likewise.
18177         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18178         * modules/crypto/gc-rijndael-tests: Likewise.
18179         * modules/crypto/gc-sha1-tests: Likewise.
18180         * modules/crypto/gc-tests: Likewise.
18181         * modules/crypto/md2-tests: Likewise.
18182         * modules/crypto/md4-tests: Likewise.
18183         * modules/fcntl-h-tests: Likewise.
18184         * modules/floorf-tests: Likewise.
18185         * modules/floorl-tests: Likewise.
18186         * modules/frexp-nolibm-tests: Likewise.
18187         * modules/frexp-tests: Likewise.
18188         * modules/frexpl-nolibm-tests: Likewise.
18189         * modules/frexpl-tests: Likewise.
18190         * modules/getaddrinfo-tests: Likewise.
18191         * modules/inttypes-tests: Likewise.
18192         * modules/isfinite-tests: Likewise.
18193         * modules/isinf-tests: Likewise.
18194         * modules/ldexpl-tests: Likewise.
18195         * modules/locale-tests: Likewise.
18196         * modules/math-tests: Likewise.
18197         * modules/netdb-tests: Likewise.
18198         * modules/netinet_in-tests: Likewise.
18199         * modules/printf-frexp-tests: Likewise.
18200         * modules/printf-frexpl-tests: Likewise.
18201         * modules/priv-set-tests: Likewise.
18202         * modules/random_r-tests: Likewise.
18203         * modules/round-tests: Likewise.
18204         * modules/roundf-tests: Likewise.
18205         * modules/roundl-tests: Likewise.
18206         * modules/search-tests: Likewise.
18207         * modules/select-tests: Likewise.
18208         * modules/signal-tests: Likewise.
18209         * modules/stdbool-tests: Likewise.
18210         * modules/stddef-tests: Likewise.
18211         * modules/stdint-tests: Likewise.
18212         * modules/stdio-tests: Likewise.
18213         * modules/stdlib-tests: Likewise.
18214         * modules/string-tests: Likewise.
18215         * modules/strings-tests: Likewise.
18216         * modules/sys_select-tests: Likewise.
18217         * modules/sys_socket-tests: Likewise.
18218         * modules/sys_stat-tests: Likewise.
18219         * modules/sys_time-tests: Likewise.
18220         * modules/sys_utsname-tests: Likewise.
18221         * modules/sysexits-tests: Likewise.
18222         * modules/time-tests: Likewise.
18223         * modules/trunc-tests: Likewise.
18224         * modules/truncf-tests: Likewise.
18225         * modules/truncl-tests: Likewise.
18226         * modules/tsearch-tests: Likewise.
18227         * modules/unistd-tests: Likewise.
18228         * modules/wchar-tests: Likewise.
18229         * modules/wctype-tests: Likewise.
18230
18231         tests: fix license on several tests
18232         * tests/test-des.c: Update to GPLv3+.
18233         * tests/test-flock.c: Likewise.
18234         * tests/test-fsync.c: Likewise.
18235         * tests/test-futimens.h: Likewise.
18236         * tests/test-gc-arcfour.c: Likewise.
18237         * tests/test-gc-arctwo.c: Likewise.
18238         * tests/test-gc-des.c: Likewise.
18239         * tests/test-gc-hmac-md5.c: Likewise.
18240         * tests/test-gc-hmac-sha1.c: Likewise.
18241         * tests/test-gc-md2.c: Likewise.
18242         * tests/test-gc-md4.c: Likewise.
18243         * tests/test-gc-md5.c: Likewise.
18244         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18245         * tests/test-gc-rijndael.c: Likewise.
18246         * tests/test-gc-sha1.c: Likewise.
18247         * tests/test-gc.c: Likewise.
18248         * tests/test-getcwd.c: Likewise.
18249         * tests/test-link.c: Likewise.
18250         * tests/test-link.h: Likewise.
18251         * tests/test-lutimens.h: Likewise.
18252         * tests/test-md2.c: Likewise.
18253         * tests/test-md4.c: Likewise.
18254         * tests/test-mkdir.h: Likewise.
18255         * tests/test-rename.c: Likewise.
18256         * tests/test-rename.h: Likewise.
18257         * tests/test-safe-alloc.c: Likewise.
18258         * tests/test-utimens-common.h: Likewise.
18259         * tests/test-utimens.h: Likewise.
18260
18261         maint: sync license texts
18262         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
18263         * doc/gpl-3.0.texi: Revert copyright year update.
18264         * doc/lgpl-3.0.texi: Likewise.
18265
18266 2009-12-29  Jim Meyering  <meyering@redhat.com>
18267
18268         update nearly all FSF copyright year lists to include 2009
18269         The files named by the following are exempted:
18270             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
18271               test -f "$dst" && { echo "$dst"; continue; }
18272               test -d "$dst" || continue
18273               echo "$dst"/$(basename "$src")
18274             done > exempt
18275             git ls-files tests/unictype >> exempt
18276         In the remaining files, convert to all-interval notation if
18277         - there is already at least one year interval like 2000-2003
18278         - the file is maintained by me
18279         - the file is in lib/uni*/, where that style already prevails
18280         Otherwise, use update-copyright's default.
18281
18282 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18283         and Eric Blake  <ebb9@byu.net>
18284
18285         tests: don't require debug system() to pass
18286         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
18287         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18288         * tests/test-unlink.h (test_unlink_func): Likewise.
18289         * tests/test-fstatat.c (main): ...into callers.
18290         * tests/test-lstat.c (main): Likewise.
18291         * tests/test-rmdir.c (main): Likewise.
18292         * tests/test-unlink.c (main): Likewise.
18293         * tests/test-unlinkat.c (main): Likewise.
18294         * tests/test-areadlink-with-size.c (main): Don't require a
18295         debug-only system call to pass, aiding cross-testing to mingw.
18296         * tests/test-areadlink.c (main): Likewise.
18297         * tests/test-areadlinkat-with-size.c (main): Likewise.
18298         * tests/test-areadlinkat.c (main): Likewise.
18299         * tests/test-canonicalize-lgpl.c (main): Likewise.
18300         * tests/test-canonicalize.c (main): Likewise.
18301         * tests/test-chown.c (main): Likewise.
18302         * tests/test-fchownat.c (main): Likewise.
18303         * tests/test-lchown.c (main): Likewise.
18304         * tests/test-fdutimensat.c (main): Likewise.
18305         * tests/test-futimens.c (main): Likewise.
18306         * tests/test-link.c (main): Likewise.
18307         * tests/test-linkat.c (main): Likewise.
18308         * tests/test-mkdir.c (main): Likewise.
18309         * tests/test-mkdirat.c (main): Likewise.
18310         * tests/test-mkfifo.c (main): Likewise.
18311         * tests/test-mkfifoat.c (main): Likewise.
18312         * tests/test-mknod.c (main): Likewise.
18313         * tests/test-readlink.c (main): Likewise.
18314         * tests/test-remove.c (main): Likewise.
18315         * tests/test-rename.c (main): Likewise.
18316         * tests/test-renameat.c (main): Likewise.
18317         * tests/test-symlink.c (main): Likewise.
18318         * tests/test-symlinkat.c (main): Likewise.
18319         * tests/test-utimens.c (main): Likewise.
18320         * tests/test-utimensat.c (main): Likewise.
18321
18322 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18323
18324         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
18325         on $(UNUSED_PARAMETER_H) to avoid build failure.
18326
18327 2009-12-28  Jim Meyering  <meyering@redhat.com>
18328
18329         update-copyright: you may specify a max. line length other than 72
18330         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18331
18332         maint: use consistent FSF copyright line syntax
18333         * lib/posixtm.c: Add missing comma in FSF copyright line.
18334         * lib/posixtm.h: Likewise.
18335         * lib/getugroups.c: Add missing ", Inc.".
18336
18337         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
18338         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
18339         FSF copyright line.  Remove trailing blanks.
18340
18341 2009-12-28  Eric Blake  <ebb9@byu.net>
18342
18343         test-dup2: reduce dependencies
18344         * modules/cloexec (Configure.ac): Set witness.
18345         * modules/dup2-tests (Depends-on): Drop cloexec.
18346         * tests/test-dup2.c (main): Skip portion of test if cloexec module
18347         not present.
18348         Suggested by Bruno Haible.
18349
18350 2009-12-26  Bruno Haible  <bruno@clisp.org>
18351
18352         Remove an unneeded dependency.
18353         * modules/fseterr (Depends-on): Remove dup2.
18354
18355 2009-12-26  Eric Blake  <ebb9@byu.net>
18356
18357         tests: use macros.h in more places
18358         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
18359         (ASSERT_STREAM): Provide default of stderr.
18360         * tests/test-dirent-safer.c: Include macros.h, using alternate
18361         stream for assertions.
18362         * tests/test-dup-safer.c: Likewise.
18363         * tests/test-freopen-safer.c: Likewise.
18364         * tests/test-getopt.c: Likewise.
18365         * tests/test-openat-safer.c: Likewise.
18366         * tests/test-pipe.c: Likewise.
18367         * tests/test-popen-safer.c: Likewise.
18368         * modules/dirent-safer-tests (Files): Include macros.h.
18369         * modules/unistd-safer-tests (Files): Likewise.
18370         * modules/freopen-safer-tests (Files): Likewise.
18371         * modules/getopt-posix-tests (Files): Likewise.
18372         * modules/openat-safer-tests (Files): Likewise.
18373         * modules/pipe-tests (Files): Likewise.
18374
18375 2009-12-26  Bruno Haible  <bruno@clisp.org>
18376
18377         javacomp: Portability fix.
18378         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
18379         that it also works on Solaris.
18380
18381 2009-12-26  Bruno Haible  <bruno@clisp.org>
18382
18383         localename: Fix storage allocation of gl_locale_name_thread's result.
18384         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
18385         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
18386         all platforms that have 'uselocale'.
18387         (gl_locale_name_thread_unsafe): New function, extracted from
18388         gl_locale_name_thread.
18389         (gl_locale_name_thread): Call struniq on all platforms that have
18390         'uselocale'.
18391         * tests/test-localename.c (test_locale_name_thread): Check that the
18392         resulting strings are permanently allocated.
18393         * modules/localename-tests (Depends-on): Add strdup.
18394
18395 2009-12-26  Bruno Haible  <bruno@clisp.org>
18396
18397         * tests/test-localename.c (categories): Fill in the strings.
18398
18399 2009-12-26  Jim Meyering  <meyering@redhat.com>
18400
18401         isdir: complete the removal of m4/isdir.m4
18402         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
18403
18404         isdir: clean up, since at least grep still uses it
18405         * lib/isdir.c: Include "isdir.h".
18406         (S_ISDIR): Remove now-unneeded definition.
18407         * modules/isdir (Files): Add lib/isdir.h.
18408         * lib/isdir.h: New file, with declaration.
18409         * m4/isdir.m4: Remove file -- unneeded.
18410
18411 2009-12-25  Bruno Haible  <bruno@clisp.org>
18412
18413         selinux-h: Make generated .h files standalone.
18414         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
18415         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
18416         * lib/se-selinux.in.h: Likewise.
18417         * modules/selinux-h (Depends-on): Add unused-parameter.
18418         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
18419         selinux/selinux.h and selinux/context.h.
18420         Suggested by Eric Blake.
18421
18422 2009-12-25  Bruno Haible  <bruno@clisp.org>
18423
18424         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
18425         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
18426         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
18427         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
18428         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
18429
18430 2009-12-24  Bruno Haible  <bruno@clisp.org>
18431
18432         openat: Fix warning.
18433         * lib/openat-proc.c: Include <unistd.h>.
18434
18435 2009-12-24  Bruno Haible  <bruno@clisp.org>
18436
18437         New module 'unused-parameter'.
18438         * build-aux/unused-parameter.h: New file, extracted from earlier
18439         gnulib-common.m4.
18440         * modules/unused-parameter: New file.
18441         * lib/unistr.h: Include unused-parameter.h.
18442         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
18443         _GL_UNUSED.
18444         * modules/unistr/base (Depends-on): Add unused-parameter.
18445
18446 2009-12-24  Bruno Haible  <bruno@clisp.org>
18447
18448         Add missing dependencies to 'extensions' module.
18449         * m4/extensions.m4: Add comment.
18450         * modules/accept4 (Depends-on): Add extensions.
18451         * modules/dup3 (Depends-on): Likewise.
18452         * modules/fcntl (Depends-on): Likewise.
18453         * modules/futimens (Depends-on): Likewise.
18454         * modules/mknod (Depends-on): Likewise.
18455         * modules/pipe2 (Depends-on): Likewise.
18456         * modules/stat-time (Depends-on): Likewise.
18457         * modules/strcasestr-simple (Depends-on): Likewise.
18458         * modules/strsignal (Depends-on): Likewise.
18459         * modules/utimensat (Depends-on): Likewise.
18460         * modules/localcharset (Depends-on): Likewise. Needed because of
18461         gl_FCNTL_O_FLAGS.
18462         * modules/wcrtomb (Depends-on): Likewise. Needed because of
18463         AC_TYPE_MBSTATE_T.
18464         * modules/wcsnrtombs (Depends-on): Likewise.
18465         * modules/wcsrtombs (Depends-on): Likewise.
18466
18467 2009-12-24  Bruno Haible  <bruno@clisp.org>
18468
18469         binary-io: Avoid gcc warning due to SET_BINARY.
18470         * lib/binary-io.h (SET_BINARY): Cast the result to void.
18471         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
18472
18473 2009-12-24  Bruno Haible  <bruno@clisp.org>
18474
18475         Avoid future namespace pollution on glibc systems.
18476         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
18477         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
18478         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
18479         glibc systems.
18480
18481 2009-12-24  Bruno Haible  <bruno@clisp.org>
18482
18483         Refactor common macros used in tests.
18484         * tests/macros.h: New file.
18485         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
18486         and/or <stdlib.h>, if appropriate.
18487         (ASSERT, SIZEOF): Remove macros.
18488         * tests/test-areadlink-with-size.c: Likewise.
18489         * tests/test-areadlinkat.c: Likewise.
18490         * tests/test-areadlinkat-with-size.c: Likewise.
18491         * tests/test-argmatch.c: Likewise.
18492         * tests/test-argv-iter.c: Likewise.
18493         * tests/test-array-mergesort.c: Likewise.
18494         * tests/test-array_list.c: Likewise.
18495         * tests/test-array_oset.c: Likewise.
18496         * tests/test-avltree_list.c: Likewise.
18497         * tests/test-avltree_oset.c: Likewise.
18498         * tests/test-avltreehash_list.c: Likewise.
18499         * tests/test-base64.c: Likewise.
18500         * tests/test-binary-io.c: Likewise.
18501         * tests/test-bitrotate.c: Likewise.
18502         * tests/test-btowc.c: Likewise.
18503         * tests/test-byteswap.c: Likewise.
18504         * tests/test-c-ctype.c: Likewise.
18505         * tests/test-c-stack.c: Likewise.
18506         * tests/test-c-strcasecmp.c: Likewise.
18507         * tests/test-c-strcasestr.c: Likewise.
18508         * tests/test-c-strncasecmp.c: Likewise.
18509         * tests/test-c-strstr.c: Likewise.
18510         * tests/test-canonicalize-lgpl.c: Likewise.
18511         * tests/test-canonicalize.c: Likewise.
18512         * tests/test-carray_list.c: Likewise.
18513         * tests/test-ceilf1.c: Likewise.
18514         * tests/test-ceilf2.c: Likewise.
18515         * tests/test-ceill.c: Likewise.
18516         * tests/test-chown.c: Likewise.
18517         * tests/test-cloexec.c: Likewise.
18518         * tests/test-copy-acl.c: Likewise.
18519         * tests/test-copy-file.c: Likewise.
18520         * tests/test-count-one-bits.c: Likewise.
18521         * tests/test-dprintf-posix.c: Likewise.
18522         * tests/test-dup2.c: Likewise.
18523         * tests/test-dup3.c: Likewise.
18524         * tests/test-duplocale.c: Likewise.
18525         * tests/test-fbufmode.c: Likewise.
18526         * tests/test-fchdir.c: Likewise.
18527         * tests/test-fchownat.c: Likewise.
18528         * tests/test-fcntl-safer.c: Likewise.
18529         * tests/test-fcntl.c: Likewise.
18530         * tests/test-fdopendir.c: Likewise.
18531         * tests/test-fdutimensat.c: Likewise.
18532         * tests/test-fflush2.c: Likewise.
18533         * tests/test-file-has-acl.c: Likewise.
18534         * tests/test-filevercmp.c: Likewise.
18535         * tests/test-flock.c: Likewise.
18536         * tests/test-floorf1.c: Likewise.
18537         * tests/test-floorf2.c: Likewise.
18538         * tests/test-floorl.c: Likewise.
18539         * tests/test-fnmatch.c: Likewise.
18540         * tests/test-fopen.h: Likewise.
18541         * tests/test-fpending.c: Likewise.
18542         * tests/test-fprintf-posix.c: Likewise.
18543         * tests/test-fpurge.c: Likewise.
18544         * tests/test-freadable.c: Likewise.
18545         * tests/test-freadahead.c: Likewise.
18546         * tests/test-freading.c: Likewise.
18547         * tests/test-freadptr.c: Likewise.
18548         * tests/test-freadptr2.c: Likewise.
18549         * tests/test-freadseek.c: Likewise.
18550         * tests/test-freopen.c: Likewise.
18551         * tests/test-frexp.c: Likewise.
18552         * tests/test-frexpl.c: Likewise.
18553         * tests/test-fseek.c: Likewise.
18554         * tests/test-fseeko.c: Likewise.
18555         * tests/test-fstatat.c: Likewise.
18556         * tests/test-fstrcmp.c: Likewise.
18557         * tests/test-fsync.c: Likewise.
18558         * tests/test-ftell.c: Likewise.
18559         * tests/test-ftello.c: Likewise.
18560         * tests/test-func.c: Likewise.
18561         * tests/test-futimens.c: Likewise.
18562         * tests/test-fwritable.c: Likewise.
18563         * tests/test-fwriting.c: Likewise.
18564         * tests/test-getcwd.c: Likewise.
18565         * tests/test-getdate.c: Likewise.
18566         * tests/test-getdelim.c: Likewise.
18567         * tests/test-getdtablesize.c: Likewise.
18568         * tests/test-getgroups.c: Likewise.
18569         * tests/test-getline.c: Likewise.
18570         * tests/test-getndelim2.c: Likewise.
18571         * tests/test-glob.c: Likewise.
18572         * tests/test-hash.c: Likewise.
18573         * tests/test-i-ring.c: Likewise.
18574         * tests/test-iconv-utf.c: Likewise.
18575         * tests/test-iconv.c: Likewise.
18576         * tests/test-idpriv-drop.c: Likewise.
18577         * tests/test-idpriv-droptemp.c: Likewise.
18578         * tests/test-inet_ntop.c: Likewise.
18579         * tests/test-inet_pton.c: Likewise.
18580         * tests/test-isblank.c: Likewise.
18581         * tests/test-isfinite.c: Likewise.
18582         * tests/test-isinf.c: Likewise.
18583         * tests/test-isnan.c: Likewise.
18584         * tests/test-isnand.h: Likewise.
18585         * tests/test-isnanf.h: Likewise.
18586         * tests/test-isnanl.h: Likewise.
18587         * tests/test-lchown.c: Likewise.
18588         * tests/test-ldexpl.c: Likewise.
18589         * tests/test-link.c: Likewise.
18590         * tests/test-linkat.c: Likewise.
18591         * tests/test-linked_list.c: Likewise.
18592         * tests/test-linkedhash_list.c: Likewise.
18593         * tests/test-localename.c: Likewise.
18594         * tests/test-lseek.c: Likewise.
18595         * tests/test-lstat.c: Likewise.
18596         * tests/test-mbmemcasecmp.c: Likewise.
18597         * tests/test-mbmemcasecoll.c: Likewise.
18598         * tests/test-mbrtowc.c: Likewise.
18599         * tests/test-mbscasecmp.c: Likewise.
18600         * tests/test-mbscasestr1.c: Likewise.
18601         * tests/test-mbscasestr2.c: Likewise.
18602         * tests/test-mbscasestr3.c: Likewise.
18603         * tests/test-mbscasestr4.c: Likewise.
18604         * tests/test-mbschr.c: Likewise.
18605         * tests/test-mbscspn.c: Likewise.
18606         * tests/test-mbsinit.c: Likewise.
18607         * tests/test-mbsncasecmp.c: Likewise.
18608         * tests/test-mbsnrtowcs.c: Likewise.
18609         * tests/test-mbspbrk.c: Likewise.
18610         * tests/test-mbspcasecmp.c: Likewise.
18611         * tests/test-mbsrchr.c: Likewise.
18612         * tests/test-mbsrtowcs.c: Likewise.
18613         * tests/test-mbsspn.c: Likewise.
18614         * tests/test-mbsstr1.c: Likewise.
18615         * tests/test-mbsstr2.c: Likewise.
18616         * tests/test-mbsstr3.c: Likewise.
18617         * tests/test-memchr.c: Likewise.
18618         * tests/test-memchr2.c: Likewise.
18619         * tests/test-memcmp.c: Likewise.
18620         * tests/test-memmem.c: Likewise.
18621         * tests/test-memrchr.c: Likewise.
18622         * tests/test-mkdir.c: Likewise.
18623         * tests/test-mkdirat.c: Likewise.
18624         * tests/test-mkfifo.c: Likewise.
18625         * tests/test-mkfifoat.c: Likewise.
18626         * tests/test-mknod.c: Likewise.
18627         * tests/test-nanosleep.c: Likewise.
18628         * tests/test-nl_langinfo.c: Likewise.
18629         * tests/test-obstack-printf.c: Likewise.
18630         * tests/test-open.c: Likewise.
18631         * tests/test-openat.c: Likewise.
18632         * tests/test-pipe-filter-gi1.c: Likewise.
18633         * tests/test-pipe-filter-gi2-main.c: Likewise.
18634         * tests/test-pipe-filter-ii1.c: Likewise.
18635         * tests/test-pipe-filter-ii2-main.c: Likewise.
18636         * tests/test-pipe2.c: Likewise.
18637         * tests/test-popen.h: Likewise.
18638         * tests/test-posixtm.c: Likewise.
18639         * tests/test-pread.c: Likewise.
18640         * tests/test-printf-frexp.c: Likewise.
18641         * tests/test-printf-frexpl.c: Likewise.
18642         * tests/test-printf-posix.c: Likewise.
18643         * tests/test-priv-set.c: Likewise.
18644         * tests/test-quotearg.c: Likewise.
18645         * tests/test-random_r.c: Likewise.
18646         * tests/test-rawmemchr.c: Likewise.
18647         * tests/test-rbtree_list.c: Likewise.
18648         * tests/test-rbtree_oset.c: Likewise.
18649         * tests/test-rbtreehash_list.c: Likewise.
18650         * tests/test-readlink.c: Likewise.
18651         * tests/test-remove.c: Likewise.
18652         * tests/test-rename.c: Likewise.
18653         * tests/test-renameat.c: Likewise.
18654         * tests/test-rmdir.c: Likewise.
18655         * tests/test-round1.c: Likewise.
18656         * tests/test-roundf1.c: Likewise.
18657         * tests/test-roundl.c: Likewise.
18658         * tests/test-safe-alloc.c: Likewise.
18659         * tests/test-sameacls.c: Likewise.
18660         * tests/test-set-mode-acl.c: Likewise.
18661         * tests/test-setenv.c: Likewise.
18662         * tests/test-sigaction.c: Likewise.
18663         * tests/test-signbit.c: Likewise.
18664         * tests/test-sleep.c: Likewise.
18665         * tests/test-snprintf-posix.c: Likewise.
18666         * tests/test-snprintf.c: Likewise.
18667         * tests/test-sprintf-posix.c: Likewise.
18668         * tests/test-stat-time.c: Likewise.
18669         * tests/test-stat.c: Likewise.
18670         * tests/test-strcasestr.c: Likewise.
18671         * tests/test-strchrnul.c: Likewise.
18672         * tests/test-strerror.c: Likewise.
18673         * tests/test-striconv.c: Likewise.
18674         * tests/test-striconveh.c: Likewise.
18675         * tests/test-striconveha.c: Likewise.
18676         * tests/test-strsignal.c: Likewise.
18677         * tests/test-strstr.c: Likewise.
18678         * tests/test-strtod.c: Likewise.
18679         * tests/test-strverscmp.c: Likewise.
18680         * tests/test-symlink.c: Likewise.
18681         * tests/test-symlinkat.c: Likewise.
18682         * tests/test-trunc1.c: Likewise.
18683         * tests/test-trunc2.c: Likewise.
18684         * tests/test-truncf1.c: Likewise.
18685         * tests/test-truncf2.c: Likewise.
18686         * tests/test-truncl.c: Likewise.
18687         * tests/test-uname.c: Likewise.
18688         * tests/test-unlink.c: Likewise.
18689         * tests/test-unlinkat.c: Likewise.
18690         * tests/test-unsetenv.c: Likewise.
18691         * tests/test-usleep.c: Likewise.
18692         * tests/test-utimens.c: Likewise.
18693         * tests/test-utimensat.c: Likewise.
18694         * tests/test-vasnprintf-posix.c: Likewise.
18695         * tests/test-vasnprintf-posix2.c: Likewise.
18696         * tests/test-vasnprintf.c: Likewise.
18697         * tests/test-vasprintf-posix.c: Likewise.
18698         * tests/test-vasprintf.c: Likewise.
18699         * tests/test-vdprintf-posix.c: Likewise.
18700         * tests/test-vfprintf-posix.c: Likewise.
18701         * tests/test-vprintf-posix.c: Likewise.
18702         * tests/test-vsnprintf-posix.c: Likewise.
18703         * tests/test-vsnprintf.c: Likewise.
18704         * tests/test-vsprintf-posix.c: Likewise.
18705         * tests/test-wcrtomb.c: Likewise.
18706         * tests/test-wcsnrtombs.c: Likewise.
18707         * tests/test-wcsrtombs.c: Likewise.
18708         * tests/test-wctype.c: Likewise.
18709         * tests/test-wcwidth.c: Likewise.
18710         * tests/test-xfprintf-posix.c: Likewise.
18711         * tests/test-xmemdup0.c: Likewise.
18712         * tests/test-xprintf-posix.c: Likewise.
18713         * tests/test-xvasprintf.c: Likewise.
18714         * tests/unicase/test-locale-language.c: Likewise.
18715         * tests/unicase/test-mapping-part1.h: Likewise.
18716         * tests/unicase/test-predicate-part1.h: Likewise.
18717         * tests/unicase/test-u8-casecmp.c: Likewise.
18718         * tests/unicase/test-u8-casecoll.c: Likewise.
18719         * tests/unicase/test-u8-casefold.c: Likewise.
18720         * tests/unicase/test-u8-is-cased.c: Likewise.
18721         * tests/unicase/test-u8-is-casefolded.c: Likewise.
18722         * tests/unicase/test-u8-is-lowercase.c: Likewise.
18723         * tests/unicase/test-u8-is-titlecase.c: Likewise.
18724         * tests/unicase/test-u8-is-uppercase.c: Likewise.
18725         * tests/unicase/test-u8-tolower.c: Likewise.
18726         * tests/unicase/test-u8-totitle.c: Likewise.
18727         * tests/unicase/test-u8-toupper.c: Likewise.
18728         * tests/unicase/test-u16-casecmp.c: Likewise.
18729         * tests/unicase/test-u16-casecoll.c: Likewise.
18730         * tests/unicase/test-u16-casefold.c: Likewise.
18731         * tests/unicase/test-u16-is-cased.c: Likewise.
18732         * tests/unicase/test-u16-is-casefolded.c: Likewise.
18733         * tests/unicase/test-u16-is-lowercase.c: Likewise.
18734         * tests/unicase/test-u16-is-titlecase.c: Likewise.
18735         * tests/unicase/test-u16-is-uppercase.c: Likewise.
18736         * tests/unicase/test-u16-tolower.c: Likewise.
18737         * tests/unicase/test-u16-totitle.c: Likewise.
18738         * tests/unicase/test-u16-toupper.c: Likewise.
18739         * tests/unicase/test-u32-casecmp.c: Likewise.
18740         * tests/unicase/test-u32-casecoll.c: Likewise.
18741         * tests/unicase/test-u32-casefold.c: Likewise.
18742         * tests/unicase/test-u32-is-cased.c: Likewise.
18743         * tests/unicase/test-u32-is-casefolded.c: Likewise.
18744         * tests/unicase/test-u32-is-lowercase.c: Likewise.
18745         * tests/unicase/test-u32-is-titlecase.c: Likewise.
18746         * tests/unicase/test-u32-is-uppercase.c: Likewise.
18747         * tests/unicase/test-u32-tolower.c: Likewise.
18748         * tests/unicase/test-u32-totitle.c: Likewise.
18749         * tests/unicase/test-u32-toupper.c: Likewise.
18750         * tests/unicase/test-ulc-casecmp.c: Likewise.
18751         * tests/unicase/test-ulc-casecoll.c: Likewise.
18752         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18753         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18754         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18755         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18756         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18757         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18758         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18759         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18760         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18761         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18762         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18763         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18764         * tests/unictype/test-bidi_byname.c: Likewise.
18765         * tests/unictype/test-bidi_name.c: Likewise.
18766         * tests/unictype/test-bidi_of.c: Likewise.
18767         * tests/unictype/test-bidi_test.c: Likewise.
18768         * tests/unictype/test-block_list.c: Likewise.
18769         * tests/unictype/test-block_of.c: Likewise.
18770         * tests/unictype/test-block_test.c: Likewise.
18771         * tests/unictype/test-categ_and.c: Likewise.
18772         * tests/unictype/test-categ_and_not.c: Likewise.
18773         * tests/unictype/test-categ_byname.c: Likewise.
18774         * tests/unictype/test-categ_name.c: Likewise.
18775         * tests/unictype/test-categ_none.c: Likewise.
18776         * tests/unictype/test-categ_of.c: Likewise.
18777         * tests/unictype/test-categ_or.c: Likewise.
18778         * tests/unictype/test-categ_test_withtable.c: Likewise.
18779         * tests/unictype/test-combining.c: Likewise.
18780         * tests/unictype/test-decdigit.c: Likewise.
18781         * tests/unictype/test-digit.c: Likewise.
18782         * tests/unictype/test-mirror.c: Likewise.
18783         * tests/unictype/test-numeric.c: Likewise.
18784         * tests/unictype/test-pr_byname.c: Likewise.
18785         * tests/unictype/test-pr_test.c: Likewise.
18786         * tests/unictype/test-predicate-part1.h: Likewise.
18787         * tests/unictype/test-scripts.c: Likewise.
18788         * tests/unictype/test-sy_c_ident.c: Likewise.
18789         * tests/unictype/test-sy_java_ident.c: Likewise.
18790         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18791         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18792         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18793         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18794         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18795         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18796         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18797         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18798         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18799         * tests/uninorm/test-compat-decomposition.c: Likewise.
18800         * tests/uninorm/test-composition.c: Likewise.
18801         * tests/uninorm/test-decomposing-form.c: Likewise.
18802         * tests/uninorm/test-decomposition.c: Likewise.
18803         * tests/uninorm/test-u8-nfc.c: Likewise.
18804         * tests/uninorm/test-u8-nfd.c: Likewise.
18805         * tests/uninorm/test-u8-nfkc.c: Likewise.
18806         * tests/uninorm/test-u8-nfkd.c: Likewise.
18807         * tests/uninorm/test-u8-normcmp.c: Likewise.
18808         * tests/uninorm/test-u8-normcoll.c: Likewise.
18809         * tests/uninorm/test-u16-nfc.c: Likewise.
18810         * tests/uninorm/test-u16-nfd.c: Likewise.
18811         * tests/uninorm/test-u16-nfkc.c: Likewise.
18812         * tests/uninorm/test-u16-nfkd.c: Likewise.
18813         * tests/uninorm/test-u16-normcmp.c: Likewise.
18814         * tests/uninorm/test-u16-normcoll.c: Likewise.
18815         * tests/uninorm/test-u32-nfc.c: Likewise.
18816         * tests/uninorm/test-u32-nfd.c: Likewise.
18817         * tests/uninorm/test-u32-nfkc.c: Likewise.
18818         * tests/uninorm/test-u32-nfkd.c: Likewise.
18819         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18820         * tests/uninorm/test-u32-normcmp.c: Likewise.
18821         * tests/uninorm/test-u32-normcoll.c: Likewise.
18822         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18823         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18824         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18825         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18826         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18827         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18828         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18829         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18830         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18831         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18832         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18833         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18834         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18835         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18836         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18837         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18838         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18839         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18840         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18841         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18842         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18843         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18844         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18845         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18846         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18847         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18848         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18849         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18850         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18851         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18852         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18853         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18854         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18855         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18856         * tests/uniwidth/test-u8-width.c: Likewise.
18857         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18858         * tests/uniwidth/test-u16-width.c: Likewise.
18859         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18860         * tests/uniwidth/test-u32-width.c: Likewise.
18861         * tests/uniwidth/test-uc_width.c: Likewise.
18862         * tests/uniwidth/test-uc_width2.c: Likewise.
18863         * modules/acl-tests (Files): Add tests/macros.h.
18864         * modules/areadlink-tests (Files): Likewise.
18865         * modules/areadlink-with-size-tests (Files): Likewise.
18866         * modules/areadlinkat-tests (Files): Likewise.
18867         * modules/areadlinkat-with-size-tests (Files): Likewise.
18868         * modules/argmatch-tests (Files): Likewise.
18869         * modules/argv-iter-tests (Files): Likewise.
18870         * modules/array-list-tests (Files): Likewise.
18871         * modules/array-mergesort-tests (Files): Likewise.
18872         * modules/array-oset-tests (Files): Likewise.
18873         * modules/avltree-list-tests (Files): Likewise.
18874         * modules/avltree-oset-tests (Files): Likewise.
18875         * modules/avltreehash-list-tests (Files): Likewise.
18876         * modules/base64-tests (Files): Likewise.
18877         * modules/binary-io-tests (Files): Likewise.
18878         * modules/bitrotate-tests (Files): Likewise.
18879         * modules/btowc-tests (Files): Likewise.
18880         * modules/byteswap-tests (Files): Likewise.
18881         * modules/c-ctype-tests (Files): Likewise.
18882         * modules/c-stack-tests (Files): Likewise.
18883         * modules/c-strcase-tests (Files): Likewise.
18884         * modules/c-strcasestr-tests (Files): Likewise.
18885         * modules/c-strstr-tests (Files): Likewise.
18886         * modules/canonicalize-lgpl-tests (Files): Likewise.
18887         * modules/canonicalize-tests (Files): Likewise.
18888         * modules/carray-list-tests (Files): Likewise.
18889         * modules/ceilf-tests (Files): Likewise.
18890         * modules/ceill-tests (Files): Likewise.
18891         * modules/chown-tests (Files): Likewise.
18892         * modules/cloexec-tests (Files): Likewise.
18893         * modules/copy-file-tests (Files): Likewise.
18894         * modules/count-one-bits-tests (Files): Likewise.
18895         * modules/dprintf-posix-tests (Files): Likewise.
18896         * modules/dup2-tests (Files): Likewise.
18897         * modules/dup3-tests (Files): Likewise.
18898         * modules/duplocale-tests (Files): Likewise.
18899         * modules/fbufmode-tests (Files): Likewise.
18900         * modules/fchdir-tests (Files): Likewise.
18901         * modules/fcntl-safer-tests (Files): Likewise.
18902         * modules/fcntl-tests (Files): Likewise.
18903         * modules/fdopendir-tests (Files): Likewise.
18904         * modules/fdutimensat-tests (Files): Likewise.
18905         * modules/fflush-tests (Files): Likewise.
18906         * modules/filevercmp-tests (Files): Likewise.
18907         * modules/flock-tests (Files): Likewise.
18908         * modules/floorf-tests (Files): Likewise.
18909         * modules/floorl-tests (Files): Likewise.
18910         * modules/fnmatch-tests (Files): Likewise.
18911         * modules/fopen-safer-tests (Files): Likewise.
18912         * modules/fopen-tests (Files): Likewise.
18913         * modules/fpending-tests (Files): Likewise.
18914         * modules/fprintf-posix-tests (Files): Likewise.
18915         * modules/fpurge-tests (Files): Likewise.
18916         * modules/freadable-tests (Files): Likewise.
18917         * modules/freadahead-tests (Files): Likewise.
18918         * modules/freading-tests (Files): Likewise.
18919         * modules/freadptr-tests (Files): Likewise.
18920         * modules/freadseek-tests (Files): Likewise.
18921         * modules/freopen-tests (Files): Likewise.
18922         * modules/frexp-nolibm-tests (Files): Likewise.
18923         * modules/frexp-tests (Files): Likewise.
18924         * modules/frexpl-nolibm-tests (Files): Likewise.
18925         * modules/frexpl-tests (Files): Likewise.
18926         * modules/fseek-tests (Files): Likewise.
18927         * modules/fseeko-tests (Files): Likewise.
18928         * modules/fstrcmp-tests (Files): Likewise.
18929         * modules/fsync-tests (Files): Likewise.
18930         * modules/ftell-tests (Files): Likewise.
18931         * modules/ftello-tests (Files): Likewise.
18932         * modules/func-tests (Files): Likewise.
18933         * modules/futimens-tests (Files): Likewise.
18934         * modules/fwritable-tests (Files): Likewise.
18935         * modules/fwriting-tests (Files): Likewise.
18936         * modules/getcwd-tests (Files): Likewise.
18937         * modules/getdate-tests (Files): Likewise.
18938         * modules/getdelim-tests (Files): Likewise.
18939         * modules/getdtablesize-tests (Files): Likewise.
18940         * modules/getgroups-tests (Files): Likewise.
18941         * modules/getline-tests (Files): Likewise.
18942         * modules/getndelim2-tests (Files): Likewise.
18943         * modules/glob-tests (Files): Likewise.
18944         * modules/hash-tests (Files): Likewise.
18945         * modules/i-ring-tests (Files): Likewise.
18946         * modules/iconv-tests (Files): Likewise.
18947         * modules/iconv_open-utf-tests (Files): Likewise.
18948         * modules/idpriv-drop-tests (Files): Likewise.
18949         * modules/idpriv-droptemp-tests (Files): Likewise.
18950         * modules/inet_ntop-tests (Files): Likewise.
18951         * modules/inet_pton-tests (Files): Likewise.
18952         * modules/isblank-tests (Files): Likewise.
18953         * modules/isfinite-tests (Files): Likewise.
18954         * modules/isinf-tests (Files): Likewise.
18955         * modules/isnan-tests (Files): Likewise.
18956         * modules/isnand-nolibm-tests (Files): Likewise.
18957         * modules/isnand-tests (Files): Likewise.
18958         * modules/isnanf-nolibm-tests (Files): Likewise.
18959         * modules/isnanf-tests (Files): Likewise.
18960         * modules/isnanl-nolibm-tests (Files): Likewise.
18961         * modules/isnanl-tests (Files): Likewise.
18962         * modules/lchown-tests (Files): Likewise.
18963         * modules/ldexpl-tests (Files): Likewise.
18964         * modules/link-tests (Files): Likewise.
18965         * modules/linkat-tests (Files): Likewise.
18966         * modules/linked-list-tests (Files): Likewise.
18967         * modules/linkedhash-list-tests (Files): Likewise.
18968         * modules/localename-tests (Files): Likewise.
18969         * modules/lseek-tests (Files): Likewise.
18970         * modules/lstat-tests (Files): Likewise.
18971         * modules/mbmemcasecmp-tests (Files): Likewise.
18972         * modules/mbmemcasecoll-tests (Files): Likewise.
18973         * modules/mbrtowc-tests (Files): Likewise.
18974         * modules/mbscasecmp-tests (Files): Likewise.
18975         * modules/mbscasestr-tests (Files): Likewise.
18976         * modules/mbschr-tests (Files): Likewise.
18977         * modules/mbscspn-tests (Files): Likewise.
18978         * modules/mbsinit-tests (Files): Likewise.
18979         * modules/mbsncasecmp-tests (Files): Likewise.
18980         * modules/mbsnrtowcs-tests (Files): Likewise.
18981         * modules/mbspbrk-tests (Files): Likewise.
18982         * modules/mbspcasecmp-tests (Files): Likewise.
18983         * modules/mbsrchr-tests (Files): Likewise.
18984         * modules/mbsrtowcs-tests (Files): Likewise.
18985         * modules/mbsspn-tests (Files): Likewise.
18986         * modules/mbsstr-tests (Files): Likewise.
18987         * modules/memchr-tests (Files): Likewise.
18988         * modules/memchr2-tests (Files): Likewise.
18989         * modules/memcmp-tests (Files): Likewise.
18990         * modules/memmem-tests (Files): Likewise.
18991         * modules/memrchr-tests (Files): Likewise.
18992         * modules/mkdir-tests (Files): Likewise.
18993         * modules/mkfifo-tests (Files): Likewise.
18994         * modules/mkfifoat-tests (Files): Likewise.
18995         * modules/mknod-tests (Files): Likewise.
18996         * modules/nanosleep-tests (Files): Likewise.
18997         * modules/nl_langinfo-tests (Files): Likewise.
18998         * modules/obstack-printf-tests (Files): Likewise.
18999         * modules/open-tests (Files): Likewise.
19000         * modules/openat-tests (Files): Likewise.
19001         * modules/pipe-filter-gi-tests (Files): Likewise.
19002         * modules/pipe-filter-ii-tests (Files): Likewise.
19003         * modules/pipe2-tests (Files): Likewise.
19004         * modules/popen-safer-tests (Files): Likewise.
19005         * modules/popen-tests (Files): Likewise.
19006         * modules/posixtm-tests (Files): Likewise.
19007         * modules/pread-tests (Files): Likewise.
19008         * modules/printf-frexp-tests (Files): Likewise.
19009         * modules/printf-frexpl-tests (Files): Likewise.
19010         * modules/printf-posix-tests (Files): Likewise.
19011         * modules/priv-set-tests (Files): Likewise.
19012         * modules/quotearg-tests (Files): Likewise.
19013         * modules/random_r-tests (Files): Likewise.
19014         * modules/rawmemchr-tests (Files): Likewise.
19015         * modules/rbtree-list-tests (Files): Likewise.
19016         * modules/rbtree-oset-tests (Files): Likewise.
19017         * modules/rbtreehash-list-tests (Files): Likewise.
19018         * modules/readlink-tests (Files): Likewise.
19019         * modules/remove-tests (Files): Likewise.
19020         * modules/rename-tests (Files): Likewise.
19021         * modules/renameat-tests (Files): Likewise.
19022         * modules/rmdir-tests (Files): Likewise.
19023         * modules/round-tests (Files): Likewise.
19024         * modules/roundf-tests (Files): Likewise.
19025         * modules/roundl-tests (Files): Likewise.
19026         * modules/safe-alloc-tests (Files): Likewise.
19027         * modules/setenv-tests (Files): Likewise.
19028         * modules/sigaction-tests (Files): Likewise.
19029         * modules/signbit-tests (Files): Likewise.
19030         * modules/sleep-tests (Files): Likewise.
19031         * modules/snprintf-posix-tests (Files): Likewise.
19032         * modules/snprintf-tests (Files): Likewise.
19033         * modules/sprintf-posix-tests (Files): Likewise.
19034         * modules/stat-tests (Files): Likewise.
19035         * modules/stat-time-tests (Files): Likewise.
19036         * modules/strcasestr-tests (Files): Likewise.
19037         * modules/strchrnul-tests (Files): Likewise.
19038         * modules/strerror-tests (Files): Likewise.
19039         * modules/striconv-tests (Files): Likewise.
19040         * modules/striconveh-tests (Files): Likewise.
19041         * modules/striconveha-tests (Files): Likewise.
19042         * modules/strsignal-tests (Files): Likewise.
19043         * modules/strstr-tests (Files): Likewise.
19044         * modules/strtod-tests (Files): Likewise.
19045         * modules/strverscmp-tests (Files): Likewise.
19046         * modules/symlink-tests (Files): Likewise.
19047         * modules/symlinkat-tests (Files): Likewise.
19048         * modules/trunc-tests (Files): Likewise.
19049         * modules/truncf-tests (Files): Likewise.
19050         * modules/truncl-tests (Files): Likewise.
19051         * modules/uname-tests (Files): Likewise.
19052         * modules/unicase/cased-tests (Files): Likewise.
19053         * modules/unicase/ignorable-tests (Files): Likewise.
19054         * modules/unicase/locale-language-tests (Files): Likewise.
19055         * modules/unicase/tolower-tests (Files): Likewise.
19056         * modules/unicase/totitle-tests (Files): Likewise.
19057         * modules/unicase/toupper-tests (Files): Likewise.
19058         * modules/unicase/u8-casecmp-tests (Files): Likewise.
19059         * modules/unicase/u8-casecoll-tests (Files): Likewise.
19060         * modules/unicase/u8-casefold-tests (Files): Likewise.
19061         * modules/unicase/u8-is-cased-tests (Files): Likewise.
19062         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
19063         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
19064         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
19065         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
19066         * modules/unicase/u8-tolower-tests (Files): Likewise.
19067         * modules/unicase/u8-totitle-tests (Files): Likewise.
19068         * modules/unicase/u8-toupper-tests (Files): Likewise.
19069         * modules/unicase/u16-casecmp-tests (Files): Likewise.
19070         * modules/unicase/u16-casecoll-tests (Files): Likewise.
19071         * modules/unicase/u16-casefold-tests (Files): Likewise.
19072         * modules/unicase/u16-is-cased-tests (Files): Likewise.
19073         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
19074         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
19075         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
19076         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
19077         * modules/unicase/u16-tolower-tests (Files): Likewise.
19078         * modules/unicase/u16-totitle-tests (Files): Likewise.
19079         * modules/unicase/u16-toupper-tests (Files): Likewise.
19080         * modules/unicase/u32-casecmp-tests (Files): Likewise.
19081         * modules/unicase/u32-casecoll-tests (Files): Likewise.
19082         * modules/unicase/u32-casefold-tests (Files): Likewise.
19083         * modules/unicase/u32-is-cased-tests (Files): Likewise.
19084         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
19085         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
19086         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
19087         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
19088         * modules/unicase/u32-tolower-tests (Files): Likewise.
19089         * modules/unicase/u32-totitle-tests (Files): Likewise.
19090         * modules/unicase/u32-toupper-tests (Files): Likewise.
19091         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
19092         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
19093         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
19094         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
19095         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
19096         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
19097         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
19098         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
19099         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
19100         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
19101         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
19102         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
19103         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
19104         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
19105         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
19106         * modules/unictype/bidicategory-name-tests (Files): Likewise.
19107         * modules/unictype/bidicategory-of-tests (Files): Likewise.
19108         * modules/unictype/bidicategory-test-tests (Files): Likewise.
19109         * modules/unictype/block-list-tests (Files): Likewise.
19110         * modules/unictype/block-of-tests (Files): Likewise.
19111         * modules/unictype/block-test-tests (Files): Likewise.
19112         * modules/unictype/category-C-tests (Files): Likewise.
19113         * modules/unictype/category-Cc-tests (Files): Likewise.
19114         * modules/unictype/category-Cf-tests (Files): Likewise.
19115         * modules/unictype/category-Cn-tests (Files): Likewise.
19116         * modules/unictype/category-Co-tests (Files): Likewise.
19117         * modules/unictype/category-Cs-tests (Files): Likewise.
19118         * modules/unictype/category-L-tests (Files): Likewise.
19119         * modules/unictype/category-Ll-tests (Files): Likewise.
19120         * modules/unictype/category-Lm-tests (Files): Likewise.
19121         * modules/unictype/category-Lo-tests (Files): Likewise.
19122         * modules/unictype/category-Lt-tests (Files): Likewise.
19123         * modules/unictype/category-Lu-tests (Files): Likewise.
19124         * modules/unictype/category-M-tests (Files): Likewise.
19125         * modules/unictype/category-Mc-tests (Files): Likewise.
19126         * modules/unictype/category-Me-tests (Files): Likewise.
19127         * modules/unictype/category-Mn-tests (Files): Likewise.
19128         * modules/unictype/category-N-tests (Files): Likewise.
19129         * modules/unictype/category-Nd-tests (Files): Likewise.
19130         * modules/unictype/category-Nl-tests (Files): Likewise.
19131         * modules/unictype/category-No-tests (Files): Likewise.
19132         * modules/unictype/category-P-tests (Files): Likewise.
19133         * modules/unictype/category-Pc-tests (Files): Likewise.
19134         * modules/unictype/category-Pd-tests (Files): Likewise.
19135         * modules/unictype/category-Pe-tests (Files): Likewise.
19136         * modules/unictype/category-Pf-tests (Files): Likewise.
19137         * modules/unictype/category-Pi-tests (Files): Likewise.
19138         * modules/unictype/category-Po-tests (Files): Likewise.
19139         * modules/unictype/category-Ps-tests (Files): Likewise.
19140         * modules/unictype/category-S-tests (Files): Likewise.
19141         * modules/unictype/category-Sc-tests (Files): Likewise.
19142         * modules/unictype/category-Sk-tests (Files): Likewise.
19143         * modules/unictype/category-Sm-tests (Files): Likewise.
19144         * modules/unictype/category-So-tests (Files): Likewise.
19145         * modules/unictype/category-Z-tests (Files): Likewise.
19146         * modules/unictype/category-Zl-tests (Files): Likewise.
19147         * modules/unictype/category-Zp-tests (Files): Likewise.
19148         * modules/unictype/category-Zs-tests (Files): Likewise.
19149         * modules/unictype/category-and-not-tests (Files): Likewise.
19150         * modules/unictype/category-and-tests (Files): Likewise.
19151         * modules/unictype/category-byname-tests (Files): Likewise.
19152         * modules/unictype/category-name-tests (Files): Likewise.
19153         * modules/unictype/category-none-tests (Files): Likewise.
19154         * modules/unictype/category-of-tests (Files): Likewise.
19155         * modules/unictype/category-or-tests (Files): Likewise.
19156         * modules/unictype/category-test-withtable-tests (Files): Likewise.
19157         * modules/unictype/combining-class-tests (Files): Likewise.
19158         * modules/unictype/ctype-alnum-tests (Files): Likewise.
19159         * modules/unictype/ctype-alpha-tests (Files): Likewise.
19160         * modules/unictype/ctype-blank-tests (Files): Likewise.
19161         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
19162         * modules/unictype/ctype-digit-tests (Files): Likewise.
19163         * modules/unictype/ctype-graph-tests (Files): Likewise.
19164         * modules/unictype/ctype-lower-tests (Files): Likewise.
19165         * modules/unictype/ctype-print-tests (Files): Likewise.
19166         * modules/unictype/ctype-punct-tests (Files): Likewise.
19167         * modules/unictype/ctype-space-tests (Files): Likewise.
19168         * modules/unictype/ctype-upper-tests (Files): Likewise.
19169         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
19170         * modules/unictype/decimal-digit-tests (Files): Likewise.
19171         * modules/unictype/digit-tests (Files): Likewise.
19172         * modules/unictype/mirror-tests (Files): Likewise.
19173         * modules/unictype/numeric-tests (Files): Likewise.
19174         * modules/unictype/property-alphabetic-tests (Files): Likewise.
19175         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
19176         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
19177         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
19178         Likewise.
19179         * modules/unictype/property-bidi-block-separator-tests (Files):
19180         Likewise.
19181         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
19182         Likewise.
19183         * modules/unictype/property-bidi-common-separator-tests (Files):
19184         Likewise.
19185         * modules/unictype/property-bidi-control-tests (Files): Likewise.
19186         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
19187         Likewise.
19188         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
19189         Likewise.
19190         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
19191         Likewise.
19192         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
19193         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
19194         Likewise.
19195         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
19196         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
19197         Likewise.
19198         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
19199         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
19200         * modules/unictype/property-bidi-segment-separator-tests (Files):
19201         Likewise.
19202         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
19203         * modules/unictype/property-byname-tests (Files): Likewise.
19204         * modules/unictype/property-combining-tests (Files): Likewise.
19205         * modules/unictype/property-composite-tests (Files): Likewise.
19206         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
19207         * modules/unictype/property-dash-tests (Files): Likewise.
19208         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
19209         * modules/unictype/property-default-ignorable-code-point-tests (Files):
19210         Likewise.
19211         * modules/unictype/property-deprecated-tests (Files): Likewise.
19212         * modules/unictype/property-diacritic-tests (Files): Likewise.
19213         * modules/unictype/property-extender-tests (Files): Likewise.
19214         * modules/unictype/property-format-control-tests (Files): Likewise.
19215         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
19216         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
19217         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
19218         * modules/unictype/property-hex-digit-tests (Files): Likewise.
19219         * modules/unictype/property-hyphen-tests (Files): Likewise.
19220         * modules/unictype/property-id-continue-tests (Files): Likewise.
19221         * modules/unictype/property-id-start-tests (Files): Likewise.
19222         * modules/unictype/property-ideographic-tests (Files): Likewise.
19223         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
19224         * modules/unictype/property-ids-trinary-operator-tests (Files):
19225         Likewise.
19226         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
19227         * modules/unictype/property-iso-control-tests (Files): Likewise.
19228         * modules/unictype/property-join-control-tests (Files): Likewise.
19229         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
19230         * modules/unictype/property-line-separator-tests (Files): Likewise.
19231         * modules/unictype/property-logical-order-exception-tests (Files):
19232         Likewise.
19233         * modules/unictype/property-lowercase-tests (Files): Likewise.
19234         * modules/unictype/property-math-tests (Files): Likewise.
19235         * modules/unictype/property-non-break-tests (Files): Likewise.
19236         * modules/unictype/property-not-a-character-tests (Files): Likewise.
19237         * modules/unictype/property-numeric-tests (Files): Likewise.
19238         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
19239         * modules/unictype/property-other-default-ignorable-code-point-tests
19240         (Files): Likewise.
19241         * modules/unictype/property-other-grapheme-extend-tests (Files):
19242         Likewise.
19243         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
19244         * modules/unictype/property-other-id-start-tests (Files): Likewise.
19245         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
19246         * modules/unictype/property-other-math-tests (Files): Likewise.
19247         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
19248         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
19249         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
19250         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
19251         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
19252         * modules/unictype/property-private-use-tests (Files): Likewise.
19253         * modules/unictype/property-punctuation-tests (Files): Likewise.
19254         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
19255         * modules/unictype/property-radical-tests (Files): Likewise.
19256         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
19257         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
19258         * modules/unictype/property-space-tests (Files): Likewise.
19259         * modules/unictype/property-terminal-punctuation-tests (Files):
19260         Likewise.
19261         * modules/unictype/property-test-tests (Files): Likewise.
19262         * modules/unictype/property-titlecase-tests (Files): Likewise.
19263         * modules/unictype/property-unassigned-code-value-tests (Files):
19264         Likewise.
19265         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
19266         * modules/unictype/property-uppercase-tests (Files): Likewise.
19267         * modules/unictype/property-variation-selector-tests (Files): Likewise.
19268         * modules/unictype/property-white-space-tests (Files): Likewise.
19269         * modules/unictype/property-xid-continue-tests (Files): Likewise.
19270         * modules/unictype/property-xid-start-tests (Files): Likewise.
19271         * modules/unictype/property-zero-width-tests (Files): Likewise.
19272         * modules/unictype/scripts-tests (Files): Likewise.
19273         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
19274         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
19275         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
19276         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
19277         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
19278         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
19279         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
19280         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
19281         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
19282         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
19283         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
19284         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
19285         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
19286         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
19287         * modules/uninorm/composition-tests (Files): Likewise.
19288         * modules/uninorm/decomposing-form-tests (Files): Likewise.
19289         * modules/uninorm/decomposition-tests (Files): Likewise.
19290         * modules/uninorm/filter-tests (Files): Likewise.
19291         * modules/uninorm/nfc-tests (Files): Likewise.
19292         * modules/uninorm/nfd-tests (Files): Likewise.
19293         * modules/uninorm/nfkc-tests (Files): Likewise.
19294         * modules/uninorm/nfkd-tests (Files): Likewise.
19295         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
19296         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
19297         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
19298         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
19299         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
19300         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
19301         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
19302         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19303         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
19304         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
19305         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
19306         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
19307         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19308         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
19309         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
19310         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
19311         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
19312         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19313         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
19314         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
19315         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
19316         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
19317         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19318         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
19319         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
19320         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
19321         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
19322         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
19323         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
19324         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
19325         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
19326         * modules/uniwidth/u8-width-tests (Files): Likewise.
19327         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
19328         * modules/uniwidth/u16-width-tests (Files): Likewise.
19329         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
19330         * modules/uniwidth/u32-width-tests (Files): Likewise.
19331         * modules/uniwidth/width-tests (Files): Likewise.
19332         * modules/unlink-tests (Files): Likewise.
19333         * modules/unsetenv-tests (Files): Likewise.
19334         * modules/usleep-tests (Files): Likewise.
19335         * modules/utimens-tests (Files): Likewise.
19336         * modules/utimensat-tests (Files): Likewise.
19337         * modules/vasnprintf-posix-tests (Files): Likewise.
19338         * modules/vasnprintf-tests (Files): Likewise.
19339         * modules/vasprintf-posix-tests (Files): Likewise.
19340         * modules/vasprintf-tests (Files): Likewise.
19341         * modules/vdprintf-posix-tests (Files): Likewise.
19342         * modules/vfprintf-posix-tests (Files): Likewise.
19343         * modules/vprintf-posix-tests (Files): Likewise.
19344         * modules/vsnprintf-posix-tests (Files): Likewise.
19345         * modules/vsnprintf-tests (Files): Likewise.
19346         * modules/vsprintf-posix-tests (Files): Likewise.
19347         * modules/wcrtomb-tests (Files): Likewise.
19348         * modules/wcsnrtombs-tests (Files): Likewise.
19349         * modules/wcsrtombs-tests (Files): Likewise.
19350         * modules/wctype-tests (Files): Likewise.
19351         * modules/wcwidth-tests (Files): Likewise.
19352         * modules/xmemdup0-tests (Files): Likewise.
19353         * modules/xprintf-posix-tests (Files): Likewise.
19354         * modules/xvasprintf-tests (Files): Likewise.
19355
19356 2009-12-24  Eric Blake  <ebb9@byu.net>
19357
19358         test-nanosleep: fix typo
19359         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
19360         patch.
19361         Reported by Bruno Haible.
19362
19363 2009-12-24  Bruno Haible  <bruno@clisp.org>
19364
19365         Reduce namespace pollution on glibc systems.
19366         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
19367         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
19368         systems.
19369         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
19370         <getopt.h> on glibc systems.
19371         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
19372         systems.
19373         * lib/fcntl.c: Include <unistd.h> here instead.
19374
19375 2009-12-24  Bruno Haible  <bruno@clisp.org>
19376
19377         * lib/stdlib.in.h (includes): Fix typo in today's commit.
19378
19379 2009-12-24  Eric Blake  <ebb9@byu.net>
19380
19381         tests: add signature checks
19382         * tests/signature.h (SIGNATURE_CHECK): New file.
19383         * modules/atexit-tests (Files): Use it.
19384         * modules/btowc-tests (Files): Likewise.
19385         * modules/canonicalize-lgpl-tests (Files): Likewise.
19386         * modules/ceilf-tests (Files): Likewise.
19387         * modules/ceill-tests (Files): Likewise.
19388         * modules/chown-tests (Files): Likewise.
19389         * modules/dprintf-posix-tests (Files): Likewise.
19390         * modules/dup2-tests (Files): Likewise.
19391         * modules/dup3-tests (Files): Likewise.
19392         * modules/duplocale-tests (Files): Likewise.
19393         * modules/fchdir-tests (Files): Likewise.
19394         * modules/fcntl-tests (Files): Likewise.
19395         * modules/fdopendir-tests (Files): Likewise.
19396         * modules/fflush-tests (Files): Likewise.
19397         * modules/flock-tests (Files): Likewise.
19398         * modules/floorf-tests (Files): Likewise.
19399         * modules/floorl-tests (Files): Likewise.
19400         * modules/fnmatch-tests (Files): Likewise.
19401         * modules/fopen-tests (Files): Likewise.
19402         * modules/fprintf-posix-tests (Files): Likewise.
19403         * modules/freopen-tests (Files): Likewise.
19404         * modules/frexp-nolibm-tests (Files): Likewise.
19405         * modules/frexp-tests (Files): Likewise.
19406         * modules/frexpl-nolibm-tests (Files): Likewise.
19407         * modules/frexpl-tests (Files): Likewise.
19408         * modules/fseek-tests (Files): Likewise.
19409         * modules/fseeko-tests (Files): Likewise.
19410         * modules/fsync-tests (Files): Likewise.
19411         * modules/ftell-tests (Files): Likewise.
19412         * modules/ftello-tests (Files): Likewise.
19413         * modules/futimens-tests (Files): Likewise.
19414         * modules/getaddrinfo-tests (Files): Likewise.
19415         * modules/getcwd-tests (Files): Likewise.
19416         * modules/getdelim-tests (Files): Likewise.
19417         * modules/getdtablesize-tests (Files): Likewise.
19418         * modules/getgroups-tests (Files): Likewise.
19419         * modules/gethostname-tests (Files): Likewise.
19420         * modules/getline-tests (Files): Likewise.
19421         * modules/getopt-posix-tests (Files): Likewise.
19422         * modules/gettimeofday-tests (Files): Likewise.
19423         * modules/glob-tests (Files): Likewise.
19424         * modules/iconv-tests (Files): Likewise.
19425         * modules/inet_ntop-tests (Files): Likewise.
19426         * modules/inet_pton-tests (Files): Likewise.
19427         * modules/isblank-tests (Files): Likewise.
19428         * modules/lchown-tests (Files): Likewise.
19429         * modules/ldexpl-tests (Files): Likewise.
19430         * modules/link-tests (Files): Likewise.
19431         * modules/linkat-tests (Files): Likewise.
19432         * modules/lseek-tests (Files): Likewise.
19433         * modules/lstat-tests (Files): Likewise.
19434         * modules/mbrtowc-tests (Files): Likewise.
19435         * modules/mbsinit-tests (Files): Likewise.
19436         * modules/mbsnrtowcs-tests (Files): Likewise.
19437         * modules/mbsrtowcs-tests (Files): Likewise.
19438         * modules/memchr-tests (Files): Likewise.
19439         * modules/memcmp-tests (Files): Likewise.
19440         * modules/memmem-tests (Files): Likewise.
19441         * modules/memrchr-tests (Files): Likewise.
19442         * modules/mkdir-tests (Files): Likewise.
19443         * modules/mkfifo-tests (Files): Likewise.
19444         * modules/mkfifoat-tests (Files): Likewise.
19445         * modules/mknod-tests (Files): Likewise.
19446         * modules/nanosleep-tests (Files): Likewise.
19447         * modules/nl_langinfo-tests (Files): Likewise.
19448         * modules/obstack-printf-tests (Files): Likewise.
19449         * modules/open-tests (Files): Likewise.
19450         * modules/openat-tests (Files): Likewise.
19451         * modules/perror-tests (Files): Likewise.
19452         * modules/pipe2-tests (Files): Likewise.
19453         * modules/poll-tests (Files): Likewise.
19454         * modules/popen-tests (Files): Likewise.
19455         * modules/posix_spawn-tests (Files): Likewise.
19456         * modules/posix_spawnp-tests (Files): Likewise.
19457         * modules/pread-tests (Files): Likewise.
19458         * modules/printf-posix-tests (Files): Likewise.
19459         * modules/pty-tests (Files): Likewise.
19460         * modules/random_r-tests (Files): Likewise.
19461         * modules/rawmemchr-tests (Files): Likewise.
19462         * modules/readlink-tests (Files): Likewise.
19463         * modules/remove-tests (Files): Likewise.
19464         * modules/rename-tests (Files): Likewise.
19465         * modules/renameat-tests (Files): Likewise.
19466         * modules/rmdir-tests (Files): Likewise.
19467         * modules/round-tests (Files): Likewise.
19468         * modules/roundf-tests (Files): Likewise.
19469         * modules/roundl-tests (Files): Likewise.
19470         * modules/select-tests (Files): Likewise.
19471         * modules/setenv-tests (Files): Likewise.
19472         * modules/sigaction-tests (Files): Likewise.
19473         * modules/sleep-tests (Files): Likewise.
19474         * modules/snprintf-posix-tests (Files): Likewise.
19475         * modules/snprintf-tests (Files): Likewise.
19476         * modules/sprintf-posix-tests (Files): Likewise.
19477         * modules/stat-tests (Files): Likewise.
19478         * modules/strcasestr-tests (Files): Likewise.
19479         * modules/strchrnul-tests (Files): Likewise.
19480         * modules/strerror-tests (Files): Likewise.
19481         * modules/strsignal-tests (Files): Likewise.
19482         * modules/strstr-tests (Files): Likewise.
19483         * modules/strtod-tests (Files): Likewise.
19484         * modules/strverscmp-tests (Files): Likewise.
19485         * modules/symlink-tests (Files): Likewise.
19486         * modules/symlinkat-tests (Files): Likewise.
19487         * modules/times-tests (Files): Likewise.
19488         * modules/trunc-tests (Files): Likewise.
19489         * modules/truncf-tests (Files): Likewise.
19490         * modules/truncl-tests (Files): Likewise.
19491         * modules/tsearch-tests (Files): Likewise.
19492         * modules/uname-tests (Files): Likewise.
19493         * modules/unlink-tests (Files): Likewise.
19494         * modules/unsetenv-tests (Files): Likewise.
19495         * modules/usleep-tests (Files): Likewise.
19496         * modules/utimensat-tests (Files): Likewise.
19497         * modules/vasprintf-tests (Files): Likewise.
19498         * modules/vdprintf-posix-tests (Files): Likewise.
19499         * modules/vfprintf-posix-tests (Files): Likewise.
19500         * modules/vprintf-posix-tests (Files): Likewise.
19501         * modules/vsnprintf-posix-tests (Files): Likewise.
19502         * modules/vsnprintf-tests (Files): Likewise.
19503         * modules/vsprintf-posix-tests (Files): Likewise.
19504         * modules/wcrtomb-tests (Files): Likewise.
19505         * modules/wcsnrtombs-tests (Files): Likewise.
19506         * modules/wcsrtombs-tests (Files): Likewise.
19507         * modules/wcwidth-tests (Files): Likewise.
19508         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
19509         * tests/test-isinf.c (isinf): Likewise.
19510         * tests/test-isnan.c (isnan): Likewise.
19511         * tests/test-signbit.c (signbit): Likewise.
19512         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
19513         declaration, either as macro or with correct signature.
19514         (select): Ensure function under test is declared with correct
19515         signature in correct header.
19516         * tests/test-atexit.c (atexit): Likewise.
19517         * tests/test-btowc.c (btowc): Likewise.
19518         * tests/test-canonicalize-lgpl.c (realpath)
19519         (canonicalize_file_name): Likewise.
19520         * tests/test-ceilf1.c (ceilf): Likewise.
19521         * tests/test-ceill.c (ceill): Likewise.
19522         * tests/test-chown.c (chown): Likewise.
19523         * tests/test-dprintf-posix.c (dprintf): Likewise.
19524         * tests/test-dup2.c (dup2): Likewise.
19525         * tests/test-dup3.c (dup3): Likewise.
19526         * tests/test-duplocale.c (duplocale): Likewise.
19527         * tests/test-fchdir.c (fchdir): Likewise.
19528         * tests/test-fchownat.c (fchownat): Likewise.
19529         * tests/test-fcntl.c (fcntl): Likewise.
19530         * tests/test-fdopendir.c (fdopendir): Likewise.
19531         * tests/test-fflush.c (fflush): Likewise.
19532         * tests/test-flock.c (flock): Likewise.
19533         * tests/test-floorf1.c (floorf): Likewise.
19534         * tests/test-floorl.c (floorl): Likewise.
19535         * tests/test-fnmatch.c (fnmatch): Likewise.
19536         * tests/test-fopen.c (fopen): Likewise.
19537         * tests/test-fprintf-posix.c (fprintf): Likewise.
19538         * tests/test-freopen.c (freopen): Likewise.
19539         * tests/test-frexp.c (frexp): Likewise.
19540         * tests/test-frexpl.c (frexpl): Likewise.
19541         * tests/test-fseek.c (fseek): Likewise.
19542         * tests/test-fseeko.c (fseeko): Likewise.
19543         * tests/test-fstatat.c (fstatat): Likewise.
19544         * tests/test-fsync.c (fsync): Likewise.
19545         * tests/test-ftell.c (ftell): Likewise.
19546         * tests/test-ftello.c (ftello): Likewise.
19547         * tests/test-futimens.c (futimens): Likewise.
19548         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
19549         (gai_strerror): Likewise.
19550         * tests/test-getcwd.c (getcwd): Likewise.
19551         * tests/test-getdelim.c (getdelim): Likewise.
19552         * tests/test-getdtablesize.c (getdtablesize): Likewise.
19553         * tests/test-getgroups.c (getgroups): Likewise.
19554         * tests/test-gethostname.c (gethostname): Likewise.
19555         * tests/test-getline.c (getline): Likewise.
19556         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
19557         Likewise.
19558         * tests/test-gettimeofday.c (gettimeofday): Likewise.
19559         * tests/test-glob.c (glob, globfree): Likewise.
19560         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
19561         * tests/test-inet_ntop.c (inet_ntop): Likewise.
19562         * tests/test-inet_pton.c (inet_pton): Likewise.
19563         * tests/test-isblank.c (isblank): Likewise.
19564         * tests/test-lchown.c (lchown): Likewise.
19565         * tests/test-ldexpl.c (ldexpl): Likewise.
19566         * tests/test-link.c (link): Likewise.
19567         * tests/test-linkat.c (linkat): Likewise.
19568         * tests/test-lseek.c (lseek): Likewise.
19569         * tests/test-lstat.c (lstat): Likewise.
19570         * tests/test-mbrtowc.c (mbrtowc): Likewise.
19571         * tests/test-mbsinit.c (mbsinit): Likewise.
19572         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
19573         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
19574         * tests/test-memchr.c (memchr): Likewise.
19575         * tests/test-memcmp.c (memcmp): Likewise.
19576         * tests/test-memmem.c (memmem): Likewise.
19577         * tests/test-memrchr.c (memrchr): Likewise.
19578         * tests/test-mkdir.c (mkdir): Likewise.
19579         * tests/test-mkdirat.c (mkdirat): Likewise.
19580         * tests/test-mkfifo.c (mkfifo): Likewise.
19581         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
19582         * tests/test-mknod.c (mknod): Likewise.
19583         * tests/test-nanosleep.c (nanosleep): Likewise.
19584         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
19585         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
19586         Likewise.
19587         * tests/test-open.c (open): Likewise.
19588         * tests/test-openat.c (openat): Likewise.
19589         * tests/test-perror.c (perror): Likewise.
19590         * tests/test-pipe2.c (pipe2): Likewise.
19591         * tests/test-poll.c (poll): Likewise.
19592         * tests/test-popen.c (popen, pclose): Likewise.
19593         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
19594         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
19595         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
19596         (posix_spawn_file_actions_destroy)
19597         (posix_spawn_file_actions_addclose)
19598         (posix_spawn_file_actions_addopen)
19599         (posix_spawn_file_actions_adddup2): Likewise.
19600         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
19601         * tests/test-pread.c (pread): Likewise.
19602         * tests/test-printf-posix.c (printf): Likewise.
19603         * tests/test-pty.c (openpty, forkpty): Likewise.
19604         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
19605         (random_r): Likewise.
19606         * tests/test-rawmemchr.c (rawmemchr): Likewise.
19607         * tests/test-readlink.c (readlink): Likewise.
19608         * tests/test-remove.c (remove): Likewise.
19609         * tests/test-rename.c (rename): Likewise.
19610         * tests/test-renameat.c (renameat): Likewise.
19611         * tests/test-rmdir.c (rmdir): Likewise.
19612         * tests/test-round1.c (round): Likewise.
19613         * tests/test-roundf1.c (roundf): Likewise.
19614         * tests/test-roundl.c (roundl): Likewise.
19615         * tests/test-setenv.c (setenv): Likewise.
19616         * tests/test-sigaction.c (sigaction): Likewise.
19617         * tests/test-sleep.c (sleep): Likewise.
19618         * tests/test-snprintf.c (snprintf): Likewise.
19619         * tests/test-sprintf-posix.c (sprintf): Likewise.
19620         * tests/test-stat.c (stat): Likewise.
19621         * tests/test-stpncpy.c (stpncpy): Likewise.
19622         * tests/test-strcasestr.c (strcasestr): Likewise.
19623         * tests/test-strchrnul.c (strchrnul): Likewise.
19624         * tests/test-strerror.c (strerror): Likewise.
19625         * tests/test-strsignal.c (strsignal): Likewise.
19626         * tests/test-strstr.c (strstr): Likewise.
19627         * tests/test-strtod.c (strtod): Likewise.
19628         * tests/test-strverscmp.c (strverscmp): Likewise.
19629         * tests/test-symlink.c (symlink): Likewise.
19630         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
19631         * tests/test-times.c (times): Likewise.
19632         * tests/test-trunc1.c (trunc): Likewise.
19633         * tests/test-truncf1.c (truncf): Likewise.
19634         * tests/test-truncl.c (truncl): Likewise.
19635         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
19636         Likewise.
19637         * tests/test-uname.c (uname): Likewise.
19638         * tests/test-unlink.c (unlink): Likewise.
19639         * tests/test-unlinkat.c (unlinkat): Likewise.
19640         * tests/test-unsetenv.c (unsetenv): Likewise.
19641         * tests/test-usleep.c (usleep): Likewise.
19642         * tests/test-utimensat.c (utimensat): Likewise.
19643         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
19644         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
19645         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
19646         * tests/test-vprintf-posix.c (vprintf): Likewise.
19647         * tests/test-vsnprintf.c (vsnprintf): Likewise.
19648         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
19649         * tests/test-wcrtomb.c (wcrtomb): Likewise.
19650         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
19651         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
19652         * tests/test-wcwidth.c (wcwidth): Likewise.
19653
19654         build: pull in conditional headers during GNULIB_POSIXCHECK
19655         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
19656         definitions from any conditionally-included headers.
19657         * lib/stdlib.in.h (includes): Likewise.
19658         * lib/unistd.in.h (includes): Likewise.
19659
19660 2009-12-24  Bruno Haible  <bruno@clisp.org>
19661
19662         * tests/test-argv-iter.c: Include header file being tested immediately
19663         after config.h.
19664         * tests/test-base64.c: Likewise.
19665         * tests/test-flock.c: Likewise.
19666         * tests/test-fsync.c: Likewise.
19667         * tests/test-getdate.c: Likewise.
19668         * tests/test-getndelim2.c: Likewise.
19669         * tests/test-isfinite.c: Likewise.
19670         * tests/test-isinf.c: Likewise.
19671         * tests/test-strerror.c: Likewise.
19672         * tests/test-strsignal.c: Likewise.
19673
19674 2009-12-23  Eric Blake  <ebb9@byu.net>
19675
19676         unistd: work around cygwin bug
19677         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
19678         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
19679         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
19680
19681 2009-12-23  Bruno Haible  <bruno@clisp.org>
19682
19683         localename: More tests.
19684         * tests/test-localename.c (SIZEOF): New macro.
19685         (categories): New variable.
19686         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
19687         test_locale_name_default): Add test w.r.t. thread locale.
19688         (test_locale_name_thread): New function.
19689         (main): Invoke it.
19690
19691         localename: Make aware of thread locale.
19692         * lib/localename.h (gl_locale_name_thread): New declaration.
19693         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
19694         behaviour with respect to thread locale.
19695         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
19696         <langinfo.h>, glthread/lock.h.
19697         (SIZE_BITS): New macro.
19698         (string_hash): New function.
19699         (struct hash_node): New type.
19700         (HASH_TABLE_SIZE): New macro.
19701         (struniq_hash_table, struniq_lock): New variables.
19702         (struniq): New function.
19703         (gl_locale_name_thread): New function.
19704         (gl_locale_name): Invoke it.
19705         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
19706         * modules/localename (Depends-on): Add lock.
19707         Reported by Mike Gran <spk121@yahoo.com>.
19708
19709 2009-12-23  Eric Blake  <ebb9@byu.net>
19710
19711         va-args: new module
19712         * modules/va-args: New file.
19713         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
19714         * MODULES.html.sh (Core language properties): Mention it.
19715
19716         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
19717         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
19718         named alias for __attribute__((__unused__)).
19719         * lib/chown.c: Update client.
19720         * lib/fchmodat.c: Likewise.
19721         * lib/fts.c: Likewise.
19722         * lib/getdate.y: Likewise.
19723         * lib/getgroups.c: Likewise.
19724         * lib/getopt.c: Likewise.
19725         * lib/getugroups.c: Likewise.
19726         * lib/mkdir.c: Likewise.
19727         * lib/mkfifo.c: Likewise.
19728         * lib/mkfifoat.c: Likewise.
19729         * lib/mknod.c: Likewise.
19730         * lib/mknodat.c: Likewise.
19731         * lib/readlink.c: Likewise.
19732         * lib/se-context.in.h: Likewise.
19733         * lib/se-selinux.in.h: Likewise.
19734         * lib/sockets.c: Likewise.
19735         * lib/symlink.c: Likewise.
19736         * lib/symlinkat.c: Likewise.
19737         * lib/unicodeio.c: Likewise.
19738         * lib/unistr.h: Likewise.
19739         * tests/test-areadlink.c: Likewise.
19740         * tests/test-areadlinkat.c: Likewise.
19741         * tests/test-filenamecat.c: Likewise.
19742         * tests/test-fseeko.c: Likewise.
19743         * tests/test-ftello.c: Likewise.
19744         * tests/test-getdate.c: Likewise.
19745         * tests/test-getgroups.c: Likewise.
19746         * tests/test-gethostname.c: Likewise.
19747         * tests/test-quotearg.c: Likewise.
19748         * tests/test-version-etc.c: Likewise.
19749         * tests/test-xalloc-die.c: Likewise.
19750         * tests/test-xfprintf-posix.c: Likewise.
19751         * tests/test-xprintf-posix.c: Likewise.
19752         * tests/test-xvasprintf.c: Likewise.
19753
19754         tests: avoid compiler warnings
19755         * tests/test-fcntl.c (main): Delete unused parameters.
19756         * tests/test-freopen-safer.c (main): Likewise.
19757         * tests/test-xalloc-die.c (main): Mark unused parameters.
19758         * tests/test-fseeko.c (main): Likewise.
19759         * tests/test-ftello.c (main): Likewise.
19760         * tests/test-nanosleep.c (main): Avoid declaration warning.
19761         * tests/test-sleep.c (main): Likewise.
19762         * tests/test-unsetenv.c (main): Silence warning about string
19763         literal.
19764         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19765
19766 2009-12-23  Bruno Haible  <bruno@clisp.org>
19767
19768         * tests/test-localename.c (test_locale_name): New function, extracted
19769         from main. Also test mixed situations.
19770         (test_locale_name_posix, test_locale_name_environ,
19771         test_locale_name_default): New functions.
19772         (main): Invoke them all.
19773         * modules/localename-tests (configure.ac): Test for newlocale.
19774
19775 2009-12-23  Bruno Haible  <bruno@clisp.org>
19776
19777         unistd: Ensure getcwd gets declared before being overridden.
19778         * lib/unistd.in.h: Conditionally include <io.h>.
19779
19780 2009-12-22  Bruno Haible  <bruno@clisp.org>
19781
19782         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19783         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19784         (gl_WCHAR_H): Invoke it.
19785         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19786         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19787         Reported by Karl Berry <karl@freefriends.org>.
19788
19789 2009-12-22  Eric Blake  <ebb9@byu.net>
19790
19791         math, unistd: avoid redundant includes
19792         * lib/math.in.h (isnan): No need to re-include <math.h>.
19793         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19794
19795         getsubopt: work around cygwin bug
19796         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19797         avoid conflicting with system getsubopt.
19798         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19799         bug.
19800
19801         getopt: synchronize from glibc
19802         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19803         parameter order.  Adjust all callers.
19804         (_getopt_internal_r, main): Adjust quoting in error messages.
19805         Drop considerations for outdated POSIX 1003.2 error message.
19806         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19807         callers.
19808         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19809
19810         test-getopt: test stderr behavior
19811         * modules/getopt-posix-tests (Depends-on): Add dup2.
19812         * tests/test-getopt.c (ASSERT): Avoid stderr.
19813         (main): Move stderr to a temporary file.
19814         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19815         Instead, add parameter to inform caller if output occurred.
19816         (test_getopt): Adjust all existing tests to expect silence, and
19817         add new tests of leading ":".
19818         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19819         glibc shortcomings with leading "-:" or "+:" in optstring.
19820         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19821         Likewise.
19822         * doc/posix-functions/getopt.texi (getopt): Likewise.
19823
19824         test-getopt: enhance test
19825         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19826         supports optind=0.
19827         * tests/test-getopt.c (OPTIND_MIN): Move...
19828         * tests/test-getopt.h (OPTIND_MIN): ...here.
19829         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19830         Require that optind=0 works, since modern BSD supports it in
19831         addition to optreset, and since coreutils expects it.
19832         (test_getopt_long_only): New test.
19833         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19834         glibc shortcomings with 'W;', and enforcement of optind=0.
19835         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19836         Likewise.
19837
19838 2009-12-21  Bruno Haible  <bruno@clisp.org>
19839
19840         localename: Improvements for MacOS X and Cygwin.
19841         * lib/localename.h (gl_locale_name_environ): New declaration.
19842         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19843         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19844         (gl_locale_name_posix): Invoke it.
19845         (gl_locale_name_default): Add comments. Use Windows native API also on
19846         Cygwin.
19847
19848 2009-12-21  Bruno Haible  <bruno@clisp.org>
19849
19850         Update list of Win32 locale ids.
19851         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19852         (LANG_SAMI): Renamed from LANG_SAAMI.
19853         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19854         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19855         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19856         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19857         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19858         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19859         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19860         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19861         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19862         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19863         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19864         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19865         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19866         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19867         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19868         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19869         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19870         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19871         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19872         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19873         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19874         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19875         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19876         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19877         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19878         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19879         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19880         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19881         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19882         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19883         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19884         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19885         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19886         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19887         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19888         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19889         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19890         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19891         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19892         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19893         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19894         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19895         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19896         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19897         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19898         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19899         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19900         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19901         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19902         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19903         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19904         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19905         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19906         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19907         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19908         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19909         Add more languages and countries for Sami, Sorbian. Add more countries
19910         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19911         for Pashto. Change country for Syriac, Tswana.
19912
19913 2009-12-21  Eric Blake  <ebb9@byu.net>
19914
19915         test-utimens: avoid spurious failure
19916         * tests/test-chown.h (nap): Factor...
19917         * tests/nap.h: ...into new file.
19918         * tests/test-lchown.h (nap): Avoid duplication.
19919         * tests/test-utimens-common.h (nap): Use shared implementation,
19920         necessary on file systems with 1-second resolution.
19921         * modules/chown-tests (Files): Include new file.
19922         * modules/fdutimensat-tests (Files): Likewise.
19923         * modules/futimens-tests (Files): Likewise.
19924         * modules/lchown-tests (Files): Likewise.
19925         * modules/openat-tests (Files): Likewise.
19926         * modules/utimens-tests (Files): Likewise.
19927         * modules/utimensat-tests (Files): Likewise.
19928
19929 2009-12-19  Eric Blake  <ebb9@byu.net>
19930
19931         futimens, utimensat: work around Linux bug
19932         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19933         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19934         * lib/utimensat.c (rpl_utimensat): Work around it.
19935         * lib/futimens.c (rpl_futimens): Adjust comment.
19936
19937         utimens: work around Linux ctime bug
19938         * lib/utimens.c (detect_ctime_bug): New helper function.
19939         (update_timespec): Differentiate between workaround needed for
19940         this bug vs. what is needed for systems that lack utimensat.
19941         (fdutimens, lutimens): Work around bug.
19942
19943         utimens: check for ctime update
19944         * tests/test-utimens-common.h (check_ctime): Define.
19945         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19946         * tests/test-futimens.h (test_futimens): Likewise.
19947         * tests/test-lutimens.h (test_lutimens): Likewise.
19948         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19949         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19950
19951 2009-12-19  Bruno Haible  <bruno@clisp.org>
19952
19953         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19954         * tests/test-dprintf-posix2.sh: New file.
19955         * tests/test-dprintf-posix2.c: New file.
19956         * modules/dprintf-posix-tests (Files): Add them.
19957         (configure.ac): Check for getrlimit and setrlimit.
19958         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19959
19960 2009-12-19  Bruno Haible  <bruno@clisp.org>
19961
19962         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19963         * tests/test-fprintf-posix3.sh: New file.
19964         * tests/test-fprintf-posix3.c: New file.
19965         * modules/fprintf-posix-tests (Files): Add them.
19966         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19967
19968 2009-12-19  Eric Blake  <ebb9@byu.net>
19969
19970         dirfd: fix prototype
19971         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19972         * lib/dirfd.c (dirfd): Likewise.
19973
19974         canonicalize: reduce memory usage
19975         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19976         allocation to size.
19977         Reported by Solar Designer <solar@openwall.com>.
19978
19979 2009-12-19  Bruno Haible  <bruno@clisp.org>
19980
19981         New module attribute 'Applicability'.
19982         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19983         * gnulib-tool: New option --extract-applicability.
19984         (func_usage): Document it.
19985         (sed_extract_prog): Recognize it.
19986         (func_get_applicability): New function.
19987         (func_import): Generalize handling of 'link-warning' module.
19988         * modules/link-warning (Applicability): New section.
19989         * modules/arg-nonnull (Applicability): New section.
19990         Repoted by Simon Josefsson <simon@josefsson.org>.
19991
19992 2009-12-19  Bruno Haible  <bruno@clisp.org>
19993
19994         fflush: tweak
19995         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19996         * lib/fseeko.c (rpl_fseeko): Likewise.
19997
19998 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19999
20000         * lib/gl_list.h: Fix typo in comment.
20001
20002 2009-12-16  Eric Blake  <ebb9@byu.net>
20003
20004         fcntl: use to simplify other modules
20005         * modules/cloexec (Depends-on): Add fcntl.
20006         * modules/fchdir (Depends-on): Likewise.
20007         * modules/fd-safer-flag (Depends-on): Likewise.
20008         * modules/unistd-safer (Depends-on): Likewise.
20009         * modules/dup3 (configure.ac): Set module indicator.
20010         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
20011         missing.
20012         * lib/fchdir.c (_gl_register_dup): Fix comment.
20013         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
20014         * lib/dup-safer.c (dup_safer): Likewise.
20015         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
20016         * lib/dup3.c (dup3): Likewise.
20017         * tests/test-fchdir.c (main): Enhance test.
20018         Fixes a dup_cloexec bug reported by Ondřej Vašík.
20019
20020         fcntl: port portions of fcntl to mingw
20021         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
20022         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
20023         replacement for mingw.
20024         * modules/fcntl (Description): Update.
20025         (Depends-on): Add dup2.
20026         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
20027         * modules/fcntl-h (Makefile.am): Substitute it.
20028         * lib/fcntl.in.h (fcntl): Update declaration.
20029         (F_DUPFD, F_GETFD): New macros, when needed.
20030         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
20031         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
20032         * tests/test-fcntl.c (check_flags, main): Enhance test for items
20033         we now guarantee.
20034
20035         fcntl: work around cygwin bug in F_DUPFD
20036         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
20037         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
20038         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
20039         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
20040         * doc/posix-functions/fcntl.texi (fcntl): Document it.
20041
20042         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
20043         * modules/fcntl (Files): List new files.
20044         (configure.ac): Run a test.
20045         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
20046         * lib/fcntl.c (rpl_fcntl): Likewise.
20047         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
20048         (gl_FCNTL_H): Always replace fcntl.h.
20049         * modules/fcntl-h (Makefile.am): Substitute witnesses.
20050         * lib/fcntl.in.h (fcntl): Declare replacement.
20051         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
20052         needed, plus a witness.
20053         * doc/posix-functions/fcntl.texi (fcntl): Document this.
20054         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
20055         * tests/test-fcntl.c: New file.
20056         * modules/fcntl-tests: Likewise.
20057
20058         binary-io: avoid potential compilation warning
20059         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
20060         directives.
20061
20062         fflush: avoid compilation error on NetBSD
20063         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
20064         between off_t and fpos_t, since the latter is sometimes a struct.
20065         * lib/fseeko.c (rpl_fseeko): Likewise.
20066         Reported by Alexander Nasonov <alnsn@yandex.ru>.
20067
20068 2009-12-15  Eric Blake  <ebb9@byu.net>
20069
20070         fcntl-h, stdio, sys_ioctl: fix declarations
20071         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
20072         function must not take arguments.
20073         * lib/sys_ioctl.in.h (ioctl): Likewise.
20074         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
20075         (open): Add a link warning.
20076
20077 2009-12-15  Jim Meyering  <meyering@redhat.com>
20078
20079         areadlink, areadlink-with-size: relax license to LGPLv2+
20080         * modules/areadlink (License): Relax to LGPLv2+.
20081         * modules/areadlink-with-size (License): Likewise.
20082
20083 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
20084             Bruno Haible  <bruno@clisp.org>
20085
20086         *printf: Fix memory leak.
20087         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
20088         * lib/vfprintf.c (vfprintf): Likewise.
20089         * lib/dprintf.c (dprintf): Likewise.
20090         * lib/vdprintf.c (vdprintf): Likewise.
20091
20092 2009-12-14  Eric Blake  <ebb9@byu.net>
20093
20094         accept4: adjust module dependencies
20095         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
20096
20097         utimens: one more try at avoiding compiler warning
20098         * lib/utimens.c (lutimens): Lower scope of result.
20099
20100 2009-12-13  Bruno Haible  <bruno@clisp.org>
20101
20102         Move the malloc checking from module 'list' to new module 'xlist'.
20103         * modules/xlist: New file.
20104         * lib/gl_xlist.h: New file.
20105         * lib/gl_xlist.c: New file.
20106         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
20107         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
20108         gl_list_add_last, gl_list_add_before, gl_list_add_after,
20109         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
20110         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
20111         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
20112         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
20113         gl_sortedlist_nx_add): New declarations.
20114         (struct gl_list_implementation): Rename and change methods accordingly.
20115         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
20116         (gl_list_nx_create): Renamed from gl_list_create.
20117         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20118         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20119         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20120         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20121         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20122         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20123         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20124         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20125         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
20126         gl_list_create_empty.
20127         (gl_list_nx_create): Renamed from gl_list_create.
20128         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20129         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20130         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20131         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20132         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20133         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20134         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20135         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20136         * lib/gl_array_list.c: Don't include xalloc.h.
20137         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
20138         NULL upon out-of-memory.
20139         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
20140         out-of-memory.
20141         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
20142         Change return type to 'int'.
20143         (gl_array_nx_set_at): Renamed from gl_array_set_at.
20144         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20145         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
20146         upon out-of-memory.
20147         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
20148         upon out-of-memory.
20149         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
20150         upon out-of-memory.
20151         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
20152         upon out-of-memory.
20153         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
20154         out-of-memory.
20155         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
20156         Update.
20157         (gl_array_list_implementation): Update.
20158         * lib/gl_carray_list.c: Don't include xalloc.h.
20159         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
20160         Return NULL upon out-of-memory.
20161         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
20162         out-of-memory.
20163         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
20164         Change return type to 'int'.
20165         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
20166         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20167         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
20168         upon out-of-memory.
20169         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
20170         upon out-of-memory.
20171         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
20172         out-of-memory.
20173         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
20174         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
20175         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
20176         Update.
20177         (gl_carray_list_implementation): Update.
20178         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
20179         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
20180         gl_linked_create_empty. Return NULL upon out-of-memory.
20181         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
20182         out-of-memory.
20183         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
20184         Change return type to 'int'. Return -1 upon out-of-memory.
20185         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
20186         out-of-memory.
20187         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
20188         upon out-of-memory.
20189         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
20190         upon out-of-memory.
20191         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
20192         NULL upon out-of-memory.
20193         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
20194         upon out-of-memory.
20195         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
20196         out-of-memory.
20197         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
20198         Update.
20199         * lib/gl_linked_list.c: Don't include xalloc.h.
20200         (gl_linked_list_implementation): Update.
20201         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
20202         (add_to_bucket): Change return type to 'int'.
20203         (gl_linkedhash_list_implementation): Update.
20204         * lib/gl_anytree_list1.h (free_subtree): New function.
20205         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
20206         gl_tree_create_empty. Return NULL upon out-of-memory.
20207         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
20208         Change return type to 'int'. Return -1 upon out-of-memory.
20209         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
20210         out-of-memory.
20211         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
20212         (gl_tree_remove_node): New function, moved here from
20213         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
20214         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
20215         Update.
20216         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
20217         malloc, not xmalloc. Return NULL upon out-of-memory.
20218         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20219         out-of-memory.
20220         (gl_tree_remove_node_from_tree): New function, extracted from
20221         gl_tree_remove_node.
20222         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20223         upon out-of-memory.
20224         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20225         out-of-memory.
20226         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20227         upon out-of-memory.
20228         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20229         upon out-of-memory.
20230         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20231         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
20232         not xmalloc. Return NULL upon out-of-memory.
20233         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20234         out-of-memory.
20235         (gl_tree_remove_node_from_tree): New function, extracted from
20236         gl_tree_remove_node.
20237         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20238         upon out-of-memory.
20239         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20240         out-of-memory.
20241         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20242         upon out-of-memory.
20243         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20244         upon out-of-memory.
20245         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20246         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
20247         gl_anytree_list1.h before gl_anyavltree_list2.h.
20248         (gl_avltree_list_implementation): Update.
20249         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
20250         gl_anytree_list1.h before gl_anyavltree_list2.h.
20251         (gl_rbtree_list_implementation): Update.
20252         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
20253         Change return type to 'int'. Return -1 upon out-of-memory. Use
20254         __builtin_expect.
20255         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
20256         (gl_avltreehash_list_implementation): Update.
20257         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
20258         (gl_rbtreehash_list_implementation): Update.
20259         * modules/array-list (Depends-on): Remove xalloc.
20260         * modules/carray-list (Depends-on): Likewise.
20261         * modules/linked-list (Depends-on): Likewise.
20262         * modules/linkedhash-list (Depends-on): Likewise.
20263         * modules/avltree-list (Depends-on): Likewise.
20264         * modules/rbtree-list (Depends-on): Likewise.
20265         * modules/avltreehash-list (Depends-on): Likewise.
20266         * modules/rbtreehash-list (Depends-on): Likewise.
20267
20268         * modules/xsublist: New file.
20269         * lib/gl_xsublist.h: New file.
20270         * lib/gl_xsublist.c: New file.
20271         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
20272         (gl_sublist_nx_create): New declaration.
20273         * lib/gl_sublist.c: Don't include xalloc.h.
20274         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
20275         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
20276         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
20277         Change return type to 'int'. Return -1 upon out-of-memory.
20278         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
20279         upon out-of-memory.
20280         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
20281         NULL upon out-of-memory.
20282         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
20283         upon out-of-memory.
20284         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
20285         NULL upon out-of-memory.
20286         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
20287         NULL upon out-of-memory.
20288         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
20289         upon out-of-memory.
20290         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
20291         (gl_sublist_list_implementation): Update.
20292         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
20293         upon out-of-memory.
20294         * modules/sublist (Depends-on): Remove xalloc.
20295
20296         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
20297         * tests/test-carray_list.c: Likewise.
20298         * tests/test-linked_list.c: Likewise.
20299         * tests/test-linkedhash_list.c: Likewise.
20300         * tests/test-avltree_list.c: Likewise.
20301         * tests/test-rbtree_list.c: Likewise.
20302         * tests/test-avltreehash_list.c: Likewise.
20303         * tests/test-rbtreehash_list.c: Likewise.
20304         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
20305         * modules/carray-list-tests (Makefile.am): Likewise.
20306         * modules/linked-list-tests (Makefile.am): Likewise.
20307         * modules/linkedhash-list-tests (Makefile.am): Likewise.
20308         * modules/avltree-list-tests (Makefile.am): Likewise.
20309         * modules/rbtree-list-tests (Makefile.am): Likewise.
20310         * modules/avltreehash-list-tests (Makefile.am): Likewise.
20311         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
20312
20313         * NEWS: Mention the changes.
20314
20315         * lib/clean-temp.c: Include gl_xlist.h.
20316         * modules/clean-temp (Depends-on): Add xlist.
20317
20318         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
20319         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
20320
20321         * tests/test-array_oset.c: Include gl_xlist.h.
20322         * modules/array-oset-tests (Depends-on): Add xlist.
20323
20324         Reported by José E. Marchesi <jemarch@gnu.org>.
20325
20326 2009-12-13  Bruno Haible  <bruno@clisp.org>
20327
20328         Move the malloc checking from module 'oset' to new module 'xoset'.
20329         * modules/xoset: New file.
20330         * lib/gl_xoset.h: New file.
20331         * lib/gl_xoset.c: New file.
20332         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
20333         declarations.
20334         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
20335         (struct gl_oset_implementation): Rename and change methods accordingly.
20336         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
20337         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20338         'int'. Mark as __warn_unused_result__.
20339         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
20340         gl_oset_create_empty.
20341         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20342         'int'.
20343         * lib/gl_array_oset.c: Don't include xalloc.h.
20344         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
20345         malloc, not xmalloc.
20346         (grow): Change return type to 'int'. Don't call xalloc_die.
20347         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
20348         to 'int'.
20349         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
20350         'int'.
20351         (gl_array_oset_implementation): Update.
20352         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
20353         gl_tree_create_empty.
20354         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
20355         'int'.
20356         * lib/gl_avltree_oset.c: Don't include xalloc.h.
20357         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20358         xmalloc.
20359         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20360         not xmalloc.
20361         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20362         xmalloc.
20363         (gl_avltree_oset_implementation): Update.
20364         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
20365         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20366         xmalloc.
20367         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20368         not xmalloc.
20369         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20370         xmalloc.
20371         (gl_rbtree_oset_implementation): Update.
20372         * modules/array-oset (Depends-on): Remove xalloc.
20373         * modules/avltree-oset (Depends-on): Likewise.
20374         * modules/rbtree-oset (Depends-on): Likewise.
20375         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
20376         * tests/test-avltree_oset.c: Likewise.
20377         * tests/test-rbtree_oset.c: Likewise.
20378         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
20379         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
20380         * modules/rbtree-oset-tests (Makefile.am): Likewise.
20381         * NEWS: Mention the change.
20382
20383 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
20384
20385         maint.mk: allow a project to override release-prep commands
20386         * top/maint.mk (alpha, beta, stable): Move release-preparatory
20387         commands into a new rule.
20388         (release-prep): New rule.
20389         (release-prep-hook): New overridable variable.
20390
20391 2009-12-13  Bruno Haible  <bruno@clisp.org>
20392
20393         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
20394
20395 2009-12-13  Jim Meyering  <meyering@redhat.com>
20396
20397         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
20398         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
20399
20400 2009-12-12  Bruno Haible  <bruno@clisp.org>
20401
20402         duplocale: Tweak.
20403         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
20404
20405 2009-12-12  Karl Berry  <karl@gnu.org>
20406
20407         * config/srclist.txt (strtoll.c): tab changes, no more sync.
20408
20409 2009-12-12  Bruno Haible  <bruno@clisp.org>
20410
20411         * m4/po.m4: Undo incorrect untabification.
20412
20413 2009-12-12  Bruno Haible  <bruno@clisp.org>
20414
20415         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
20416         * modules/c-strtod (Depends-on): Add locale.
20417         * modules/c-strtold (Depends-on): Likewise.
20418
20419 2009-12-12  Bruno Haible  <bruno@clisp.org>
20420
20421         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
20422
20423 2009-12-11  Eric Blake  <ebb9@byu.net>
20424
20425         setenv: relax requirement in light of POSIX ruling
20426         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
20427         not NULL.
20428         * tests/test-setenv.c (main): Relax test.
20429         * tests/test-unsetenv.c (main): Likewise.
20430         * doc/posix-functions/setenv.texi (setenv): Document this.
20431         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20432
20433 2009-12-11  Bruno Haible  <bruno@clisp.org>
20434
20435         New module 'fd-safer-flag'.
20436         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
20437         * lib/dup-safer.c (dup_safer_flag): Remove function.
20438         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
20439         * lib/fd-safer.c (fd_safer_flag): Remove function.
20440         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
20441         * modules/cloexec (configure.ac): Drop indicator macro.
20442         * modules/fd-safer-flag: New file.
20443         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
20444         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
20445         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
20446
20447 2009-12-11  Bruno Haible  <bruno@clisp.org>
20448
20449         Tests for module 'nl_langinfo'.
20450         * modules/nl_langinfo-tests: New file.
20451         * tests/test-nl_langinfo.sh: New file.
20452         * tests/test-nl_langinfo.c: New file.
20453
20454         New module 'nl_langinfo'.
20455         * lib/nl_langinfo.c: New file.
20456         * m4/nl_langinfo.m4: New file.
20457         * modules/nl_langinfo: New file.
20458         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
20459
20460 2009-12-11  Bruno Haible  <bruno@clisp.org>
20461
20462         Tests for module 'langinfo'.
20463         * modules/langinfo-tests: New file.
20464         * tests/test-langinfo.c: New file.
20465
20466         New module 'langinfo'.
20467         * lib/langinfo.in.h: New file.
20468         * m4/langinfo_h.m4: New file.
20469         * modules/langinfo: New file.
20470         * doc/posix-headers/langinfo.texi: Mention the new module.
20471
20472 2009-12-11  Bruno Haible  <bruno@clisp.org>
20473
20474         * lib/config.charset: Untabify.
20475
20476 2009-12-11  Bruno Haible  <bruno@clisp.org>
20477
20478         * modules/unistd-safer (configure.ac): Drop indicator macro.
20479
20480 2009-12-11  Bruno Haible  <bruno@clisp.org>
20481
20482         Move pipe2-safer code to its own file.
20483         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
20484         * lib/pipe-safer.c (pipe2_safer): Remove function.
20485         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
20486         (Makefile.am): Add it to lib_SOURCES.
20487
20488 2009-12-10  Bruno Haible  <bruno@clisp.org>
20489
20490         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
20491
20492 2009-12-10  Bruno Haible  <bruno@clisp.org>
20493
20494         Declare which arguments expect non-NULL values, for GCC and clang.
20495         * build-aux/arg-nonnull.h: New file.
20496         * modules/arg-nonnull: New file.
20497         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
20498         (inet_ntop, inet_pton): Use it.
20499         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
20500         (closedir, dirfd, opendir, scandir, alphasort): Use it.
20501         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
20502         (open, openat): Use it.
20503         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
20504         (fnmatch): Use it.
20505         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
20506         (getopt, getopt_long, getopt_long_only): Use it.
20507         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
20508         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
20509         Use it.
20510         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
20511         (iconv_open): Use it.
20512         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
20513         (strtoimax, strtoumax): Use it.
20514         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
20515         (duplocale): Use it.
20516         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
20517         (frexp, frexpl): Use it.
20518         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
20519         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
20520         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
20521         (tsearch, tfind, tdelete, twalk): Use it.
20522         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
20523         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
20524         sigpending): Use it.
20525         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
20526         (posix_spawn, posix_spawnp, posix_spawnattr_init,
20527         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
20528         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
20529         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20530         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
20531         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
20532         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
20533         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
20534         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
20535         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
20536         Use it.
20537         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
20538         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
20539         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
20540         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
20541         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
20542         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
20543         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
20544         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
20545         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
20546         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
20547         strtoull, unsetenv): Use it.
20548         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
20549         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
20550         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
20551         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
20552         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
20553         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
20554         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
20555         (strcasecmp, strncasecmp): Use it.
20556         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
20557         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
20558         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
20559         rpl_setsockopt): Use it.
20560         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
20561         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
20562         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
20563         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
20564         (gettimeofday): Use it.
20565         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
20566         (times): Use it.
20567         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
20568         (uname): Use it.
20569         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
20570         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
20571         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
20572         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
20573         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
20574         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
20575         unlinkat, write): Use it.
20576         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
20577         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
20578         * lib/argv-iter.h: Include arg-nonnull.h.
20579         (_ATTRIBUTE_NONNULL_): Remove macro.
20580         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
20581         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
20582         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
20583         optimization.
20584         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
20585         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
20586         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
20587         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
20588         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
20589         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
20590         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
20591         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
20592         * modules/arpa_inet (Depends-on): Add arg-nonnull.
20593         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
20594         * modules/dirent (Depends-on): Add arg-nonnull.
20595         (Makefile.am): Insert arg-nonnull.h into dirent.h.
20596         * modules/fcntl-h (Depends-on): Add arg-nonnull.
20597         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
20598         * modules/fnmatch (Depends-on): Add arg-nonnull.
20599         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
20600         * modules/getopt-posix (Depends-on): Add arg-nonnull.
20601         (Makefile.am): Insert arg-nonnull.h into getopt.h.
20602         * modules/glob (Depends-on): Add arg-nonnull.
20603         (Makefile.am): Insert arg-nonnull.h into glob.h.
20604         * modules/iconv_open (Depends-on): Add arg-nonnull.
20605         (Makefile.am): Insert arg-nonnull.h into iconv.h.
20606         * modules/inttypes (Depends-on): Add arg-nonnull.
20607         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
20608         * modules/locale (Depends-on): Add arg-nonnull.
20609         (Makefile.am): Insert arg-nonnull.h into locale.h.
20610         * modules/math (Depends-on): Add arg-nonnull.
20611         (Makefile.am): Insert arg-nonnull.h into math.h.
20612         * modules/netdb (Depends-on): Add arg-nonnull.
20613         (Makefile.am): Insert arg-nonnull.h into netdb.h.
20614         * modules/search (Depends-on): Add arg-nonnull.
20615         (Makefile.am): Insert arg-nonnull.h into search.h.
20616         * modules/signal (Depends-on): Add arg-nonnull.
20617         (Makefile.am): Insert arg-nonnull.h into signal.h.
20618         * modules/spawn (Depends-on): Add arg-nonnull.
20619         (Makefile.am): Insert arg-nonnull.h into spawn.h.
20620         * modules/stdio (Depends-on): Add arg-nonnull.
20621         (Makefile.am): Insert arg-nonnull.h into stdio.h.
20622         * modules/stdlib (Depends-on): Add arg-nonnull.
20623         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
20624         * modules/string (Depends-on): Add arg-nonnull.
20625         (Makefile.am): Insert arg-nonnull.h into string.h.
20626         * modules/strings (Depends-on): Add arg-nonnull.
20627         (Makefile.am): Insert arg-nonnull.h into strings.h.
20628         * modules/sys_socket (Depends-on): Add arg-nonnull.
20629         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
20630         * modules/sys_stat (Depends-on): Add arg-nonnull.
20631         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
20632         * modules/sys_time (Depends-on): Add arg-nonnull.
20633         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
20634         * modules/sys_times (Depends-on): Add arg-nonnull.
20635         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
20636         * modules/sys_utsname (Depends-on): Add arg-nonnull.
20637         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
20638         * modules/time (Depends-on): Add arg-nonnull.
20639         (Makefile.am): Insert arg-nonnull.h into time.h.
20640         * modules/unistd (Depends-on): Add arg-nonnull.
20641         (Makefile.am): Insert arg-nonnull.h into unistd.h.
20642         * modules/wchar (Depends-on): Add arg-nonnull.
20643         (Makefile.am): Insert arg-nonnull.h into wchar.h.
20644         * modules/argv-iter (Depends-on): Add arg-nonnull.
20645         * tests/test-canonicalize.c (null_ptr): New function.
20646         (main): Use it.
20647         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
20648         (main): Use it.
20649         * tests/test-memmem.c (null_ptr): New function.
20650         (main): Use it.
20651         Reported by Jim Meyering.
20652
20653 2009-12-10  Bruno Haible  <bruno@clisp.org>
20654
20655         Use spaces for indentation, not tabs.
20656         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
20657         * m4/*.m4: Untabify.
20658         * build-aux/*.h: Untabify.
20659         * tests/**/*.[hc]: Untabify.
20660         * README: New section "Indent with spaces, not TABs", based on
20661         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
20662         * NEWS: Mention the change.
20663
20664 2009-12-10  Bruno Haible  <bruno@clisp.org>
20665
20666         pty test: Fix link error.
20667         * modules/pty-tests (Makefile.am): Add the default LDADD value to
20668         test_pty_LDADD.
20669
20670 2009-12-07  Simon Josefsson  <simon@josefsson.org>
20671
20672         * modules/pty: New file.
20673         * modules/pty-tests: New file.
20674         * m4/pty.m4: New file.
20675         * tests/test-pty.c: New file.
20676         * doc/glibc-headers/pty.texi: Modified.
20677         * doc/glibc-functions/forkpty.texi: Modified.
20678         * doc/glibc-functions/openpty.texi: Modified.
20679
20680 2009-12-10  Bruno Haible  <bruno@clisp.org>
20681
20682         Avoid syntax error in C++ mode.
20683         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
20684
20685 2009-12-10  Bruno Haible  <bruno@clisp.org>
20686
20687         Use sed with option -e.
20688         * gnulib-tool (func_version, func_emit_copyright_notice,
20689         func_emit_initmacro_end, func_import, func_create_testdir): Pass
20690         option -e to sed.
20691         * modules/link-warning (Makefile.am): Likewise.
20692
20693 2009-12-10  Jim Meyering  <meyering@redhat.com>
20694
20695         mgetgroups: do not write bytes beyond end of malloc'd buffer
20696         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
20697         username, we call getgroups with a one-element-shorter buffer,
20698         but still told it the length was original, max_n_groups.
20699
20700 2009-12-09  Eric Blake  <ebb9@byu.net>
20701
20702         cloexec: relax license
20703         * modules/cloexec (Maintainer): Add myself.
20704         (License): Use LGPL, not GPL.
20705
20706         link-warning: optimize generation
20707         * modules/link-warning (Makefile.am): Reduce process usage.
20708
20709 2009-12-09  Bruno Haible  <bruno@clisp.org>
20710
20711         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
20712         workaround was added on 2009-11-17.
20713
20714 2009-12-09  Jim Meyering  <meyering@redhat.com>
20715             Bruno Haible  <bruno@clisp.org>
20716
20717         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
20718         * modules/link-warning (Makefile.am): Make the comment-removing sed
20719         command more robust in the face of bootstrap-prepended comment lines.
20720
20721 2009-12-09  Bruno Haible  <bruno@clisp.org>
20722
20723         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
20724         most one group.
20725
20726 2009-12-09  Simon Josefsson <simon@josefsson.org>
20727             Bruno Haible  <bruno@clisp.org>
20728
20729         * build-aux/link-warning.h: Add copyright notice.
20730         * modules/link-warning (Makefile.am): Generate link-warning.h from
20731         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
20732         * NEWS: Mention change in link-warning module.
20733         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
20734         * modules/dirent (Makefile.am): Add dependency to dirent.h.
20735         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
20736         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
20737         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
20738         * modules/math (Makefile.am): Add dependency to math.h.
20739         * modules/search (Makefile.am): Add dependency to search.h.
20740         * modules/signal (Makefile.am): Add dependency to signal.h.
20741         * modules/spawn (Makefile.am): Add dependency to spawn.h.
20742         * modules/stdio (Makefile.am): Add dependency to stdio.h.
20743         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
20744         * modules/string (Makefile.am): Add dependency to string.h.
20745         * modules/strings (Makefile.am): Add dependency to strings.h.
20746         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
20747         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
20748         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
20749         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
20750         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
20751         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
20752         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
20753         * modules/unistd (Makefile.am): Add dependency to unistd.h.
20754         * modules/wchar (Makefile.am): Add dependency to wchar.h.
20755
20756 2009-12-09  Bruno Haible  <bruno@clisp.org>
20757
20758         fchdir: Optimize away rpl_fstat when possible.
20759         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
20760         REPLACE_OPEN_DIRECTORY.
20761         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
20762
20763 2009-12-09  Bruno Haible  <bruno@clisp.org>
20764
20765         * lib/fchdir.c: Update comment.
20766
20767 2009-12-09  Bruno Haible  <bruno@clisp.org>
20768
20769         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20770
20771 2009-12-08  Eric Blake  <ebb9@byu.net>
20772
20773         fchdir: avoid memory leak on re-registration.
20774         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20775
20776 2009-12-08  Jim Meyering  <meyering@redhat.com>
20777
20778         init.sh: avoid Solaris 10 /bin/sh portability problem
20779         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20780         sourced script:
20781           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20782           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20783           bar
20784         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20785         and two tests used that idiom.
20786         * tests/init.sh: Update suggested usage comments.
20787         (path_prepend_): New function, to be used in place
20788         of the --src-path=DIR option.
20789         (setup_): Move PATH-prepending code into path_prepend_.
20790         * tests/test-pread.sh: Adapt to new usage.
20791         * tests/test-xalloc-die.sh: Likewise.
20792
20793 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20794
20795         * doc/gnulib.texi (Glibc pty.h): Add.
20796         * doc/glibc-functions/forkpty.texi: Add.
20797         * doc/glibc-functions/openpty.texi: Add.
20798         Suggested by Bruno Haible.
20799
20800 2009-12-08  Eric Blake  <ebb9@byu.net>
20801
20802         fchdir: fix logic bugs
20803         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20804         * tests/test-fchdir.c (main): Enhance test.
20805         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20806         is in use.
20807
20808         dup2: fix logic bugs
20809         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20810         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20811         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20812         exists.
20813         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20814
20815 2009-12-07  Eric Blake  <ebb9@byu.net>
20816
20817         unlink: fix m4 detection
20818         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20819
20820         unistd-safer: add unit test
20821         * modules/unistd-safer-tests: New file.
20822         * tests/test-dup-safer.c: Likewise.
20823         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20824         * tests/test-dup2.c (setmode): Likewise.
20825         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20826
20827         cloexec: preserve text vs. binary across dup_cloexec
20828         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20829         mode.
20830         * modules/dup2-tests (Depends-on): Add binary-io.
20831         * modules/cloexec-tests (Depends-on): Likewise.
20832         * tests/test-dup2.c (setmode, is_mode): New helpers.
20833         (main): Add tests that translation mode is preserved.
20834         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20835         Reported by Bruno Haible.
20836
20837         mgetgroups: reduce duplicate listings
20838         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20839         resulting array.
20840         * tests/test-chown.h (test_chown): Simplify client.
20841         * tests/test-lchown.h (test_lchown): Likewise.
20842
20843 2009-12-06  Bruno Haible  <bruno@clisp.org>
20844
20845         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20846         value.
20847
20848 2009-12-06  Bruno Haible  <bruno@clisp.org>
20849
20850         * lib/progname.c: Include stdio.h, stdlib.h.
20851         (set_program_name): Reject a NULL argument.
20852
20853 2009-12-05  Eric Blake  <ebb9@byu.net>
20854
20855         pipe2-safer: new module
20856         * modules/pipe2-safer: New file.
20857         * lib/unistd-safer.h (pipe2_safer): New prototype.
20858         * lib/unistd--.h (pipe2): New wrapper.
20859         * lib/pipe-safer.c (pipe2_safer): New function.
20860         * modules/pipe (Depends-on): Add pipe2-safer.
20861         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20862
20863         stdlib-safer: preserve cloexec flag for mkostemp[s]
20864         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20865         fd_safer_flag.
20866
20867         unistd-safer: allow preservation of cloexec status via flag
20868         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20869         prototypes.
20870         * lib/dup-safer.c (dup_safer_flag): New function.
20871         * lib/fd-safer.c (fd_safer_flag): Likewise.
20872         * modules/cloexec (configure.ac): Set witness.
20873
20874         test-dup2: enhance test
20875         * modules/dup2-tests (Depends-on): Add cloexec.
20876         * tests/test-dup2.c (main): Enhance test.
20877
20878         cloexec: add dup_cloexec
20879         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20880         header and comments.
20881         * lib/cloexec.c (set_cloexec_flag): Add comments.
20882         (dup_cloexec): New function, with mingw implementation borrowed
20883         from...
20884         * lib/w32spawn.h (dup_noinherit): ...here.
20885         * modules/execute (Depends-on): Add cloexec.
20886         * modules/pipe (Depends-on): Likewise.
20887         * modules/cloexec (Depends-on): Add dup2.
20888         * modules/cloexec-tests (Files): New file.
20889         * tests/test-cloexec.c: Likewise.
20890
20891         test-xalloc-die: fix test for mingw
20892         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20893         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20894         directory and .exe suffix off argv[0] output.
20895
20896         test-fseeko: fix test for mingw
20897         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20898         than undefining fseek, so test will pass on mingw.
20899
20900 2009-12-05  Bruno Haible  <bruno@clisp.org>
20901
20902         * lib/progname.h (set_program_name): Clarify specification.
20903         * lib/progname.c (set_program_name): Likewise.
20904         Reported by Jim Meyering.
20905
20906 2009-12-05  Jim Meyering  <meyering@redhat.com>
20907
20908         maint.mk: backslash-escape parens in default regexp
20909         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20910         backslash-escape the literal parentheses.
20911
20912         maint.mk: news-date-check: use grep -E
20913         * top/maint.mk (today): Define a Make variable, not a...
20914         (news-date-check): ...shell variable.
20915         (news-date-regexp): Use the Make variable.
20916         Use grep's -E option.  Change the failing diagnostic to mention
20917         the variable, $(news-date-regexp).
20918
20919 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20920
20921         maintainer-makefile: allow customization of NEWS entry format
20922         * top/maint.mk (news-date-regexp): New overridable variable.
20923         (news-date-check): Use it.
20924
20925 2009-12-04  Eric Blake  <ebb9@byu.net>
20926
20927         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20928         * lib/mgetgroups.h (xgetgroups): New prototype.
20929         * lib/mgetgroups.c (xgetgroups): New wrapper.
20930         (mgetgroups): Handle ENOSYS.
20931         * modules/mgetgroups (Depends-on): Add realloc.
20932         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20933
20934         mgetgroups: avoid argument promotion issues with -1
20935         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20936         for invalid gid_t.
20937         * tests/test-chown.h (getegid, test_chown): Likewise.
20938         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20939
20940 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20941
20942         exclude: Fix header file problems.
20943         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20944
20945 2009-12-01  Jim Meyering  <meyering@redhat.com>
20946
20947         fts: fts_open: do not let an empty string cause immediate failure
20948         This is required in support of GNU rm, for which the command
20949         "rm A '' B" must process and remove both A and B, in spite of
20950         the empty string argument.
20951         * lib/fts.c (fts_open): Do not let the presence of an empty string
20952         cause fts_open to fail immediately.  Most fts-using tools must be
20953         able to process all arguments, in order, and can be expected to
20954         diagnose such arguments themselves.
20955
20956 2009-11-30  Eric Blake  <ebb9@byu.net>
20957
20958         utimens: fix compilation error
20959         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20960         Declare variable at right scope.
20961
20962 2009-11-29  Jim Meyering  <meyering@redhat.com>
20963
20964         bootstrap: handle perl-5.11's changed --version output
20965         * build-aux/bootstrap (get_version): Handle perl separately,
20966         since perl-5.11's --version output is different.
20967
20968 2009-11-28  Jim Meyering  <meyering@redhat.com>
20969
20970         userspec: depend on the inttostr module, too
20971         * modules/userspec (Depends-on): Add inttostr.
20972
20973         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20974         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20975         number of MAXUID when it evaluates to (uid_t) -1.
20976         Likewise for group ID.  Reported by Matt McCutchen in
20977         <http://savannah.gnu.org/bugs/?28113>
20978
20979         userspec: reformat to use spaces, not TABs
20980         * lib/userspec.c: Expand TABs to spaces.
20981         Add Emacs' "indent-tabs-mode: nil" hint.
20982
20983 2009-11-27  Eric Blake  <ebb9@byu.net>
20984
20985         getopt-gnu: flush out another BSD bug
20986         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20987         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20988         flush out BSD bug.
20989         * tests/test-getopt.h (test_getopt): End lists with NULL.
20990         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20991         (test_getopt_long_posix): Enhance test.
20992         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20993         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20994         getopt-gnu.
20995         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20996         Likewise.
20997
20998 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20999
21000         * modules/idpriv-droptemp-tests (Notice): Fix text.
21001
21002 2009-11-27  Jim Meyering  <meyering@redhat.com>
21003
21004         test-xalloc-die: avoid spurious failure due to libtool argv difference
21005         In a libtool-enabled project, this test would fail due to a difference
21006         in the emitted program name, e.g.,
21007         -test-xalloc-die: memory exhausted
21008         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
21009         Use program to avoid that.
21010         * modules/xalloc-die-tests (Depends-on): Add progname.
21011         * tests/test-xalloc-die.c: Include progname.h".
21012         (program_name): Remove decl.
21013         (main): Call set_program_name.
21014         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
21015
21016 2009-11-26  Richard Jones  <rjones@redhat.com>
21017
21018         w32sock: leave win32 error in place.
21019         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
21020
21021 2009-11-26  Eric Blake  <ebb9@byu.net>
21022
21023         init.sh: suggest to use skip_ and fail_ functions in comments
21024         * tests/init.sh: Add a sentence.
21025
21026 2009-11-25  Bruno Haible  <bruno@clisp.org>
21027
21028         init.sh: add documentation in comments
21029         * tests/init.sh: Add some developer and user documentation.
21030
21031 2009-11-26  Jim Meyering  <meyering@redhat.com>
21032
21033         init.sh: accommodate even those who specify bogus srcdir manually
21034         * tests/init.sh: Normally, srcdir is guaranteed by automake and
21035         configure-time tests to be sanitized, so that there is no need to
21036         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
21037         (with no double quotes) suffices.  However, since tests may be
21038         invoked manually, and since you may explicitly set srcdir to the
21039         name of a directory containing spaces, do quote its uses here.
21040         * tests/test-pread.sh: Likewise.
21041         Suggested by Bruno Haible.
21042
21043         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
21044         * tests/test-pread.sh: Write no data into the pipe, because
21045         test-pread actually reads none.  This avoids a diagnostic,
21046         "bash: echo: write error: Broken pipe", that arises in the unusual
21047         event something is ignoring SIGPIPE, and might be interpreted
21048         as some sort of failure.  Reported by Bruno Haible.
21049
21050 2009-11-25  Jim Meyering  <meyering@redhat.com>
21051
21052         test-pread: cover failure with ESPIPE and EINVAL
21053         * tests/test-pread.c (main): Test for failure, too.
21054         * tests/test-pread.sh: Invoke with stdin on a pipe.
21055         Suggested by Eric Blake.
21056
21057         pread: improvement and fix
21058         * modules/pread (Depends-on): Depend on lseek, for portability to
21059         e.g., mingw.  Suggested by Eric Blake.
21060         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
21061
21062         unistd.in.h: correct declaration of pread
21063         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
21064         Reported by Richard W.M. Jones.
21065
21066         test-pread.sh: distribute the test script
21067         * modules/pread-tests (Files): Include test-pread.sh.
21068
21069         test-pread.sh: clean up
21070         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
21071         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
21072         That is unnecessary, since it's always ".".
21073         Suggestion from Eric Blake.
21074
21075         test-pread.sh: make executable
21076         * tests/test-pread.sh: Set executable bit.
21077         Reported by Eric Blake.
21078
21079         correct typo in test-pread.sh
21080         * tests/test-pread.sh: Add #! line.
21081
21082         test pread
21083         * tests/test-pread.c: New file.
21084         * tests/test-pread.sh: Likewise.
21085         * modules/pread-tests: Likewise.
21086
21087         pread: new module
21088         * modules/pread: New file.
21089         * lib/unistd.in.h (pread): Define/declare.
21090         * lib/pread.c (pread): New file.
21091         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
21092         * modules/unistd (Makefile.am): Substitute witnesses.
21093         * doc/posix-functions/pread.texi (pread): Update.
21094         * MODULES.html.sh: Add pread.
21095
21096 2009-11-25  Jim Meyering  <meyering@redhat.com>
21097
21098         tests/init.sh: new file to be used via most *.sh tests
21099         * tests/init.sh: New file.
21100
21101 2009-11-25  Eric Blake  <ebb9@byu.net>
21102
21103         utimens: work around older Linux failure with symlinks
21104         * lib/utimens.c (lutimensat_works_really): New variable.
21105         (fdutimens, lutimens): Use it to manage kernels that support
21106         nanosecond times on files, but not on symlinks.
21107         Reported by Ondřej Vašík.
21108
21109         utimes: fix configure grammar
21110         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
21111
21112 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
21113
21114         regex: Fix fastmap for multibyte character ranges.
21115         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
21116         characters when a multibyte character range is included.
21117
21118 2009-11-22  Andy Wingo  <wingo@pobox.com>
21119
21120         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
21121         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
21122
21123 2009-11-24  Bruno Haible  <bruno@clisp.org>
21124
21125         doc: Most *_l functions exist in MacOS X 10.5.
21126         * doc/posix-functions/duplocale.texi: Update platforms list.
21127         * doc/posix-functions/freelocale.texi: Likewise.
21128         * doc/posix-functions/newlocale.texi: Likewise.
21129         * doc/posix-functions/uselocale.texi: Likewise.
21130         * doc/posix-functions/isalnum_l.texi: Likewise.
21131         * doc/posix-functions/isalpha_l.texi: Likewise.
21132         * doc/posix-functions/isblank_l.texi: Likewise.
21133         * doc/posix-functions/iscntrl_l.texi: Likewise.
21134         * doc/posix-functions/isdigit_l.texi: Likewise.
21135         * doc/posix-functions/isgraph_l.texi: Likewise.
21136         * doc/posix-functions/islower_l.texi: Likewise.
21137         * doc/posix-functions/isprint_l.texi: Likewise.
21138         * doc/posix-functions/ispunct_l.texi: Likewise.
21139         * doc/posix-functions/isspace_l.texi: Likewise.
21140         * doc/posix-functions/isupper_l.texi: Likewise.
21141         * doc/posix-functions/iswalnum_l.texi: Likewise.
21142         * doc/posix-functions/iswalpha_l.texi: Likewise.
21143         * doc/posix-functions/iswblank_l.texi: Likewise.
21144         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21145         * doc/posix-functions/iswctype_l.texi: Likewise.
21146         * doc/posix-functions/iswdigit_l.texi: Likewise.
21147         * doc/posix-functions/iswgraph_l.texi: Likewise.
21148         * doc/posix-functions/iswlower_l.texi: Likewise.
21149         * doc/posix-functions/iswprint_l.texi: Likewise.
21150         * doc/posix-functions/iswpunct_l.texi: Likewise.
21151         * doc/posix-functions/iswspace_l.texi: Likewise.
21152         * doc/posix-functions/iswupper_l.texi: Likewise.
21153         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21154         * doc/posix-functions/isxdigit_l.texi: Likewise.
21155         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
21156         * doc/posix-functions/strcasecmp_l.texi: Likewise.
21157         * doc/posix-functions/strcoll_l.texi: Likewise.
21158         * doc/posix-functions/strfmon_l.texi: Likewise.
21159         * doc/posix-functions/strftime_l.texi: Likewise.
21160         * doc/posix-functions/strncasecmp_l.texi: Likewise.
21161         * doc/posix-functions/strxfrm_l.texi: Likewise.
21162         * doc/posix-functions/tolower_l.texi: Likewise.
21163         * doc/posix-functions/toupper_l.texi: Likewise.
21164         * doc/posix-functions/towctrans_l.texi: Likewise.
21165         * doc/posix-functions/towlower_l.texi: Likewise.
21166         * doc/posix-functions/towupper_l.texi: Likewise.
21167         * doc/posix-functions/wcscoll_l.texi: Likewise.
21168         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21169         * doc/posix-functions/wctrans_l.texi: Likewise.
21170         * doc/posix-functions/wctype_l.texi: Likewise.
21171         * doc/glibc-functions/strptime_l.texi: Likewise.
21172         * doc/glibc-functions/strtod_l.texi: Likewise.
21173         * doc/glibc-functions/strtof_l.texi: Likewise.
21174         * doc/glibc-functions/strtol_l.texi: Likewise.
21175         * doc/glibc-functions/strtold_l.texi: Likewise.
21176         * doc/glibc-functions/strtoll_l.texi: Likewise.
21177         * doc/glibc-functions/strtoul_l.texi: Likewise.
21178         * doc/glibc-functions/strtoull_l.texi: Likewise.
21179         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21180         * doc/glibc-functions/wcstod_l.texi: Likewise.
21181         * doc/glibc-functions/wcstof_l.texi: Likewise.
21182         * doc/glibc-functions/wcstol_l.texi: Likewise.
21183         * doc/glibc-functions/wcstold_l.texi: Likewise.
21184         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21185         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21186         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21187
21188 2009-11-24  Bruno Haible  <bruno@clisp.org>
21189
21190         duplocale: Fix logic bug.
21191         * lib/duplocale.c: Don't include <langinfo.h>.
21192         (_NL_LOCALE_NAME): Remove macro.
21193         (rpl_duplocale): Use setlocale instead of nl_langinfo.
21194         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
21195
21196 2009-11-23  Jim Meyering  <meyering@redhat.com>
21197
21198         test-update-copyright: don't hard-code /usr/bin/perl
21199         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
21200         perl to print the current year.  Gilles Espinasse reported that
21201         the replaced use of perl was hard-coded as /usr/bin/perl.
21202
21203 2009-11-23  Bruno Haible  <bruno@clisp.org>
21204
21205         duplocale: Add support for glibc 2.3.x.
21206         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
21207
21208 2009-11-22  Bruno Haible  <bruno@clisp.org>
21209
21210         vasnprintf: Tiny optimization.
21211         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
21212         MacOS X.
21213
21214 2009-11-22  Bruno Haible  <bruno@clisp.org>
21215
21216         Tests for module 'duplocale'.
21217         * modules/duplocale-tests: New file.
21218         * tests/test-duplocale.c: New file.
21219
21220         New module 'duplocale'.
21221         * m4/duplocale.m4: New file.
21222         * lib/locale.in.h (duplocale): New declaration.
21223         * lib/duplocale.c: New file.
21224         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
21225         gl_LOCALE_H_DEFAULTS): New macros.
21226         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
21227         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21228         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
21229         REPLACE_DUPLOCALE.
21230         * modules/duplocale: New file.
21231         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
21232
21233 2009-11-22  Bruno Haible  <bruno@clisp.org>
21234
21235         * modules/locale-tests (configure.ac): Test for newlocale function.
21236         * tests/test-locale.c: When the system has extended locale functions,
21237         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
21238
21239         locale: Make locale_t available when possible.
21240         * lib/locale.in.h: Include <xlocale.h> when it exists.
21241         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
21242         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
21243         * modules/locale (Depends-on): Add extensions.
21244         (Makefile.am): Also substitute HAVE_XLOCALE_H.
21245         * doc/posix-headers/locale.texi: Document the problem with locale_t.
21246
21247 2009-11-22  Bruno Haible  <bruno@clisp.org>
21248
21249         Add comments.
21250         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
21251         invocation.
21252         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
21253         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21254         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21255
21256 2009-11-22  Bruno Haible  <bruno@clisp.org>
21257
21258         error: account for the possibility of freopen (stdout).
21259         * lib/error.c: Include <unistd.h>.
21260         (flush_stdout): New function, extracted from error and error_at_line.
21261         Determine stdout's fd dynamically.
21262         (error, error_at_line): Invoke flush_stdout.
21263         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
21264         * modules/error (Depends-on): Add unistd.
21265
21266 2009-11-22  Bruno Haible  <bruno@clisp.org>
21267
21268         diffseq: Add comment.
21269         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
21270
21271 2009-11-22  Jim Meyering  <meyering@redhat.com>
21272
21273         c-stack: avoid defining an unused static function
21274         * lib/c-stack.c (find_stack_direction): Do not define this function
21275         when it will not be used.
21276
21277         diffseq: avoid spurious gcc warnings
21278         * lib/diffseq.h (IF_LINT2): Define.
21279         (compareseq): Use it to initialize two members of "part".
21280         This avoids two used-uninitialized warnings.
21281
21282 2009-11-21  Jim Meyering  <meyering@redhat.com>
21283
21284         c-stack: avoid "ignoring return value of `write'" warning
21285         * lib/c-stack.c: Include "ignore-value.h".
21286         (die): Explicitly ignore each write return value.
21287         * modules/c-stack (Depends-on): Add ignore-value.
21288
21289 2009-11-21  Bruno Haible  <bruno@clisp.org>
21290
21291         diffseq: reduce scope of variable 'best'.
21292         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
21293         variable, earlier used for two different purposes.
21294
21295 2009-11-21  Jim Meyering  <meyering@redhat.com>
21296
21297         diffseq: remove useless assignment to "best"
21298         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
21299         assignment.  At that point "best" is already guaranteed to be zero.
21300
21301 2009-11-20  Eric Blake  <ebb9@byu.net>
21302
21303         build: mention ftp redirector in release announcements
21304         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
21305         values that used to come from cfg.mk; mention FTP redirect URL.
21306         * build-aux/announce-gen: Mention the mirror list.
21307         Suggested by Karl Berry.
21308
21309         nanosleep: improve port to mingw
21310         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
21311         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
21312         LIB_NANOSLEEP, but only when needed.
21313         * modules/select (Link): Document LIBSOCKET.
21314         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
21315         enough.
21316
21317         nanosleep: work around cygwin bug
21318         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
21319         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
21320         bug.
21321         (getnow): Delete, not needed.
21322         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
21323         LIB_CLOCK_GETTIME.
21324         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
21325         clock-time, gettime.
21326         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
21327         bug.
21328         * modules/nanosleep-tests: New test.
21329         * tests/test-nanosleep.c: New file.
21330
21331         sleep: work around cygwin bug
21332         * lib/sleep.c (rpl_sleep): Work around the bug.
21333         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
21334         (gl_PREREQ_SLEEP): Delete unused macro.
21335         * modules/sleep (Depends-on): Add verify.
21336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21337         * modules/unistd (Makefile.am): Substitute witness.
21338         * lib/unistd.in.h (sleep): Update prototype.
21339         * doc/posix-functions/sleep.texi (sleep): Document the bug.
21340         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
21341         * modules/sleep-tests (Depends-on): Check for alarm.
21342
21343 2009-11-20  Jim Meyering  <meyering@redhat.com>
21344
21345         maint.mk: improve sc_prohibit_magic_number_exit
21346         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
21347         so it does not match uses like System.exit(1).
21348         Add comments showing how to correct all offenders.
21349
21350 2009-11-19  Eric Blake  <ebb9@byu.net>
21351
21352         xalloc-die-tests: add missing library
21353         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
21354
21355         test-xvasprintf: silence compiler warnings
21356         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
21357         empty string from gcc.
21358
21359 2009-11-19  Jim Meyering  <meyering@redhat.com>
21360
21361         xfreopen: new module, from coreutils
21362         * modules/xfreopen: New module.
21363         * lib/xfreopen.c: New file.
21364         * lib/xfreopen.h: New file.
21365         * MODULES.html.sh (File stream based Input/Output"): Add it.
21366
21367 2009-11-19  Eric Blake  <ebb9@byu.net>
21368
21369         manywarnings: depend on warnings
21370         * modules/manywarnings (Depends-on): Add warnings.
21371
21372         build: avoid compiler warnings
21373         * lib/select.c (rpl_select): Delete unused variable.
21374         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
21375
21376 2009-11-18  Eric Blake  <ebb9@byu.net>
21377
21378         tests: avoid false negative with --with-packager
21379         * tests/test-version-etc.sh: Discard packager information.
21380         * tests/test-argp-version-etc-1.sh: Likewise.
21381         Reported by Mike Frysinger.
21382
21383         utimens: fix regression on Solaris
21384         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
21385         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
21386         can only change fd timestamps via futimesat.  Instead, use an
21387         additional witness macro to avoid BSD bug.
21388         Reported by Jim Meyering.
21389
21390 2009-11-17  Eric Blake  <ebb9@byu.net>
21391
21392         usleep: use it to simplify tests
21393         * modules/stat-time-tests (Depends-on): Add usleep.
21394         (configure.ac): Drop usleep check.
21395         * modules/chown-tests (Depends-on, configure.ac): Likewise.
21396         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
21397         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
21398         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
21399         * modules/openat-tests (Depends-on, configure.ac): Likewise.
21400         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
21401         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
21402         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
21403         Likewise.
21404         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
21405         * tests/test-lchown.h (nap): Likewise.
21406         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
21407         * tests/test-stat-time.c (nap): Likewise.
21408         * tests/test-utimens-common.h (nap): Update comments.
21409
21410         usleep: new module
21411         * modules/usleep: New file.
21412         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
21413         * lib/usleep.c (usleep): Likewise.
21414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
21415         * modules/unistd (Makefile.am): Substitute witnesses.
21416         * lib/unistd.in.h (usleep): Add declaration.
21417         * doc/pastposix-functions/usleep.texi (usleep): Document this.
21418         * MODULES.html.sh (Date and time): Likewise.
21419         * modules/usleep-tests (Depends-on): New test.
21420         * tests/test-usleep.c: New file.
21421
21422         chown: work around OpenBSD bug
21423         * lib/chown.c (rpl_chown): Work around the bug.
21424         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
21425         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
21426         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
21427         * modules/chown (Depends-on): Add stdbool.
21428         * modules/lchown (Depends-on): Likewise.
21429         * doc/posix-functions/chown.texi (chown): Document the bug.
21430         * doc/posix-functions/lchown.texi (lchown): Likewise.
21431         * tests/test-lchown.h (test_chown): Relax test.
21432
21433         mkstemp: avoid conflict with C++ keyword template
21434         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
21435         * lib/mkostemp.c (mkostemp): Likewise.
21436         * lib/mkostemps.c (mkostemps): Likewise.
21437         * lib/mkstemp.c (mkstemp): Likewise.
21438         * lib/mkstemps.c (mkstemps): Likewise.
21439
21440         xalloc-die-tests: optimize
21441         * tests/test-xalloc-die.sh: Reduce number of processes.
21442
21443 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21444
21445         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
21446         patch from ludo@gnu.org (Ludovic Courtès).
21447
21448 2009-11-17  Jim Meyering  <meyering@redhat.com>
21449
21450         version-etc: use proper license string
21451         * modules/version-etc (License): Use LGPL, not LGPLv3+.
21452         * modules/version-etc-fsf: Likewise.
21453
21454 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21455
21456         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
21457         printed to stdout.  Deal with EOL differences.
21458
21459 2009-11-17  Eric Blake  <ebb9@byu.net>
21460
21461         unsetenv: work around Solaris bug
21462         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
21463         * lib/unsetenv.c (rpl_unsetenv): Work around it.
21464         Reported by Jim Meyering.
21465
21466         vasnprintf: avoid compiler warnings
21467         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
21468         variables.
21469         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
21470
21471 2009-11-17  Simon Josefsson  <simon@josefsson.org>
21472
21473         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
21474         settings since xalloc-die is no longer the self test,
21475         xalloc-die.sh is.
21476
21477 2009-11-17  Jim Meyering  <meyering@redhat.com>
21478
21479         test-xalloc-die.sh: make the code agree with the commit log
21480         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
21481         at the end, just in case you happen to have a test-xalloc-die
21482         program in some other PATH directory.
21483
21484         test-xalloc-die.sh: fix a portability bug
21485         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
21486         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
21487         Otherwise, argv[0] (as often seen in diagnostics) would be too
21488         system-dependent, sometimes with, and sometimes without the leading "./".
21489
21490         version-etc-fsf: relax license to LGPLv3+
21491         * modules/version-etc-fsf (License): Relax license.
21492
21493 2009-11-16  Eric Blake  <ebb9@byu.net>
21494
21495         xalloc-die-tests: avoid printing null pointer
21496         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
21497         shell script.
21498         * tests/test-xalloc-die.c (program_name): Declare.
21499         * tests/test-xalloc-die.sh (tmpfiles): New file.
21500
21501         setenv, unsetenv: work around various bugs
21502         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
21503         (setenv) [HAVE_SETENV]: Work around bugs.
21504         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
21505         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
21506         for bugs.
21507         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
21508         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
21509         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
21510         * modules/stdlib (Makefile.am): Update substitutions.
21511         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
21512         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
21513         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21514         * modules/setenv-tests: New test.
21515         * modules/unsetenv-tests: Likewise.
21516         * tests/test-setenv.c: New file.
21517         * tests/test-unsetenv.c: Likewise.
21518
21519 2009-11-16  Jim Meyering  <meyering@redhat.com>
21520
21521         version-etc: relax license to LGPLv3+
21522         * modules/version-etc (License): Relax license.
21523
21524         better AC_REQUIRE expanded-before-required-warning avoidance
21525         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
21526         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
21527         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
21528         which is no longer needed.
21529
21530 2009-11-16  Eric Blake  <ebb9@byu.net>
21531
21532         test-freading: clean up temporary file
21533         * tests/test-freading.c (main): Remove file on success, and use
21534         ASSERT more liberally.
21535         Reported by Jim Meyering.
21536
21537 2009-11-16  Jim Meyering  <meyering@redhat.com>
21538
21539         avoid new AC_REQUIRE expanded-before-required warnings
21540         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
21541         merely using it.
21542         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
21543         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
21544
21545 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21546
21547         * tests/test-xalloc-die.c: New file.
21548         * modules/xalloc-die-tests: New file.
21549         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
21550         XFAIL_TESTS so it can be appended by modules.
21551
21552 2009-11-15  Simon Josefsson  <simon@josefsson.org>
21553
21554         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
21555         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
21556
21557 2009-11-14  Eric Blake  <ebb9@byu.net>
21558
21559         fnmatch: avoid compiler warning
21560         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
21561         to silence compiler warning about mismatch signedness in ?:.
21562         Reported by Robert Millan.
21563
21564         intprops: add double-inclusion guard
21565         * lib/intprops.h: Allow idempotent includes.
21566         Suggested by Bruce Korb.
21567
21568         openat: detect Solaris fchownat bug
21569         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
21570         penalizing glibc chownat when only lchownat is broken.
21571         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
21572         trailing slash bugs.
21573         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
21574         * modules/openat-tests (Files): Include more files.
21575         (Depends-on): Add mgetgroups, sleep, stat-time.
21576         (configure.ac): Add additional checks.
21577         (Makefile.am): Build new test.
21578         * tests/test-fchownat.c: New file.
21579
21580         lchown: detect Solaris and FreeBSD bug
21581         * lib/lchown.c (rpl_lchown): Work around bug.
21582         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
21583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21584         * modules/unistd (Makefile.am): Populate it.
21585         * lib/unistd.in.h (lchown): Update declaration.
21586         * doc/posix-functions/lchown.texi (lchown): Document the bug.
21587         * modules/lchown-tests: New file.
21588         * tests/test-lchown.h (test_lchown): Likewise.
21589         * tests/test-lchown.c (main): Likewise.
21590
21591         chown: detect Solaris and FreeBSD bug
21592         * lib/chown.c (rpl_chown): Work around bug.
21593         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
21594         (gl_PREREQ_CHOWN): Delete.
21595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21596         * modules/unistd (Makefile.am): Populate it.
21597         * lib/unistd.in.h (chown): Update declaration.
21598         * lib/lchown.c (chown): Update client.
21599         * modules/lchown (Depends-on): Add lstat.
21600         * doc/posix-functions/chown.texi (chown): Document the bug.
21601         * doc/posix-functions/getgroups.texi (getgroups): Document
21602         getgroups pitfall.
21603         * modules/chown-tests: New file.
21604         * tests/test-chown.h (test_chown): Likewise.
21605         * tests/test-chown.c (main): Likewise.
21606
21607 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
21608
21609         gnulib-tool: correctly detect absence of m4 directories
21610         * gnulib-tool: Avoid extra newline on data passed to wc -l.
21611
21612 2009-11-14  Jim Meyering  <meyering@redhat.com>
21613
21614         maint.mk: Prohibit inclusion of "xalloc.h" without use.
21615         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21616
21617 2009-11-14  John W. Eaton  <jwe@gnu.org>
21618
21619         strftime.h: wrap funtion declaration in extern "C" block
21620         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
21621
21622 2009-11-13  Eric Blake  <ebb9@byu.net>
21623
21624         getgroups: avoid compiler warning
21625         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
21626
21627         getgroups: work around FreeBSD bug
21628         * lib/getgroups.c (rpl_getgroups): Work around the bug.
21629         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
21630         * doc/posix-functions/getgroups.texi (getgroups): Document it.
21631         * tests/test-getgroups.c (main): Fix buffer overrun.
21632
21633         getgroups: avoid compilation failure
21634         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
21635         * modules/getgroups (Depends-on): Add stdint.
21636
21637 2009-11-13  Jim Meyering  <meyering@redhat.com>
21638
21639         test-getgroups: avoid compilation failure
21640         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
21641
21642 2009-11-13  Eric Blake  <ebb9@byu.net>
21643
21644         mgetgroups: new module, taken from coreutils
21645         * modules/mgetgroups: New file.
21646         * lib/mgetgroups.h: Likewise.
21647         * lib/mgetgroups.c (mgetgroups): Likewise.
21648         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
21649         * MODULES.html.sh (Users and groups): Mention it.
21650
21651         getgroups: don't expose GETGROUPS_T to user
21652         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
21653         an element at a time if GETGROUPS_T is wrong size.
21654         * lib/getugroups.h (getugroups): Change signature.
21655         * lib/unistd.in.h (getgroups): Likewise.
21656         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
21657         signature needs fixing.
21658         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
21659         AC_TYPE_GETGROUPS.
21660         * modules/group-member (Depends-on): Add getgroups.
21661         * lib/group-member.c (group_info, get_group_info): Use gid_t.
21662         (group_member): Rely on getgroups replacement.
21663         * lib/getugroups.c (getugroups): Use gid_t.
21664         * tests/test-getgroups.c (main): Likewise.
21665         * NEWS: Mention the signature change.
21666         * doc/posix-functions/getgroups.texi (getgroups): Mention the
21667         problem with signature.
21668         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
21669         GETGROUPS_T is still useful for setgroups.
21670
21671         getgroups, getugroups: provide stubs for mingw
21672         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
21673         * lib/getugroups.c (getugroups): Likewise.
21674         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
21675         function.  Modernize replacement scheme.
21676         (gl_PREREQ_GETGROUPS): Delete.
21677         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
21678         * modules/getgroups (configure.ac): Declare witness.
21679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21680         * modules/unistd (Depends-on): Substitute witness.
21681         * lib/unistd.in.h (getgroups): Declare replacement.
21682
21683         getgroups: avoid calling exit
21684         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
21685         drop xalloc.
21686         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
21687         dependencies.
21688         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
21689         exiting, in the rare case of malloc failure.
21690
21691         getgroups: fix logic error
21692         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
21693         has more than 20 groups.
21694         * modules/getgroups-tests: New test.
21695         * tests/test-getgroups.c: New file.
21696
21697 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21698
21699         * tests/test-base64.c: Improve.
21700
21701 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21702
21703         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
21704         Blake <ebb9@byu.net>.
21705
21706 2009-11-13  Simon Josefsson  <simon@josefsson.org>
21707
21708         * tests/test-xvasprintf.c: Add %s%s related checks.
21709
21710 2009-11-12  Eric Blake  <ebb9@byu.net>
21711
21712         version-etc: match standards.texi style
21713         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
21714         and use <> only for URLs.
21715
21716 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
21717
21718         fts: do not fail on a submount during traversal
21719         * lib/fts.c (fts_build): Read the stat info again after opening
21720         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
21721         Original report at http://bugzilla.redhat.com/501848.
21722
21723 2009-11-12  Jim Meyering  <meyering@redhat.com>
21724
21725         bootstrap: sync from coreutils
21726         * build-aux/bootstrap (bootstrap_epilogue): New function.
21727         Use git_modules_config in one more place.  This make bootstrap's
21728         --gnulib-srcdir option more useful for testing.
21729
21730         bootstrap: generalize autoheader check
21731         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
21732         AC_CONFIG_HEADERS.
21733
21734 2009-11-11  Eric Blake  <ebb9@byu.net>
21735
21736         mkfifoat: use new modules for Solaris and BSD bugs
21737         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
21738         * lib/mkfifoat.c (mknodat): Split...
21739         * lib/mknodat.c (mknodat): ...into new file.
21740         * modules/mkfifoat (Files): Ship new file.
21741         (Depends-on): Add mkfifo, mknod.
21742         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
21743         (Depends-on): Add symlink.
21744         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
21745         redundant with test_mkfifo.h.
21746         (do_mkfifoat, do_mknodat): New helpers.
21747
21748         mknod: new module
21749         * modules/mknod: New file.
21750         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
21751         * lib/mknod.c (mknod): Likewise.
21752         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21753         defaults.
21754         * modules/sys_stat (Makefile.am): Substitute them.
21755         * lib/sys_stat.in.h (mknod): Declare replacement.
21756         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21757         Document it.
21758         * doc/posix-functions/mknod.texi (mknod): Likewise.
21759         * modules/mknod-tests: New test.
21760         * tests/test-mknod.c: Likewise.
21761
21762         mkfifo: new module
21763         * modules/mkfifo: New file.
21764         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21765         * lib/mkfifo.c (mkfifo): Likewise.
21766         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21767         defaults.
21768         * modules/sys_stat (Makefile.am): Substitute them.
21769         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21770         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21771         Document it.
21772         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21773         * modules/mkfifo-tests: New test.
21774         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21775         from test-mkfifoat.c.
21776         * tests/test-mkfifo.c: New file.
21777
21778         readlink: detect FreeBSD bug
21779         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21780         slash on symlink.
21781         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21782         * tests/test-readlink.h (test_readlink): Enhance test.
21783
21784         symlink: detect FreeBSD bug
21785         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21786         slash on symlink.
21787         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21788         * tests/test-symlink.h (test_symlink): Enhance test.
21789
21790 2009-11-10  Eric Blake  <ebb9@byu.net>
21791
21792         link: detect FreeBSD bug
21793         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21794         symlink.
21795         * doc/posix-functions/link.texi (link): Document the bug.
21796         * tests/test-link.h (test_link): Enhance test.
21797         * tests/test-linkat.c (main): Update caller.
21798
21799         unlink, remove: detect FreeBSD bug
21800         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21801         slash on symlink.
21802         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21803         * doc/posix-functions/remove.texi (remove): Likewise.
21804         * tests/test-unlink.h (test_unlink): Enhance test.
21805         * tests/test-remove.c (main): Likewise.
21806
21807 2009-11-09  Eric Blake  <ebb9@byu.net>
21808
21809         rename: detect FreeBSD bug
21810         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21811         slash on symlink.
21812         * modules/renameat-tests (Depends-on): Add filenamecat.
21813         * tests/test-rename.h (test_rename): Allow one more errno.
21814         * tests/test-renameat.c (main): Likewise.
21815         * doc/posix-functions/rename.texi (rename): Document the bug.
21816
21817         open: detect FreeBSD bug
21818         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21819         symlink.
21820         * doc/posix-functions/open.texi (open): Document the bug.
21821         * doc/posix-functions/utimes.texi (utimes): Likewise.
21822         * tests/test-open.h (test_open): Add parameters, and test symlink
21823         handling.
21824         * tests/test-open.c (main): Adjust caller.
21825         * tests/test-fcntl-safer.c (main): Likewise.
21826         * modules/open-tests (Depends-on): Add stdbool, symlink.
21827         * modules/fcntl-safer-tests (Depends-on): Likewise.
21828         * tests/test-openat.c (main): Add test-open tests.
21829
21830         stat: detect FreeBSD bug
21831         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21832         symlink.
21833         * doc/posix-functions/stat.texi (stat): Document the bug.
21834         * tests/test-stat.h (test_stat_func): Add argument.
21835         * tests/test-stat.c (main): Adjust caller.
21836         * tests/test-fstatat.c (main): Likewise.
21837         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21838         Reported by Jim Meyering.
21839
21840 2009-11-09  James Youngman  <jay@gnu.org>
21841
21842         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21843         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21844
21845 2009-11-08  Jim Meyering  <meyering@redhat.com>
21846
21847         utimens: remove invalid futimesat call
21848         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21849         It used the file descriptor of the target file as the DIR_FD
21850         parameter and NULL as the file name.  That caused failure with
21851         errno == EFAULT on FreeBSD-8.0-rc2
21852
21853 2009-11-07  Eric Blake  <ebb9@byu.net>
21854
21855         fflush, freadseek: use fseeko, not fseek
21856         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21857         (clear_ungetc_buffer): Avoid potential problems on large files.
21858         * lib/freadseek.c (freadseek): Likewise.
21859         * modules/freadseek (Depends-on): Add fseeko.
21860         * modules/fseek (configure.ac): Set a witness.
21861         * tests/test-fflush.c (main): Use fseeko.
21862         * tests/test-fpurge.c (fseek): Disable link warning.
21863         * tests/test-freadable.c (fseek): Likewise.
21864         * tests/test-freading.c (fseek): Likewise.
21865         * tests/test-fseeko.c (fseek): Likewise.
21866         * tests/test-ftell.c (fseek): Likewise.
21867         * tests/test-ftello.c (fseek): Likewise.
21868         * tests/test-fwritable.c (fseek): Likewise.
21869         * tests/test-fwriting.c (fseek): Likewise.
21870
21871 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21872
21873         * modules/memchr (Depends-on): Drop getpagesize dependency.
21874
21875 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21876
21877         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21878         Reported by Ludovic Courtès.
21879         * build-aux/pmccabe2html: Improve example usage.
21880         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21881
21882 2009-11-06  Jim Meyering  <meyering@redhat.com>
21883
21884         do-release-commit-and-tag: New module.
21885         Automate the release-commit and tag process.
21886         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21887         * modules/do-release-commit-and-tag: New file.
21888         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21889
21890 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21891
21892         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21893         because test-select.c uses inet_pton.
21894
21895 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21896
21897         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21898         GETADDRINFO_LIB.  Bump serial number.
21899         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21900         Suggested by Eric Blake <ebb9@byu.net>.
21901
21902 2009-11-05  Eric Blake  <ebb9@byu.net>
21903
21904         strtod: detect darwin bug
21905         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21906         Reported by Leo Davis.
21907
21908         freopen-safer: new module
21909         * modules/freopen-safer: New module.
21910         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21911         * lib/freopen-safer.c (freopen_safer): New file.
21912         * lib/stdio-safer.h (freopen_safer): New declaration.
21913         * lib/stdio--.h (freopen): New override.
21914         * MODULES.html.sh (File stream based Input/Output): Mention it.
21915         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21916         freopen-safer module.
21917         * doc/posix-functions/stderr.texi (stderr): Likewise.
21918         * doc/posix-functions/stdin.texi (stdin): Likewise.
21919         * doc/posix-functions/stdout.texi (stdout): Likewise.
21920         * modules/freopen-safer-tests: New test.
21921         * tests/test-reopen-safer.c: New file.
21922
21923 2009-11-05  Jim Meyering  <meyering@redhat.com>
21924
21925         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21926         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21927
21928 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21929
21930         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21931
21932 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21933
21934         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21935
21936 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21937
21938         Fix link error.
21939         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21940         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21941
21942 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21943
21944         * tests/test-func.c: Also test value of __func__.
21945
21946 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21947
21948         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21949         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21950
21951 2009-11-05  Bruno Haible  <bruno@clisp.org>
21952
21953         Fix link error.
21954         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21955         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21956         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21957
21958 2009-11-05  Bruno Haible  <bruno@clisp.org>
21959
21960         Tests for module 'inet_pton'.
21961         * modules/inet_pton-tests: New file.
21962         * tests/test-inet_pton.c: New file.
21963
21964 2009-11-05  Bruno Haible  <bruno@clisp.org>
21965
21966         Tests for module 'inet_ntop'.
21967         * modules/inet_ntop-tests: New file.
21968         * tests/test-inet_ntop.c: New file.
21969
21970 2009-11-04  Eric Blake  <ebb9@byu.net>
21971
21972         stdlib-safer: wrap all mkstemp variants
21973         * modules/mkostemp (configure.ac): Set witness.
21974         * modules/mkostemps (configure.ac): Likewise.
21975         * modules/mkstemps (configure.ac): Likewise.
21976         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21977         (mkstemps_safer): Wrap more functions.
21978         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21979         wrapping.
21980         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21981         (mkstemps_safer): Implement the wrappers.
21982
21983         mkstemps, mkostemps: new modules
21984         * modules/mkostemps: New module.
21985         * modules/mkstemps: Likewise.
21986         * lib/mkostemps.c (mkostemps): New file.
21987         * lib/mkstemps.c (mkstemps): Likewise.
21988         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21989         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21990         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21991         * modules/stdlib (Makefile.am): Substitute them.
21992         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21993         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21994         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21995         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21996         * MODULES.html.sh (File system functions): Mention them.
21997
21998         tempname: resync from glibc
21999         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
22000         same values for __GT_FILE as glibc.  Abort even when assertions
22001         are disabled.
22002         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
22003         match its value otherwise.  Allow idempotent inclusion.
22004         * lib/mkdtemp.c (mkdtemp): Adjust caller.
22005         * lib/mkostemp.c (mkostemp): Likewise.
22006         * lib/mkstemp.c (mkstemp): Likewise.
22007         * lib/tmpfile.c (tmpfile): Likewise.
22008         * NEWS: Document this.
22009
22010         utimens: fix use of futimens on older Linux
22011         * lib/utimens.c (fdutimens): Use updated, rather than original,
22012         timespec to avoid bug in older Linux kernel.
22013         Reported by Simon Josefsson.
22014
22015 2009-11-04  Bruno Haible  <bruno@clisp.org>
22016
22017         Make num_processors more flexible and consistent.
22018         * lib/nproc.h (enum nproc_query): New type.
22019         (num_processors): Add a 'query' argument.
22020         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
22021         (num_processors): Add a 'query' argument. Test the value of the
22022         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
22023         mingw, count the number of CPUs available for the current process.
22024         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
22025         Check for sched_getaffinity and sched_getaffinity_np.
22026         * modules/nproc (Depends-on): Add c-ctype, extensions.
22027         * NEWS: Mention the change.
22028
22029 2009-11-03  Bruno Haible  <bruno@clisp.org>
22030
22031         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
22032
22033 2009-11-03  Jim Meyering  <meyering@redhat.com>
22034
22035         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
22036         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
22037         if it is defined.
22038
22039 2009-11-02  Eric Blake  <ebb9@byu.net>
22040
22041         mktime, timegm: share common declaration
22042         * lib/mktime-internal.h: New file.
22043         * lib/mktime.c: Use it rather than open-coding a declaration.
22044         * lib/timegm.c: Likewise.
22045         * modules/mktime (Files): Ship it.
22046         * modules/timegm (Files): Likewise.
22047         Suggested by Bruno Haible.
22048
22049         test-update-copyright: update test to match script changes
22050         * tests/test-update-copyright.sh: Avoid hard-coding perl
22051         location.  Don't update *.bak created by earlier runs.
22052
22053 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22054             Simon Josefsson  <simon@josefsson.org>
22055             Bruno Haible  <bruno@clisp.org>
22056
22057         Fix link error on Solaris 8.
22058         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
22059         also in libnsl. Define also INET_PTON_LIB.
22060         * modules/inet_pton (Link): New section.
22061
22062 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22063             Bruno Haible  <bruno@clisp.org>
22064
22065         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
22066         * modules/inet_ntop (Link): New section.
22067         Reported by Boyan Kasarov <bkasarov@gmail.com>.
22068
22069 2009-11-02  Eric Blake  <ebb9@byu.net>
22070
22071         maint: avoid compiler warnings in m4 macros
22072         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
22073         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
22074
22075 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22076
22077         * m4/pmccabe2html.m4: Remove file.
22078         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
22079         function.  Change maintainer.
22080         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
22081         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
22082         Courtès).
22083
22084 2009-10-31  Eric Blake  <ebb9@byu.net>
22085
22086         fseeko: fix m4 regression
22087         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
22088         regression from 2009-10-27.
22089         Reported by Ralf Wildenhues.
22090
22091 2009-10-31  Jim Meyering  <meyering@redhat.com>
22092
22093         inttostr: aesthetics and improved (compile-time) safety
22094         Define inttype_is_signed rather than inttype_is_unsigned,
22095         since the sole use is via "#if inttype_is_signed".
22096         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
22097         inttype_is_unsigned.
22098         * lib/offtostr.c (inttype_is_signed): Likewise.
22099         * lib/uinttostr.c (inttype_is_signed): Likewise.
22100         * lib/umaxtostr.c (inttype_is_signed): Likewise.
22101         * lib/inttostr.c (inttostr): Use verify to cross-check the
22102         inttype_is_signed value and the signedness of the actual type.
22103         * modules/inttostr (Depends-on): Add verify.
22104
22105 2009-10-30  Eric Blake  <ebb9@byu.net>
22106
22107         build: avoid compiler warnings
22108         * lib/fchmodat.c (lchmod): Mark unused variables.
22109         * lib/getopt.c (_getopt_initialize): Likewise.
22110         * lib/mktime.c (__mktime_internal): Provide prototype.
22111         * lib/inttostr.c (inttostr): Avoid compiler warning even with
22112         older gcc that do not understand #pragma GCC diagnostic.
22113         * lib/uinttostr.c (inttype_is_unsigned): Define.
22114         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
22115
22116 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
22117
22118         stat: fix compilation on AIX
22119         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
22120         only see struct stat64.
22121
22122 2009-10-30  Eric Blake  <ebb9@byu.net>
22123
22124         exclude: make more robust
22125         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
22126         rather than masking a coding bug.
22127         Suggested by Bruno Haible.
22128
22129 2009-10-30  Jim Meyering  <meyering@redhat.com>
22130
22131         perl scripts: remove #!/usr/bin/perl in favor of more portable...
22132         Rather than putting #!/usr/bin/perl on the first line,
22133         start with a variant of what's recommended by "man perlrun" that
22134         invokes the first "perl" program from your shell's search path.
22135         * build-aux/gitlog-to-changelog: Replace #!... as above.
22136         Add a "Local Variables" perl mode setting.
22137         Prompted by a patch from Ludovic Courtès.
22138         Improved by Eric Blake.
22139         * build-aux/useless-if-before-free: Likewise.
22140         * build-aux/announce-gen: Likewise.
22141         * build-aux/update-copyright: Likewise.
22142
22143 2009-10-29  Eric Blake  <ebb9@byu.net>
22144
22145         filenamecat-lgpl: adjust clients
22146         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
22147         filenamecat.
22148         * modules/renameat (Depends-on): Likewise.
22149
22150         filenamecat: split into filenamecat-lgpl
22151         * modules/filenamecat-lgpl: New module.
22152         * modules/filenamecat (Files): Move library-safe files into
22153         filenamecat-lgpl.
22154         (Depends-on): Add filenamecat-lgpl.
22155         (configure.ac): Declare witness.
22156         * lib/filenamecat.h (file_name_concat): Only declare when using
22157         GPL module.
22158         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
22159         Move...
22160         * lib/filenamecat-lgpl.c: ...into new file.
22161         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
22162         (gl_FILE_NAME_CONCAT): Use it.
22163         * MODULES.html.sh (File system functions): Mention new module.
22164
22165         argp: avoid memory leak
22166         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
22167         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
22168         base_name, since the latter malloc()s and can call exit().
22169         Leak introduced 2006-07-03.
22170
22171         dirname-lgpl: adjust clients that don't need full dirname
22172         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
22173         * modules/filenamecat (Depends-on): Likewise.
22174         * modules/linkat (Depends-on): Likewise.
22175         * modules/mkancesdirs (Depends-on): Likewise.
22176         * modules/mkdir (Depends-on): Likewise.
22177         * modules/openat (Depends-on): Likewise.
22178         * modules/savewd (Depends-on): Likewise.
22179         * modules/rename (Depends-on): Likewise.
22180         (License): Relax license.
22181         * modules/mkdir-tests (Depends-on): Drop progname.
22182         (Makefile.am): Delete unneeded LDADD.
22183         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
22184
22185         dirname: split into dirname-lgpl
22186         * modules/dirname-lgpl: New module.
22187         * modules/dirname (Files): Move library-safe files into
22188         dirname-lgpl.
22189         (Depends-on): Add dirname-lgpl.
22190         (configure.ac): Declare witness.
22191         * modules/double-slash-root (License): Relax license.
22192         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
22193         module.
22194         * lib/dirname.c (dir_len, mdir_name): Move...
22195         * lib/dirname-lgpl.c: ...into new file.
22196         * lib/basename.c (last_component, base_len): Move...
22197         * lib/basename-lgpl.c: ...into new file.
22198         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
22199         (gl_DIRNAME): Use it.
22200         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
22201         Mention new module.
22202         * modules/dirname-tests (Depends-on): Add progname.
22203         * tests/test-dirname.c (program_name): Delete.
22204
22205         mkdir: make safe for libraries
22206         * modules/mkdir (Depends-on): Drop xalloc.
22207         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
22208         exit.
22209
22210         tests: avoid some compiler warnings
22211         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
22212         literals.
22213         * tests/test-memchr.c (main): Avoid type mismatch.
22214         * tests/test-arpa_inet.c (main): Avoid unused parameters.
22215         * tests/test-base64.c (main): Likewise.
22216         * tests/test-getdelim.c (main): Likewise.
22217         * tests/test-gethostname.c (main): Likewise.
22218         * tests/test-getline.c (main): Likewise.
22219         * tests/test-netinet_in.c (main): Likewise.
22220         * tests/test-select.c (open_server_socket, main): Likewise.
22221         * tests/test-select-stdin.c (main): Likewise.
22222         * tests/test-sockets.c (main): Likewise.
22223         * tests/test-strsignal.c (main): Likewise.
22224         * tests/test-sys_select.c (main): Likewise.
22225         * tests/test-sys_socket.c (main): Likewise.
22226         * tests/test-u64.c (main): Likewise.
22227         * tests/test-xfprintf-posix.c (main): Likewise.
22228         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
22229
22230         sockets: avoid compiler warning
22231         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
22232
22233         maint: detect usage(1) and other suspicious exits
22234         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
22235
22236 2009-10-29  Jim Meyering  <meyering@redhat.com>
22237
22238         timespec: long-to-int truncation could make timespec_cmp malfunction
22239         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
22240         a multiple of 2^32 nanoseconds as no difference.
22241
22242 2009-10-28  Jim Meyering  <meyering@redhat.com>
22243
22244         fprintftime: wrap macro code argument in "do {...} while(0)"
22245         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
22246         cpy macro must be a statement that can be followed by a semicolon.
22247         Now that the else clause contains a comment and is hence longer
22248         than one line, I require curly braces.  That in turn requires
22249         that we wrap this code block in the standard do...while(0).
22250
22251         fprintftime: remove stray semicolon from previous change
22252         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
22253
22254         fprintftime: avoid a warning about ignored fwrite return value
22255         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
22256         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
22257         that is unsafe.
22258         * modules/fprintftime (Depends-on): Add ignore-value.
22259
22260         exclude: avoid an unwarranted warning
22261         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
22262
22263 2009-10-27  Eric Blake  <ebb9@byu.net>
22264
22265         fseek: avoid compilation failure when fflush is replaced
22266         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
22267         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
22268         module is in use.
22269         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
22270         module is not in use; since REPLACE_FSEEK worked otherwise.
22271         (GNULIB_FTELLO): Likewise for ftell.
22272         Reported by Ian Beckwith and others.
22273
22274 2009-10-27  Bruno Haible  <bruno@clisp.org>
22275
22276         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
22277         Reported by Jim Meyering.
22278
22279 2009-10-27  Jim Meyering  <jim@meyering.net>
22280             Bruno Haible  <bruno@clisp.org>
22281
22282         Avoid warning despite dropping the return value of fwrite.
22283         * lib/unicodeio.c: Include ignore-value.h.
22284         (fwrite_success_callback): Explicitly ignore fwrite's return value.
22285         * modules/unicodeio (Depends-on): Add ignore-value.
22286
22287 2009-10-26  Eric Blake  <ebb9@byu.net>
22288
22289         areadlinkat: fix fallback path
22290         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
22291         pointer and zero.
22292
22293 2009-10-22  Pádraig Brady  <P@draigBrady.com>
22294
22295         Use a better IO block size for modern systems
22296         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
22297         * lib/md2.c: Likewise.
22298         * lib/md4.c: Likewise.
22299         * lib/md5.c: Likewise.
22300         * lib/sha1.c: Likewise.
22301         * lib/sha256.c: Likewise.
22302         * lib/sha512.c: Likewise.
22303
22304 2009-10-22  Eric Blake  <ebb9@byu.net>
22305
22306         tests: avoid several compiler warnings
22307         * tests/test-getcwd.c (main): Avoid buffer underflow.
22308         * tests/test-getdate.c (main): String literals are not safe with
22309         putenv, so use setenv.  Declare unused argument.
22310         * modules/getdate-tests (Depends-on): Add setenv.
22311         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
22312         problems with string literals in char *.
22313         * tests/test-hash.c (main): Avoid shadowing declaration.
22314         (insert_new): Treat string literals as char const *.
22315         * tests/test-getopt.h (test_getopt): Likewise.
22316         (getopt_loop): Alter types to minimize casting elsewhere.
22317         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
22318         (test_getopt_long_posix): Likewise.
22319         (do_getopt_long): Add wrapper to minimize casting.
22320         * tests/test-atexit.c (clear_temp_file): Use void.
22321         * tests/test-areadlink-with-size.c (main): Declare unused
22322         arguments.
22323         * tests/test-areadlink.c (main): Likewise.
22324         * tests/test-areadlinkat-with-size.c (main): Likewise.
22325         * tests/test-areadlinkat.c (main): Likewise.
22326         * tests/test-canonicalize-lgpl.c (main): Likewise.
22327         * tests/test-canonicalize.c (main): Likewise.
22328         * tests/test-dirent-safer.c (main): Likewise.
22329         * tests/test-dirname.c (main): Likewise.
22330         * tests/test-dup2.c (main): Likewise.
22331         * tests/test-fchdir.c (main): Likewise.
22332         * tests/test-fcntl-h.c (main): Likewise.
22333         * tests/test-fcntl-safer.c (main): Likewise.
22334         * tests/test-fdopendir.c (main): Likewise.
22335         * tests/test-fdutimensat.c (main): Likewise.
22336         * tests/test-fflush.c (main): Likewise.
22337         * tests/test-filenamecat.c (main): Likewise.
22338         * tests/test-filevercmp.c (main): Likewise.
22339         * tests/test-fopen-safer.c (main): Likewise.
22340         * tests/test-fopen.c (main): Likewise.
22341         * tests/test-fpending.c (main): Likewise.
22342         * tests/test-fpurge.c (main): Likewise.
22343         * tests/test-freading.c (main): Likewise.
22344         * tests/test-fstatat.c (main): Likewise.
22345         * tests/test-fsync.c (main): Likewise.
22346         * tests/test-futimens.c (main): Likewise.
22347         * tests/test-getndelim2.c (main): Likewise.
22348         * tests/test-gettimeofday.c (main): Likewise.
22349         * tests/test-getopt.c (main): Likewise.
22350         * tests/test-i-ring.c (main): Likewise.
22351         * tests/test-inttypes.c (main): Likewise.
22352         * tests/test-link.c (main): Likewise.
22353         * tests/test-lstat.c (main): Likewise.
22354         * tests/test-math.c (main): Likewise.
22355         * tests/test-md5.c (main): Likewise.
22356         * tests/test-memchr2.c (main): Likewise.
22357         * tests/test-memrchr.c (main): Likewise.
22358         * tests/test-mkdir.c (main): Likewise.
22359         * tests/test-mkdirat.c (main): Likewise.
22360         * tests/test-mkfifoat.c (main): Likewise.
22361         * tests/test-open.c (main): Likewise.
22362         * tests/test-openat-safer.c (main): Likewise.
22363         * tests/test-openat.c (main): Likewise.
22364         * tests/test-quotearg.c (main): Likewise.
22365         * tests/test-rawmemchr.c (main): Likewise.
22366         * tests/test-readlink.c (main): Likewise.
22367         * tests/test-remove.c (main): Likewise.
22368         * tests/test-rename.c (main): Likewise.
22369         * tests/test-renameat.c (main): Likewise.
22370         * tests/test-rmdir.c (main): Likewise.
22371         * tests/test-sha1.c (main): Likewise.
22372         * tests/test-signal.c (main): Likewise.
22373         * tests/test-sigaction.c (main): Likewise.
22374         * tests/test-stat.c (main): Likewise.
22375         * tests/test-stat-time.c (main): Likewise.
22376         * tests/test-stddef.c (main): Likewise.
22377         * tests/test-stdint.c (main): Likewise.
22378         * tests/test-stdio.c (main): Likewise.
22379         * tests/test-stdlib.c (main): Likewise.
22380         * tests/test-strchrnul.c (main): Likewise.
22381         * tests/test-strerror.c (main): Likewise.
22382         * tests/test-string.c (main): Likewise.
22383         * tests/test-strtod.c (main): Likewise.
22384         * tests/test-strverscmp.c (main): Likewise.
22385         * tests/test-symlink.c (main): Likewise.
22386         * tests/test-symlinkat.c (main): Likewise.
22387         * tests/test-sys_stat.c (main): Likewise.
22388         * tests/test-sys_time.c (main): Likewise.
22389         * tests/test-time.c (main): Likewise.
22390         * tests/test-unistd.c (main): Likewise.
22391         * tests/test-unlink.c (main): Likewise.
22392         * tests/test-unlinkat.c (main): Likewise.
22393         * tests/test-utimens.c (main): Likewise.
22394         * tests/test-utimensat.c (main): Likewise.
22395         * tests/test-version-etc.c (main): Likewise.
22396         * tests/test-wchar.c (main): Likewise.
22397         * tests/test-wctype.c (main): Likewise.
22398         * tests/test-xprintf-posix.c (main): Likewise.
22399         * tests/test-posixtm.c (main): Likewise.
22400         (STREQ): Delete unused macro.
22401         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
22402         shadowed variables.
22403         * tests/test-memchr.c (main): Likewise.
22404
22405 2009-10-21  Eric Blake  <ebb9@byu.net>
22406
22407         areadlinkat: avoid failure on older glibc
22408         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
22409         rather than mis-comparing 0 against FUNC_RESULT of char*.
22410
22411 2009-10-21  Bruno Haible  <bruno@clisp.org>
22412
22413         * modules/stpncpy (License): Relicense under LGPLv2+.
22414         Reported by David Lutterkort <lutter@redhat.com>.
22415
22416 2009-10-20  Eric Blake  <ebb9@byu.net>
22417
22418         utimensat: work around Solaris 9 bug
22419         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
22420         has trailing slash bugs.
22421         * tests/test-lutimens.h (test_lutimens): Enhance test.
22422         * tests/test-utimens.h (test_utimens): Likewise.
22423         * doc/posix-functions/utime.texi (utime): Enhance documentation.
22424         * doc/posix-functions/utimes.texi (utimes): Likewise.
22425         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22426         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
22427         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
22428         * doc/posix-functions/futimens.texi (futimens): Likewise.
22429
22430         fdutimensat: new module
22431         * modules/fdutimensat: New file.
22432         * lib/fdutimensat.c (fdutimensat): Likewise.
22433         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
22434         * MODULES.html.sh (File system functions): Mention module.
22435         * modules/fdutimensat-tests: New test.
22436         * tests/test-fdutimensat.c: Likewise.
22437
22438         doc: regenerate INSTALL
22439         * doc/INSTALL: Reflect recent autoconf update.
22440         * doc/INSTALL.ISO: Likewise.
22441         * doc/INSTALL.UTF-8: Likewise.
22442
22443 2009-10-20  Pádraig Brady  <P@draigBrady.com>
22444
22445         acl: warn if ACL support is not detected
22446         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
22447
22448 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
22449
22450         * lib/nproc.h: Add extern "C" block for C++.
22451
22452 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
22453             Bruno Haible  <bruno@clisp.org>
22454
22455         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
22456         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
22457         * doc/posix-functions/isalpha.texi: Likewise.
22458         * doc/posix-functions/isblank.texi: Likewise.
22459         * doc/posix-functions/iscntrl.texi: Likewise.
22460         * doc/posix-functions/isdigit.texi: Likewise.
22461         * doc/posix-functions/isgraph.texi: Likewise.
22462         * doc/posix-functions/islower.texi: Likewise.
22463         * doc/posix-functions/isprint.texi: Likewise.
22464         * doc/posix-functions/ispunct.texi: Likewise.
22465         * doc/posix-functions/isspace.texi: Likewise.
22466         * doc/posix-functions/isupper.texi: Likewise.
22467         * doc/posix-functions/isxdigit.texi: Likewise.
22468
22469 2009-10-18  Bruno Haible  <bruno@clisp.org>
22470
22471         Tests for module 'isblank'.
22472         * modules/isblank-tests: New file.
22473         * tests/test-isblank.c: New file.
22474
22475         New module 'isblank'.
22476         * lib/isblank.c: New file.
22477         * m4/isblank.m4: New file.
22478         * modules/isblank: New file.
22479         * doc/posix-functions/isblank.texi: Mention the new module.
22480
22481 2009-10-18  Bruno Haible  <bruno@clisp.org>
22482
22483         New module 'ctype'.
22484         * lib/ctype.in.h: New file.
22485         * m4/ctype.m4: New file.
22486         * modules/ctype: New file.
22487         * doc/posix-headers/ctype.texi: Mention the new module.
22488
22489 2009-10-18  Jim Meyering  <meyering@redhat.com>
22490
22491         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
22492         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
22493         right after its initialization, rather than farther down.
22494         Keeping these in close proximity makes it easier to ensure
22495         that each such variable is initialized.  E.g.,
22496
22497             LIB_CLOCK_GETTIME=
22498             AC_SUBST([LIB_CLOCK_GETTIME])
22499
22500         This change also increments these serial numbers.
22501         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
22502         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22503         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22504
22505 2009-10-18  Bruno Haible  <bruno@clisp.org>
22506
22507         Don't let environment variables perturb build.
22508         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
22509         (gl_PREREQ_GETHRXTIME): ... not here.
22510
22511 2009-10-18  Bruno Haible  <bruno@clisp.org>
22512
22513         Avoid symlink attack in localcharset module.
22514         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
22515         (O_NOFOLLOW): Define fallback.
22516         (get_charset_aliases): Don't open the file if it is a symbolic link.
22517         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
22518         gl_FCNTL_H.
22519         (gl_FCNTL_H): Require it.
22520         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
22521         * modules/localcharset (Files): Add m4/fcntl_h.m4.
22522         Reported by Fergal Glynn <fglynn@veracode.com>.
22523
22524 2009-10-18  Bruno Haible  <bruno@clisp.org>
22525
22526         Implement nproc for mingw.
22527         * lib/nproc.c: Include <windows.h>
22528         (num_processors): On native Windows platforms, try GetSystemInfo.
22529
22530 2009-10-18  Bruno Haible  <bruno@clisp.org>
22531
22532         Implement nproc for IRIX.
22533         * lib/nproc.c: Include <sys/sysmp.h>.
22534         (num_processors): On IRIX systems, try sysmp.
22535         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
22536
22537 2009-10-18  Bruno Haible  <bruno@clisp.org>
22538
22539         Implement nproc for HP-UX.
22540         * lib/nproc.c: Include <sys/pstat.h>
22541         (num_processors): On HP-UX systems, try pstat_getdynamic.
22542         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
22543         pstat_getdynamic.
22544
22545 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
22546             Bruno Haible  <bruno@clisp.org>
22547
22548         Implement nproc for NetBSD, OpenBSD.
22549         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
22550         (ARRAY_SIZE): New macro.
22551         (num_processors): On BSD systems, try sysctl of HW_NCPU.
22552         * m4/nproc.m4: New file.
22553         * modules/nproc (Files): Add m4/nproc.m4.
22554         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
22555         (Makefile.am): Instead, augment lib_SOURCES.
22556
22557 2009-10-18  Bruno Haible  <bruno@clisp.org>
22558
22559         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
22560         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
22561         sys/param.h.
22562
22563 2009-10-16  Eric Blake  <ebb9@byu.net>
22564
22565         utimensat: new module
22566         * modules/utimensat: New file.
22567         * lib/utimensat.c (utimensat): Likewise.
22568         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22569         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
22570         so we can work around Linux bugs.
22571         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22572         * modules/sys_stat (Makefile.am): Substitute them.
22573         * lib/sys_stat.in.h (utimensat): Declare it.
22574         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22575         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22576         * modules/utimensat-tests: New test.
22577         * tests/test-utimensat.c: Likewise.
22578
22579         utimens: let lutimens work on non-symlinks
22580         * lib/utimens.c (lutimens): Fall back to utimens rather than
22581         failing with ENOSYS, when file is not a symlink.
22582         (utimens): Reduce redirection.
22583         * tests/test-lutimens.h (test_lutimens): Update test to cover
22584         non-symlinks.
22585         * tests/test-utimens.h (test_utimens): Update test to cover
22586         symlinks.
22587         * tests/test-utimens.c (main): Update caller.
22588
22589         utimens: cache whether utimensat syscall works
22590         * lib/utimens.c (utimensat_works_really): New cache variable.
22591         (fdutimens, lutimens): Use it to avoid failing syscall.
22592
22593         test-stat-time, test-utimens: improve portability
22594         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
22595         ext4 on alpha, and for cygwin.
22596         * tests/test-utimens-common.h: New file.
22597         (nap): Factor delays into single function.
22598         * tests/test-lutimens.h (test_lutimens): Use new header.
22599         * tests/test-futimens.h (test_futimens): Likewise.
22600         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
22601         timestamps to occur from same machine, as was done previously for
22602         test_utimens.
22603         * modules/utimens-tests (Files): Ship new file.
22604         * modules/futimens-tests (Files): Likewise.
22605         Reported in part by Jim Meyering.
22606
22607         sys_stat: sort replacement declarations
22608         * lib/sys_stat.in.h: Sort declarations.
22609         * lib/futimens.c (futimens): Fix typo.
22610
22611 2009-10-15  Jim Meyering  <meyering@redhat.com>
22612
22613         don't let environment settings perturb build
22614         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
22615         could cause a configure-time and/or build-time malfunction.
22616         Typically, a configure-time function-in-library test is performed
22617         via code like this:
22618
22619           LIB_VAR=
22620           AC_SUBST([LIB_VAR])
22621           prefix_saved_LIBS=$LIBS
22622             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
22623                        [test "$ac_cv_search_FUNC" = "none required" ||
22624                         LIB_VAR=$ac_cv_search_FUNC])
22625           LIBS=$prefix_saved_LIBS
22626
22627         However, in each of the files affected by this change, the LIB_VAR=
22628         initialization was omitted.  Thus, when set in the environment, its
22629         value would propagate into generated Makefiles when FUNC is not found
22630         in LIB_NAME.
22631         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
22632         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
22633         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22634
22635 2009-10-14  Eric Blake  <ebb9@byu.net>
22636
22637         fchdir: avoid infinite recursion in mingw
22638         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
22639         recursing.
22640
22641         test-stat-time: port to mingw
22642         * tests/test-stat-time.c (force_unlink): Return a value.
22643         (test_ctime) [W32]: Fix compilation error.
22644         (nap): Don't call usleep with too large an argument.  Use
22645         force_unlink.
22646         * doc/pastposix-functions/usleep.texi (usleep): Document the
22647         portability issue.
22648
22649 2009-10-13  Jim Meyering  <meyering@redhat.com>
22650
22651         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
22652         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
22653         * modules/pipe-filter-ii: Likewise.
22654         * modules/sys_socket-tests: Likewise.
22655         * modules/tsearch-tests: Likewise.
22656         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
22657         (check): Depend on it.
22658
22659 2009-10-12  Eric Blake  <ebb9@byu.net>
22660
22661         utimens-tests: port to NFS file systems
22662         * tests/test-utimens.h (test_utimens): Refactor utimecmp
22663         comparisons to avoid spurious failures from timestamp drift
22664         between NFS machines.
22665
22666 2009-10-12  Eric Blake  <ebb9@byu.net>
22667
22668         stat-time-tests: minor cleanups
22669         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
22670         * tests/test-stat-time.c (nap): Separate assignment from call.
22671         Suggested by Paolo Bonzini and Bruno Haible.
22672
22673         sys_stat: guarantee struct timespec
22674         * lib/sys_stat.in.h (includes): Always include <time.h>
22675         * modules/sys_stat (Depends-on): Add time.
22676         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
22677         mode_t permission values.
22678         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
22679         get at subsecond timestamps.
22680
22681 2009-10-10  Eric Blake  <ebb9@byu.net>
22682
22683         futimens: new module
22684         * modules/futimens: New file.
22685         * lib/futimens.c (futimens): Likewise.
22686         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
22687         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
22688         we can work around Linux bugs.
22689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22690         * modules/sys_stat (Makefile.am): Substitute them.
22691         * lib/sys_stat.in.h (futimens): Declare it.
22692         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22693         * doc/posix-functions/futimens.texi (futimens): Likewise.
22694         * modules/futimens-tests: New test.
22695         * tests/test-futimens.c: Likewise.
22696
22697         utimens: introduce fdutimens
22698         * lib/utimens.h (fdutimens): New prototype.
22699         * lib/utimens.c (gl_futimens): Move guts...
22700         (fdutimens): ...to new interface.
22701         * tests/test-utimens.c (do_fdutimens): Use it.
22702
22703         utimens: add UTIME_NOW and UTIME_OMIT support
22704         * lib/utimens.c (validate_timespec, update_timespec): New helper
22705         functions.
22706         (gl_futimens, lutimens): Use them.
22707         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
22708         stdbool, sys_stat.
22709         (Link): Mention resulting library dependency.
22710         * modules/utimecmp (Link): Likewise.
22711         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
22712         (Makefile.am): Pick up library dependency.
22713         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
22714         definition.
22715         * tests/test-sys_stat.c: Test the definitions.
22716         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
22717         * NEWS: Document library dependency.
22718
22719         utimecmp: support symlink timestamps
22720         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
22721         hashing when possible.  Use pathconf when available.
22722         (SYSCALL_RESOLUTION): Recognize tighter resolution.
22723         * modules/utimecmp (Depends-on): Add lstat.
22724
22725         utimens: add lutimens interface
22726         * lib/utimens.c (lutimens): New function.
22727         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
22728         * lib/utimens.h (lutimens): Declare new interface.
22729         * tests/test-utimens.c (main): Enhance test.
22730         * tests/test-lutimens.h (test_lutimens): New file.
22731         * modules/utimens-tests (Files): Distribute it.
22732         (Depends-on): Add symlink.
22733         (configure.ac): Check for usleep.
22734
22735         utimens: validate futimens usage
22736         * lib/utimens.c (gl_futimens): Require valid fd up front, using
22737         fewer syscalls on failure later on.  Avoid compiler warning on
22738         mingw.
22739         * modules/utimens (Depends-on): Add dup2.
22740
22741         utimens: add test
22742         * modules/utimens-tests: New test.
22743         * tests/test-utimens.h: New file.
22744         * tests/test-futimens.h: Likewise.
22745         * tests/test-utimens.c: Likewise.
22746
22747         doc: mention timestamp portability issues
22748         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
22749         instead.
22750         * doc/posix-functions/utime.texi (utime): Likewise.
22751         * doc/posix-functions/utimes.texi (utimes): Likewise.
22752         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
22753         instead.
22754         * doc/posix-functions/futimens.texi (futimens): Mention utimens
22755         module.
22756         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22757         Mention weakness with symlink timestamps.
22758         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
22759         to utimensat/futimens instead.
22760         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
22761
22762         test-dup2: enhance test
22763         * tests/test-dup2.c (main): Also check AT_FDCWD.
22764
22765         test-stat-time: avoid more spurious failures
22766         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22767         xfs; and avoid race if the two timestamps cross quantization edge.
22768
22769         relocatable: prefer 'file system' over 'filesystem'
22770         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22771         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22772         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22773         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22774         * lib/relocatable.c (compute_curr_prefix): Likewise.
22775
22776 2009-10-10  Jim Meyering  <meyering@redhat.com>
22777
22778         stat-time-tests: check for the usleep function
22779         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22780
22781 2009-10-10  Bruno Haible  <bruno@clisp.org>
22782
22783         * modules/xnanosleep: Put the Link section after the Include section.
22784
22785 2009-10-09  Eric Blake  <ebb9@byu.net>
22786
22787         dup2: work around FreeBSD 6.1 bug
22788         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22789         * doc/posix-functions/dup2.texi (dup2): Document it.
22790         Reported by Nelson H. F. Beebe and Jim Meyering.
22791
22792         test-stat-time: port to buggy NFS clients
22793         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22794         (test_ctime): Also skip test if mtime and ctime are skewed.
22795
22796         maint: prefer 'file system' over 'filesystem'
22797         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22798         * doc/posix-functions/lstat.texi (lstat): Likewise.
22799         * lib/file-has-acl.c (file_has_acl): Likewise.
22800         * lib/fwriteerror.c [TEST]: Likewise.
22801         * tests/test-areadlink.h (test_areadlink): Likewise.
22802         * tests/test-areadlinkat-with-size.c (main): Likewise.
22803         * tests/test-areadlinkat.c (main): Likewise.
22804         * tests/test-canonicalize-lgpl.c (main): Likewise.
22805         * tests/test-canonicalize.c (main): Likewise.
22806         * tests/test-fstatat.c (main): Likewise.
22807         * tests/test-linkat.c (main): Likewise.
22808         * tests/test-lstat.h (test_lstat_func): Likewise.
22809         * tests/test-mkdir.h (test_mkdir): Likewise.
22810         * tests/test-readlink.h (test_readlink): Likewise.
22811         * tests/test-remove.c (main): Likewise.
22812         * tests/test-rename.h (test_rename): Likewise.
22813         * tests/test-renameat.c (main): Likewise.
22814         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22815         * tests/test-symlink.h (test_symlink): Likewise.
22816         * tests/test-symlinkat.c (main): Likewise.
22817         * tests/test-unlink.h (test_unlink_func): Likewise.
22818         * tests/test-unlinkat.c (main): Likewise.
22819
22820         maint: make realtime library usage explicit
22821         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22822         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22823         * modules/settime (Link): Likewise.
22824         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22825
22826         test-stat-time: speed up execution
22827         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22828         warning on mingw.
22829         (nap): New helper function.
22830         (prepare_test): Use it to reduce sleep time.
22831         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22832         execution.
22833         * modules/stat-time-tests (configure.ac): Check for usleep.
22834
22835 2009-10-09  Jim Meyering  <meyering@redhat.com>
22836
22837         selinux-h: always use getfilecon wrappers
22838         * lib/getfilecon.c: New file.
22839         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22840         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22841         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22842         (fgetfilecon): Provide a stub.
22843         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22844         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22845         file unconditionally.
22846         When <selinux/selinux.h> is found, arrange to use wrappers.
22847         * modules/selinux-h (Files): Add getfilecon.c.
22848         (Makefile.am): Substitute include-next-related bits
22849         into the now-always-generated selinux/selinux.h file.
22850         * doc/glibc-functions/lgetfilecon.texi: New file.
22851         * doc/glibc-functions/fgetfilecon.texi: New file.
22852         * doc/glibc-functions/getfilecon.texi: New file.
22853         * doc/glibc-functions/getfilecon-desc.texi: New file.
22854         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22855         which to pull in the new files.
22856         * MODULES.html.sh (Misc): Add selinux-h.
22857
22858 2009-10-08  Jim Meyering  <meyering@redhat.com>
22859
22860         unistd: fix comment typo
22861         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22862
22863 2009-10-08  Eric Blake  <ebb9@byu.net>
22864
22865         areadlink: use SIZE_MAX consistently
22866         * modules/areadlink (Depends-on): Add stdint.
22867         * modules/areadlink-with-size (Depends-on): Likewise.
22868         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22869         gives NULL; drop sys/types, since unistd gives size_t; and add
22870         stdint for SIZE_MAX.
22871         (SIZE_MAX): Rely on headers.
22872         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22873         and add stdint.
22874         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22875         (SIZE_MAX): Likewise.
22876         (INITIAL_BUF_SIZE): Turn into enum.
22877         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22878
22879 2009-10-08  Jim Meyering  <meyering@redhat.com>
22880
22881         areadlinkat: avoid compilation failure
22882         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22883         Fix typo in comment.
22884
22885 2009-10-07  Eric Blake  <ebb9@byu.net>
22886
22887         areadlinkat-with-size: new module
22888         * modules/areadlinkat-with-size: New module.
22889         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22890         * lib/areadlink.h (areadlinkat): Declare it.
22891         * MODULES.html.sh (File system functions): Mention it.
22892         * modules/areadlinkat-with-size-tests: New test.
22893         * tests/test-areadlinkat-with-size.c: New file.
22894
22895         xreadlinkat: new module
22896         * modules/xreadlinkat: New module.
22897         * lib/xreadlinkat.c (xreadlinkat): New file.
22898         * lib/xreadlink.h (xreadlinkat): Declare it.
22899         * MODULES.html.sh (File system functions): Mention it.
22900
22901         areadlinkat: new module
22902         * lib/at-func.c (FUNC_FAIL): New define.
22903         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22904         * modules/areadlinkat: New module.
22905         * lib/linkat.c (areadlinkat): Move...
22906         * lib/areadlinkat.c (areadlinkat): ...to new file.
22907         * lib/areadlink.h (areadlinkat): Declare it.
22908         * modules/linkat (Depends-on): Add areadlinkat.
22909         * MODULES.html.sh (File system functions): Mention it.
22910         * modules/areadlinkat-tests: New test.
22911         * tests/test-areadlinkat.c: New file.
22912
22913         areadlink, areadlink-with-size: add tests
22914         * modules/areadlink-tests: New test.
22915         * modules/areadlink-with-size-tests: Likewise.
22916         * tests/test-areadlink.h: New file.
22917         * tests/test-areadlink.c: Likewise.
22918         * tests/test-areadlink-with-size.c: Likewise.
22919
22920         maint: minor cleanups
22921         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22922         _UNUSED_PARAMETER_ instead.
22923         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22924         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22925         * modules/linkat-tests (Files): Distribute test-link.h.
22926
22927         openat, utimens: whitespace cleanup
22928         * lib/openat.c: Prefer space throughout, rather than mix of 8
22929         spaces vs. tabs.
22930         * lib/at-func.c: Likewise.
22931         * lib/utimens.c: Likewise.
22932
22933         openat: avoid using wrong fd
22934         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22935         working directory chooses same fd.
22936         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22937
22938         mkdir, mkdirat: fix cygwin 1.5.x bug
22939         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22940         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22941         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22942         bug.
22943         (gl_PREREQ_MKDIR): Delete unused macro.
22944         * modules/mkdir (Files): Track file rename.
22945         (configure.ac): Update macro name.
22946         * modules/openat (Depends-on): Add mkdir.
22947         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22948
22949         mkdir, mkdirat: add tests
22950         * modules/mkdir-tests: New test.
22951         * tests/test-mkdir.h: New file.
22952         * tests/test-mkdir.c: Likewise.
22953         * tests/test-mkdirat.c: Likewise.
22954         * modules/openat-tests (Files): Add new files.
22955         (Makefile.am): Run new test.
22956
22957 2009-10-06  Eric Blake  <ebb9@byu.net>
22958
22959         doc: tweak *at function documentation
22960         * doc/posix-functions/faccessat.texi (faccessat): Mention
22961         known issue with replacement.
22962         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22963         * doc/posix-functions/linkat.texi (linkat): Likewise.
22964         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22965         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22966         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22967         * doc/posix-functions/renameat.texi (renameat): Likewise.
22968         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22969
22970         openat: fix GNU/Hurd bug in unlinkat
22971         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22972         broken.
22973         * doc/posix-functions/unlink.texi (unlink): Document this.
22974         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22975
22976         fdopendir: fix GNU/Hurd bug
22977         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22978         allowing non-directory fds.
22979         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22980         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22981         * modules/dirent (Makefile.am): Substitute it.
22982         * lib/dirent.in.h (fdopendir): Declare replacement.
22983         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22984         * tests/test-fdopendir.c (main): Test something other than
22985         /dev/null, since on Hurd that behaves like a directory.
22986
22987         test-symlink: port to GNU/Hurd
22988         * tests/test-symlink.h (test_symlink): Relax expected errno.
22989
22990         doc: tweak more cygwin information
22991         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22992         now compatible with glibc.
22993         * doc/posix-functions/getopt.texi (getopt): Likewise.
22994
22995         getopt-gnu: add another test
22996         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22997         guarantee behavior relied on by m4.
22998         * tests/test-getopt.c (main): Use it.
22999         * modules/getopt-posix-tests (Depends-on): Add setenv.
23000         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
23001
23002         getopt: fix compilation on darwin
23003         * lib/getopt.in.h (includes): Leave breadcrumbs during system
23004         include.
23005         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
23006         Reported by Ludovic Courtès.
23007
23008 2009-10-06  Bruno Haible  <bruno@clisp.org>
23009
23010         * modules/size_max (Description): Discourage its use.
23011         Reported by Simon Josefsson.
23012
23013 2009-10-06  Jim Meyering  <meyering@redhat.com>
23014
23015         linkat: avoid compilation failure
23016         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
23017
23018 2009-10-05  Eric Blake  <ebb9@byu.net>
23019
23020         linkat: support Linux 2.6.17
23021         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
23022         linkat on Linux, but allow cache variable override.
23023         * lib/linkat.c (rpl_linkat): Define override.
23024         * modules/linkat (Depends-on): Add symlinkat.
23025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
23026         * modules/unistd (Makefile.am): Substitute it.
23027         * lib/unistd.in.h (linkat): Declare replacement.
23028         Reported by Pádraig Brady.
23029
23030         quotearg: port test to systems with C.UTF-8 locale
23031         * tests/test-quotearg.c (struct result_strings): Add another
23032         member, differentiating between C.ASCII and C.UTF-8 handling.
23033         (compare_strings): Add parameter.
23034         (main): Adjust all callers.
23035
23036         getopt: avoid clash with FreeBSD _getopt_internal
23037         * lib/getopt.in.h (_getopt_internal): Override the name.
23038         * lib/getopt_int.h (includes): Pick up any overrides.
23039         Reported by Reuben Thomas.
23040
23041         hash: allow C89 compilation
23042         * lib/hash.c (check_tuning): Move declaration before statement.
23043         Reported by Reuben Thomas.
23044
23045 2009-10-05  Karl Berry  <karl@gnu.org>
23046
23047         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
23048
23049 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
23050             Bruno Haible  <bruno@clisp.org>
23051
23052         * lib/uname.c (uname): Use a table-driven algorithm to compute
23053         Windows NT versions.
23054
23055 2009-10-04  Bruno Haible  <bruno@clisp.org>
23056
23057         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
23058         program_invocation_short_name.
23059         * modules/progname (configure.ac): Test for presence of
23060         program_invocation_short_name.
23061         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23062
23063 2009-10-04  Bruno Haible  <bruno@clisp.org>
23064
23065         * lib/progname.c (set_program_name): Fix comment.
23066         Reported by Jim Meyering.
23067
23068 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23069             Bruno Haible  <bruno@clisp.org>
23070
23071         * lib/uname.c: Include <string.h>.
23072         (uname): Do only one call to GetVersionEx in the common case.
23073
23074 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23075             Bruno Haible  <bruno@clisp.org>
23076
23077         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
23078         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
23079         (uname): Add support for Windows CE and various non-x86 CPU types.
23080
23081 2009-10-03  Bruno Haible  <bruno@clisp.org>
23082
23083         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
23084         invocation to tests/configure.ac.
23085         Reported by Ian Beckwith <ianb@erislabs.net>.
23086
23087 2009-10-02  Eric Blake  <ebb9@byu.net>
23088
23089         fchdir: avoid compiler warning
23090         * lib/fchdir.c (canonicalize_file_name)
23091         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
23092
23093         test-open: support mingw errno values
23094         * tests/test-open.h (test_open): Relax test.
23095         * tests/test-fopen.h (test_fopen): Likewise.
23096         * tests/test-openat-safer.c (main): Likewise.
23097
23098         open: fix opening directory on mingw
23099         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
23100
23101         test-open: on GNU/Hurd, /dev/null is a directory
23102         * tests/test-fopen.h (main): Rename...
23103         (test_fopen): ...to this.  Use a guaranteed non-directory when
23104         confirming open behavior on trailing slash.
23105         * tests/test-openat-safer.c (main): Likewise.
23106         * tests/test-open.h (main): Likewise....
23107         (test_open): ...to this.
23108         * tests/test-fopen.c (main): Adjust caller.
23109         * tests/test-fopen-safer.c (main): Likewise.
23110         * tests/test-open.c (main): Likewise.
23111         * tests/test-fcntl-safer.c (main): Likewise.
23112         Reported by Samuel Thibault.
23113
23114         rename, fchdir: don't ignore chdir failure
23115         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
23116         * lib/rename.c (rpl_rename) [W32]: Likewise.
23117         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
23118         an empty destination directory if source cannot be renamed,
23119         although there is still possibility for failure.
23120         * doc/posix-functions/rename.texi (rename): Document the race.
23121         Reported by Jim Meyering.
23122
23123         maint: cleanup whitespace in recent commits
23124         * lib/rename.c (rpl_rename): Remove tabs.
23125         * tests/test-link.h (test_link): Likewise.
23126         * lib/fchdir.c (get_name): Likewise.
23127         Reported by Jim Meyering.
23128
23129 2009-10-02  Ben Pfaff  <blp@gnu.org>
23130
23131         relocatable-prog-wrapper: Add missing dependency on
23132         double-slash-root.
23133         * modules/relocatable-prog-wrapper: Add dependency.
23134         Reported by Ian Beckwith <ianb@erislabs.net>.
23135
23136 2009-10-02  Eric Blake  <ebb9@byu.net>
23137
23138         renameat: fix Solaris bugs
23139         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
23140         needed fixing.
23141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
23142         * modules/stdio (Makefile.am): Substitute it.
23143         * lib/stdio.in.h (renameat): Declare replacement.
23144         * lib/renameat.c (rpl_renameat): Implement fix.
23145
23146         renameat: new module
23147         * modules/renameat: New file.
23148         * lib/renameat.c (renameat): Likewise.
23149         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
23150         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23151         * modules/stdio (Makefile.am): Substitute them.
23152         * lib/stdio.in.h (renameat): Declare it.
23153         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23154         * doc/posix-functions/renameat.texi (renameat): Likewise.
23155         * modules/renameat-tests: New test.
23156         * tests/test-renameat.c: Likewise.
23157
23158         rename: fix mingw bugs
23159         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
23160         directory overwrite bugs.
23161
23162         rename: fix another cygwin 1.5 bug
23163         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
23164         checks.
23165         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
23166         unnecessary cygwin workarounds.  Also work around bug with moving
23167         full directory onto an empty one.
23168         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
23169
23170         rename-dest-slash: merge into rename module
23171         * modules/rename-dest-slash (Status): Mark obsolete.
23172         (Depends-on): Add rename.
23173         (Files): Let rename do it all.
23174         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
23175         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
23176         * m4/rename-dest-slash.m4: ...so this file can be deleted.
23177         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
23178         * lib/rename.c (rpl_rename): Update comments.
23179
23180         rename: fix cygwin 1.5.x bugs
23181         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
23182         * lib/rename.c (rpl_rename): Work around them.
23183         * modules/rename (Depends-on): Add same-inode.
23184
23185         rename: fix Solaris 10 bug
23186         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23187         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
23188         was the only bug.
23189
23190         rename: fix Solaris 9 bug
23191         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
23192         on non-directory.  Avoid calling exit.
23193         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
23194         strdup.
23195         * modules/rename-tests (Depends-on): Drop lstat.
23196         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23197         (gl_PREREQ_RENAME): Delete unused macro.
23198
23199         rename-dest-slash: fix NetBSD bug
23200         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
23201         links.
23202         * modules/rename-dest-slash (Depends-on): Add same-inode.
23203
23204         rename-tests: new test, exposes several platform bugs
23205         * modules/rename-tests: New file.
23206         * tests/test-rename.h: Likewise.
23207         * tests/test-rename.c: Likewise.
23208         * doc/posix-functions/rename.texi (rename): Improve documentation,
23209         including bugs that will eventually be fixed in gnulib.
23210
23211 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
23212
23213         * lib/uname.c: Include <stdlib.h>
23214         (uname): Assume version info is available.
23215
23216 2009-10-02  Jim Meyering  <meyering@redhat.com>
23217
23218         gnu-web-doc-update: correct --help output
23219         * build-aux/gnu-web-doc-update: Make --help output relevant.
23220
23221         gnu-web-doc-update: add standard options
23222         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
23223
23224         gnu-web-doc-update: New module.
23225         Use this script to automatically update the on-line web documentation
23226         for your GNU project at http://www.gnu.org/software/$pkg/manual/
23227         * modules/gnu-web-doc-update: New file, from coreutils.
23228         * build-aux/gnu-web-doc-update: New script.
23229
23230 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
23231
23232         link: LoadLibrary is not needed.
23233         * lib/link.c: Use GetModuleHandle.
23234
23235 2009-10-01  Eric Blake  <ebb9@byu.net>
23236
23237         getopt: bump serial number
23238         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
23239         change.
23240
23241         tests: tighten link, rmdir, and remove tests
23242         * tests/test-link.h (includes): No need to use <config.h> here.
23243         Clean up if directory hard link was created, otherwise test for
23244         trailing '.'.
23245         * tests/test-linkat.c (main): Simplify.
23246         * tests/test-remove.c (main): Enhance test for trailing '.'.
23247         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23248
23249 2009-10-01  Jim Meyering  <meyering@redhat.com>
23250
23251         maint.mk: requiring "make major" was annoying, for a "minor" release.
23252         What is intended is "stable", to contrast with alpha and beta,
23253         so require "make stable", not "make major".
23254         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
23255         (get_tool_versions): Likewise.
23256         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
23257
23258 2009-09-30  Ben Pfaff  <blp@gnu.org>
23259
23260         Fix broken build of replacement for Windows tmpfile().
23261         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
23262         flags argument added along with the 'mkostemp' module.
23263
23264 2009-09-28  Bruno Haible  <bruno@clisp.org>
23265
23266         Avoid identifier clash with POSIX function 'remove' defined as a macro.
23267         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
23268         to 'remove_elt'.
23269         (gl_list_remove): Update.
23270         * lib/gl_list.c (gl_list_remove): Update.
23271         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
23272         to 'remove_elt'.
23273         (gl_oset_remove): Update.
23274         * lib/gl_list.c (gl_oset_remove): Update.
23275         Reported by Eric Blake.
23276
23277 2009-09-28  Eric Blake  <ebb9@byu.net>
23278
23279         doc: mention yet more cygwin 1.7 status
23280         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
23281         cygwin.
23282         * doc/glibc-functions/execvpe.texi (execvpe): New file.
23283         * doc/gnulib.texi (Glibc unistd.h): Mention it.
23284
23285         argp: fix test failure
23286         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
23287         that are not upper-case.  Pass correct range to tolower.
23288
23289 2009-09-27  Jim Meyering  <meyering@redhat.com>
23290
23291         test-yesno: work around sparc-dash here-document infelicity
23292         Without this change, the literal \177 byte in a here document
23293         would make dash 0.5.5.1-3 access uninitialized memory.
23294         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
23295         Instead, use a marker, "@", and filter through tr to create the desired
23296         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
23297
23298 2009-09-27  Bruno Haible  <bruno@clisp.org>
23299
23300         Disable untested support for new flavours of ACLs on AIX.
23301         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
23302         progress.
23303         * lib/set-mode-acl.c (qset_acl): Likewise.
23304
23305 2008-12-07  Bruno Haible  <bruno@clisp.org>
23306
23307         Add support for new flavours of ACLs on AIX. (Untested.)
23308         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
23309         (file_has_acl): Add support for newer AIX.
23310         * lib/set-mode-acl.c (qset_acl): Likewise.
23311         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
23312         Rainer Tammer <tammer@tammer.net>.
23313
23314 2009-09-26  Eric Blake  <ebb9@byu.net>
23315
23316         argp: fix compilation of getopt
23317         * lib/getopt.in.h (includes): Use different guard than glibc.
23318         Reported by Sergey Poznyakoff.
23319
23320         doc: mention more cygwin 1.7 status
23321         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
23322         bug.
23323         * doc/posix-functions/execl.texi (execl): Likewise.
23324         * doc/posix-functions/execle.texi (execle): Likewise.
23325         * doc/posix-functions/execlp.texi (execlp): Likewise.
23326         * doc/posix-functions/execv.texi (execv): Likewise.
23327         * doc/posix-functions/execve.texi (execve): Likewise.
23328         * doc/posix-functions/execvp.texi (execvp): Likewise.
23329         * doc/glibc-functions/canonicalize_file_name.texi
23330         (canonicalize_file_name): Cygwin 1.7 now provides this.
23331         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
23332         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
23333         on AT_SYMLINK_NOFOLLOW.
23334
23335 2009-09-24  Eric Blake  <ebb9@byu.net>
23336
23337         test-linkat: make test more robust
23338         * tests/test-linkat.c (main): Avoid collision with EEXIST.
23339
23340         getopt: fix inclusion guards for cygwin
23341         * modules/getopt-posix (Depends-on): Add include-next.
23342         (Makefile.am): Substitute more items in replacement header.
23343         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
23344         <getopt.h>.
23345         * lib/getopt.in.h (includes): Use split inclusion guard, and
23346         prefer <getopt.h> over include <unistd.h> when one is present.
23347         (option): Also override name of 'struct option'.
23348
23349         same-inode: revert prior change; it is not yet ready
23350         * NEWS: Undo mention of this change.
23351         * lib/same-inode.h (same-inode.h): Undo tri-state change.
23352         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23353         * lib/cycle-check.c (cycle_check): Likewise.
23354         * lib/same.c (same_name): Likewise.
23355         * lib/at-func2.c (at_func2): Likewise.
23356
23357 2009-09-23  Eric Blake  <ebb9@byu.net>
23358
23359         linkat: new module
23360         * modules/linkat: New file.
23361         * lib/at-func2.c (at_func2): Likewise.
23362         * lib/linkat.c (linkat): Likewise.
23363         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23364         * lib/openat-priv.h (at_func2): Add declaration.
23365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23366         * modules/unistd (Makefile.am): Substitute them.
23367         * lib/unistd.in.h (linkat): Declare it.
23368         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23369         * doc/posix-functions/linkat.texi (linkat): Likewise.
23370         * doc/posix-functions/link.texi (link): Tweak wording.
23371         * tests/test-link.c (main): Move guts...
23372         * tests/test-link.h (test_link): ...into new file.
23373         * modules/linkat-tests: New test.
23374         * tests/test-linkat.c: Likewise.
23375         * modules/link-tests (Files): Ship new file.
23376         (Depends-on): Add stdbool.
23377
23378         dirname: add library-safe mdir_name
23379         * lib/dirname.h (mdir_name): New prototype.
23380         * lib/dirname.c (dir_name): Move guts...
23381         (mdir_name): ...to new function that avoids xalloc_die.
23382
23383         fchdir: another mingw fix
23384         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
23385         * lib/fchdir.c (get_name): New helper method; skips canonicalize
23386         on mingw (where it has not yet been ported), and make it optional
23387         elsewhere.
23388         (_gl_register_fd): Use it.
23389
23390         same-inode: make SAME_INODE tri-state, to port to mingw
23391         * NEWS: Mention this change.
23392         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
23393         st_ino always being 0.
23394         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23395         * lib/cycle-check.c (cycle_check): Likewise.
23396         * lib/same.c (same_name): Likewise.
23397
23398         lstat: avoid mingw compilation error
23399         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
23400         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
23401         lstat ourselves.
23402         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
23403         was adequate.
23404         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
23405         the checks for lstat.
23406         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
23407
23408         link: fix test failure on Solaris 9
23409         * lib/link.c (rpl_link): Don't assume link will catch bogus
23410         trailing slash on source.
23411
23412         test-symlinkat: enhance test
23413         * tests/test-readlink.c (main): Move guts...
23414         * tests/test-readlink.h (test_readlink): ...into new file.
23415         * tests/test-symlink.c (main): Move guts...
23416         * tests/test-symlink.h (test_symlink): ...into new file.
23417         * tests/test-symlinkat.c (main): Use new files for further
23418         coverage.
23419         (do_symlink, do_readlink): New helper functions.
23420         * modules/symlink-tests (Files): Ship new file.
23421         (Depends-on): Add stdbool.
23422         * modules/readlink-tests (Files): Ship new file.
23423         (Depends-on): Add stdbool.
23424         * modules/symlinkat-tests (Files): Use new files.
23425
23426 2009-09-23  Eric Blake  <ebb9@byu.net>
23427
23428         readlink: document portability issue with symlink length
23429         * doc/posix-functions/lstat.texi (lstat): Mention that some file
23430         systems have bogus st_size on symlinks, and mention the
23431         areadlink-with-size module.
23432         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23433         * doc/posix-functions/readlink.texi (readlink): Mention the
23434         areadlink module, and ERANGE failure.
23435         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23436         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
23437
23438         readlink: fix Solaris 9 bug with trailing slash
23439         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
23440         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
23441         * doc/posix-functions/readlink.texi (readlink): Document this.
23442         * modules/readlink-tests: New test.
23443         * tests/test-readlink.c: Likewise.
23444
23445         readlink: fix cygwin 1.5.x bug with return type
23446         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
23447         * lib/unistd.in.h (readlink): Use ssize_t.
23448         * lib/readlink.c (readlink): Likewise.
23449         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23450         * modules/unistd (Makefile.am): Substitute it.
23451         * lib/unistd.in.h (readlink): Declare replacement.
23452         * doc/posix-functions/readlink.texi (readlink): Document this.
23453
23454         symlink: use throughout gnulib
23455         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
23456         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
23457         symlink is not used.
23458         * modules/symlinkat (Depends-on): Add symlink.
23459         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23460         * modules/canonicalize-tests (Depends-on): Likewise.
23461         * modules/lstat-tests (Depends-on): Likewise.
23462         * modules/openat-tests (Depends-on): Likewise.
23463         * modules/remove-tests (Depends-on): Likewise.
23464         * modules/rmdir-tests (Depends-on): Likewise.
23465         * modules/unlink-tests (Depends-on): Likewise.
23466         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
23467         * tests/test-canonicalize.c (symlink): Likewise.
23468         * tests/test-fstatat.c (symlink): Likewise.
23469         * tests/test-lstat.c (symlink): Likewise.
23470         * tests/test-remove.c (symlink): Likewise.
23471         * tests/test-rmdir.c (symlink): Likewise.
23472         * tests/test-unlink.c (symlink): Likewise.
23473         * tests/test-unlinkat.c (symlink): Likewise.
23474
23475         symlink: new module, for Solaris 9 bug
23476         * modules/symlink: New file.
23477         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
23478         * lib/symlink.c: Likewise.
23479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
23480         * modules/unistd (Makefile.am): Substitute them.
23481         * lib/unistd.in.h (symlink): Declare replacement.
23482         * MODULES.html.sh (File system functions): Mention it.
23483         * doc/posix-functions/symlink.texi (symlink): Likewise.
23484         * modules/symlink-tests: New test.
23485         * tests/test-symlink.c: Likewise.
23486
23487 2009-09-23  Bruno Haible  <bruno@clisp.org>
23488
23489         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
23490         when needed.
23491         Test case: gnulib-tool --import --with-tests atexit inttypes.
23492         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
23493
23494 2009-09-23  Bruno Haible  <bruno@clisp.org>
23495
23496         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
23497         subcommand, not in a subshell.
23498
23499 2009-09-22  Eric Blake  <ebb9@byu.net>
23500
23501         unistd: sort replacement declarations
23502         * lib/unistd.in.h: Sort declarations.
23503
23504         open, openat: minor optimization
23505         * lib/open.c (open): If open succeeded, len is non-zero.
23506         * lib/openat.c (rpl_openat): Likewise.
23507
23508         link-follow: ensure correct result
23509         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
23510         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
23511         distinguish between possible failures.
23512
23513 2009-09-21  Eric Blake  <ebb9@byu.net>
23514
23515         fts: avoid compiler warning
23516         * lib/fts.c (dirent_inode_sort_may_be_useful)
23517         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
23518
23519 2009-09-19  Bruno Haible  <bruno@clisp.org>
23520
23521         * lib/progreloc.c (canonicalize_file_name): New declaration.
23522
23523 2009-09-19  Eric Blake  <ebb9@byu.net>
23524
23525         link: fix quoting
23526         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
23527
23528         openat: fix openat bugs on Solaris 9
23529         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
23530         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
23531         * modules/openat (Depends-on): Add open.
23532         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
23533         * modules/fcntl-h (Makefile.am): Substitute it.
23534         * lib/fcntl.in.h (openat): Declare replacement.
23535         * doc/posix-functions/openat.texi (openat): Document this.
23536
23537         openat: move fstatat and unlinkat into correct files
23538         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
23539         compiled.
23540         * lib/openat.c (fstatat, unlinkat): Move...
23541         * lib/fstatat.c (fstatat): ...into correct files.
23542         * lib/unlinkat.c (unlinkat): Likewise.
23543
23544         openat: fix unlinkat bugs on Solaris 9
23545         * lib/unlinkat.c (unlinkat): New file.
23546         * modules/openat (Depends-on): Add unlink.
23547         (Files): Distribute it.
23548         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
23549         trailing slash behavior is broken.
23550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23551         * modules/unistd (Makefile.am): Substitute it.
23552         * lib/unistd.in.h (unlinkat): Declare replacement.
23553         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
23554
23555         openat: fix fstatat bugs on Solaris 9
23556         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
23557         stat.
23558         * doc/posix-functions/fstatat.texi (fstatat): Document this.
23559
23560         test-unlinkat: enhance test, to expose Solaris 9 bug
23561         * tests/test-unlink.c (main): Factor guts...
23562         * tests/test-unlink.h (test_rmdir_func): ...into new file.
23563         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
23564         * tests/test-rmdir.c (main): Adjust caller.
23565         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
23566         (unlinker): New helper function.
23567         (rmdirat): Enhance check.
23568         * modules/rmdir-tests (Depends-on): Add stdbool.
23569         * modules/unlink-tests (Depends-on): Likewise.
23570         (Files): Add test-unlink.h.
23571         * modules/openat-tests (Files): Likewise.
23572         (Depends-on): Add unlinkdir.
23573
23574         test-fstatat: new test, to expose Solaris 9 bugs
23575         * tests/test-stat.c (main): Factor guts...
23576         * tests/test-stat.h (test_stat_func): ...into new file.
23577         * tests/test-lstat.c (main): Factor guts...
23578         * tests/test-lstat.h (test_lstat_func): ...into new file.
23579         * tests/test-fstatat.c: New file.
23580         * modules/stat-tests (Files): Add test-stat.h.
23581         * modules/lstat-tests (Files): Add test-lstat.h.
23582         (Depends-on): Add stdbool.
23583         * modules/openat-tests (Depends-on): Add pathmax.
23584         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
23585         (Makefile.am): Run new test.
23586
23587         remove: new module, for mingw and Solaris 9 bugs
23588         * modules/remove: New file.
23589         * lib/remove.c: Likewise.
23590         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
23591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23592         * modules/stdio (Makefile.am): Use them.
23593         * lib/stdio.in.h (remove): Declare replacement.
23594         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23595         * doc/posix-functions/remove.texi (remove): Likewise.
23596         * modules/remove-tests: New test.
23597         * tests/test-remove.c: Likewise.
23598
23599         unlink: new module, for Solaris 9 bug
23600         * modules/unlink: New file.
23601         * lib/unlink.c: Likewise.
23602         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23603         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23604         * modules/unistd (Makefile.am): Use them.
23605         * lib/unistd.in.h (stat): Declare replacement.
23606         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23607         * doc/posix-functions/unlink.texi (unlink): Likewise.
23608         * modules/unlink-tests: New test.
23609         * tests/test-unlink.c: Likewise.
23610
23611         lstat: fix Solaris 9 bug
23612         * lib/lstat.c (lstat): Also check for trailing slash on
23613         non-symlink, non-directories.  Use stat module to simplify logic.
23614         * doc/posix-functions/lstat.texi (lstat): Document it.
23615         * modules/lstat-tests (Depends-on): Add errno, same-inode.
23616         (configure.ac): Check for symlink.
23617         * tests/test-lstat.c (main): Add more tests.
23618
23619         stat: add as dependency to other modules
23620         * modules/chown (Depends-on): Add stat.
23621         * modules/euidaccess (Depends-on): Likewise.
23622         * modules/fchdir (Depends-on): Likewise.
23623         * modules/isdir (Depends-on): Likewise.
23624         * modules/link (Depends-on): Likewise.
23625         * modules/lstat (Depends-on): Likewise.
23626         * modules/mkdir-p (Depends-on): Likewise.
23627         * modules/modechange (Depends-on): Likewise.
23628         * modules/open (Depends-on): Likewise.
23629         * modules/readlink (Depends-on): Likewise.
23630         * modules/same (Depends-on): Likewise.
23631
23632         stat: fix Solaris 9 bug
23633         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
23634         slash.
23635         * lib/stat.c (rpl_stat): Work around it.
23636         * doc/posix-functions/stat.texi (stat): Update documentation.
23637
23638         stat: new module, for mingw bug
23639         * modules/stat: New file.
23640         * lib/stat.c: Likewise.
23641         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23642         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23643         * modules/sys_stat (Makefile.am): Use them.
23644         * lib/sys_stat.in.h (stat): Declare replacement.
23645         * lib/openat.c (fstatat): Deal with lstat and stat being function
23646         macros.
23647         * modules/openat (Depends-on): Add inline.
23648         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23649         * doc/posix-functions/stat.texi (stat): Likewise.
23650         * modules/stat-tests: New test.
23651         * tests/test-stat.c: Likewise.
23652
23653 2009-09-19  Jim Meyering  <meyering@redhat.com>
23654
23655         syntax-check: detect unnecessary inclusion of canonicalize.h
23656         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
23657
23658 2009-09-19  Eric Blake  <ebb9@byu.net>
23659
23660         canonicalize-lgpl: adjust clients to use correct header
23661         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23662         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
23663         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
23664         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
23665         * lib/progreloc.c (includes): Likewise.
23666
23667 2009-09-19  Jim Meyering  <meyering@redhat.com>
23668
23669         test-posixtm.c: correct a comment
23670         * tests/test-posixtm.c: Correct first-line comment.
23671         Spotted by Eric Blake.
23672
23673 2009-09-16  Jim Meyering  <meyering@redhat.com>
23674
23675         posixtm-tests: make T const-correct; add a test case
23676         * tests/test-posixtm.c (T): Declare const.
23677         Add a test for -(2^31+1).
23678         Remove useless can-succeed-only-in-2002 test.
23679
23680         posixtm-tests: adjust the sole failing test
23681         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
23682         expected output matches what mktime now produces.  Cross-checked via
23683         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
23684
23685         posixtm: move #ifdef'd tests into a new module
23686         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
23687         * tests/test-posixtm.c: ... this new file.
23688         * modules/posixtm-tests: New module.
23689
23690 2009-09-19  Eric Blake  <ebb9@byu.net>
23691
23692         openat: simplify use of at-func.c
23693         * lib/at-func.c (includes): Include prerequisites here, to
23694         simplify requirements on client files.
23695         * lib/openat-priv.h: Add double-inclusion guard.
23696         * lib/faccessat.c (includes): Simplify.
23697         * lib/fchmodat.c (includes): Likewise.
23698         * lib/fchownat.c (includes): Likewise.
23699         * lib/mkdirat.c (includes): Likewise.
23700         * lib/mkfifoat.c (includes): Likewise.
23701         * lib/symlinkat.c (includes): Likewise.
23702
23703         openat: allow return of fd 0
23704         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
23705         * modules/save-cwd (Depends-on): Replace fcntl-safer with
23706         unistd-safer.
23707         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
23708         <fcntl.h>; this module does not leak fds.
23709         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
23710         must be allowed to return 0, leaving openat_safer to add the
23711         safety.
23712         (openat_permissive): Avoid writing to just-opened fd 2 if
23713         restoring the current directory fails.
23714         * lib/openat-die.c (openat_restore_fail): Add comment.
23715         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
23716         (save_cwd): Guarantee safe fd, but without use of open_safer.
23717         * tests/test-openat.c: New test.
23718         * modules/openat-tests (Files, Makefile.am): Distribute and build
23719         new file.
23720
23721         relocatable-prog-wrapper: fix build
23722         * modules/relocatable-prog-wrapper (Files): Update name of
23723         canonicalize m4 file, broken on 2009-09-17.
23724         Reported by emad hajjar <aleppos@hotmail.com>.
23725
23726 2009-09-19  Bruno Haible  <bruno@clisp.org>
23727
23728         * lib/safe-alloc.h: Use the standard header with GPL copyright.
23729         * lib/safe-alloc.c: Likewise.
23730         Reported by Ian Beckwith <ianb@erislabs.net>.
23731
23732 2009-09-18  Bruno Haible  <bruno@clisp.org>
23733
23734         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
23735         Reported by <erobles@sensacd.com.mx>.
23736
23737 2009-09-17  Eric Blake  <ebb9@byu.net>
23738
23739         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
23740         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
23741         slashes when checking if last component is missing.
23742         * tests/test-canonicalize.c (main): Test this.
23743
23744         canonicalize, canonicalize-lgpl: honor // if distinct from /
23745         * modules/canonicalize (Files): Add double-slash-root.m4.
23746         * modules/canonicalize-lgpl (Files): Likewise.
23747         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23748         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
23749         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
23750         fallback definition.
23751         (canonicalize_filename_mode): Use it to protect //.
23752         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
23753         (__realpath): Likewise.
23754         * tests/test-canonicalize.c (main): Test this.
23755         * tests/test-canonicalize-lgpl.c (main): Likewise.
23756         * modules/canonicalize-tests (Depends-on): Add same-inode.
23757         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23758
23759         canonicalize-lgpl: fix glibc bug with trailing slash
23760         * m4/canonicalize-lgpl.m4: Move contents...
23761         * m4/canonicalize.m4: ...here.
23762         (gl_CANONICALIZE_LGPL): Factor realpath check...
23763         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
23764         glibc 2.3.5 bug, fixed 2005-04-27.
23765         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23766         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23767         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23768         * modules/canonicalize-lgpl (Files): Manage file rename.
23769         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23770         * modules/stdlib (Makefile.am): Substitute witness.
23771         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23772         is needed.
23773         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23774         replacement is required.
23775         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23776         * doc/glibc-functions/canonicalize_file_name.texi
23777         (canonicalize_file_name): Document this.
23778         * doc/posix-functions/realpath.texi (realpath): Likewise.
23779
23780         canonicalize-lgpl: reject non-directory with trailing slash
23781         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23782         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23783         catches failures in glibc 2.3.5.
23784         * tests/test-canonicalize.c (main): Likewise.
23785
23786         canonicalize-lgpl: use native realpath if it works
23787         * lib/canonicalize-lgpl.c (realpath): Guard with
23788         FUNC_REALPATH_WORKS.
23789         * lib/stdlib.in.h (realpath): Make declaration optional based on
23790         HAVE_REALPATH.
23791         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23792         native realpath works.
23793         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23794         * modules/stdlib (Makefile.am): Substitute witness.
23795
23796         canonicalize, canonicalize-lgpl: use <stdlib.h>
23797         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23798         (Include): Mention <stdlib.h>.
23799         (configure.ac): Mention functions we provide.
23800         * modules/canonicalize (configure.ac): Likewise.
23801         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23802         realpath if canonicalize_file_name is missing.
23803         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23804         * modules/stdlib (Makefile.am): Substitute witnesses.
23805         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23806         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23807         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23808         * NEWS: Document this.
23809         * doc/glibc-functions/canonicalize_file_name.texi
23810         (canonicalize_file_name): Likewise.
23811         * doc/posix-functions/realpath.texi (realpath): Likewise.
23812         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23813
23814         test-canonicalize: consolidate into single C program
23815         * tests/test-canonicalize.sh: Delete; move setup into...
23816         * tests/test-canonicalize.c (main): ...the program, making it
23817         easier to run in debugger.  Add some tests.
23818         * modules/canonicalize-tests (Files): Remove unused file.
23819         (Depends-on): Add progname.
23820         (configure.ac, Makefile.am): Simplify.
23821
23822         test-canonicalize-lgpl: consolidate into single C program
23823         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23824         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23825         easier to run in debugger.  Add some tests.
23826         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23827         (configure.ac, Makefile.am): Simplify.
23828
23829         canonicalize: avoid resolvepath
23830         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23831         unnecessary checks.
23832         * lib/canonicalize.c (includes): Simplify.
23833         (canonicalize_file_name): Drop resolvepath implementation.
23834         * modules/canonicalize (Depends-on): Drop filenamecat.
23835
23836         canonicalize: don't lose errno
23837         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23838         over calls to free.
23839
23840         canonicalize: simplify errno handling
23841         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23842         assignment.
23843
23844         canonicalize, canonicalize-lgpl: update module dependencies
23845         * modules/canonicalize (Depends-on): Add extensions, lstat,
23846         pathmax, stdlib.
23847         (Files): Drop pathmax.h.
23848         (configure.ac): Adjust macro name.
23849         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23850         lstat, stdlib, sys_stat.
23851         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23852         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23853         extensions.
23854         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23855         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23856         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23857         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23858         declaration, if available.
23859         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23860         we can rely on the readlink module.
23861         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23862         (includes): Use <unistd.h> unconditionally.
23863
23864 2009-09-17  Eric Blake  <ebb9@byu.net>
23865
23866         maint: make Include sections of modules consistent
23867         * modules/alloca: Use only header name; no need to list #include.
23868         * modules/alloca-opt: Likewise.
23869         * modules/arpa_inet: Likewise.
23870         * modules/canon-host: Likewise.
23871         * modules/configmake: Likewise.
23872         * modules/dirent: Likewise.
23873         * modules/eealloc: Likewise.
23874         * modules/environ: Likewise.
23875         * modules/fchdir: Likewise.
23876         * modules/fcntl: Likewise.
23877         * modules/fcntl-h: Likewise.
23878         * modules/gethrxtime: Likewise.
23879         * modules/gettime: Likewise.
23880         * modules/ignore-value: Likewise.
23881         * modules/inet_ntop: Likewise.
23882         * modules/inet_pton: Likewise.
23883         * modules/inttypes: Likewise.
23884         * modules/isnand-nolibm: Likewise.
23885         * modules/isnanf-nolibm: Likewise.
23886         * modules/mbchar: Likewise.
23887         * modules/mbfile: Likewise.
23888         * modules/mbiter: Likewise.
23889         * modules/mbuiter: Likewise.
23890         * modules/netdb: Likewise.
23891         * modules/netinet_in: Likewise.
23892         * modules/nproc: Likewise.
23893         * modules/pagealign_alloc: Likewise.
23894         * modules/poll: Likewise.
23895         * modules/printf-frexp: Likewise.
23896         * modules/pthread: Likewise.
23897         * modules/putenv: Likewise.
23898         * modules/random_r: Likewise.
23899         * modules/relocatable-prog: Likewise.
23900         * modules/search: Likewise.
23901         * modules/select: Likewise.
23902         * modules/selinux-h: Likewise.
23903         * modules/settime: Likewise.
23904         * modules/signal: Likewise.
23905         * modules/size_max: Likewise.
23906         * modules/socklen: Likewise.
23907         * modules/ssize_t: Likewise.
23908         * modules/stdarg: Likewise.
23909         * modules/stdbool: Likewise.
23910         * modules/stddef: Likewise.
23911         * modules/stdint: Likewise.
23912         * modules/stdio: Likewise.
23913         * modules/stdlib: Likewise.
23914         * modules/string: Likewise.
23915         * modules/strings: Likewise.
23916         * modules/sys_file: Likewise.
23917         * modules/sys_ioctl: Likewise.
23918         * modules/sys_select: Likewise.
23919         * modules/sys_socket: Likewise.
23920         * modules/sys_stat: Likewise.
23921         * modules/sys_time: Likewise.
23922         * modules/sys_times: Likewise.
23923         * modules/sys_utsname: Likewise.
23924         * modules/sys_wait: Likewise.
23925         * modules/sysexits: Likewise.
23926         * modules/time: Likewise.
23927         * modules/times: Likewise.
23928         * modules/tmpfile: Likewise.
23929         * modules/trim: Likewise.
23930         * modules/unistd: Likewise.
23931         * modules/wchar: Likewise.
23932         * modules/wctype: Likewise.
23933
23934 2009-09-17  Bruno Haible  <bruno@clisp.org>
23935
23936         Make getdate.y compile on QNX and NetBSD 5 / i386.
23937         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23938         TIME_T_FITS_IN_LONG_INT.
23939         * lib/getdate.y (long_time_t): New type.
23940         (relative_time): Change type of 'seconds' field to long_time_t.
23941         (get_date): Update types of local variables. Check against overflow
23942         during conversion from long_time_t to time_t.
23943         Reported by Matt Kraai <kraai@ftbfs.org>
23944         and Hasso Tepper <hasso@netbsd.org>.
23945
23946 2009-09-17  Bruno Haible  <bruno@clisp.org>
23947
23948         * modules/COPYING: Update copyright years.
23949         * modules/README: Likeiwse.
23950         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23951         Reported by Ian Beckwith <ianb@erislabs.net>.
23952
23953 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23954
23955         * users.txt: Update references for gnuit package.
23956
23957 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23958
23959         * m4/getdelim.m4: Fix typo in copyright line.
23960
23961 2009-09-17  Bruno Haible  <bruno@clisp.org>
23962
23963         * lib/atoll.c: Use the standard header with GPL copyright.
23964         * lib/argz.in.h: Likewise.
23965         * lib/glob.c: Likewise.
23966         * lib/glob-libc.h: Likewise.
23967         * lib/random_r.c: Likewise.
23968         * lib/siglist.h: Likewise.
23969         * lib/strsignal.c: Likewise.
23970         Reported by Ian Beckwith <ianb@erislabs.net>.
23971
23972 2009-09-17  Eric Blake  <ebb9@byu.net>
23973
23974         rmdir: ensure correct dependency order
23975         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23976
23977 2009-09-17  Bruno Haible  <bruno@clisp.org>
23978
23979         Disable assertion that fails on NetBSD 5 / i386.
23980         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23981         Reported by Sam Steingold <sds@gnu.org>
23982         and Hasso Tepper <hasso@netbsd.org>.
23983
23984 2009-09-16  Eric Blake  <ebb9@byu.net>
23985
23986         unlinkdir: port to mingw
23987         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23988         on which no one can unlink a directory.
23989
23990         stdlib: sort witness names
23991         * modules/stdlib (Makefile.am): Sort replacements.
23992         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23993         * lib/stdlib.in.h: Likewise.
23994
23995         parse-duration-tests: avoid link failure
23996         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23997         LIBINTL.
23998         Reported by Tom G. Christensen.
23999
24000         openat-tests: ensure unlinkat behaves like rmdir
24001         * tests/test-rmdir.c (main): Factor guts...
24002         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
24003         * modules/rmdir-tests (Files): Ship new file.
24004         * modules/openat-tests: New test.
24005         * tests/test-unlinkat.c: Likewise.
24006
24007         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
24008         * modules/rmdir-errno (Status, Notice): Now obsolete.
24009
24010         rmdir: work around cygwin 1.5.x and mingw bugs
24011         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
24012         * lib/rmdir.c (rmdir): Work around it.
24013         * modules/rmdir (Status, Notice): No longer obsolete.
24014         (Files): Add dos.m4.
24015         (Depends-on): Add unistd.
24016         (configure.ac): Set witnesses.
24017         (License): Relax to LGPLv2+.
24018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
24019         * modules/unistd (Makefile.am): Substitute witnesses.
24020         * lib/unistd.in.h (rmdir): Declare replacement.
24021         * doc/posix-functions/rmdir.texi (rmdir): Document this.
24022         * modules/rmdir-tests: New tests.
24023         * tests/test-rmdir.c: Likewise.
24024
24025 2009-09-15  Eric Blake  <ebb9@byu.net>
24026
24027         fchdir: improve use of replacement functions
24028         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
24029         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
24030         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
24031         REPLACE_CLOSEDIR.
24032         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
24033         * modules/sys_stat (Makefile.am): Substitute correct witness.
24034         * modules/dirent (Makefile.am): Likewise.
24035         * modules/unistd (Makefile.am): Likewise.
24036         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
24037         * lib/unistd.in.h (dup): Likewise.
24038         * lib/sys_stat.in.h (fstat): Likewise.
24039
24040         maint: ignore gnulib-tool temp files
24041         * .gitignore: Ignore files created during gnulib-tool --test.
24042
24043 2009-09-13  Jim Meyering  <meyering@redhat.com>
24044
24045         posixtm: don't reject a time that specify "60" as the number of seconds
24046         * lib/posixtm.c (posixtime): The code to reject invalid dates
24047         would also reject a time specified with the .60 suffix.
24048         But POSIX allows that, in order to accommodate leap seconds.
24049         So don't reject it.
24050         (main): Adjust tests accordingly.
24051         * modules/posixtm (Depends-on): Add stpcpy.
24052
24053 2009-09-11  Jim Meyering  <meyering@redhat.com>
24054
24055         announce-gen: include [$release_type] in emitted Subject:
24056         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
24057         e.g., [stable] in the emitted Subject: line.
24058
24059 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24060
24061         Remove obsolete macros from several modules.
24062         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
24063         obsolete Autoconf macros with their modern counterparts.
24064         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
24065         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
24066         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
24067         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
24068         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
24069         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24070         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24071         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24072         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24073         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
24074         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24075         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24076         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
24077         * m4/sockets.m4 (gl_SOCKETS): Likewise.
24078         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
24079         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
24080         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24081         * m4/time_r.m4 (gl_TIME_R): Likewise.
24082         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24083         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
24084         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24085
24086         Fix copyright header in build-aux scripts.
24087         * build-aux/git-version-gen: Fix copyright header to match GPLv3
24088         recommendation.
24089         * build-aux/ncftpput-ftp: Likewise.
24090         * build-aux/update-copyright: Likewise.
24091
24092 2009-09-09  Eric Blake  <ebb9@byu.net>
24093
24094         test-link: allow Linux choice of errno
24095         * tests/test-link.c (main): Relax test for alternate error.
24096
24097         strndup: fix improper m4 caching
24098         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
24099         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
24100         (gl_PREREQ_STRNDUP): Delete.
24101         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
24102         * modules/string (Makefile.am): Substitute it.
24103         * lib/string.in.h (strndup): Modernize prototype.
24104
24105         getcwd: port to mingw
24106         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
24107         different from the POSIX assumptions made throughout the getcwd
24108         module; fortunately, the mingw getcwd does not need replacement.
24109         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
24110         * modules/getcwd-tests: New test.
24111         * tests/test-getcwd.c: Likewise.
24112
24113         link: fix platform bugs
24114         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
24115         * lib/link.c (link): Work around them.  Fix related mingw bug.
24116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
24117         * modules/unistd (Makefile.am): Substitute it.
24118         * lib/unistd.in.h (link): Declare replacement.
24119         * doc/posix-functions/link.texi (link): Document this.
24120         * modules/link (Depends-on): Add strdup-posix, sys_stat.
24121
24122         test-link: consolidate into single C program, test more cases
24123         * tests/test-link.sh: Delete.
24124         * tests/test-link.c: Test more error conditions.  Exposes bugs on
24125         at least Cygwin and Solaris.
24126         * modules/link-tests (Files): Remove unused file.
24127         (Depends-on): Add errno, sys_stat.
24128         (Makefile.am): Simplify.
24129
24130 2009-09-08  Bruno Haible  <bruno@clisp.org>
24131
24132         Work around towlower, towupper bug on mingw.
24133         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
24134         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
24135         * doc/posix-functions/towlower.texi: Mention the mingw bug.
24136         * doc/posix-functions/towupper.texi: Likewise.
24137         Reported by Eric Blake.
24138
24139 2009-09-08  Jim Meyering  <meyering@redhat.com>
24140
24141         build: don't try to run autoheader if we don't use it
24142         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
24143         is not used in configure.ac.
24144
24145 2009-09-08  Eric Blake  <ebb9@byu.net>
24146
24147         euidaccess: fix compilation error
24148         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
24149
24150         rawmemchr: relax license
24151         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
24152         okay.
24153         Reported by Jim Meyering.
24154
24155         mkfifoat: new module
24156         * modules/mkfifoat: New file.
24157         * lib/mkfifoat.c: Likewise.
24158         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
24159         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24160         * modules/sys_stat (Makefile.am): Use them.
24161         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
24162         * MODULES.html.sh (File system functions): Mention module.
24163         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24164         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24165         * modules/mkfifoat-tests: New test.
24166         * tests/test-mkfifoat.c: Likewise.
24167
24168         strchrnul: relax license
24169         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
24170         okay.
24171         Reported by Jim Meyering.
24172
24173 2009-09-08  Eric Blake  <ebb9@byu.net>
24174
24175         fstatat: fix compilation on Solaris
24176         * lib/fstatat.c (includes): Add fcntl.h.
24177         Reported by Pádraig Brady.
24178
24179 2009-09-07  Eric Blake  <ebb9@byu.net>
24180
24181         rename: modernize replacement
24182         * modules/rename (Depends-on): Add stdio.
24183         (configure.ac): Declare witness.
24184         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
24185         stdio take care of replacement.
24186         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24187         * modules/stdio (Makefile.am): Substitute them.
24188         * lib/stdio.in.h (rename): Declare replacement.
24189         * lib/rename.c (includes): Allow cross-compilation to non-windows
24190         machines.
24191         * doc/posix-functions/rename.texi (rename): Improve
24192         documentation.
24193
24194         stdio: sort witness names
24195         * modules/stdio (Makefile.am): Sort replacements.
24196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24197         * lib/stdio.in.h: Likewise.
24198
24199         getcwd: minor cleanups
24200         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
24201         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
24202
24203         openat: provide more convenience names
24204         * modules/faccessat (configure.ac): Add C witness.
24205         * lib/unistd.in.h (readlinkat): Fix typo.
24206         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
24207         convenience wrappers.
24208         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
24209         wrappers in syntax checks.
24210
24211 2009-09-06  Eric Blake  <ebb9@byu.net>
24212
24213         doc: fix comments in recent patches
24214         * lib/faccessat.c: Mention correct function.
24215         * lib/fchmodat.c: Likewise.
24216         * lib/fchownat.c: Likewise.
24217         * lib/symlinkat.c: Likewise.
24218         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
24219         constants.
24220
24221         faccessat, symlinkat: continue cleanup of previous patch
24222         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
24223         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24224         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
24225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
24226         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
24227         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
24228         set.
24229
24230 2009-09-06  Bruno Haible  <bruno@clisp.org>
24231
24232         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
24233         (fstatat): Declare if GNULIB_FSTATAT is set.
24234         (mkdirat): Declare if GNULIB_MKDIRAT is set.
24235         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
24236         (unlinkat): Declare if GNULIB_UNLINKAT is set.
24237         * modules/fcntl-h (Files): Remove m4/openat.m4.
24238         * modules/sys_stat (Files): Remove m4/openat.m4.
24239         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
24240         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
24241         * modules/unistd (Files): Remove m4/openat.m4.
24242         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
24243         GNULIB_OPENAT.
24244         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
24245         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
24246         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24247         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
24248         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
24249         gl_OPENAT_DEFAULTS.
24250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
24251         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
24252         Don't require gl_OPENAT_DEFAULTS.
24253         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
24254         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
24255         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
24256         (gl_OPENAT_DEFAULTS): Remove macro.
24257
24258 2009-09-06  Bruno Haible  <bruno@clisp.org>
24259
24260         * modules/openat (configure.ac): Remove unneeded witness.
24261
24262 2009-09-06  Bruno Haible  <bruno@clisp.org>
24263
24264         Set errno to ENOSYS when a function is entirely unsupported.
24265         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
24266         EOPNOTSUPP.
24267         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24268         * modules/chown (Depends-on): Remove errno.
24269
24270 2009-09-06  Bruno Haible  <bruno@clisp.org>
24271
24272         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
24273
24274 2009-09-06  Bruno Haible  <bruno@clisp.org>
24275
24276         * lib/sys_stat.in.h: Fix preprocessor command indentation.
24277
24278 2009-09-06  Ben Pfaff  <blp@gnu.org>
24279             Bruno Haible  <bruno@clisp.org>
24280
24281         Work around a glibc bug in strtok_r.
24282         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
24283         Undefine if UNDEFINE_STRTOK_R is set.
24284         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
24285         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24286         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
24287         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
24288         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
24289         UNDEFINE_STRTOK_R.
24290         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
24291
24292 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24293
24294         exclude: minor fix
24295         * lib/exclude.c: Include wctype.h
24296
24297 2009-09-06  Akim Demaille  <demaille@gostai.com>
24298
24299         bootstrap: improve error message
24300         * build-aux/bootstrap (find_tool): Upon failure, report the list
24301         of candidates.
24302         Honor the initial value of the envvar.
24303
24304 2009-09-05  Eric Blake  <ebb9@byu.net>
24305
24306         symlinkat: new module
24307         * modules/symlinkat: New file.
24308         * lib/symlinkat.c: Likewise.
24309         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
24310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24311         * modules/unistd (Makefile.am): Use them.
24312         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
24313         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
24314         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
24315         * MODULES.html.sh (File system functions): Mention module.
24316         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24317         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24318         * modules/symlinkat-tests: New test.
24319         * tests/test-symlinkat.c: Likewise.
24320
24321         test-openat-safer: add more checks
24322         * tests/test-openat-safer.c (main): Check more code paths.
24323
24324 2009-09-05  Jim Meyering  <meyering@redhat.com>
24325
24326         syntax-check: detect unnecessary inclusion of openat.h
24327         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
24328
24329 2009-09-05  Bruno Haible  <bruno@clisp.org>
24330
24331         Support towlower, towupper.
24332         * doc/posix-functions/towlower.texi: Mention module wctype.
24333         * doc/posix-functions/towupper.texi: Likewise.
24334         * lib/wctype.in.h (towlower, towupper): New functions.
24335         * tests/test-wctype.c: Include stdio.h, stdlib.h.
24336         (ASSERT): New macro.
24337         (e): New variable.
24338         (main): Test also towlower, towupper. Test WEOF argument.
24339         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24340
24341 2009-09-05  Bruno Haible  <bruno@clisp.org>
24342
24343         Fix conversion behaviour when the input is invalid.
24344         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
24345         mark occurring in first pass of indirect conversion.
24346         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
24347         input.
24348         Found by clang's static analyzer.
24349
24350 2009-09-05  Bruno Haible  <bruno@clisp.org>
24351
24352         * tests/test-striconveh.c (main): Test indirect conversion on platforms
24353         where direct conversion is possible.
24354
24355 2009-09-04  Eric Blake  <ebb9@byu.net>
24356
24357         openat: fail with ENOENT on empty name
24358         * lib/openat-proc.c (openat_proc_name): Special-case the empty
24359         buffer.
24360
24361         link-follow: fix logic bug in prior patch
24362         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
24363         reversed sense of yes and no in prior patch.  Avoid confusing
24364         compilation failure with desired semantics.
24365
24366         link-follow: accomodate mingw and cross-compilation
24367         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
24368         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
24369         cross-compilation results to -1, to make linkat easier to
24370         implement when cross-compiling.  Trivially support mingw.
24371         * modules/link-follow (configure.ac): Call new name.
24372         * NEWS: Mention this.
24373
24374 2009-09-03  Eric Blake  <ebb9@byu.net>
24375
24376         faccessat: compile replacement
24377         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
24378         needed.
24379
24380         fts: fix compilation error
24381         * lib/fts.c (includes): Re-add "openat.h", for
24382         openat_needs_fchdir.
24383
24384         faccessat: new module
24385         * modules/faccessat: New file.
24386         * lib/faccessat.c: Likewise.
24387         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24389         * modules/unistd (Makefile.am): Use it.
24390         * lib/unistd.in.h (faccessat): Declare it.
24391         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
24392         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
24393         * MODULES.html.sh (File system functions): Mention it.
24394         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
24395         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
24396
24397         euidaccess: prefer POSIX over non-standard implementation
24398         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
24399         * lib/euidaccess.c (euidaccess): Use it if available.
24400
24401         openat: make template easier to use
24402         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
24403         AT_FUNC_F2 to be undefined.
24404         (VALIDATE_FLAG): New macro; use it to reject bad flags.
24405         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
24406         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
24407         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
24408         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
24409         Likewise.
24410         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
24411         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
24412         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
24413         Likewise.
24414
24415         openat: declare in POSIX headers
24416         * NEWS: Mention this.
24417         * modules/openat (configure.ac): Declare witnesses.
24418         (Depends-on): Add fcntl-h, sys_stat, unistd.
24419         (Include): Mention correct headers.
24420         * modules/fcntl-h (Depends-on): Add link-warning.
24421         (Files): Add openat.m4.
24422         (Makefile.am): Substitute witnesses.
24423         * modules/sys_stat (Files, Makefile.am): Likewise.
24424         * modules/unistd (Files, Makefile.am): Likewise.
24425         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
24426         (gl_OPENAT_DEFAULTS): New macro.
24427         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
24428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
24429         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
24430         (SYS_STAT_H): Remove unused variable.
24431         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
24432         * lib/fcntl--.h (includes): Remove unneeded header.
24433         * lib/openat-safer.c (includes): Likewise.
24434         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
24435         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
24436         appropriate headers.
24437         (__OPENAT_PREFIX): Delete.
24438         * lib/fcntl.in.h (openat): Provide declaration.
24439         (AT_FDCWD): Fix Solaris bug.
24440         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
24441         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
24442         * lib/fchmodat.c (includes):  Adjust to find declaration.
24443         * lib/fchownat.c (includes): Likewise.
24444         * lib/mkdirat.c (includes): Likewise.
24445         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
24446         still visible.
24447
24448 2009-09-02  Eric Blake  <ebb9@byu.net>
24449
24450         errno: use consistently
24451         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
24452         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
24453         * lib/canonicalize.c (ELOOP): Likewise.
24454         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
24455         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
24456         * lib/lchown.c (EOPNOTSUPP): Likewise.
24457         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
24458         * lib/savewd.c (ESTALE): Likewise.
24459         * lib/settime.c (ENOSYS): Likewise.
24460         * lib/utimens.c (ENOSYS): Likewise.
24461         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
24462         * lib/chdir-safer.c (ELOOP): Likewise.
24463         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
24464         * modules/c-stack (Depends-on): Add errno.
24465         * modules/canonicalize (Depends-on): Likewise.
24466         * modules/chdir-safer (Depends-on): Likewise.
24467         * modules/fdopendir (Depends-on): Likewise.
24468         * modules/inet_ntop (Depends-on): Likewise.
24469         * modules/inet_pton (Depends-on): Likewise.
24470         * modules/lchown (Depends-on): Likewise.
24471         * modules/openat (Depends-on): Likewise.
24472         * modules/savewd (Depends-on): Likewise.
24473         * modules/settime (Depends-on): Likewise.
24474         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
24475
24476         fts: avoid leaking fds
24477         * modules/fts (Depends-on): Add cloexec.
24478         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
24479         flag.
24480
24481         fts: make directory fds more robust
24482         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
24483         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
24484
24485         backupfile, chdir-long, fts, savedir: make safer
24486         * lib/backupfile.c (includes): Use "dirent--.h", since
24487         numbered_backup can write to stderr during readdir.
24488         * lib/savedir.c (includes): Likewise.
24489         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
24490         emulation can write to stderr on failure.
24491         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
24492         * lib/getcwd.c: Document why opendir_safer is unused.
24493         * lib/glob.c: Likewise.
24494         * lib/scandir.c: Likewise.
24495         * lib/openat-proc.c: Likewise, for open_safer.
24496         * modules/backupfile (Depends-on): Add dirent-safer.
24497         * modules/savedir (Depends-on): Likewise.
24498         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
24499         * modules/chdir-long (Depends-on): Add openat-safer.
24500
24501         openat-safer: new module
24502         * modules/openat-safer: New file.
24503         * lib/openat-safer.c: Likewise.
24504         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
24505         * lib/fcntl-safer.h (openat_safer): Declare.
24506         * lib/fcntl--.h (openat): Override.
24507         * MODULES.html.sh (File descriptor based I/O): Mention it.
24508         * lib/openat.h: Add double-inclusion guards.
24509         * lib/openat.c (includes): Only include "fcntl-safer.h", not
24510         "fcntl--.h", so we can implement openat.
24511         * modules/openat-safer-tests: New test.
24512         * tests/test-openat-safer.c: New file.
24513
24514         dirent-safer: new module
24515         * modules/dirent-safer: New file.
24516         * lib/dirent--.h: Likewise.
24517         * lib/dirent-safer.h: Likewise.
24518         * lib/opendir-safer.c: Likewise.
24519         * m4/dirent-safer.m4: Likewise.
24520         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
24521         * modules/dirent-safer-tests: New test.
24522         * tests/test-dirent-safer.c: New file.
24523         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
24524
24525         fdopendir: optimize on mingw
24526         * lib/unistd.in.h (_gl_directory_name): New prototype.
24527         * lib/fchdir.c (_gl_directory_name): Implement it.
24528         (fchdir): Use it to simplify implementation.
24529         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
24530         fchdir, when available, to avoid calling [f]chdir().
24531
24532         fdopendir: split into its own module
24533         * lib/openat.c (fdopendir): Move...
24534         * lib/fdopendir.c: ...into new file.
24535         * modules/fdopendir: New module.
24536         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
24537         * modules/openat (Depends-on): Add fdopendir.
24538         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
24539         fdopendir here.
24540         * modules/savedir (Depends-on): Only need fdopendir, not full
24541         openat.
24542         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
24543         * lib/openat.h (fdopendir): Drop prototype.
24544         * lib/dirent.in.h (fdopendir): Provide prototype.
24545         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
24546         * modules/dirent (Makefile.am): Substitute them.
24547         * MODULES.html.sh (File system functions): Mention it.
24548         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
24549         * modules/fdopendir-tests: New file.
24550         * tests/test-fdopendir.c: Likewise.
24551
24552         fchdir: use more consistent macro convention
24553         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
24554         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
24555         REPLACE_FCHDIR, rather than relying on config.h macros.
24556         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
24557         inside a single make-time REPLACE_FCHDIR block, rather than using
24558         the config.h FCHDIR_REPLACEMENT.
24559         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
24560         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
24561         Manage fstat replacement.
24562         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
24563         REPLACE_FCHDIR.
24564         * modules/sys_stat (Files): Add m4/unistd_h.m4.
24565         (Makefile.am): Substitute REPLACE_FCHDIR.
24566         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
24567         FCHDIR_REPLACEMENT.
24568         * lib/dup-safer.c (dup_safer): Likewise.
24569         * lib/dup2.c (rpl_dup2): Likewise.
24570         * lib/dup3.c (rpl_dup3): Likewise.
24571         * lib/open.c (rpl_open): Likewise.
24572
24573         fchdir: simplify error handling, and support dup3
24574         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
24575         stdbool, malloc-posix, realloc-posix.
24576         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
24577         (ensure_dirs_slot): Return false on allocation failure.
24578         (rpl_dup2): Delete.
24579         (_gl_register_dup): New function.
24580         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
24581         (_gl_register_fd): Close fd on allocation failure.
24582         * lib/fcntl.in.h (_gl_register_fd): Update signature.
24583         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
24584         prototype.
24585         (rpl_dup2_fchdir): Delete prototype.
24586         * lib/open.c (open): Update caller.
24587         * lib/dup2.c (dup2): Track fchdir metadata.
24588         * lib/dup3.c (dup3): Likewise.
24589         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
24590         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
24591
24592 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24593
24594         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
24595         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
24596         don't pass arguments to AC_OUTPUT.
24597
24598 2009-09-02  Bruno Haible  <bruno@clisp.org>
24599
24600         * modules/mkdtemp (License): Relicense under LGPLv2+.
24601         Reported by Paolo Bonzini.
24602
24603 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24604
24605         Replace uses of obsolete autoconf macros in Jim's modules.
24606         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
24607         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
24608         can evoke a warning from autoconf when run with -Wobsolete
24609         enabled.  They were declared obsolete for good reasons (see
24610         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
24611         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
24612         should not continue using the deprecated macros.
24613         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
24614         obsolete Autoconf macros with modern counterparts.
24615         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
24616         * m4/dos.m4 (gl_AC_DOS): Likewise.
24617         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
24618         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24619         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
24620         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
24621         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
24622         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
24623         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
24624         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
24625         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
24626         Likewise.
24627         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24628         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
24629         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
24630         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
24631         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
24632         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
24633
24634 2009-09-01  Eric Blake  <ebb9@byu.net>
24635
24636         fchdir: fix off-by-one bug in previous patch
24637         * lib/fchdir.c (rpl_fstat): Use correct bounds.
24638         (_gl_unregister_fd): Delete useless if.
24639
24640 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
24641
24642         maint.mk: sort the list of syntax-check rules
24643         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
24644         easier to get a sense of progress when the rules are run sequentially
24645         and take a long time.
24646
24647 2009-09-01  Simon Josefsson  <simon@josefsson.org>
24648
24649         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
24650         * modules/netinet_in: Likewise.
24651         * modules/sys_file: Likewise.
24652         * modules/sys_ioctl: Likewise.
24653         * modules/sys_select: Likewise.
24654         * modules/sys_socket: Likewise.
24655         * modules/sys_stat: Likewise.
24656         * modules/sys_time: Likewise.
24657         * modules/sys_times: Likewise.
24658         * modules/sys_utsname: Likewise.
24659         * modules/sys_wait: Likewise.
24660
24661 2009-09-01  Jim Meyering  <meyering@redhat.com>
24662
24663         fts: help ensure that return values are not ignored
24664         * lib/fts_.h (__GNUC_PREREQ): Define.
24665         (__attribute_warn_unused_result__): Define.
24666         (fts_children, fts_close, fts_open, fts_read): Declare with
24667         __attribute_warn_unused_result__.
24668
24669         fts: fts_close now fails also when closing a dir file descriptor fails
24670         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
24671         and propagate to caller, along with errno.
24672
24673         announce-gen: correct formatting in --help output
24674         * build-aux/announce-gen (usage): Move the one-line description in
24675         --help output "up", to where it belongs, just after Usage:.
24676
24677 2009-08-31  Eric Blake  <ebb9@byu.net>
24678
24679         fchdir: port to mingw
24680         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
24681         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
24682         opened, then use a substitute.
24683         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
24684         replacement.
24685         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
24686         (_gl_register_fd): No need to check stat if open already filters
24687         all directories.
24688         (fchdir): Fix error condition to match POSIX.
24689         * modules/fchdir (Depends-on): Add sys_stat.
24690         * doc/posix-functions/open.texi (open): Document the limitation.
24691         * modules/fchdir-tests: New file.
24692         * tests/test-fchdir.c: Likewise.
24693
24694         canonicalize: allow cross-testing from cygwin to mingw
24695         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
24696         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
24697         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
24698         Likewise.
24699         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
24700         target does not support symlinks.
24701         * tests/test-canonicalize-lgpl.sh: Likewise.
24702
24703         chown: avoid compilation warning on mingw
24704         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
24705         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
24706         mingw.
24707         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24708         * modules/chown (Depends-on): Add errno.
24709
24710 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24711
24712         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
24713         command.
24714
24715 2009-08-31  Jim Meyering  <meyering@redhat.com>
24716
24717         canonicalize: remove useless initialization
24718         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
24719         initialization of local, "end".
24720
24721 2009-08-30  Bruno Haible  <bruno@clisp.org>
24722
24723         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
24724         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
24725         ENOSYS.
24726
24727 2009-08-30  Bruno Haible  <bruno@clisp.org>
24728
24729         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
24730         /usr/xpg4/bin/tr when it exists.
24731         * tests/test-pipe-filter-gi1.sh: Likewise.
24732
24733 2009-08-30  Bruno Haible  <bruno@clisp.org>
24734
24735         Work around deficient /usr/bin/id program on Solaris.
24736         * tests/test-file-has-acl.sh (ID): New variable.
24737         * tests/test-set-mode-acl.sh (ID): Likewise.
24738         * tests/test-copy-acl.sh (ID): Likewise.
24739         * tests/test-copy-file.sh (ID): Likewise.
24740
24741 2009-08-30  Bruno Haible  <bruno@clisp.org>
24742
24743         New module 'xstriconveh'.
24744         * lib/xstriconveh.h: New file.
24745         * lib/xstriconveh.c: New file.
24746         * modules/xstriconveh: New file.
24747
24748 2009-08-30  Bruno Haible  <bruno@clisp.org>
24749
24750         Make it easier to use mem_cd_iconveh.
24751         * lib/striconveh.h (iconveh_t): New type.
24752         (iconveh_open, iconveh_close): New declarations.
24753         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24754         with a single 'const iconveh_t *' argument.
24755         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
24756         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24757         with a single 'const iconveh_t *' argument.
24758         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
24759         * tests/test-striconveh.c (main): Update.
24760         * NEWS: Mention the change.
24761
24762 2009-08-30  Bruno Haible  <bruno@clisp.org>
24763
24764         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24765         problem.
24766
24767 2009-08-30  Bruno Haible  <bruno@clisp.org>
24768
24769         Work around iconv_open problem on Solaris.
24770         * lib/iconv_open-solaris.gperf: New file.
24771         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24772         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24773         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24774         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24775         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24776         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24777
24778 2009-08-29  Jim Meyering  <meyering@redhat.com>
24779
24780         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24781         * top/maint.mk (cvs-check): Remove target; it was just an alias
24782         to the better-named vc-diff-check.
24783         (maintainer-distcheck): Remove rule.  It was used only from
24784         the (alpha/beta/major) target, and all of its commands but one
24785         were coreutils-specific.
24786         (vc-dist): Remove rule.
24787         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24788         Run vc-diff-check, not vc-dist.
24789         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24790
24791 2009-08-27  Bruno Haible  <bruno@clisp.org>
24792
24793         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24794         of 0.
24795
24796 2009-08-27  Bruno Haible  <bruno@clisp.org>
24797
24798         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24799         compilers.
24800         * doc/func.texi: Document the SunPRO C bug.
24801
24802 2009-08-27  Bruno Haible  <bruno@clisp.org>
24803
24804         Fix link error on Solaris.
24805         * tests/test-parse-duration.c (xstrdup): Remove function.
24806
24807 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24808
24809         ignore-value: handle pointer types, too
24810         * lib/ignore-value.h (__attribute__): Remove definition.
24811         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24812         of a more concise and more-often effective "(void) i" statement.
24813         (ignore_ptr): New function to suppress warnings from functions that
24814         return pointers, and to make it explicit that one function doesn't
24815         handle all cases.
24816
24817 2009-08-25  Bruno Haible  <bruno@clisp.org>
24818
24819         dup2: work around a Linux bug.
24820         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24821         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24822         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24823         Reported by Simon Josefsson.
24824
24825 2009-08-25  Jim Meyering  <meyering@redhat.com>
24826
24827         libguestfs uses gnulib
24828         * users.txt: Add libguestfs.
24829
24830 2009-08-24  Eric Blake  <ebb9@byu.net>
24831
24832         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24833         * lib/pipe2.c (includes): Add binary-io.h.
24834         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24835
24836 2009-08-24  Bruno Haible  <bruno@clisp.org>
24837
24838         Tolerate declared but missing accept4 syscall.
24839         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24840         available.
24841         * lib/sys_socket.in.h (accept4): If the function is already present,
24842         override it.
24843         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24844         * modules/accept4 (Makefile.am): Compile accept4.c always.
24845         Reported by Paolo Bonzini and Eric Blake.
24846
24847 2009-08-23  Bruno Haible  <bruno@clisp.org>
24848
24849         New module 'accept4'.
24850         * lib/sys_socket.in.h (accept4): New declaration.
24851         * lib/accept4.c: New file.
24852         * m4/accept4.m4: New file.
24853         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24854         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24855         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24856         HAVE_ACCEPT4.
24857         * modules/accept4: New file.
24858         * doc/glibc-functions/accept4.texi: Mention the new module.
24859
24860 2009-08-24  Jim Meyering  <meyering@redhat.com>
24861
24862         progname: also set global program_invocation_name, when possible
24863         Before this change, a libtool-enabled program that calls glibc's
24864         error function would report the program name as
24865         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24866         * modules/progname (configure.ac): Check for a declaration of
24867         program_invocation_name.
24868         * lib/progname.c:  Include <errno.h>.
24869         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24870         Set program_invocation_name.
24871
24872 2009-08-23  Bruno Haible  <bruno@clisp.org>
24873
24874         * lib/dup3.c: Include <string.h>.
24875
24876 2009-08-23  Bruno Haible  <bruno@clisp.org>
24877
24878         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24879         * lib/pipe2.c (pipe2): Likewise.
24880         Suggested by Eric Blake.
24881
24882 2009-08-23  Bruno Haible  <bruno@clisp.org>
24883
24884         Tolerate declared but missing dup3 syscall.
24885         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24886         * lib/unistd.in.h (dup3): If the function is already present,
24887         override it.
24888         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24889         * modules/dup3 (Makefile.am): Compile dup3.c always.
24890         Reported by Paolo Bonzini.
24891
24892 2009-08-23  Bruno Haible  <bruno@clisp.org>
24893
24894         Tolerate declared but missing pipe2 syscall.
24895         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24896         available.
24897         * lib/unistd.in.h (pipe2): If the function is already present,
24898         override it.
24899         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24900         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24901         Reported by Paolo Bonzini.
24902
24903 2009-08-23  Bruno Haible  <bruno@clisp.org>
24904
24905         * lib/pipe2.c (pipe2): Move #ifs inside function.
24906
24907 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24908
24909         quotearg: document limitations of quote_these_too
24910         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24911         those limitations are created.
24912         * lib/quotearg.h (set_char_quoting): Document that digits and
24913         letters that are special after backslash are not permitted.
24914         (quotearg_char): Cross-reference set_char_quoting documentation.
24915
24916 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24917
24918         quotearg: implement custom_quoting_style
24919         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24920         right_quote fields.
24921         (set_custom_quoting): New public function.
24922         (quotearg_buffer_restyled): Add left_quote and right_quote
24923         arguments, handle them very much like locale quoting, and update
24924         all uses.
24925         (quotearg_n_custom): New public function.
24926         (quotearg_n_custom_mem): New public function.
24927         (quotearg_custom): New public function.
24928         (quotearg_custom_mem): New public function.
24929         * lib/quotearg.h: Prototype and document new public functions.
24930         (enum quoting_style): For escape_quoting_style and
24931         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24932         ignored even though they're otherwise like c_quoting_style.
24933         Add custom_quoting_style member and document with comparison to
24934         clocale_quoting_style.
24935         * tests/test-quotearg.c (custom_quotes): New array.
24936         (custom_results): New array.
24937         (main): Extend to test custom quoting.
24938
24939 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24940
24941         quotearg: fix right quote escaping when it's in quote_these_too
24942         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24943         quote, be sure to prepend only one backslash.
24944         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24945         (main): Test it.
24946
24947 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24948
24949         quotearg-tests: test escaping of embedded locale quotes
24950         * tests/test-quotearg.c (struct result_strings): Add member for
24951         new input.
24952         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24953         (inputs): Add new input.
24954         (results_g): Add expected results.
24955         (flag_results): Likewise.
24956         (locale_results): Likewise.
24957         (compare_strings): Check those.
24958
24959 2009-08-23  Bruno Haible  <bruno@clisp.org>
24960
24961         Tests for module 'dup3'.
24962         * modules/dup3-tests: New file.
24963         * tests/test-dup3.c: New file.
24964
24965         New module 'dup3'.
24966         * lib/unistd.in.h (dup3): New declaration.
24967         * lib/dup3.c: New file.
24968         * m4/dup3.m4: New file.
24969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24970         HAVE_DUP3.
24971         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24972         * modules/dup3: New file.
24973         * doc/glibc-functions/dup3.texi: Mention the new module.
24974
24975 2009-08-23  Bruno Haible  <bruno@clisp.org>
24976
24977         Tweak the dup2 test.
24978         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24979         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24980         the test file is still empty. Fix argument order of lseek.
24981
24982 2009-08-23  Bruno Haible  <bruno@clisp.org>
24983
24984         Avoid test link errors when the modules getopt-gnu, gettext are used.
24985         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24987
24988 2009-08-23  Bruno Haible  <bruno@clisp.org>
24989
24990         Fix getdtablesize() on mingw.
24991         * lib/getdtablesize.c (getdtablesize): Implement differently.
24992         * lib/unistd.in.h (getdtablesize): Improve comment.
24993
24994 2009-08-23  Bruno Haible  <bruno@clisp.org>
24995
24996         New module 'mkostemp'.
24997         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24998         * lib/stdlib.in.h (mksotemp): New declaration.
24999         * lib/mkostemp.c: New file, from glibc with modifications.
25000         * lib/tempname.h (GT_FILE): Remove outdated comment.
25001         (gen_tempname): Add flags argument.
25002         * lib/tempname.c (__GT_BIGFILE): Remove macro.
25003         (__GT_FILE): Map to 1.
25004         (small_open, large_open): Remove macros.
25005         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
25006         * lib/mkstemp.c (mkstemp): Update.
25007         * lib/mkdtemp.c (mkdtemp): Likewise.
25008         * m4/mkostemp.m4: New file.
25009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
25010         HAVE_MKOSTEMP.
25011         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
25012         HAVE_MKOSTEMP.
25013         * modules/mkostemp: New file, based on modules/mkstemp.
25014         * doc/glibc-functions/mkostemp.texi: Mention the new module.
25015         * NEWS: Mention the change.
25016
25017 2009-08-23  Bruno Haible  <bruno@clisp.org>
25018
25019         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
25020         Reported by Eric Blake.
25021
25022 2009-08-23  Bruno Haible  <bruno@clisp.org>
25023
25024         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
25025         Reported by Eric Blake.
25026
25027 2009-08-23  Bruno Haible  <bruno@clisp.org>
25028
25029         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
25030         * modules/pipe2 (Depends-on): Likewise.
25031
25032 2009-08-23  Eric Blake  <ebb9@byu.net>
25033
25034         fcntl-h: add O_TTY_INIT support
25035         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
25036         * tests/test-fcntl-h.c (o): Test it.
25037         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25038
25039         fcntl-h: rename from fcntl, in preparation for fcntl(2)
25040         * modules/fcntl: Move <fcntl.h> header replacement...
25041         * modules/fcntl-h: ...to new name, so as not to collide with
25042         like-named function.
25043         * tests/test-fcntl.c: Rename...
25044         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
25045         * modules/fcntl-tests: Rename...
25046         * modules/fcntl-h-tests: ...to this.  Update test file name.
25047         * modules/chdir-long (Depends-on): Update clients.
25048         * modules/chdir-safer (Depends-on): Likewise.
25049         * modules/fcntl-safer (Depends-on): Likewise.
25050         * modules/fts (Depends-on): Likewise.
25051         * modules/mkancesdirs (Depends-on): Likewise.
25052         * modules/mkdir-p (Depends-on): Likewise.
25053         * modules/open (Depends-on): Likewise.
25054         * modules/savewd (Depends-on): Likewise.
25055         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
25056         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25057
25058 2009-08-22  Bruno Haible  <bruno@clisp.org>
25059
25060         * modules/binary-io (License): Relicense under LGPL.
25061         * modules/pipe2 (License): Likewise.
25062
25063 2009-08-22  Bruno Haible  <bruno@clisp.org>
25064
25065         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
25066         return value.
25067         * lib/pipe-filter-gi.c (filter_init): Likewise.
25068         Reported by Eric Blake.
25069
25070 2009-08-22  Bruno Haible  <bruno@clisp.org>
25071
25072         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
25073         * modules/pipe (Depends-on): Add pipe2.
25074
25075 2009-08-22  Bruno Haible  <bruno@clisp.org>
25076
25077         Tests for module 'pipe2'.
25078         * modules/pipe2-tests: New file.
25079         * tests/test-pipe2.c: New file.
25080
25081         New module 'pipe2'.
25082         * lib/unistd.in.h (pipe2): New declaration.
25083         * lib/pipe2.c: New file.
25084         * m4/pipe2.m4: New file.
25085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
25086         HAVE_PIPE2.
25087         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
25088         * modules/pipe2: New file.
25089         * doc/glibc-functions/pipe2.texi: Mention the new module.
25090
25091 2009-08-22  Bruno Haible  <bruno@clisp.org>
25092
25093         Reference some new glibc functions.
25094         * doc/glibc-functions/accept4.texi: New file.
25095         * doc/glibc-functions/dup3.texi: New file.
25096         * doc/glibc-functions/mkostemp.texi: New file.
25097         * doc/glibc-functions/pipe2.texi: New file.
25098         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
25099         (Glibc sys/socket.h): Refer to accept4.
25100         (Glibc unistd.h): Refer to dup3, pipe2.
25101         Reported by Eric Blake.
25102
25103 2009-08-22  Jim Meyering  <meyering@redhat.com>
25104             Bruno Haible  <bruno@clisp.org>
25105
25106         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
25107         This makes it so packages using automake-1.11's silent-rules option
25108         can print e.g., a single "GEN    configmake.h" line, rather than
25109         the 30+ statements that perform the job.  If you want to see the
25110         actual commands, you can still run "make V=1".
25111         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
25112         so that make output is abbreviated when those variables are defined
25113         appropriately.
25114         * modules/argz: Likewise.
25115         * modules/arpa_inet: Likewise.
25116         * modules/byteswap: Likewise.
25117         * modules/configmake: Likewise.
25118         * modules/dirent: Likewise.
25119         * modules/errno: Likewise.
25120         * modules/fcntl: Likewise.
25121         * modules/float: Likewise.
25122         * modules/fnmatch: Likewise.
25123         * modules/getopt-posix: Likewise.
25124         * modules/glob: Likewise.
25125         * modules/iconv_open: Likewise.
25126         * modules/inttypes: Likewise.
25127         * modules/localcharset: Likewise.
25128         * modules/locale: Likewise.
25129         * modules/math: Likewise.
25130         * modules/netdb: Likewise.
25131         * modules/netinet_in: Likewise.
25132         * modules/poll: Likewise.
25133         * modules/posix_spawnp-tests: Likewise.
25134         * modules/sched: Likewise.
25135         * modules/search: Likewise.
25136         * modules/selinux-h: Likewise.
25137         * modules/signal: Likewise.
25138         * modules/spawn: Likewise.
25139         * modules/stdarg: Likewise.
25140         * modules/stdbool: Likewise.
25141         * modules/stddef: Likewise.
25142         * modules/stdint: Likewise.
25143         * modules/stdio: Likewise.
25144         * modules/stdlib: Likewise.
25145         * modules/string: Likewise.
25146         * modules/strings: Likewise.
25147         * modules/sys_file: Likewise.
25148         * modules/sys_ioctl: Likewise.
25149         * modules/sys_select: Likewise.
25150         * modules/sys_socket: Likewise.
25151         * modules/sys_stat: Likewise.
25152         * modules/sys_time: Likewise.
25153         * modules/sys_times: Likewise.
25154         * modules/sys_utsname: Likewise.
25155         * modules/sys_wait: Likewise.
25156         * modules/sysexits: Likewise.
25157         * modules/time: Likewise.
25158         * modules/unistd: Likewise.
25159         * modules/wchar: Likewise.
25160         * modules/wctype: Likewise.
25161
25162 2009-08-22  Jim Meyering  <meyering@redhat.com>
25163
25164         announce-gen: detect write failure
25165         * build-aux/announce-gen: Add Coda at end.
25166         Remove equivalent-but-more-verbose block at top.
25167
25168 2009-08-19  Akim Demaille  <demaille@gostai.com>
25169
25170         bootstrap: --help to stdout.
25171         * bootstrap (usage): Don't send --help to stderr.
25172         Use a here doc instead of a long string.
25173
25174 2009-08-21  Eric Blake  <ebb9@byu.net>
25175
25176         test-popen-safer: split from test-popen
25177         * tests/test-popen.c (main): Move...
25178         * tests/test-popen.h: ...into new file.
25179         * tests/test-popen-safer2.c: New file.
25180         * modules/popen-tests (Files): Add test-popen.h.
25181         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
25182         Suggested by Bruno Haible.
25183
25184         test-fcntl-safer: split from test-open
25185         * tests/test-open.c (main): Move...
25186         * tests/test-open.h: ...into new file.
25187         * tests/test-fcntl-safer.c: New file.
25188         * modules/open-tests (Files): Add test-open.h.
25189         * modules/fcntl-safer-tests: New file.
25190         Suggested by Bruno Haible.
25191
25192         test-fopen-safer: split from test-fopen
25193         * tests/test-fopen.c (main): Move...
25194         * tests/test-fopen.h: ...into new file.
25195         * tests/test-fopen-safer.c: New file.
25196         * modules/fopen-tests (Files): Add test-fopen.h.
25197         * modules/fopen-safer-tests: New file.
25198         Suggested by Bruno Haible.
25199
25200 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25201
25202         popen-safer: test O_CLOEXEC at run-time.
25203         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
25204
25205 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25206
25207         fcntl: move more flags to the header
25208         * lib/cloexec.c: Do not define FD_CLOEXEC here.
25209         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
25210         * lib/fcntl.in.h: Do both things here.
25211
25212 2009-08-21  Jim Meyering  <meyering@redhat.com>
25213
25214         consistently remove $@-t before redirecting to it
25215         * modules/argz: Remove $@-t and $@ before redirecting to the former.
25216         * modules/alloca-opt: Likewise.
25217         * modules/byteswap: Likewise.
25218         * modules/fnmatch: Likewise.
25219         * modules/getopt-posix: Likewise.
25220         * modules/glob: Likewise.
25221         * modules/poll: Likewise.
25222         * modules/posix_spawnp-tests: Likewise.
25223         * modules/sys_socket: Likewise.
25224         * modules/sysexits: Likewise.
25225
25226 2009-08-21  Eric Blake  <ebb9@byu.net>
25227
25228         popen: simplify access to original popen
25229         * lib/popen.c (rpl_popen): No need to worry about popen being a
25230         macro.
25231         Reported by Bruno Haible.
25232
25233 2009-08-20  Eric Blake  <ebb9@byu.net>
25234
25235         build: avoid some compiler warnings
25236         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
25237         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
25238         type.
25239         (new_exclude_segment, excluded_file_pattern_p)
25240         (excluded_file_name_p): Reduce scope.
25241         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
25242         old-style declaration.
25243
25244 2009-08-20  Simon Josefsson  <simon@josefsson.org>
25245
25246         * tests/test-exclude1.sh: Handle Windows EOL.
25247         * tests/test-exclude2.sh: Likewise.
25248         * tests/test-exclude3.sh: Likewise.
25249         * tests/test-exclude4.sh: Likewise.
25250         * tests/test-exclude5.sh: Likewise.
25251         * tests/test-exclude6.sh: Likewise.
25252         * tests/test-exclude7.sh: Likewise.
25253
25254 2009-08-19  Akim Demaille  <demaille@gostai.com>
25255
25256         bootstrap: find sha1sum when named gsha1sum.
25257         * bootstrap (find_tool): New.
25258         ($SHA1SUM): New.
25259         Use it.
25260
25261 2009-08-20  Jim Meyering  <meyering@redhat.com>
25262
25263         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
25264         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
25265         expression that converts "." in a file name to "\." in the resulting
25266         regexp.  Start with a dummy statement, so that prior shell variable
25267         definitions are expanded portably.  Reported by Simon Josefsson.
25268
25269 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
25270
25271         Fix polling for writeability of a screen buffer.
25272         * lib/poll.c: Distinguish input and screen buffers for the
25273         Win32 implementation.
25274         * lib/select.c: Likewise.
25275
25276 2009-08-19  Eric Blake  <ebb9@byu.net>
25277
25278         popen-safer: prevent popen from clobbering std descriptors
25279         * modules/popen-safer: New file.
25280         * lib/popen-safer.c: Likewise.
25281         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
25282         * lib/stdio--.h (popen): Provide override.
25283         * lib/stdio-safer.h (popen_safer): Provide declaration.
25284         * tests/test-popen.c (includes): Partially test this.
25285         * modules/popen-safer-tests: New file, for more tests.
25286         * tests/test-popen-safer.c: Likewise.
25287         * MODULES.html.sh (file stream based Input/Output): Mention it.
25288
25289         tests: test some of the *-safer modules
25290         * modules/fopen-safer (Depends-on): Add fopen.
25291         * modules/fcntl-safer (Depends-on): Add fcntl.
25292         * modules/stdlib-safer (Depends-on): Add stdlib.
25293         (configure.ac): Set indicator.
25294         * modules/unistd-safer (configure.ac): Likewise.
25295         * modules/tmpfile-safer (configure.ac): Likewise.
25296         (Depends-on): Add tmpfile.
25297         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
25298         active.
25299         * tests/test-fopen.c (includes): Test safer versions when they are
25300         in use.
25301         * tests/test-open.c (includes): Likewise.
25302
25303         popen: fix cygwin 1.5 bug when stdin closed
25304         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
25305         * modules/popen: New file.
25306         * modules/popen-tests: Likewise.
25307         * tests/test-popen.c: Likewise.
25308         * m4/popen.m4: Likewise.
25309         * lib/popen.c: Likewise.
25310         * lib/stdio.in.h (popen): New declaration.
25311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
25312         * modules/stdio (Makefile.am): Likewise.
25313         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
25314
25315 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
25316
25317         maint.mk: give full control over update-copyright exclusions
25318         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
25319         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
25320         (update-copyright): Don't force inclusion of top-level
25321         ChangeLog.  Don't force exclusion of all COPYING files, but make
25322         them the default exclusion instead.
25323
25324 2009-08-16  Bruno Haible  <bruno@clisp.org>
25325
25326         Fix test failures on Solaris 10.
25327         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
25328         tests when Solaris iconv() is used.
25329         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
25330         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
25331         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
25332         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
25333         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
25334
25335 2009-08-16  Bruno Haible  <bruno@clisp.org>
25336
25337         Fix test failures on Solaris 10.
25338         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
25339         'tr' program and pass it as first argument.
25340         * tests/test-pipe-filter-gi1.sh: Likewise.
25341         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
25342         program as first argument.
25343         * tests/test-pipe-filter-gi1.c (main): Likewise.
25344
25345 2009-08-16  Eric Blake  <ebb9@byu.net>
25346
25347         fpurge: fix previous commits
25348         * modules/fpurge (Makefile.am): Make replacement conditional,
25349         partially reverting 2007-04-29 change; missed in previous
25350         attempt.
25351         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
25352         is missing.
25353
25354 2009-08-16  Bruno Haible  <bruno@clisp.org>
25355
25356         Clarify fpurge's effect on the file position.
25357         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
25358         * tests/test-fpurge.c (main): Make a second pass for checking the file
25359         position.
25360
25361 2009-08-16  Bruno Haible  <bruno@clisp.org>
25362
25363         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
25364         declaration of fpurge is missing.
25365         * tests/test-fpurge.c (main): Check that the file has not more contents
25366         than expected. Close the file before removing it.
25367
25368 2009-08-15  Eric Blake  <ebb9@byu.net>
25369
25370         fpurge: don't wrap working cygwin implementation
25371         * lib/fpurge.c (fpurge): Fix comment typo.
25372         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
25373         1.7 to avoid replacement.
25374         * tests/test-fpurge.c (main): Enhance test.
25375
25376 2009-08-15  Eric Blake  <ebb9@byu.net>
25377         and Jim Meyering  <meyering@redhat.com>
25378
25379         test-update-copyright: skip if perl is insufficient
25380         * tests/test-update-copyright.sh: Failure to run maintainer tool
25381         should not cause testsuite failure on cygwin 1.5.
25382
25383 2009-08-14  Eric Blake  <ebb9@byu.net>
25384
25385         doc: mention more functions added in cygwin 1.7.0
25386         * doc/posix-headers/limits.texi (limits.h): Update for recent
25387         cygwin additions.
25388         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
25389         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
25390         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
25391         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
25392         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
25393
25394 2009-08-14  Eric Blake  <ebb9@byu.net>
25395
25396         maint.mk: simplify update-copyright rule
25397         * top/maint.mk (update-copyright-local): Delete, and document how
25398         to do it in cfg.mk instead.
25399         (update-copyright-exclude-regexp): Delete, and document how to do
25400         it in .x-update-copyright instead.
25401         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
25402         exclude ChangeLog.
25403
25404 2009-08-14  Bruno Haible  <bruno@clisp.org>
25405
25406         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
25407
25408 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25409
25410         maint.mk: support update-copyright-env
25411         * top/maint.mk (update-copyright-env): Define place-holder.
25412         (update-copyright): Expand $(update-copyright-env) before
25413         invoking update-copyright.
25414
25415 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25416
25417         update-copyright: implement forced reformatting
25418         * build-aux/update-copyright: Implement and document
25419         UPDATE_COPYRIGHT_FORCE.
25420         * tests/test-update-copyright.sh: Test it.
25421
25422 2009-08-14  Eric Blake  <ebb9@byu.net>
25423         and Bruno Haible  <bruno@clisp.org>
25424
25425         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
25426         * tests/test-locale.c: Revert previous patch related to NULL.
25427         * tests/test-stdio.c: Likewise.
25428         * tests/test-stdlib.c: Likewise.
25429         * tests/test-string.c: Likewise.
25430         * tests/test-unistd.c: Likewise.
25431         * modules/time-tests (Depends-on): Add verify.
25432         * modules/wchar-tests (Depends-on): Likewise.
25433         * tests/test-time.c: Test for NULL compliance.
25434         * tests/test-wchar.c: Likewise.
25435         * modules/locale (Depends-on): Add stddef.
25436         * modules/stdio (Depends-on): Likewise.
25437         * modules/stdlib (Depends-on): Likewise.
25438         * modules/string (Depends-on): Likewise.
25439         * modules/time (Depends-on): Likewise.
25440         * modules/unistd (Depends-on): Likewise.
25441         * modules/wchar (Depends-on): Likewise.
25442         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
25443         * lib/stdlib.in.h (includes): Likewise.
25444         * lib/string.in.h (includes): Likewise.
25445         * lib/time.in.h (includes): Likewise.
25446         * lib/unistd.in.h (includes): Likewise.
25447         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
25448         replaced.
25449         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25450         * m4/stddef_h.m4: New file.
25451         * modules/stddef: Likewise.
25452         * lib/stddef.in.h: Likewise.
25453         * modules/stddef-tests: Likewise.
25454         * tests/test-stddef.c: Likewise.
25455         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
25456         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
25457         * doc/posix-headers/locale.texi (locale.h): Likewise.
25458         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
25459         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
25460         * doc/posix-headers/string.texi (string.h): Likewise.
25461         * doc/posix-headers/time.texi (time.h): Likewise.
25462         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
25463         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
25464
25465 2009-08-14  Eric Blake  <ebb9@byu.net>
25466
25467         doc: improve git diff of texinfo files
25468         * .gitattributes: Add rule for *.texi files, with hint on how to
25469         use it.
25470         Copied from m4, and based on a report by Bruno Haible.
25471
25472 2009-08-14  Bruno Haible  <bruno@clisp.org>
25473
25474         Disable multithread support by default on Cygwin 1.5.x for real.
25475         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
25476
25477 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
25478
25479         update-copyright: much ado about intervals
25480         * build-aux/update-copyright: Implement and document
25481         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
25482         of copyright year intervals.
25483         Also, document UPDATE_COPYRIGHT_YEAR.
25484         * tests/test-update-copyright.sh: Test it.
25485
25486         update-copyright: convert 2-digit to 4-digit years
25487         * build-aux/update-copyright: Implement and document.
25488         * tests/test-update-copyright.sh: Update.
25489
25490 2009-08-14  Jim Meyering  <meyering@redhat.com>
25491
25492         test-exclude: avoid coreutils "make check" failure
25493         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
25494         just as in test-argmatch.c.
25495
25496 2009-08-13  Eric Blake  <ebb9@byu.net>
25497
25498         test-dup2: fix bad assumption
25499         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
25500         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
25501
25502         test-version-etc: fix CRLF portability issue
25503         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
25504         recognize \r.
25505         * tests/test-argp-version-etc-1.sh: Likewise.
25506
25507         getopt: update client modules
25508         * modules/argp (Depends-on): Use getopt-gnu.
25509         * modules/git-merge-changelog (Depends-on): Likewise.
25510         * modules/long-options (Depends-on): Likewise.
25511         * modules/xstrtol (Depends-on): Likewise.
25512
25513 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25514
25515         * tests/test-version-etc.sh: Don't fail on different
25516         project/version.  Don't fail on CRLF differences.  Rewrite to use
25517         multiple -e instead of multiple sed forks, suggested by Eric Blake
25518         <ebb9@byu.net>.
25519         * tests/test-argp-version-etc-1.sh: Likewise.
25520
25521 2009-08-13  Simon Josefsson  <simon@josefsson.org>
25522
25523         * tests/test-version-etc.sh: Don't fail on different
25524         project/version.
25525
25526 2009-08-12  Bruno Haible  <bruno@clisp.org>
25527
25528         Tests for modules 'getopt-posix', 'getopt-gnu'.
25529         * modules/getopt-posix-tests: New file.
25530         * tests/test-getopt.c: New file.
25531         * tests/test-getopt.h: New file.
25532         * tests/test-getopt_long.h: New file.
25533
25534         New modules 'getopt-posix', 'getopt-gnu'.
25535         * modules/getopt-gnu: New file, renamed from modules/getopt.
25536         * modules/getopt-posix: New file.
25537         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
25538         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
25539         (gl_GETOPT): Remove macro.
25540         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
25541         Disable the test against BSD systems that declare optreset. Test
25542         against mingw bug. Test against lack of support of optional arguments
25543         on many platforms.
25544         * doc/glibc-headers/getopt.texi: Update module name and list of
25545         relevant platforms.
25546         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
25547         'getopt-gnu' and more portability problems.
25548         * NEWS: Mention the changes.
25549
25550 2009-08-12  Bruno Haible  <bruno@clisp.org>
25551
25552         Ensure that optarg etc. get declared by <unistd.h>.
25553         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
25554         AC_USE_SYSTEM_EXTENSIONS.
25555         * modules/getopt (Depends-on): Add 'extensions'.
25556
25557 2009-08-12  Bruno Haible  <bruno@clisp.org>
25558
25559         Avoid test link errors.
25560         * modules/pipe-filter-ii-tests (Makefile.am): Define
25561         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
25562         * modules/pipe-filter-gi-tests (Makefile.am): Define
25563         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
25564         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25565
25566 2009-08-12  Bruno Haible  <bruno@clisp.org>
25567
25568         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
25569         gl_GETOPT_SUBSTITUTE before.
25570         (gl_GETOPT): Use it.
25571         * m4/argp.m4 (gl_ARGP): Update.
25572         Reported by Sergey Poznyakoff.
25573
25574         * m4/getopt.m4: Reorder macros.
25575         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
25576         (gl_GETOPT_SUBSTITUTE): Remove macro.
25577
25578 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25579
25580         Minor improvement in gitlog-to-changelog
25581
25582         * build-aux/gitlog-to-changelog: New option `--format' makes
25583         output format string configurable.
25584
25585 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
25586
25587         Optimize exclude: use hash tables for non-wildcard patterns.
25588
25589         * lib/exclude.c: Include hash.h and mbuiter.h
25590         (struct exclude_pattern, exclude_segment): New data types.
25591         (struct exclude): Rewrite.
25592         (fnmatch_pattern_has_wildcards): New function.
25593         (new_exclude_segment, free_exclude_segment): New functions.
25594         (excluded_file_pattern_p, excluded_file_name_p): New functions.
25595         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
25596         * lib/exclude.h (is_fnmatch_pattern): New prototype.
25597         * modules/exclude: Depend on hash and mbuiter.
25598
25599         * modules/exclude-tests: New file.
25600         * tests/test-exclude.c: New file.
25601         * tests/test-exclude1.sh: New file.
25602         * tests/test-exclude2.sh: New file.
25603         * tests/test-exclude3.sh: New file.
25604         * tests/test-exclude4.sh: New file.
25605         * tests/test-exclude5.sh: New file.
25606         * tests/test-exclude6.sh: New file.
25607         * tests/test-exclude7.sh: New file.
25608
25609 2009-08-12  Bruno Haible  <bruno@clisp.org>
25610
25611         Ensure that getopt() gets declared by <unistd.h>.
25612         * lib/unistd.in.h: Conditionally include getopt.h.
25613         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
25614         Set GNULIB_UNISTD_H_GETOPT.
25615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25616         GNULIB_UNISTD_H_GETOPT.
25617         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
25618
25619 2009-08-12  Bruno Haible  <bruno@clisp.org>
25620
25621         Clarify logic.
25622         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
25623         gl_replace_getopt instead of GETOPT_H.
25624
25625 2009-08-12  Bruno Haible  <bruno@clisp.org>
25626
25627         * m4/getopt.m4: Add comments.
25628
25629 2009-08-12  Bruno Haible  <bruno@clisp.org>
25630
25631         Disable multithread support by default on Cygwin 1.5.x.
25632         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
25633         set gl_use_threads=no if not specified otherwise.
25634
25635 2009-08-11  Bruno Haible  <bruno@clisp.org>
25636
25637         Avoid compilation error on NetBSD 5.0.
25638         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
25639         * tests/test-stdio.c: Likewise.
25640         * tests/test-stdlib.c: Likewise.
25641         * tests/test-string.c: Likewise.
25642         * tests/test-unistd.c: Likewise.
25643         Reported by Greg Troxel <gdt@ir.bbn.com>
25644         at <https://savannah.gnu.org/support/?106973>.
25645
25646 2009-08-11  Bruno Haible  <bruno@clisp.org>
25647
25648         * modules/dup2-tests (Depends-on): Remove close.
25649
25650         Undo 2009-07-19 commit.
25651         * modules/acl-tests (Depends-on): Remove close.
25652         * modules/binary-io-tests (Depends-on): Likewise.
25653         * modules/closein-tests (Depends-on): Likewise.
25654         * modules/flock-tests (Depends-on): Likewise.
25655         * modules/fsync-tests (Depends-on): Likewise.
25656         * modules/lseek-tests (Depends-on): Likewise.
25657         * modules/pipe-tests (Depends-on): Likewise.
25658         * modules/posix_spawn-tests (Depends-on): Likewise.
25659         * modules/posix_spawnp-tests (Depends-on): Likewise.
25660         * modules/stat-time-tests (Depends-on): Likewise.
25661         * modules/yesno-tests (Depends-on): Likewise.
25662
25663 2009-08-10  Bruno Haible  <bruno@clisp.org>
25664
25665         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
25666
25667 2009-08-10  Bruno Haible  <bruno@clisp.org>
25668
25669         Fix a gcc warning.
25670         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
25671
25672 2009-08-10  Bruno Haible  <bruno@clisp.org>
25673
25674         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
25675         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
25676         not only the first time.
25677         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
25678         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
25679         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
25680         is 1, not only the the first time.
25681
25682 2009-08-10  Bruno Haible  <bruno@clisp.org>
25683
25684         Make it possible to use module 'gethostname' without module 'close'.
25685         * lib/unistd.in.h (close): Evoke a link error only if
25686         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25688         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25689         * modules/unistd (Makefile.am): Substitute
25690         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25691         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
25692         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
25693         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
25694         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25695         * modules/sys_ioctl (Makefile.am): Substitute
25696         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25697         * modules/socket (configure.ac): On native Windows, set
25698         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
25699         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
25700         Reported by Sam Steingold <sds@gnu.org>.
25701
25702 2009-08-10  Bruno Haible  <bruno@clisp.org>
25703
25704         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
25705         * modules/ioctl (configure.ac): Likewise.
25706
25707 2009-08-10  Bruno Haible  <bruno@clisp.org>
25708
25709         Avoid collision between gnulib wrapper and libintl wrapper.
25710         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
25711         already defined in intl/printf.c.
25712         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
25713         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
25714
25715 2009-08-09  Bruno Haible  <bruno@clisp.org>
25716
25717         Make <sys/select.h> really self-contained, also on Solaris 10.
25718         * lib/sys_select.in.h: Include <string.h>.
25719         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
25720         Solaris 10 problem.
25721         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
25722         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
25723         Reported by Jim Meyering.
25724
25725 2009-08-09  Bruno Haible  <bruno@clisp.org>
25726
25727         Avoid warnings from 'aclocal' that are due to a use of macro name
25728         AM_XGETTEXT_OPTION that is not defined in automake.
25729         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
25730         automake.
25731         * modules/error (configure.ac): Likewise.
25732         * modules/propername (configure.ac): Likewise.
25733         * modules/vasprintf (configure.ac): Likewise.
25734         * modules/verror (configure.ac): Likewise.
25735         * modules/xprintf (configure.ac): Likewise.
25736         * modules/xvasprintf (configure.ac): Likewise.
25737
25738 2009-08-08  Bruno Haible  <bruno@clisp.org>
25739
25740         Avoid compilation error in C++ mode.
25741         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
25742         Reported by Sam Steingold <sds@gnu.org>.
25743
25744 2009-08-08  Bruno Haible  <bruno@clisp.org>
25745
25746         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
25747         for the various Unix platforms.
25748         * doc/posix-headers/limits.texi: Update platforms list regarding
25749         HOST_NAME_MAX.
25750         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25751
25752 2009-08-07  Jim Meyering  <meyering@redhat.com>
25753
25754         selinux-at: fix typo in a comment
25755         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
25756         Spotted by Paolo Bonzini.
25757
25758         selinux-at: remove redundant m4 code, add documentation
25759         * modules/selinux-at (configure.ac): Remove redundant code.
25760         LIB_SELINUX is already set via the dependent module, selinux-h.
25761         (Include): Add quotes around selinux-at.h.
25762         * lib/selinux-at.h: Add documentation.
25763         Reported by Bruno Haible in
25764         http://marc.info/?l=gnulib-bug&m=124958988300749
25765
25766 2009-08-07  Bruno Haible  <bruno@clisp.org>
25767
25768         Avoid link error on MacOS X 10.3 and 10.4.
25769         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25770         on non-ELF systems.
25771         * lib/argp-pv.c (argp_program_version): Likewise.
25772         Reported by Simon Josefsson.
25773
25774 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25775
25776         * tests/test-version-etc.sh: Use $EXEEXT.
25777
25778 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25779
25780         update-copyright: update documentation to point to maint.mk
25781         * build-aux/update-copyright: Here.
25782
25783 2009-08-06  Jim Meyering  <meyering@redhat.com>
25784
25785         maint.mk: support update-copyright-local
25786         * top/maint.mk (update-copyright-local): Define place-holder.
25787         (update-copyright): Depend on $(update-copyright-local).
25788
25789 2009-08-06  Jim Meyering  <meyering@redhat.com>
25790
25791         selinux-at: new module
25792         Initially written for coreutils, this module will soon be
25793         used by findutils, too.
25794         * MODULES.html.sh [Misc]: Add selinux-at.
25795         * lib/selinux-at.h: New file, from coreutils.
25796         * lib/selinux-at.c: Likewise.
25797         * modules/selinux-at: Likewise.
25798         (License): Change from LGPL to GPL, since it depends
25799         on the GPL'd openat module.
25800
25801         doc: update README
25802         * README: Remove references to cogito.
25803         Remove cvs-repo-updating instructions from 2007.
25804         Don't imply that CVS is better if you have limited disk space.
25805
25806 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25807
25808         update-copyright: support C-style comments
25809         * build-aux/update-copyright: Implement and document.
25810         * tests/test-update-copyright.sh: Test.
25811
25812 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25813
25814         update-copyright: support omitted "(C)"
25815         * build-aux/update-copyright: Implement and document.  Also,
25816         allow variable whitespace before "(C)".
25817         * tests/test-update-copyright.sh: Test.
25818
25819 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25820
25821         update-copyright: don't trip on non-FSF copyright statements
25822         * build-aux/update-copyright: Fix so that the first correctly
25823         formatted FSF copyright statement is recognized no matter what
25824         appears before it.  Update documentation.
25825         * tests/test-update-copyright.sh: Test that.
25826
25827 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25828
25829         update-copyright: clean up code a little
25830         * build-aux/update-copyright: Append "_re" to the name of any
25831         variable holding a regular expression.
25832         Replace "old" and "new" with "stmt" in variable names.
25833         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25834         handled correctly.
25835         Format code more consistently.
25836
25837 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25838
25839         update-copyright-tests: improve portability
25840         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25841         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25842
25843 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25844
25845         update-copyright: support @copyright{} and &copy;
25846         * build-aux/update-copyright: Implement and document.
25847         * tests/test-update-copyright.sh: Test.
25848
25849 2009-08-04  Jim Meyering  <meyering@redhat.com>
25850
25851         update-copyright-tests: correctly test EOL=\r\n handling
25852         * tests/test-update-copyright.sh: Put \r at the end of some lines
25853         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25854
25855         maint.mk: make update-copyright exclusion list more configurable
25856         * top/maint.mk (update-copyright): Default to excluding COPYING,
25857         but allow an override, in case someone does want to update that file.
25858
25859         maint.mk: don't update copyright date in COPYING
25860         * top/maint.mk (update-copyright): Exclude COPYING.
25861
25862         maint.mk: add a copyright-updating rule
25863         * top/maint.mk (update-copyright): New rule.
25864         Derived from coreutils/Makefile.am.
25865
25866         update-copyright: rename some variables
25867         * build-aux/update-copyright: Rename a few variables for clarity.
25868         Tweak syntax.  List Joel E. Denny as coauthor.
25869
25870 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25871
25872         update-copyright: fix bug for 2-digit last year and add tests
25873         * build-aux/update-copyright: Fix bug.
25874         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25875         specified.
25876         * modules/update-copyright-tests: New
25877         * tests/test-update-copyright.sh: New.
25878
25879 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25880
25881         update-copyright: handle leading tabs in line prefix
25882         * build-aux/update-copyright: Count leading tabs as 8 spaces
25883         when computing margin.  This helps with the formatting of
25884         ChangeLogs, for example.
25885         Fix documentation a little.
25886
25887 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25888
25889         update-copyright: support EOL=\r\n
25890         * build-aux/update-copyright: Implement that.
25891
25892 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25893
25894         update-copyright: automatically format copyright statements
25895         * build-aux/update-copyright: Implement that.
25896         Also, be a little more predictable and safer by always failing
25897         when the full copyright format is not perfectly recognized as an
25898         unbroken whole.  Discussed at
25899         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25900         Rewrite documentation.
25901
25902 2009-08-03  Bruno Haible  <bruno@clisp.org>
25903
25904         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25905
25906 2009-08-02  Bruno Haible  <bruno@clisp.org>
25907
25908         Tests for module 'uname'.
25909         * modules/uname-tests: New file.
25910         * tests/test-uname.c: New file.
25911
25912         New module 'uname'.
25913         * lib/uname.c: New file.
25914         * m4/uname.m4: New file.
25915         * modules/uname: New file.
25916         * doc/posix-functions/uname.texi: Mention the new module.
25917
25918 2009-08-02  Bruno Haible  <bruno@clisp.org>
25919
25920         Tests for module 'sys_utsname'.
25921         * modules/sys_utsname-tests: New file.
25922         * tests/test-sys_utsname.c: New file.
25923
25924         New module 'sys_utsname'.
25925         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25926         * m4/sys_utsname_h.m4: New file.
25927         * modules/sys_utsname: New file.
25928         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25929
25930 2009-08-02  Bruno Haible  <bruno@clisp.org>
25931
25932         Implicitly initialize the sockets library.
25933         * lib/gethostname.c: Include sockets.h.
25934         (rpl_gethostname): Invoke gl_sockets_startup.
25935         * lib/socket.c: Include sockets.h.
25936         (rpl_socket): Invoke gl_sockets_startup.
25937         * modules/gethostname (Depends-on): Add sockets.
25938         * modules/socket (Depends-on): Likewise.
25939         * tests/test-poll.c: Don't include sockets.h.
25940         (main): Don't invoke gl_sockets_startup.
25941         * tests/test-select.c: Don't include sockets.h.
25942         (main): Don't invoke gl_sockets_startup.
25943
25944 2009-08-02  Bruno Haible  <bruno@clisp.org>
25945
25946         Allow multiple calls to gl_sockets_startup.
25947         * lib/sockets.c (initialized_sockets_version): New variable.
25948         (gl_sockets_startup): Do nothing if already called for this or a higher
25949         version.
25950         (gl_sockets_cleanup): Reset initialized_sockets_version.
25951
25952 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25953
25954         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25955         different project/version.
25956
25957 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25958             Bruno Haible  <bruno@clisp.org>
25959
25960         Tests for module 'pipe-filter-gi'.
25961         * modules/pipe-filter-gi-tests: New file.
25962         * tests/test-pipe-filter-gi1.sh: New file.
25963         * tests/test-pipe-filter-gi1.c: New file.
25964         * tests/test-pipe-filter-gi2.sh: New file.
25965         * tests/test-pipe-filter-gi2-main.c: New file.
25966         * tests/test-pipe-filter-gi2-child.c: New file.
25967
25968         New module 'pipe-filter-gi'.
25969         * lib/pipe-filter-gi.c: New file.
25970         * modules/pipe-filter-gi: New file.
25971
25972 2009-08-02  Bruno Haible  <bruno@clisp.org>
25973             Paolo Bonzini  <bonzini@gnu.org>
25974
25975         Tests for module 'pipe-filter-ii'.
25976         * modules/pipe-filter-ii-tests: New file.
25977         * tests/test-pipe-filter-ii1.sh: New file.
25978         * tests/test-pipe-filter-ii1.c: New file.
25979         * tests/test-pipe-filter-ii2.sh: New file.
25980         * tests/test-pipe-filter-ii2-main.c: New file.
25981         * tests/test-pipe-filter-ii2-child.c: New file.
25982
25983         New module 'pipe-filter-ii'.
25984         * lib/pipe-filter.h: New file.
25985         * lib/pipe-filter-ii.c: New file.
25986         * lib/pipe-filter-aux.h: New file.
25987         * modules/pipe-filter-ii: New file.
25988
25989 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25990
25991         * lib/gc-libgcrypt.c: Change copyright to FSF.
25992         * lib/gc-gnulib.c: Likewise.
25993
25994 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25995
25996         * lib/gethostname.c: Include limits.h.
25997
25998 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25999             Bruno Haible  <bruno@clisp.org>
26000
26001         Ensure HOST_NAME_MAX as part of the gethostname module.
26002         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
26003         define also HOST_NAME_MAX.
26004         * tests/test-gethostname.c: Include <limits.h>.
26005         (main): Check also HOST_NAME_MAX.
26006         * doc/posix-headers/limits.texi: Document the mingw problem.
26007
26008 2009-08-02  Bruno Haible  <bruno@clisp.org>
26009
26010         * lib/gethostname.c (gethostname): Fix handling of large len argument.
26011         Add comments.
26012
26013 2009-03-31  Simon Josefsson  <simon@josefsson.org>
26014
26015         * lib/gethostname.c: Add Windows wrapper.
26016         * m4/gethostname.m4: Look for gethostname in -lws2_32.
26017         * modules/gethostname: Depend on sys_socket & errno, for also
26018         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
26019         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
26020
26021 2009-07-31  Jim Meyering  <meyering@redhat.com>
26022
26023         getloadavg: fix symbol name in comment
26024         * lib/getloadavg.c: Correct a typo I introduced when adding
26025         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
26026         Matt Kraai spotted the problem.
26027
26028 2009-07-29  Matt Kraai  <mkraai@beckman.com>
26029
26030         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
26031         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
26032         code also if ! defined N_NAME_POINTER.
26033         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
26034         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
26035         but the n_name member is a 12-byte array.
26036
26037 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
26038
26039         update-copyright: generalize comment handling
26040         * build-aux/update-copyright: Handle copyright statements
26041         within more comment styles.
26042         Document usage.
26043         Report any file with an external copyright holder or parse failure.
26044
26045 2009-07-29  Jim Meyering  <meyering@redhat.com>
26046
26047         mktime: correct setting of REPLACE_MKTIME
26048         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
26049
26050         update-copyright: new module
26051         * modules/update-copyright: New file.
26052         * build-aux/update-copyright: New file.
26053         * MODULES.html.sh (maint+release support): Add update-copyright.
26054
26055 2009-07-27  Bruno Haible  <bruno@clisp.org>
26056
26057         Fix compilation error when <ctime> is used and mktime is replaced.
26058         * lib/time.in.h (mktime): New declaration.
26059         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
26060         REPLACE_MKTIME instead of defining mktime in config.h.
26061         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
26062         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
26063         Reported by Ross McFarland <rwmcfa1@neces.com>.
26064
26065 2009-07-27  Bruno Haible  <bruno@clisp.org>
26066
26067         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
26068         Reported by Matt Kraai <mkraai@beckman.com>.
26069
26070 2009-07-25  Jim Meyering  <meyering@redhat.com>
26071
26072         maint.mk: avoid warnings about missing files
26073         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
26074         diagnostic when .prev-version does not exist.
26075         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
26076         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
26077         nonexistent cfg.mk.
26078         Suggestions from Simon Josefsson.
26079
26080 2009-07-25  Bruno Haible  <bruno@clisp.org>
26081
26082         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
26083         defined as macros. Needed on QNX 6.4.1.
26084         Reported by Matt Kraai <mkraai@beckman.com>.
26085
26086 2009-07-23  Jim Meyering  <meyering@redhat.com>
26087
26088         maint.mk: invoke "make dist" with a working value of XZ_OPT
26089         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
26090
26091 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
26092
26093         Make fseeko.c compile on QNX.
26094         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
26095
26096 2009-07-22  Peter Simons  <simons@cryp.to>
26097
26098         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
26099         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
26100         * lib/md4.h: Likewise.
26101         * lib/md5.h: Likewise.
26102         * lib/sha1.h: Likewise.
26103         * lib/sha256.h: Likewise.
26104         * lib/sha512.h: Likewise.
26105
26106         tests-sha1: don't assign literal string to 'char *' variable
26107         * tests/test-sha1.c (main): Declare locals with "const" to match
26108         attributes of the right hand side.
26109
26110 2009-07-21  Eric Blake  <ebb9@byu.net>
26111
26112         dup2: fix more mingw problems
26113         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
26114         fd to itself.
26115         * doc/posix-functions/dup2.texi (dup2): Document the bug.
26116         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
26117         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
26118         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
26119         care of mingw bugs.
26120
26121 2009-07-21  Jim Meyering  <meyering@redhat.com>
26122
26123         vc-list-files: avoid failure when /bin/sh is dash
26124         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
26125         On some Debian based systems, /bin/sh is a symlink to dash, and running
26126         this command would omit the "/" following each 'tests' prefix:
26127           dash -x build-aux/vc-list-files -C . tests
26128         That is because bash and dash work differently:
26129           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
26130           bash ok
26131           dash odd
26132
26133 2009-07-21  Eric Blake  <ebb9@byu.net>
26134
26135         dup2-tests: test previous patch
26136         * modules/dup2-tests: New file.
26137         * tests/test-dup2.c: Likewise.
26138         * tests/test-open.c (main): Avoid unspecified behavior.
26139         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
26140         test.
26141
26142         dup2: work around mingw and cygwin 1.5 bug
26143         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
26144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26145         * modules/unistd (Makefile.am): Substitute it.
26146         * lib/unistd.in.h (dup2): Declare the replacement.
26147         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
26148         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
26149         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
26150         * modules/execute (Depends-on): Add dup2.
26151         * modules/fseterr (Depends-on): Likewise.
26152         * modules/pipe (Depends-on): Likewise.
26153         * modules/posix_spawn-internal (Depends-on): Likewise.
26154
26155 2009-07-21  Bruno Haible  <bruno@clisp.org>
26156
26157         * modules/.gitattributes: New file.
26158
26159 2009-07-20  Bruno Haible  <bruno@clisp.org>
26160
26161         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
26162         (main): Use it.
26163
26164 2009-07-20  Eric Blake  <ebb9@byu.net>
26165
26166         test-pipe: make a bit more robust.
26167         * tests/test-pipe.c (myerr): Allow error messages regardless of
26168         what we do to stderr.
26169         (test_pipe): Rearrange to avoid deadlock.
26170         (child_main): Try a larger read, to ensure we avoided deadlock.
26171         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
26172         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
26173         if misused.
26174
26175 2009-07-19  Jim Meyering  <meyering@redhat.com>
26176
26177         fts: avoid false-positive cycle-detection
26178         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
26179         for each new command line argument.
26180
26181 2009-07-19  Bruno Haible  <bruno@clisp.org>
26182
26183         Fix build error on mingw with the modules sys_select and unistd.
26184         * modules/acl-tests (Depends-on): Add close.
26185         * modules/binary-io-tests (Depends-on): Likewise.
26186         * modules/closein-tests (Depends-on): Likewise.
26187         * modules/flock-tests (Depends-on): Likewise.
26188         * modules/fsync-tests (Depends-on): Likewise.
26189         * modules/lseek-tests (Depends-on): Likewise.
26190         * modules/pipe-tests (Depends-on): Likewise.
26191         * modules/posix_spawn-tests (Depends-on): Likewise.
26192         * modules/posix_spawnp-tests (Depends-on): Likewise.
26193         * modules/stat-time-tests (Depends-on): Likewise.
26194         * modules/yesno-tests (Depends-on): Likewise.
26195
26196 2009-07-19  Bruno Haible  <bruno@clisp.org>
26197
26198         Unify conditionals.
26199         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
26200         macros, not at the compiler macros.
26201         * lib/pipe.c: Likewise.
26202         * lib/execute.c: Likewise.
26203         * lib/spawni.c: Likewise.
26204
26205 2009-07-19  Bruno Haible  <bruno@clisp.org>
26206
26207         Fix handling of closed stdin/stdout/stderr on mingw.
26208         * lib/w32spawn.h: Include unistd.h.
26209         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
26210         file descriptor with O_NOINHERIT flag.
26211         (fd_safer_noinherit): New function, based on fd-safer.c.
26212         (dup_safer_noinherit): New function, based on dup-safer.c.
26213         (undup_safer_noinherit): New function.
26214         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
26215         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
26216         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
26217         instead of fd_safer.
26218         * tests/test-pipe.c: Include <windows.h>.
26219         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
26220
26221         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
26222         from main.
26223         (test_pipe): Pass an extra argument for disambiguation.
26224         (main): Invoke parent_main or child_main.
26225
26226         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
26227         consistently.
26228
26229 2009-07-18  Eric Blake  <ebb9@byu.net>
26230
26231         test-pipe: fix mingw build
26232         * tests/test-pipe.c (main): Avoid fcntl on mingw.
26233
26234 2009-07-18  Bruno Haible  <bruno@clisp.org>
26235
26236         * modules/pipe-tests (Makefile.am): Fix typo.
26237
26238 2009-07-18  Eric Blake  <ebb9@byu.net>
26239
26240         error: fix mingw build
26241         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
26242         Reported by Bruno Haible.
26243
26244         error: avoid undefined use of stdout
26245         * lib/error.c (error, error_at_line): Check that fd 1 is open
26246         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
26247         is handling faults and the close_stdout module wants to report the
26248         detection of closed stdout as an error.
26249
26250 2009-07-17  Eric Blake  <ebb9@byu.net>
26251
26252         pipe: be robust in face of closed fds
26253         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
26254         should cause child to misbehave.
26255         * modules/pipe-tests: New module.
26256         * tests/test-pipe.c: New file.
26257         * tests/test-pipe.sh: New file.
26258         Reported by Akim Demaille.
26259
26260 2009-07-14  Bruno Haible  <bruno@clisp.org>
26261
26262         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
26263         Reported by anonymous kc.
26264
26265 2009-07-07  Jim Meyering  <meyering@redhat.com>
26266
26267         maint.mk: don't look for translatable strings in *.m4 or *.mk
26268         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
26269         when searching for translatable strings.
26270
26271 2009-07-05  Jim Meyering  <meyering@redhat.com>
26272
26273         remove superfluous parentheses in STREQ definition
26274         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
26275         * lib/getugroups.c (STREQ): Likewise.
26276         * lib/fnmatch.c (STREQ): Likewise.
26277         Spotted by Bruno Haible.
26278
26279 2009-07-04  Jim Meyering  <meyering@redhat.com>
26280
26281         argv-iter: new module
26282         * MODULES.html.sh: Add argv-iter.
26283         * lib/argv-iter.c, lib/argv-iter.h: New files.
26284         * modules/argv-iter: New file.
26285         * modules/argv-iter-tests: New file.
26286         * tests/test-argv-iter.c: Test it.
26287
26288 2009-07-04  Bruno Haible  <bruno@clisp.org>
26289
26290         Fix assertion.
26291         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
26292         contains more exact copies of a given entry than file2, leave the extra
26293         copies unpaired rather than aborting.
26294         Reported by Eric Blake.
26295
26296 2009-07-02  Bruno Haible  <bruno@clisp.org>
26297
26298         Speedup git-merge-changelog for git cherry-pick.
26299         * lib/git-merge-changelog.c (struct entries_mapping): New type.
26300         (entries_mapping_get): New function, extracted from compute_mapping.
26301         (entries_mapping_reverse_get): New function.
26302         (compute_mapping): Add a 'full' argument. Return the result in a
26303         'struct entries_mapping'.
26304         (main): Update. Access the mappings through entries_mapping_get.
26305         Reported by Eric Blake.
26306
26307 2009-07-02  Bruno Haible  <bruno@clisp.org>
26308
26309         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
26310         best_i.
26311
26312 2009-07-02  Bruno Haible  <bruno@clisp.org>
26313
26314         Speed up approximate search for matching ChangeLog entries.
26315         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
26316         argument. Call fstrcmp_bounded instead of fstrcmp.
26317         (compute_mapping, try_split_merged_entry, main): Update callers.
26318
26319 2009-07-02  Bruno Haible  <bruno@clisp.org>
26320
26321         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
26322
26323 2009-06-30  Bruno Haible  <bruno@clisp.org>
26324
26325         Reduce the number of uc_is_cased calls.
26326         * lib/unicase.h (casing_suffix_context_t): Add
26327         'first_char_except_ignorable' field.
26328         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
26329         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
26330         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
26331         Update initializer.
26332         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
26333         case-ignorable characters.
26334         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
26335         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
26336         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
26337         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
26338         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
26339
26340 2009-06-30  Bruno Haible  <bruno@clisp.org>
26341
26342         Tests for module 'unicase/ignorable'.
26343         * modules/unicase/ignorable-tests: New file.
26344         * tests/unicase/test-ignorable.c: New file, generated by
26345         gen-uni-tables.
26346
26347         Tests for module 'unicase/cased'.
26348         * modules/unicase/cased-tests: New file.
26349         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
26350         * tests/unicase/test-predicate-part1.h: New file, derived from
26351         tests/unictype/test-predicate-part1.h.
26352         * tests/unicase/test-predicate-part2.h: New file, same as
26353         tests/unictype/test-predicate-part2.h.
26354
26355         Fix evaluation of "Before C" condition of FINAL_SIGMA.
26356         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
26357         (output_casing_properties): New function.
26358         (main): Call it.
26359         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
26360         * lib/unicase/cased.c: Include unictype/bitmap.h.
26361         (uc_is_cased): Define through a bitmap lookup.
26362         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
26363         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
26364         (uc_is_case_ignorable): Define through a bitmap lookup.
26365         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
26366         lib/unictype/bitmap.h.
26367         (Depends-on): Add inline. Clean up.
26368         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
26369         lib/unictype/bitmap.h.
26370         (Depends-on): Add inline. Clean up.
26371         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
26372         recognition.
26373         * tests/unicase/test-u16-tolower.c (main): Likewise.
26374         * tests/unicase/test-u32-tolower.c (main): Likewise.
26375
26376 2009-06-30  Bruno Haible  <bruno@clisp.org>
26377
26378         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
26379         * lib/unicase/u16-casemap.c: Likewise.
26380         * lib/unicase/u32-casemap.c: Likewise.
26381
26382 2009-06-29  Bruno Haible  <bruno@clisp.org>
26383
26384         Define u32_casefold as a wrapper around u32_ct_casefold.
26385         * lib/unicase/u32-casefold.c: Update.
26386         * modules/unicase/u32-casefold (Depends-on): Add
26387         unicase/u32-ct-casefold, unicase/empty-prefix-context,
26388         unicase/empty-suffix-context. Clean up.
26389
26390         Define u16_casefold as a wrapper around u16_ct_casefold.
26391         * lib/unicase/u16-casefold.c: Update.
26392         * modules/unicase/u16-casefold (Depends-on): Add
26393         unicase/u16-ct-casefold, unicase/empty-prefix-context,
26394         unicase/empty-suffix-context. Clean up.
26395
26396         Define u8_casefold as a wrapper around u8_ct_casefold.
26397         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
26398         * lib/unicase/u8-casefold.c: Update.
26399         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
26400         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26401
26402         Define u32_totitle as a wrapper around u32_ct_totitle.
26403         * lib/unicase/u32-totitle.c: Update.
26404         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
26405         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26406
26407         Define u16_totitle as a wrapper around u16_ct_totitle.
26408         * lib/unicase/u16-totitle.c: Update.
26409         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
26410         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26411
26412         Define u8_totitle as a wrapper around u8_ct_totitle.
26413         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
26414         functions.
26415         (FUNC): Delegate to U_CT_TOTITLE.
26416         * lib/unicase/u8-totitle.c: Update.
26417         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
26418         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
26419
26420         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
26421         invocation.
26422         * modules/unicase/u32-tolower (Depends-on): Add
26423         unicase/empty-prefix-context, unicase/empty-suffix-context.
26424
26425         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
26426         invocation.
26427         * modules/unicase/u16-tolower (Depends-on): Add
26428         unicase/empty-prefix-context, unicase/empty-suffix-context.
26429
26430         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
26431         * modules/unicase/u8-tolower (Depends-on): Add
26432         unicase/empty-prefix-context, unicase/empty-suffix-context.
26433
26434         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
26435         invocation.
26436         * modules/unicase/u32-toupper (Depends-on): Add
26437         unicase/empty-prefix-context, unicase/empty-suffix-context.
26438
26439         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
26440         invocation.
26441         * modules/unicase/u16-toupper (Depends-on): Add
26442         unicase/empty-prefix-context, unicase/empty-suffix-context.
26443
26444         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
26445         * modules/unicase/u8-toupper (Depends-on): Add
26446         unicase/empty-prefix-context, unicase/empty-suffix-context.
26447
26448         New module 'unicase/u32-ct-casefold'.
26449         * lib/unicase/u32-ct-casefold.c: New file.
26450         * modules/unicase/u32-ct-casefold: New file.
26451
26452         New module 'unicase/u16-ct-casefold'.
26453         * lib/unicase/u16-ct-casefold.c: New file.
26454         * modules/unicase/u16-ct-casefold: New file.
26455
26456         New module 'unicase/u8-ct-casefold'.
26457         * lib/unicase/u8-ct-casefold.c: New file.
26458         * lib/unicase/u-ct-casefold.h: New file, derived from
26459         lib/unicase/u-casefold.h.
26460         * modules/unicase/u8-ct-casefold: New file.
26461
26462         New module 'unicase/u32-ct-totitle'.
26463         * lib/unicase/u32-ct-totitle.c: New file.
26464         * modules/unicase/u32-ct-totitle: New file.
26465
26466         New module 'unicase/u16-ct-totitle'.
26467         * lib/unicase/u16-ct-totitle.c: New file.
26468         * modules/unicase/u16-ct-totitle: New file.
26469
26470         New module 'unicase/u8-ct-totitle'.
26471         * lib/unicase/u8-ct-totitle.c: New file.
26472         * lib/unicase/u-ct-totitle.h: New file, derived from
26473         lib/unicase/u-totitle.h.
26474         * modules/unicase/u8-ct-totitle: New file.
26475
26476         New module 'unicase/u32-ct-tolower'.
26477         * lib/unicase/u32-ct-tolower.c: New file.
26478         * modules/unicase/u32-ct-tolower: New file.
26479
26480         New module 'unicase/u16-ct-tolower'.
26481         * lib/unicase/u16-ct-tolower.c: New file.
26482         * modules/unicase/u16-ct-tolower: New file.
26483
26484         New module 'unicase/u8-ct-tolower'.
26485         * lib/unicase/u8-ct-tolower.c: New file.
26486         * modules/unicase/u8-ct-tolower: New file.
26487
26488         New module 'unicase/u32-ct-toupper'.
26489         * lib/unicase/u32-ct-toupper.c: New file.
26490         * modules/unicase/u32-ct-toupper: New file.
26491
26492         New module 'unicase/u16-ct-toupper'.
26493         * lib/unicase/u16-ct-toupper.c: New file.
26494         * modules/unicase/u16-ct-toupper: New file.
26495
26496         New module 'unicase/u8-ct-toupper'.
26497         * lib/unicase/u8-ct-toupper.c: New file.
26498         * modules/unicase/u8-ct-toupper: New file.
26499
26500         Add context arguments to u*_casemap functions.
26501         * lib/unicase/unicasemap.h: Include unicase.h.
26502         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
26503         suffix_context arguments.
26504         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
26505         functions.
26506         (FUNC): Add prefix_context and suffix_context arguments. Use
26507         uc_is_cased and uc_is_case_ignorable.
26508         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
26509         * lib/unicase/u16-casemap.c: Likewise.
26510         * lib/unicase/u32-casemap.c: Likewise.
26511         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
26512         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26513         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
26514         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26515         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
26516         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
26517
26518         New module 'unicase/u32-suffix-context'.
26519         * lib/unicase/u32-suffix-context.c: New file.
26520         * modules/unicase/u32-suffix-context: New file.
26521
26522         New module 'unicase/u16-suffix-context'.
26523         * lib/unicase/u16-suffix-context.c: New file.
26524         * modules/unicase/u16-suffix-context: New file.
26525
26526         New module 'unicase/u8-suffix-context'.
26527         * lib/unicase/u8-suffix-context.c: New file.
26528         * lib/unicase/u-suffix-context.h: New file.
26529         * modules/unicase/u8-suffix-context: New file.
26530
26531         New module 'unicase/empty-suffix-context'.
26532         * lib/unicase/empty-suffix-context.c: New file.
26533         * modules/unicase/empty-suffix-context: New file.
26534
26535         New module 'unicase/u32-prefix-context'.
26536         * lib/unicase/u32-prefix-context.c: New file.
26537         * modules/unicase/u32-prefix-context: New file.
26538
26539         New module 'unicase/u16-prefix-context'.
26540         * lib/unicase/u16-prefix-context.c: New file.
26541         * modules/unicase/u16-prefix-context: New file.
26542
26543         New module 'unicase/u8-prefix-context'.
26544         * lib/unicase/u8-prefix-context.c: New file.
26545         * lib/unicase/u-prefix-context.h: New file.
26546         * lib/unicase/context.h: New file.
26547         * modules/unicase/u8-prefix-context: New file.
26548
26549         New module 'unicase/empty-prefix-context'.
26550         * lib/unicase/empty-prefix-context.c: New file.
26551         * modules/unicase/empty-prefix-context: New file.
26552
26553         New module 'unicase/ignorable'.
26554         * lib/unicase/ignorable.c: New file.
26555         * modules/unicase/ignorable: New file.
26556
26557         New module 'unicase/cased'.
26558         * lib/unicase/caseprop.h: New file.
26559         * lib/unicase/cased.c: New file.
26560         * modules/unicase/cased: New file.
26561
26562         New functions for case mapping of substrings.
26563         * lib/unicase.h (casing_prefix_context_t): New type.
26564         (unicase_empty_prefix_context): New variable.
26565         (u8_casing_prefix_context, u16_casing_prefix_context,
26566         u32_casing_prefix_context, u8_casing_prefixes_context,
26567         u16_casing_prefixes_context, u32_casing_prefixes_context): New
26568         declarations.
26569         (casing_suffix_context_t): New type.
26570         (unicase_empty_suffix_context): New variable.
26571         (u8_casing_suffix_context, u16_casing_suffix_context,
26572         u32_casing_suffix_context, u8_casing_suffixes_context,
26573         u16_casing_suffixes_context, u32_casing_suffixes_context,
26574         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
26575         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
26576         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
26577         declarations.
26578
26579 2009-06-28  Jim Meyering  <meyering@redhat.com>
26580
26581         boostrap: indent only with spaces
26582         * build-aux/bootstrap: Indent only with spaces, never TABs.
26583
26584         bootstrap: split long lines
26585         * build-aux/bootstrap: Keep line length < 80.
26586
26587         bootstrap: sync from coreutils
26588         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
26589         just as autoreconf does.  Verify a list of prerequisite
26590         package-name,version-number pairs if defined in bootstrap.conf.
26591         Refer to README-prereq, if prerequisites are not satisfied.
26592
26593 2009-06-27  Eric Blake  <ebb9@byu.net>
26594
26595         tests: add test for bogus NULL definition
26596         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
26597         * tests/test-stdlib.c: Likewise.
26598         * tests/test-string.c: Likewise.
26599         * tests/test-locale.c: Likewise.
26600         * tests/test-unistd.c: Likewise.
26601         * modules/stdio-tests (Depends-on): Add verify.
26602         * modules/stdlib-tests (Depends-on): Likewise.
26603         * modules/string-tests (Depends-on): Likewise.
26604         * modules/locale-tests (Depends-on): Likewise.
26605         * modules/unistd-tests (Depends-on): Likewise.
26606
26607 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
26608
26609         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
26610         self-explaining comment.
26611         * m4/selinux-selinux-h: Update serial.
26612         (gl_LIBSELINUX): New macro, adding a warning for missing development
26613         packages to code extracted from...
26614         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
26615         Add warning for missing development packages here, too.
26616
26617 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
26618
26619         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
26620
26621 2009-06-25  Eric Blake  <ebb9@byu.net>
26622
26623         version-etc: fix regression
26624         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
26625         gcc.
26626         (version_etc): Use it, to catch bugs with trailing NULL.
26627         * lib/version-etc.c (version_etc_arn): Delete unused argument.
26628         (version_etc_va): Fix logic bug.
26629         * modules/version-etc-tests: Add test.
26630         * tests/test-version-etc.c: New file.
26631         * tests/test-version-etc.sh: Likewise.
26632
26633 2009-06-25  Sam Steingold  <sds@gnu.org>
26634
26635         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
26636         mbtowc declaration.
26637
26638 2009-06-25  Eric Blake  <ebb9@byu.net>
26639
26640         fpurge: migrate into <stdio.h>
26641         * lib/fpurge.h: Delete...
26642         * lib/stdio.in.h (fpurge): ...and declare here, instead.
26643         * lib/fpurge.c (fpurge): Change declaring header.
26644         * modules/fpurge (Files): Drop deleted file.
26645         (Depends-on): Add stdio.
26646         (configure.ac): Set witness.
26647         * modules/stdio (Makefile.am): Support fpurge macros.
26648         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26649         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
26650         * lib/fflush.c: Update client.
26651         * tests/test-fpurge.c: Likewise.
26652         * NEWS: Mention the change.
26653
26654 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26655
26656         * lib/argp-version-etc.c (program_authors): Add const
26657         qualifier.
26658         * lib/version-etc.c: Fix typos in the comments.
26659         * modules/argp-version-etc: Depends on version-etc.
26660
26661 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26662
26663         argp-version-etc: new module.
26664
26665         * lib/argp-version-etc.c: New file.
26666         * lib/argp-version-etc.h: New file.
26667         * modules/argp-version-etc: New file.
26668         * modules/argp-version-etc-tests: New file.
26669         * tests/test-argp-version-etc.c: New test.
26670         * tests/test-argp-version-etc-1.sh: New test.
26671
26672 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
26673
26674         Provide additional interfaces and documentation for version-etc
26675         module.
26676
26677         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
26678         interfaces.
26679         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
26680         prototypes.
26681
26682 2009-06-24  Bruno Haible  <bruno@clisp.org>
26683
26684         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
26685         HAVE_LIB${NAME} macro.
26686         Reported by Sam Steingold <sds@gnu.org>.
26687
26688 2009-06-23  Simon Josefsson  <simon@josefsson.org>
26689
26690         * modules/hash-tests (test_hash_LDADD): Link to libintl when
26691         needed.
26692
26693 2009-06-21  Bruno Haible  <bruno@clisp.org>
26694
26695         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
26696         work.
26697         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
26698         together with LIB${NAME}, LTLIB${NAME}.
26699         Reported by Sam Steingold <sds@gnu.org>.
26700
26701 2009-06-20  Jim Meyering  <meyering@redhat.com>
26702
26703         tests: make sc_require_test_exit_idiom more generic
26704         * top/maint.mk (Exit_witness_file): New overridable variable.
26705         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
26706         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
26707
26708 2009-06-19  Jim Meyering  <meyering@redhat.com>
26709
26710         hash: reverse order of src/dst parameters in an internal interface
26711         * lib/hash.c (transfer_entries): Reverse order of parameters to
26712         put DST before SRC.  Adjust callers.
26713
26714         tests: test-hash: avoid wholesale duplication
26715         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
26716         Instead, use a loop and add a single conditional.
26717
26718         tests: test-hash: allow seed selection via a command line argument
26719         * tests/test-hash.c (get_seed): New function.
26720         (main): Use it.
26721
26722 2009-06-19  Eric Blake  <ebb9@byu.net>
26723
26724         hash: avoid memory leak on allocation failure
26725         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
26726         failure.  Factor repeated algorithm...
26727         (transfer_entries): ...into new helper routine.
26728         (hash_delete): React to hash_rehash return value.
26729
26730         hash: reduce memory pressure in hash_rehash no-op case
26731         * lib/hash.c (next_prime): Avoid overflow.
26732         (hash_initialize): Factor bucket size computation...
26733         (compute_bucket_size): ...into new helper function.
26734         (hash_rehash): Use new function and open coding to reduce memory
26735         pressure, and avoid a memory leak in USE_OBSTACK code.
26736         Reported by Jim Meyering.
26737
26738 2009-06-18  Eric Blake  <ebb9@byu.net>
26739
26740         hash: make rotation more obvious
26741         * modules/hash (Depends-on): Add bitrotate and stdint.
26742         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
26743         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
26744         (SIZE_MAX): Rely on headers for definition.
26745         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
26746         (raw_hasher): Use rotr_sz.
26747         Suggested by Jim Meyering.
26748
26749         hash: fix memory leak in last patch
26750         * lib/hash.c (hash_rehash): Avoid memory leak.
26751
26752         hash: avoid no-op rehashing
26753         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
26754
26755         hash: provide default callback functions
26756         * lib/hash.c (raw_hasher, raw_comparator): New functions.
26757         (hash_initialize): Use them as defaults.
26758         * tests/test-hash.c (main): Test this.
26759
26760         hash: minor optimization
26761         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
26762         when possible.
26763         (hash_initialize): Document this promise.
26764         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26765         * tests/test-hash.c (hash_compare_strings): Test this.
26766
26767 2009-06-18  Bruno Haible  <bruno@clisp.org>
26768
26769         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26770         going to be replaced anyway.
26771
26772 2009-06-18  Bruno Haible  <bruno@clisp.org>
26773
26774         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26775         in one place.
26776         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26777         be replaced anyway.
26778
26779 2009-06-18  Eric Blake  <ebb9@byu.net>
26780
26781         hash: check for resize before insertion
26782         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26783         threshold before insertion, so that a pathological hash_rehash
26784         that fills every bucket can still trigger another rehash.
26785
26786 2009-06-18  Jim Meyering  <meyering@redhat.com>
26787
26788         hash-tests: add a loop around the small tests
26789         * tests/test-hash.c (main): Repeat small tests with selected
26790         small initial table sizes.
26791
26792 2009-06-17  Eric Blake  <ebb9@byu.net>
26793
26794         hash: minor cleanups
26795         * lib/hash.h (hash_entry): Make opaque, by moving...
26796         * lib/hash.c (hash_entry): ...here.
26797         (hash_insert): Clarify restrictions on what can be inserted.
26798         (hash_get_next): Clarify when it is safe to remove an element
26799         during traversal.
26800         (check_tuning): Skip verification when tuning is known safe.
26801         (hash_initialize): Clarify restrictions on tuning.
26802
26803 2009-06-17  Jim Meyering  <jim@meyering.net>
26804         and Eric Blake  <ebb9@byu.net>
26805
26806         hash-tests: new module
26807         * modules/hash-tests: New file.
26808         * tests/test-hash.c: New file.
26809
26810 2009-06-17  Eric Blake  <ebb9@byu.net>
26811
26812         strstr-simple: document new module
26813         * MODULES.html.sh: Document new module.
26814
26815         strstr, strcasestr: replace on platforms with broken memchr
26816         * modules/strstr: Split into...
26817         * modules/strstr-simple: ...new module that does not care about
26818         performance, but does care about glibc bug.
26819         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26820         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26821         if platform memchr is broken, per Debian bug 521737.
26822         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26823         memchr.
26824         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26825         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26826         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26827         * modules/mountlist (Depends-on): Add strstr-simple.
26828         * modules/gen-uni-tables (Depends-on): Likewise.
26829         * modules/argz (Depends-on): Add strstr.
26830
26831 2009-06-17  Bruno Haible  <bruno@clisp.org>
26832
26833         * modules/posix_spawn-internal (Depends-on): Add errno.
26834
26835 2009-06-17  Bruno Haible  <bruno@clisp.org>
26836
26837         Define missing ESTALE on Interix 3.5.
26838         * lib/errno.in.h (ESTALE): Assign a value if missing.
26839         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26840         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26841         missing.
26842         * doc/posix-headers/errno.texi: Mention the Interix bug.
26843         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26844
26845 2009-06-15  Eric Blake  <ebb9@byu.net>
26846
26847         memchr, memchr2: add valgrind exception
26848         * lib/memchr.valgrind: New file.
26849         * lib/memchr2.valgrind: New file.
26850         * modules/memchr (Files): Distribute valgrind file.
26851         * modules/memchr2 (Files): Likewise.
26852
26853         docs: memchr is no longer obsolete
26854         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26855         * lib/string.in.h (memchr): Simplify logic.
26856
26857 2009-06-14  Jim Meyering  <meyering@redhat.com>
26858
26859         link-follow: fix the "checking..." message to not mention trailing slash
26860         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26861         never considered trailing slashes.
26862
26863 2009-06-14  Bruno Haible  <bruno@clisp.org>
26864
26865         * m4/memchr.m4: Mention also the bug on IA-64.
26866         * doc/posix-functions/memchr.texi: Likewise.
26867
26868 2009-06-12  Eric Blake  <ebb9@byu.net>
26869
26870         memchr: detect broken x86_64 and alpha implementations
26871         * modules/memchr-tests (Depends-on): Move mmap detection...
26872         * modules/memchr (Depends-on): ...here.
26873         (configure.ac): Set indicator.
26874         * lib/string.in.h (memchr): Declare replacement.
26875         * modules/string (Makefile.am): Trigger replacement.
26876         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26877         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26878         bugs.
26879         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26880         * modules/getpagesize (License): Relax license.
26881
26882 2009-06-11  Bruno Haible  <bruno@clisp.org>
26883
26884         * lib/idpriv.h: Add more references.
26885
26886 2009-06-08  Bruno Haible  <bruno@clisp.org>
26887
26888         Tests for module 'idpriv-droptemp'.
26889         * modules/idpriv-droptemp-tests: New file.
26890         * tests/test-idpriv-droptemp.sh: New file.
26891         * tests/test-idpriv-droptemp.su.sh: New file.
26892         * tests/test-idpriv-droptemp.c: New file.
26893
26894         New module 'idpriv-droptemp'.
26895         * lib/idpriv-droptemp.c: New file.
26896         * modules/idpriv-droptemp: New file.
26897
26898 2009-06-08  Bruno Haible  <bruno@clisp.org>
26899
26900         Tests for module 'idpriv-drop'.
26901         * modules/idpriv-drop-tests: New file.
26902         * tests/test-idpriv-drop.sh: New file.
26903         * tests/test-idpriv-drop.su.sh: New file.
26904         * tests/test-idpriv-drop.c: New file.
26905
26906         New module 'idpriv-drop'.
26907         * lib/idpriv.h: New file.
26908         * lib-idpriv-drop.c: New file.
26909         * m4/idpriv.m4: New file.
26910         * modules/idpriv-drop: New file.
26911
26912 2009-06-08  Bruno Haible  <bruno@clisp.org>
26913
26914         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26915         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26916         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26917         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26918         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26919         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26920         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26921
26922 2009-06-08  Eric Blake  <ebb9@byu.net>
26923
26924         test-strstr: use memory fence, when possible
26925         * tests/test-strstr.c (main): Use memory fence, in order to be
26926         more likely to trigger Debian bug 521737.
26927         * modules/strstr-tests (Files): Pull in additional files.
26928
26929         memchr: no longer obsolete, for wider field testing
26930         * modules/memchr (Status, Notice): Delete, this module is no
26931         longer obsolete.
26932         * modules/vasnprintf (Depends-on): Add memchr.
26933
26934 2009-06-07  Jim Meyering  <meyering@redhat.com>
26935
26936         hash: declare some functions with the warn_unused_result attribute
26937         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26938
26939 2009-06-07  Bruno Haible  <bruno@clisp.org>
26940
26941         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26942         Reported by Eric Blake.
26943
26944 2009-06-06  Eric Blake  <ebb9@byu.net>
26945
26946         test-alignof: fix typo with long double
26947         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26948         compiler error.
26949
26950 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26951
26952         Escape non-texinfo { and }s.
26953         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26954         markup error.
26955
26956 2009-06-04  Jim Meyering  <meyering@redhat.com>
26957
26958         gitlog-to-changelog: don't infloop on an empty commit log
26959         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26960         Reported by Boris Petersen <transacid@centerim.org>.
26961
26962 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26963
26964         version-etc: extend for packagers
26965         Add three new configure options, intended for packagers:
26966           --with-packager="packager name"
26967           --with-packager-version="packager-specific version"
26968           --with-packager-bug-reports="packager bug reporting"
26969         An example with coreutils:
26970           $ ./configure \
26971             --with-packager=Gentoo \
26972             --with-packager-bug-report=http://bugs.gentoo.org/ \
26973             --with-packager-version="patchset 1.6"
26974           $ ./src/ls --version | head -n2
26975           ls (GNU coreutils) 7.1-dirty
26976           Packaged by Gentoo (patchset 1.6)
26977         Note that the bug reporting info via --help doesn't show up because
26978         coreutils uses its own custom emit_bug_reporting_address() implementation
26979         in src/system.h.  If it didn't, it'd look like:
26980           $ ./src/ls --help | tail -n4
26981           Report bugs to <bug-coreutils@gnu.org>.
26982           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26983           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26984           General help using GNU software: <http://www.gnu.org/gethelp/>.
26985         * lib/version-etc.c: Print new information, if provided.
26986         * m4/version-etc.m4: New file.
26987         * modules/version-etc (Files): Add m4/version-etc.m4.
26988         (configure.ac): Add gl_VERSION_ETC.
26989
26990 2009-05-31  Bruno Haible  <bruno@clisp.org>
26991
26992         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26993         and 'int64_t'.
26994         * modules/alignof-tests (Dependencies): Add stdint.
26995         Reported by Eric Blake.
26996
26997 2009-05-31  Bruno Haible  <bruno@clisp.org>
26998
26999         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
27000         restriction due to compiler bugs.
27001         Reported by Eric Blake.
27002
27003 2009-05-31  Simon Josefsson  <simon@josefsson.org>
27004             Bruno Haible  <bruno@clisp.org>
27005
27006         Fix test-alignof failure.
27007         * lib/alignof.h (alignof_slot): New macro.
27008         (alignof_type): New macro, with the same semantics as the previous
27009         'alignof'.
27010         (alignof): Alias to alignof_slot.
27011         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
27012         check that the results are usable as constant expressions.
27013
27014 2009-05-31  Bruno Haible  <bruno@clisp.org>
27015
27016         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
27017         * tests/test-memchr.c (main): Check that memchr does not read past the
27018         first occurrence of the byte.
27019         * tests/test-strstr.c (main): Update comment.
27020         Suggested by Eric Blake.
27021
27022 2009-05-30  Bruno Haible  <bruno@clisp.org>
27023
27024         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
27025         detail how to use dumpbin.
27026         Reported by David Byron <dbyron@dbyron.com>.
27027
27028 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27029
27030         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
27031
27032 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27033
27034         * m4/manywarnings.m4: Add GCC 4.4 warnings.
27035
27036 2009-05-28  Bruno Haible  <bruno@clisp.org>
27037
27038         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
27039         build-aux/ files.
27040
27041 2009-05-28  Simon Josefsson  <simon@josefsson.org>
27042
27043         * gnulib-tool (func_import): Transform license on build-aux/ files too.
27044
27045 2009-05-27  Simon Josefsson  <simon@josefsson.org>
27046
27047         * gnulib-tool (sed_transform_main_lib_file)
27048         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
27049         regexps.
27050
27051 2009-05-26  Simon Josefsson  <simon@josefsson.org>
27052
27053         * tests/test-strstr.c: Add another self-test.
27054         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
27055         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
27056
27057 2009-05-23  Bruno Haible  <bruno@clisp.org>
27058
27059         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
27060         change.
27061
27062 2009-05-21  Bruno Haible  <bruno@clisp.org>
27063
27064         Simplify use of mode_t varargs.
27065         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
27066         uses 'mode_t' or 'int'.
27067         * lib/openat.c (openat): Likewise.
27068         * lib/open-safer.c (open_safer): Likewise.
27069         * m4/mode_t.m4: New file.
27070         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
27071         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
27072         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
27073         * modules/open (Files): Add m4/mode_t.m4.
27074         * modules/openat (Files): Likewise.
27075         * modules/fcntl-safer (Files): Likewise.
27076         Suggested by Eric Blake.
27077
27078 2009-05-21  Pádraig Brady  <P@draigbrady.com>
27079
27080         * doc/glibc-functions/fallocate.texi: New file.
27081         * doc/gnulib.texi: Include it.
27082
27083 2009-05-21  Eric Blake  <ebb9@byu.net>
27084             Bruno Haible  <bruno@clisp.org>
27085
27086         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
27087         invocations.
27088         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27089
27090 2009-05-21  Eric Blake  <ebb9@byu.net>
27091             Bruno Haible  <bruno@clisp.org>
27092
27093         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
27094         include_next. Fix of 2008-11-20 commit.
27095         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
27096         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
27097         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
27098         NEXT_MATH_H.
27099         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
27100         instead of NEXT_MATH_H.
27101
27102 2009-05-21  Bruno Haible  <bruno@clisp.org>
27103
27104         Avoid redefinition warnings for SIZE_MAX.
27105         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
27106         Reported by Simon Josefsson.
27107
27108 2009-05-21  Bruno Haible  <bruno@clisp.org>
27109
27110         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
27111         AC_CACHE_VAL.
27112
27113 2009-05-20  Bruno Haible  <bruno@clisp.org>
27114
27115         Make zeroptr.h work on mingw.
27116         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
27117         mprotect.
27118         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
27119         * modules/memchr2-tests (configure.ac): Likewise.
27120         * modules/memcmp-tests (configure.ac): Likewise.
27121         * modules/memmem-tests (configure.ac): Likewise.
27122         * modules/memrchr-tests (configure.ac): Likewise.
27123         Reported by Simon Josefsson.
27124
27125 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27126
27127         * tests/test-glob.c: Include string.h for strcmp prototype.
27128
27129 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27130
27131         * modules/getdelim (Depends-on): Add explicit stdint, although it
27132         was implicitly already pulled in via realloc-posix.
27133         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
27134
27135 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27136
27137         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
27138         G. Christensen" <tgc@jupiterrise.com>.
27139         * m4/sys_socket_h.m4: Check for sa_family_t.
27140         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
27141         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
27142         * tests/test-sys_socket.c: Check that sa_family_t works.
27143
27144 2009-05-18  Eric Blake  <ebb9@byu.net>
27145
27146         maint.mk: allow gnulib_dir in VPATH build
27147         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
27148
27149 2009-05-15  Jim Meyering  <meyering@redhat.com>
27150
27151         maint.mk: Give gnulib_dir a default definition.
27152         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
27153         Thus, most packages no longer need to specify this variable in cfg.mk
27154
27155 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
27156
27157         rename.m4: fix typos that would make non-mingw cross-configure fail
27158         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
27159
27160 2009-05-13  Eric Blake  <ebb9@byu.net>
27161
27162         mmap-anon: avoid out-of-order autoconf expansion
27163         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
27164         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
27165         * modules/memchr-tests (Depends-on): Add extensions.
27166         * modules/memchr2-tests (Depends-on): Add extensions.
27167         * modules/memcmp-tests (Depends-on): Add extensions.
27168         * modules/memmem-tests (Depends-on): Add extensions.
27169         * modules/memrchr-tests (Depends-on): Add extensions.
27170
27171 2009-05-13  Bruno Haible  <bruno@clisp.org>
27172
27173         Make some tests ISO C 99 compliant.
27174         * tests/zerosize-ptr.h: New file.
27175         * tests/test-memchr.c: Include zerosize-ptr.h.
27176         (main): Use a zero-size object pointer instead of NULL.
27177         * tests/test-memchr2.c: Include zerosize-ptr.h.
27178         (main): Use a zero-size object pointer instead of NULL.
27179         * tests/test-memcmp.c: Include zerosize-ptr.h.
27180         (main): Use a zero-size object pointer instead of NULL.
27181         * tests/test-memmem.c: Include zerosize-ptr.h.
27182         (main): Use a zero-size object pointer instead of NULL.
27183         * tests/test-memrchr.c: Include zerosize-ptr.h.
27184         (main): Use a zero-size object pointer instead of NULL.
27185         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
27186         m4/mmap-anon.m4.
27187         (Depends-on): Add getpagesize.
27188         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27189         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
27190         m4/mmap-anon.m4.
27191         (Depends-on): Add getpagesize.
27192         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27193         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
27194         m4/mmap-anon.m4.
27195         (Depends-on): Add getpagesize.
27196         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27197         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
27198         m4/mmap-anon.m4.
27199         (Depends-on): Add getpagesize.
27200         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27201         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
27202         m4/mmap-anon.m4.
27203         (Depends-on): Add getpagesize.
27204         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27205
27206 2009-05-12  Bruno Haible  <bruno@clisp.org>
27207
27208         Tests for module 'alignof'.
27209         * modules/alignof-tests: New file.
27210         * tests/test-alignof.c: New file.
27211
27212 2009-05-12  Bruno Haible  <bruno@clisp.org>
27213
27214         Fix alignof macro.
27215         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
27216         vendor compilers that are always correct.
27217
27218 2009-05-12  Bruno Haible  <bruno@clisp.org>
27219
27220         Make the MAP_ANONYMOUS detection work on HP-UX 11.
27221         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
27222         not whether its fully works.
27223
27224 2009-05-12  Bruno Haible  <bruno@clisp.org>
27225
27226         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
27227
27228 2009-05-12  Jim Meyering  <meyering@redhat.com>
27229
27230         * top/maint.mk: Adjust backslash alignment.
27231
27232 2009-05-11  Simon Josefsson  <simon@josefsson.org>
27233
27234         * top/maint.mk: Make $(srcdir)/build-aux configurable.
27235
27236 2009-05-11  Eric Blake  <ebb9@byu.net>
27237
27238         argp: avoid undefined behavior
27239         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
27240         macros.
27241
27242 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27243
27244         * tests/test-vc-list-files-git.sh: Do git config of user.email and
27245         user.name to prevent git commit from complaining.
27246
27247 2009-05-10  Bruno Haible  <bruno@clisp.org>
27248
27249         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
27250         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
27251         it rewrites every file name only once.
27252         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
27253
27254 2009-05-08  Bruno Haible  <bruno@clisp.org>
27255
27256         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
27257         instead of 'max'.
27258
27259 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27260
27261         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
27262         sockaddr_storage test.
27263
27264 2009-05-07  Simon Josefsson  <simon@josefsson.org>
27265
27266         * modules/sys_socket (Makefile.am): Substitute
27267         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
27268         * m4/sys_socket_h.m4: Check for sockaddr_storage.
27269         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
27270         * tests/test-sys_socket.c: Check sockaddr_storage.
27271
27272 2009-05-08  Bruno Haible  <bruno@clisp.org>
27273
27274         New module 'alignof'.
27275         * lib/alignof.h: New file.
27276         * modules/alignof: New file.
27277
27278 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27279             Bruno Haible  <bruno@clisp.org>
27280
27281         Fix test-file-has-acl on FreeBSD.
27282         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
27283         mask is implicitly added.
27284         * tests/test-file-has-acl.c: Include <signal.h>.
27285         (main): Terminate the test after 5 seconds.
27286         * modules/acl-tests (configure.ac): Check for alarm function.
27287
27288 2009-05-04  Bruno Haible  <bruno@clisp.org>
27289
27290         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
27291         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
27292         * modules/errno (configure.ac): Drop AC_REQUIRE.
27293         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
27294         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
27295
27296 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27297
27298         * modules/glob-tests: New module.
27299         * tests/test-glob.c: Add.
27300
27301 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27302
27303         * modules/fnmatch-tests: New module.
27304         * tests/test-fnmatch.c: Add.
27305
27306 2009-05-04  Eric Blake  <ebb9@byu.net>
27307
27308         maint: make the new no-submodule-changes rule VPATH-safe
27309         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
27310
27311 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27312             Bruno Haible  <bruno@clisp.org>
27313
27314         acl: Fix infinite loop on FreeBSD.
27315         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
27316         of return value from acl_get_entry.
27317         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
27318         Likewise.
27319
27320 2009-05-03  Bruno Haible  <bruno@clisp.org>
27321
27322         * lib/acl-internal.h (acl_entries): Clarify return value.
27323         * lib/acl_entries.c (acl_entries): Likewise.
27324
27325 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27326
27327         Bug fix in acl module.
27328         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
27329
27330 2009-05-03  Bruno Haible  <bruno@clisp.org>
27331
27332         Create gperf-generated file in the source dir, not in the build dir.
27333         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
27334         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
27335         * modules/unicase/locale-language (unicase/locale-languages.h):
27336         Likewise.
27337         * modules/unicase/special-casing (unicase/special-casing-table.h):
27338         Likewise.
27339         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
27340         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
27341         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
27342         Reported by Ralf Wildenhues.
27343
27344 2009-05-03  Bruno Haible  <bruno@clisp.org>
27345
27346         * modules/fnmatch (Description, configure.ac): Taken from
27347         fnmatch-posix.
27348         * modules/fnmatch-posix: Turn into a symbolic reference to the
27349         'fnmatch' module, and deprecate.
27350         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
27351
27352 2009-05-03  Bruno Haible  <bruno@clisp.org>
27353
27354         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
27355         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
27356         Reported by Ralf Wildenhues.
27357
27358 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27359
27360         * m4/fnmatch.m4: Fix fnmatch re-define.
27361
27362 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27363
27364         priv-set: new module and tests; adapt write-any-file
27365         * lib/priv-set.c: New file.
27366         * lib/priv-set.h: New file.
27367         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
27368         * lib/write-any-file.c: Simplify by using priv-set module.
27369         * m4/priv-set.m4: New file.
27370         * modules/priv-set: New file.
27371         * modules/unlinkdir: Add dependency on priv-set module.
27372         * modules/write-any-file: Likewise.
27373
27374         Tests for module 'priv-set'.
27375         * modules/priv-set-tests: New file.
27376         * tests/test-priv-set.c: New file.
27377
27378 2009-05-03  Jim Meyering  <meyering@redhat.com>
27379             Bruno Haible  <bruno@clisp.org>
27380
27381         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
27382         use the converted UTF-8 variant of the name instead.
27383
27384 2009-05-03  Jim Meyering  <meyering@redhat.com>
27385
27386         tests: tighten some getdate tests
27387         * tests/test-getdate.c (main): Tighten tests: require equality,
27388         not just greater than.  Set TZ envvar to UTC0.
27389
27390 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27391
27392         getdate: correctly interpret "next monday" when run on a Monday
27393         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
27394         that e.g., "next tues" (when run on a tuesday) results in a date
27395         that is one week in the future, and not today's date.
27396         I.e., add a week when the wday is the same as the current one.
27397         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
27398         and earlier by Martin Bernreuther and Jan Minář.
27399         * tests/test-getdate.c (main): Check that "next DAY" is always in
27400         the future and that "last DAY" is always in the past.
27401
27402 2009-05-02  Jim Meyering  <meyering@redhat.com>
27403
27404         build: ensure that a release build fails when a submodule is unclean
27405         * top/maint.mk (no-submodule-changes): New rule.
27406         (alpha beta major): Depend on it.
27407
27408 2009-05-02  Bruno Haible  <bruno@clisp.org>
27409
27410         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
27411         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
27412         shell variable gl_fnmatch_required to detect which variant is
27413         requested.
27414         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
27415         gl_FUNC_FNMATCH_POSIX.
27416         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
27417         exclude fnmatch-posix.
27418
27419 2009-05-02  Bruno Haible  <bruno@clisp.org>
27420
27421         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
27422         * modules/mbsrtowcs (License): Change to LGPLv2+.
27423         * modules/strnlen1 (License): Likewise.
27424         Reported by Simon Josefsson.
27425
27426 2009-05-02  Bruno Haible  <bruno@clisp.org>
27427
27428         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
27429         "cross".
27430         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
27431         gnulib-tool was called with option --source-base=lib.
27432
27433 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27434
27435         Use automake *-local hooks without commands, for extensibility.
27436         * modules/localcharset (Makefile.am): Rename install-exec-local
27437         rule to install-exec-localcharset, and make it a prerequisite of
27438         install-exec-local.  Likewise, rename the uninstall-local rule to
27439         uninstall-localcharset, and make it a prerequisite of the former.
27440
27441 2009-05-01  Bruno Haible  <bruno@clisp.org>
27442
27443         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
27444         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27445         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
27446         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
27447         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
27448         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27449         m4/locale-zh.m4, m4/codeset.m4.
27450
27451         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
27452         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
27453         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
27454         m4/locale-zh.m4.
27455
27456         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
27457         REPLACE_WCRTOMB if mbstate_t must be replaced.
27458         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
27459         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
27460
27461 2009-05-01  Bruno Haible  <bruno@clisp.org>
27462
27463         Avoid compiler warnings when redefining macros defined by <libintl.h>.
27464         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
27465         dngettext, dcngettext, textdomain, bindtextdomain,
27466         bind_textdomain_codeset): Undefine before redefining.
27467
27468 2009-04-30  Bruno Haible  <bruno@clisp.org>
27469
27470         Fix bug introduced on 2009-04-25.
27471         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
27472         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
27473         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
27474         is defined.
27475         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
27476         is defined.
27477         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
27478         is defined.
27479         Reported by Elbert_Pol <elbert.pol@gmail.com>.
27480
27481 2009-04-28  Bruno Haible  <bruno@clisp.org>
27482
27483         Comment tweaks.
27484         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
27485         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
27486         * lib/unicase.h (u*_casexfrm): Likewise.
27487         Reported by Paolo Bonzini.
27488
27489 2009-04-28  Bruno Haible  <bruno@clisp.org>
27490
27491         Fix a compilation error.
27492         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
27493         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
27494         Reported by Jim Meyering.
27495
27496 2009-04-27  Bruno Haible  <bruno@clisp.org>
27497
27498         New module 'libunistring'.
27499         * modules/libunistring: New file.
27500         * m4/libunistring.m4: New file.
27501         * MODULES.html.sh (Unicode string functions): Add it.
27502
27503 2009-04-27  Eric Blake  <ebb9@byu.net>
27504
27505         maint.mk: allow package-specific header to provide <config.h>
27506         * top/maint.mk (sc_require_config_h): New variable.
27507         (sc_require_config_h, sc_require_config_h_first): Use it.
27508
27509 2009-04-27  Simon Josefsson  <simon@josefsson.org>
27510
27511         * top/maint.mk (sc_avoid_if_before_free): Except
27512         useless-if-before-free script.
27513
27514 2009-04-27  Eric Blake  <ebb9@byu.net>
27515
27516         maintainer-makefile: depend on all required helper scripts
27517         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
27518         useless-if-before-free.
27519         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
27520         version, rather than assuming gnulib checkout is available.
27521         Reported by Simen Josefsson.
27522
27523 2009-04-26  Bruno Haible  <bruno@clisp.org>
27524
27525         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
27526         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
27527         "../" or "..".
27528
27529 2009-04-26  Bruno Haible  <bruno@clisp.org>
27530
27531         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
27532         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
27533         AC_LIB_HAVE_LINKFLAGS.
27534
27535 2009-04-26  Bruno Haible  <bruno@clisp.org>
27536
27537         Simplify calling convention of u*_conv_from_encoding.
27538         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
27539         u32_conv_from_encoding): Expect a resultbuf argument and return the
27540         result directly as a pointer.
27541         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
27542         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
27543         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
27544         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
27545         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
27546         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27547         Update.
27548         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
27549         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
27550         * lib/vasnprintf.c (VASNPRINTF): Update.
27551         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
27552         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
27553         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
27554         * NEWS: Mention the change.
27555
27556 2009-04-26  Bruno Haible  <bruno@clisp.org>
27557
27558         Simplify calling convention of u*_conv_to_encoding.
27559         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
27560         u32_conv_to_encoding): Expect a resultbuf argument and return the
27561         result directly as a pointer.
27562         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27563         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
27564         freeing scaled_offsets if mem_iconveha failed.
27565         * lib/unicase/u-casexfrm.h (FUNC): Update.
27566         * lib/uninorm/u-normxfrm.h (FUNC): Update.
27567         * lib/vasnprintf.c (VASNPRINTF): Update.
27568         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
27569         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
27570         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
27571         * NEWS: Mention the change.
27572
27573 2009-04-26  Bruno Haible  <bruno@clisp.org>
27574
27575         Avoid test failures on AIX and OSF/1.
27576         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
27577         malloc(0).
27578         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
27579         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
27580         Likewise.
27581         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
27582         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
27583         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
27584         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
27585         * doc/posix-functions/malloc.texi: Document the portability problem
27586         related to malloc(0).
27587
27588 2009-04-26  Bruno Haible  <bruno@clisp.org>
27589
27590         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
27591         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
27592         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
27593
27594 2009-04-25  Bruno Haible  <bruno@clisp.org>
27595
27596         Avoid link error when creating a namespace clean library.
27597         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
27598         as macro with arguments if already defined as an alias.
27599         * lib/signbitf.c (gl_signbitf): Don't undefine.
27600         * lib/signbitd.c (gl_signbitd): Don't undefine.
27601         * lib/signbitl.c (gl_signbitl): Don't undefine.
27602
27603 2009-04-25  Jim Meyering  <meyering@redhat.com>
27604
27605         vc-list-files: fix another quoting bug
27606         * build-aux/vc-list-files: Avoid sed backslash expansion
27607         of pathological directory names.
27608
27609 2009-04-25  Eric Blake  <ebb9@byu.net>
27610
27611         vc-list-files: fix shell quoting error
27612         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
27613         timestamp.
27614
27615 2009-04-25  Jim Meyering  <meyering@redhat.com>
27616
27617         vc-list-files: restore lost functionality with subdir argument
27618         * build-aux/vc-list-files: When given a non-"." sub-directory
27619         argument, substitute the $dir/ prefix back onto each resulting name.
27620         Otherwise, coreutils' root_tests check would fail.
27621
27622 2009-04-24  Eric Blake  <ebb9@byu.net>
27623
27624         vc-list-files: ignore git symlinks
27625         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
27626         than ls-files, to ignore git symlinks.
27627
27628         maint.mk: import improvements from m4
27629         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
27630         (move_if_change): Delete unused macro.
27631         (news-date-check, vc-diff-check): Support VPATH builds.
27632         (announcement): Likewise.  Split --bootstrap-tools list...
27633         (boostrap-tools): ...into separate list, which can be overridden
27634         in cfg.mk.
27635         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
27636         requiring dependency on useless-if-before-free module.
27637         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
27638         Support VPATH builds.
27639
27640 2009-04-24  Jim Meyering  <meyering@redhat.com>
27641
27642         maint.mk: remove coreutils-specific rules and variables
27643         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
27644         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
27645         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
27646
27647         maint.mk: remove obsolete rule
27648         * top/maint.mk (rel-check): Remove rule.
27649         (WGET, WGETFLAGS): Remove now-unused variables.
27650
27651 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27652
27653         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
27654         consistency.
27655
27656         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
27657         '$(PATH_SEPARATOR)' instead of ':'.
27658
27659 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27660
27661         * lib/getopt1.c (main): Use 'const' for static array.
27662
27663 2009-04-24  Simon Josefsson  <simon@josefsson.org>
27664
27665         * top/maint.mk: Sync with coreutils.
27666         * NEWS: Explain incompatibilities.
27667
27668 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27669             Bruno Haible  <bruno@clisp.org>
27670
27671         Fix cross-compilation results.
27672         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
27673         statement, as third argument of AC_TRY_RUN.
27674         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27675         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27676         Likewise.
27677         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27678         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27679         Likewise.
27680         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27681         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
27682         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
27683
27684 2009-04-20  Bruno Haible  <bruno@clisp.org>
27685
27686         Avoid test failure on mingw.
27687         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
27688
27689 2009-04-20  Bruno Haible  <bruno@clisp.org>
27690
27691         Avoid compilation error on mingw.
27692         * modules/localename-tests (Depends-on): Add locale.
27693
27694 2009-04-19  Bruno Haible  <bruno@clisp.org>
27695
27696         Support for building a shared library on Windows platforms.
27697         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
27698         (main): Test the presence of UNINORM_NFC here.
27699         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
27700         (main): Test the presence of UNINORM_NFD here.
27701         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
27702         (main): Test the presence of UNINORM_NFKC here.
27703         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
27704         (main): Test the presence of UNINORM_NFKD here.
27705
27706 2009-04-19  Bruno Haible  <bruno@clisp.org>
27707
27708         Avoid a compiler warning.
27709         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
27710         Change type of variable 'sequence'.
27711
27712 2009-04-19  Bruno Haible  <bruno@clisp.org>
27713
27714         * modules/configmake (Makefile.am): When the contents of configmake.h
27715         does not change, arrange to preserve its modification time.
27716
27717 2009-04-17  Simon Josefsson  <simon@josefsson.org>
27718
27719         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
27720         gettext domain.
27721
27722 2009-04-16  Jim Meyering  <meyering@redhat.com>
27723
27724         useless-if-before-free: improve conversion code
27725         * build-aux/useless-if-before-free: Adjust code-in-comment to match
27726         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
27727
27728 2009-04-14  Bruno Haible  <bruno@clisp.org>
27729
27730         * modules/fcntl (Depends-on): Add extensions.
27731         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
27732
27733 2009-04-12  Ben Pfaff  <blp@gnu.org>
27734
27735         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
27736         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
27737
27738 2009-03-20  Ben Pfaff  <blp@gnu.org>
27739
27740         Make rename replace existing destinations on Windows.
27741         * m4/rename.m4: Add test for Mingw.
27742         * lib/rename.c: Add rename replacement that uses MoveFileEx with
27743         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
27744         * doc/posix-functions/rename.texi: Document.
27745
27746 2009-04-10  Bruno Haible  <bruno@clisp.org>
27747
27748         New include file "iconveh.h".
27749         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
27750         * lib/striconveh.h: Include it.
27751         (enum iconv_ilseq_handler): Remove definition.
27752         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
27753         striconveh.h.
27754         * lib/striconveha.c: Include striconveh.h.
27755         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
27756         * modules/striconveh (Files): Add lib/iconveh.h.
27757         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
27758         lib/striconveh.h.
27759
27760 2009-04-10  Bruno Haible  <bruno@clisp.org>
27761
27762         * lib/uniconv.h: Update comment.
27763
27764 2009-04-10  Bruno Haible  <bruno@clisp.org>
27765
27766         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27767         always.
27768         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27769         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27770         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27771         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27772         "unistring-notinline.h", so that the function gets defined always.
27773         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27774         * lib/unistr/u8-uctomb.c: Likewise.
27775         * lib/unistr/u16-mbtouc.c: Likewise.
27776         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27777         * lib/unistr/u16-uctomb.c: Likewise.
27778         * lib/unistr/u32-mbtouc.c: Likewise.
27779         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27780         * lib/unistr/u32-uctomb.c: Likewise.
27781
27782 2009-04-10  Bruno Haible  <bruno@clisp.org>
27783
27784         Mark 'utime' obsolete.
27785         * modules/utime (Status, Notice): New sections.
27786         Suggested by Jim Meyering.
27787
27788         Fix cross-compile guess for utime test.
27789         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27790         autoconf.
27791         * doc/posix-functions/utime.texi: Give more precisions.
27792         Reported by Jan <ipif@ymail.com>.
27793
27794 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27795
27796         filevercmp: correct today's change
27797         * lib/filevercmp.c: Also handle coreutils' test inputs.
27798         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27799
27800         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27801         for reporting it.
27802         * lib/filevercmp.c: Special handle for "", "." and "..".
27803         * tests/test-filevercmp.c: Enlarge the set suite.
27804
27805 2009-04-07  Jim Meyering  <meyering@redhat.com>
27806
27807         useless-if-before-free: show how to remove braced useless free, too
27808         * build-aux/useless-if-before-free: still only in a comment, though.
27809
27810 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27811
27812         maint.mk: import changes to syntax-check macros from coreutils
27813         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27814         Use them in the relevant macros.
27815
27816 2009-04-06  Bruno Haible  <bruno@clisp.org>
27817
27818         Fix unportable use of bit-fields.
27819         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27820         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27821         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27822
27823 2009-04-06  Bruno Haible  <bruno@clisp.org>
27824
27825         Avoid test failures on AIX and OSF/1.
27826         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27827         that malloc(0) = NULL.
27828         * tests/unicase/test-u8-tolower.c (check): Likewise.
27829         * tests/unicase/test-u8-totitle.c (check): Likewise.
27830         * tests/unicase/test-u8-toupper.c (check): Likewise.
27831         * tests/unicase/test-u16-casefold.c (check): Likewise.
27832         * tests/unicase/test-u16-tolower.c (check): Likewise.
27833         * tests/unicase/test-u16-totitle.c (check): Likewise.
27834         * tests/unicase/test-u16-toupper.c (check): Likewise.
27835         * tests/unicase/test-u32-casefold.c (check): Likewise.
27836         * tests/unicase/test-u32-tolower.c (check): Likewise.
27837         * tests/unicase/test-u32-totitle.c (check): Likewise.
27838         * tests/unicase/test-u32-toupper.c (check): Likewise.
27839         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27840         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27841         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27842         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27843         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27844         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27845         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27846         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27847         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27848         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27849         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27850         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27851
27852 2009-04-05  Bruno Haible  <bruno@clisp.org>
27853
27854         Work around an autoconf limitation.
27855         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27856         comment line if it would be longer than 3 KB.
27857
27858 2009-04-05  Bruno Haible  <bruno@clisp.org>
27859
27860         Avoid test failure with libiconv-1.13.
27861         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27862         of the expected test results.
27863
27864 2009-04-05  Bruno Haible  <bruno@clisp.org>
27865
27866         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27867         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27868         that it should be installed.
27869
27870 2009-04-05  Bruno Haible  <bruno@clisp.org>
27871
27872         * gnulib-tool: New option --copy-file.
27873         (func_usage): Document it.
27874         (func_dest_tmpfilename): Moved out of func_import.
27875         (func_add_file, func_update_file): New functions, extracted from
27876         func_import.
27877         (func_import): Update.
27878
27879 2009-04-05  Karl Berry  <karl@gnu.org>
27880
27881         * README: prominently mention gnulib-tool.
27882         Rearrange sections so getting the code is near the top.
27883
27884 2009-04-05  Bruno Haible  <bruno@clisp.org>
27885
27886         * lib/unicase.h: Mention u*_cmp2.
27887         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27888         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27889         * lib/unicase/ulc-casecmp.c: Likewise.
27890         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27891         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27892         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27893         unistr/u8-cmp.
27894         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27895         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27896         unistr/u16-cmp.
27897         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27898         unistr/u32-cmp.
27899
27900         * lib/uninorm.h: Mention u*_cmp2.
27901         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27902         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27903         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27904         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27905         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27906         unistr/u8-cmp.
27907         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27908         unistr/u16-cmp.
27909         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27910         unistr/u32-cmp.
27911
27912         New module 'unistr/u32-cmp2'.
27913         * lib/unistr/u32-cmp2.c: New file.
27914         * modules/unistr/u32-cmp2: New file.
27915
27916         New module 'unistr/u16-cmp2'.
27917         * lib/unistr/u16-cmp2.c: New file.
27918         * modules/unistr/u16-cmp2: New file.
27919
27920         New module 'unistr/u8-cmp2'.
27921         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27922         * lib/unistr/u8-cmp2.c: New file.
27923         * lib/unistr/u-cmp2.h: New file.
27924         * modules/unistr/u8-cmp2: New file.
27925
27926 2009-04-05  Bruno Haible  <bruno@clisp.org>
27927
27928         * lib/unictype.h (uc_property_is_valid): New macro.
27929         * tests/unictype/test-pr_byname.c (main): Use it.
27930
27931         * lib/unistr.h: Doc fixes.
27932         * lib/uniconv.h: Doc fixes.
27933         * lib/unictype.h: Doc fixes.
27934
27935 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27936
27937         Port coreutils 7.2 to Solaris 8.
27938
27939         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27940         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27941         for Solaris 8.  This is a bit of a hack, as it means it's the
27942         caller's responsibility to add -lnsl if needed, but most likely it
27943         won't be needed since only getaddrinfo uses this and getaddrinfo
27944         isn't needed on Solaris 8.
27945
27946         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27947         problem to Solaris 8 encountered with coreutils 7.2, which
27948         resulted in a message "fnmatch.c:292: warning: passing argument 4
27949         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27950         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27951
27952 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27953
27954         * m4/ld-version-script.m4: Add FIXME comment.
27955
27956 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27957
27958         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27959         SOVERSION variable.
27960
27961 2009-04-02  Bruno Haible  <bruno@clisp.org>
27962
27963         * Makefile (info, html, dvi, pdf): Combine the rules.
27964         Suggested by Jim Meyering.
27965
27966 2009-04-01  Bruno Haible  <bruno@clisp.org>
27967
27968         * Makefile (info, html, dvi, pdf): New targets.
27969         Reported by Reuben Thomas <rrt@sc3d.org>.
27970
27971 2009-04-01  Bruno Haible  <bruno@clisp.org>
27972
27973         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27974         can be put into PATH.
27975         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27976
27977 2009-04-01  Bruno Haible  <bruno@clisp.org>
27978
27979         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27980
27981 2009-04-01  Bruno Haible  <bruno@clisp.org>
27982
27983         Rename module 'visibility'.
27984         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27985         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27986         * doc/gnulib.texi: Update.
27987         * MODULES.html.sh (Misc): Update.
27988         * NEWS: Mention the change.
27989
27990 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27991
27992         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27993         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27994         Eric Blake <ebb9@byu.net> for review.
27995         * MODULES.html.sh: Add lib-msvc-compat.
27996         * doc/gnulib.texi: Link to new section.
27997         * m4/ld-output-def.m4: New file.
27998         * doc/ld-output-def.texi: New file.
27999
28000 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28001
28002         Rename ld-version-script to lib-symbol-versions.  Suggested by
28003         Bruno Haible <bruno@clisp.org>.
28004         * modules/ld-version-script: Renamed to lib-symbol-versions.
28005         * doc/ld-version-script.texi: Fix module name.
28006         * MODULES.html.sh: Add lib-symbol-versions.
28007
28008 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28009
28010         * modules/u64-tests: New file.
28011         * tests/test-u64.c: New file.
28012
28013 2009-03-04  Simon Josefsson  <simon@josefsson.org>
28014
28015         * MODULES.html.sh: Mention u64.
28016         * modules/u64: New module.
28017         * modules/crypto/sha512: Depend on u64 module instead of providing
28018         u64.h.
28019
28020 2009-03-27  Eric Blake  <ebb9@byu.net>
28021
28022         test-strerror: make debugging EAI_SYSTEM easier
28023         * modules/getaddrinfo-tests (Depends-on): Add strerror.
28024         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
28025         failure was EAI_SYSTEM.
28026
28027 2009-03-25  Bruno Haible  <bruno@clisp.org>
28028
28029         Fix a problem with --enable-relocatable on Solaris 7.
28030         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
28031         since 2008-02-24.
28032
28033 2009-03-25  Eric Blake  <ebb9@byu.net>
28034
28035         test-sockets: avoid gcc warning
28036         * tests/test-sockets.c (main): Silence compiler warning.
28037
28038 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28039
28040         New modules nproc, pthread, contributed by Glen Lenker.
28041
28042         * MODULES.html.sh: Add pthread, nproc.
28043         * lib/nproc.c: New file.
28044         * lib/nproc.h: New file.
28045         * lib/pthread.in.h: New file.
28046         * m4/pthread.m4: New file.
28047         * modules/nproc: New file.
28048         * modules/pthread: New file.
28049
28050 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28051
28052         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
28053         New variable.
28054
28055 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
28056
28057         filevercmp: handle simple~ and numbered.~3~ backup suffixes
28058         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
28059         * tests/test-filevercmp.c: Add tests for backup suffixes.
28060
28061 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28062
28063         * modules/stdlib (Depends-on): Add stdint, needed when defining
28064         struct random_data on, for example, HP-UX 10.20.  Reported by
28065         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28066
28067 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28068
28069         * lib/readline.c (readline): Call fflush on stdout after printing
28070         prompt.
28071
28072 2009-03-20  Bruno Haible  <bruno@clisp.org>
28073
28074         Remove dependency from 'close' module to -lws2_32 on native Windows.
28075         * lib/close-hook.h: New file.
28076         * lib/close-hook.c: New file.
28077         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
28078         w32sock.h.
28079         (_gl_close_fd_maybe_socket): Remove function.
28080         (rpl_close): Invoke execute_all_close_hooks instead of
28081         _gl_close_fd_maybe_socket.
28082         * lib/sockets.c: Include close-hook.h, w32sock.h.
28083         (close_fd_maybe_socket): New function, essentially from lib/close.c.
28084         (close_sockets_hook): New variable.
28085         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
28086         (gl_sockets_cleanup): Unregister it.
28087         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
28088         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
28089         * modules/close-hook: New file.
28090         * modules/close (Files): Remove lib/w32sock.h.
28091         (Depends-on): Add close-hook.
28092         (Link): Remove section.
28093         * modules/sockets (Files): Add lib/w32sock.h.
28094         (Depends-on): Add close-hook.
28095         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
28096         invocation.
28097         * NEWS: Mention that LIB_CLOSE is gone.
28098
28099 2009-03-23  Eric Blake  <ebb9@byu.net>
28100
28101         signal-tests: test previous patch
28102         * tests/test-signal.c: New file.
28103         * modules/signal-tests: Likewise.
28104
28105         signal.h: always support 'volatile sig_atomic_t'
28106         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
28107         (gl_SIGNAL_H_DEFAULTS): Add a default.
28108         * modules/signal (Makefile.am): Substitute if needed.
28109         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
28110         users can blindly add volatile.
28111         * doc/posix-headers/signal.texi (signal.h): Document it.
28112         Reported by Matthew Woehlke.
28113
28114 2009-03-23  Jim Meyering  <meyering@redhat.com>
28115
28116         pathmax: PATH_MAX: use pathconf only when available
28117         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
28118         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
28119         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
28120         This avoids a link failure in a PSP cross-compilation environment
28121         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
28122
28123         * lib/vasnprintf.c (divide): Fix typo in comment.
28124
28125 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28126
28127         * gnulib-tool (func_filter_filelist): Fix comment.
28128
28129 2009-03-20  Bruno Haible  <bruno@clisp.org>
28130
28131         Make sockets.h self-contained.
28132         * lib/sockets.c: Include sockets.h first.
28133         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
28134
28135 2009-03-19  Eric Blake  <ebb9@byu.net>
28136
28137         doc: mention more functions added in cygwin 1.7.0
28138         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
28139         addition.
28140         * doc/posix-functions/log2f.texi: Likewise.
28141
28142 2009-03-19  Jim Meyering  <meyering@redhat.com>
28143
28144         fsusage: avoid syntax error due to statement-before-declaration
28145         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
28146         after all declarations.  Reported by Matthew Woehlke in
28147         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
28148
28149 2009-03-18  Eric Blake  <ebb9@byu.net>
28150
28151         build-aux/compile: sync from automake
28152         * build-aux/compile: New file, from automake.
28153         * config/srclist.txt: Mention build-aux/compile.
28154
28155 2009-03-17  Bruno Haible  <bruno@clisp.org>
28156
28157         * lib/git-merge-changelog.c: Fix typo in comment.
28158         Reported by Reuben Thomas <rrt@sc3d.org>.
28159
28160 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
28161
28162         * m4/regex.m4: update and improve help for
28163         --without-included-regex.
28164
28165 2009-03-17  Simon Josefsson  <simon@josefsson.org>
28166
28167         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
28168         failure on missing include files.
28169
28170 2009-03-17  Eric Blake  <ebb9@byu.net>
28171
28172         doc: mention more functions added in cygwin 1.7.0
28173         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
28174         addition.
28175         * doc/posix-functions/fwscanf.texi: Likewise.
28176         * doc/posix-functions/swprintf.texi: Likewise.
28177         * doc/posix-functions/swscanf.texi: Likewise.
28178         * doc/posix-functions/vfwprintf.texi: Likewise.
28179         * doc/posix-functions/vfwscanf.texi: Likewise.
28180         * doc/posix-functions/vswprintf.texi: Likewise.
28181         * doc/posix-functions/vswscanf.texi: Likewise.
28182         * doc/posix-functions/vwprintf.texi: Likewise.
28183         * doc/posix-functions/vwscanf.texi: Likewise.
28184         * doc/posix-functions/wcscasecmp.texi: Likewise.
28185         * doc/posix-functions/wcsdup.texi: Likewise.
28186         * doc/posix-functions/wcsftime.texi: Likewise.
28187         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28188         * doc/posix-functions/wprintf.texi: Likewise.
28189         * doc/posix-functions/wscanf.texi: Likewise.
28190         * doc/glibc-functions/gethostbyname2.texi: Likewise.
28191
28192 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28193
28194         maint.mk: really add $(AM_MAKEFLAGS)
28195         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
28196         was inadvertently omitted in the last commit.
28197         Spotted by Bruno Haible.
28198
28199         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
28200         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
28201         $(AM_MAKEFLAGS)' rather than plain `make'.
28202
28203         gnulib-tool: execute $MAKE not make
28204         * gnulib-tool: Default $MAKE to 'make'.
28205         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
28206         than make.  Initialize $MAKE in the do-autobuild script.
28207
28208         gnulib-tool: use $MAKE not make in generated files
28209         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
28210         make, in generated files.  Initialize $MAKE in the do-autobuild
28211         script.
28212
28213         * top/GNUmakefile (_have-git-version-gen): Fix typo.
28214
28215         GNUmakefile: disable parallelism only for multiple, recursive targets
28216         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
28217         additions in the Makefile.
28218         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
28219         by Automake.
28220         (.NOTPARALLEL): Only disable parallel builds if multiple targets
28221         are listed on the command line and at least one of them is
28222         listed in $(ALL_RECURSIVE_TARGETS).
28223
28224 2009-03-14  Bruno Haible  <bruno@clisp.org>
28225
28226         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
28227         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
28228         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
28229         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
28230         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
28231         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
28232         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
28233         unistr/u8-uctomb.
28234         * modules/unistr/u8-strchr (Depends-on): Likewise.
28235         * modules/unistr/u8-strrchr (Depends-on): Likewise.
28236         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
28237         unistr/u16-uctomb.
28238         * modules/unistr/u16-strchr (Depends-on): Likewise.
28239         * modules/unistr/u16-strrchr (Depends-on): Likewise.
28240
28241 2009-03-12  Bruno Haible  <bruno@clisp.org>
28242
28243         Work around select() bug on Interix 3.5.
28244         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
28245         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
28246         * m4/select.m4: New file.
28247         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
28248         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
28249         * modules/select (Files): Add m4/select.m4.
28250         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
28251         * modules/nanosleep (Depends-on): Add select.
28252         * modules/poll (Depends-on): Likewise.
28253         * doc/posix-functions/select.texi: Mention the Interix bug.
28254         Reported by Markus Duft <mduft@gentoo.org>.
28255
28256         * lib/select.c: Renamed from lib/winsock-select.c.
28257         * modules/select (Files): Add lib/select.c, remove
28258         lib/winsock-select.c.
28259         (configure.ac): Update.
28260
28261 2009-03-12  Jim Meyering  <meyering@redhat.com>
28262
28263         avoid gcc warnings about unused macro definitions
28264         * lib/readtokens.c (STREQ): Remove unused definition.
28265         * lib/xmalloc.c (SIZE_MAX): Likewise.
28266         * lib/openat-die.c (N_): Likewise.
28267         * lib/mountlist.c (SIZE_MAX): Remove definition.
28268         Instead, include <stdint.h>.
28269         * lib/readutmp.c: Likewise.
28270         * modules/readutmp (Depends-on): Add stdint.
28271         * modules/mountlist (Depends-on): Add stdint.
28272         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
28273
28274 2009-03-10  Bruno Haible  <bruno@clisp.org>
28275
28276         Tests for module 'mbmemcasecoll'.
28277         * modules/mbmemcasecoll-tests: New file.
28278         * tests/test-mbmemcasecoll1.sh: New file.
28279         * tests/test-mbmemcasecoll2.sh: New file.
28280         * tests/test-mbmemcasecoll3.sh: New file.
28281         * tests/test-mbmemcasecoll.c: New file.
28282
28283         New module 'mbmemcasecoll'.
28284         * lib/mbmemcasecoll.h: New file.
28285         * lib/mbmemcasecoll.c: New file.
28286         * modules/mbmemcasecoll: New file.
28287
28288         * tests/test-mbmemcasecmp.h: New file, extracted from
28289         tests/test-mbmemcasecmp.c.
28290         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
28291         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
28292         (main): Update.
28293         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
28294
28295 2009-03-09  Bruno Haible  <bruno@clisp.org>
28296
28297         Tests for module 'mbmemcasecmp'.
28298         * modules/mbmemcasecmp-tests: New file.
28299         * tests/test-mbmemcasecmp1.sh: New file.
28300         * tests/test-mbmemcasecmp2.sh: New file.
28301         * tests/test-mbmemcasecmp3.sh: New file.
28302         * tests/test-mbmemcasecmp.c: New file.
28303
28304         New module 'mbmemcasecmp'.
28305         * lib/mbmemcasecmp.h: New file.
28306         * lib/mbmemcasecmp.c: New file.
28307         * modules/mbmemcasecmp: New file.
28308
28309 2009-03-09  Bruno Haible  <bruno@clisp.org>
28310
28311         Tests for module 'unicase/ulc-casecoll'.
28312         * modules/unicase/ulc-casecoll-tests: New file.
28313         * tests/unicase/test-ulc-casecoll1.sh: New file.
28314         * tests/unicase/test-ulc-casecoll2.sh: New file.
28315         * tests/unicase/test-ulc-casecoll.c: New file.
28316
28317         New module 'unicase/ulc-casecoll'.
28318         * lib/unicase.h (ulc_casecoll): New declaration.
28319         * lib/unicase/ulc-casecoll.c: New file.
28320         * modules/unicase/ulc-casecoll: New file.
28321
28322         New module 'unicase/ulc-casexfrm'.
28323         * lib/unicase.h (ulc_casexfrm): New declaration.
28324         * lib/unicase/ulc-casexfrm.c: New file.
28325         * modules/unicase/ulc-casexfrm: New file.
28326
28327 2009-03-09  Bruno Haible  <bruno@clisp.org>
28328
28329         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
28330         invocations.
28331
28332         * m4/mbscasecmp.m4: Remove file.
28333         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
28334         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
28335
28336         * m4/mbscasestr.m4: Remove file.
28337         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
28338         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
28339
28340         * m4/mbschr.m4: Remove file.
28341         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
28342         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
28343
28344         * m4/mbscspn.m4: Remove file.
28345         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
28346         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
28347
28348         * m4/mbslen.m4: Remove file.
28349         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
28350         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
28351
28352         * m4/mbsncasecmp.m4: Remove file.
28353         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
28354         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
28355
28356         * m4/mbsnlen.m4: Remove file.
28357         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
28358         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
28359
28360         * m4/mbspbrk.m4: Remove file.
28361         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
28362         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
28363
28364         * m4/mbspcasecmp.m4: Remove file.
28365         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
28366         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
28367
28368         * m4/mbsrchr.m4: Remove file.
28369         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
28370         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
28371
28372         * m4/mbssep.m4: Remove file.
28373         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
28374         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
28375
28376         * m4/mbsspn.m4: Remove file.
28377         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
28378         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
28379
28380         * m4/mbsstr.m4: Remove file.
28381         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
28382         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
28383
28384         * m4/mbstok_r.m4: Remove file.
28385         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
28386         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
28387
28388         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
28389
28390         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
28391         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
28392
28393         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
28394
28395 2009-03-08  Bruno Haible  <bruno@clisp.org>
28396
28397         Tests for module 'unicase/ulc-casecmp'.
28398         * modules/unicase/ulc-casecmp-tests: New file.
28399         * tests/unicase/test-ulc-casecmp1.sh: New file.
28400         * tests/unicase/test-ulc-casecmp2.sh: New file.
28401         * tests/unicase/test-ulc-casecmp.c: New file.
28402
28403         New module 'unicase/ulc-casecmp'.
28404         * lib/unicase.h (ulc_casecmp): New declaration.
28405         * lib/unicase/ulc-casecmp.c: New file.
28406         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
28407         'const SRC_UNIT *'.
28408         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
28409         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
28410         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
28411         * modules/unicase/ulc-casecmp: New file.
28412
28413         Tests for module 'unicase/u32-is-cased'.
28414         * modules/unicase/u32-is-cased-tests: New file.
28415         * tests/unicase/test-u32-is-cased.c: New file.
28416
28417         Tests for module 'unicase/u16-is-cased'.
28418         * modules/unicase/u16-is-cased-tests: New file.
28419         * tests/unicase/test-u16-is-cased.c: New file.
28420
28421         Tests for module 'unicase/u8-is-cased'.
28422         * modules/unicase/u8-is-cased-tests: New file.
28423         * tests/unicase/test-u8-is-cased.c: New file.
28424         * tests/unicase/test-is-cased.h: New file.
28425
28426         New module 'unicase/u32-is-cased'.
28427         * lib/unicase/u32-is-cased.c: New file.
28428         * modules/unicase/u32-is-cased: New file.
28429
28430         New module 'unicase/u16-is-cased'.
28431         * lib/unicase/u16-is-cased.c: New file.
28432         * modules/unicase/u16-is-cased: New file.
28433
28434         New module 'unicase/u8-is-cased'.
28435         * lib/unicase/u8-is-cased.c: New file.
28436         * lib/unicase/u-is-cased.h: New file.
28437         * modules/unicase/u8-is-cased: New file.
28438
28439         Tests for module 'unicase/u32-is-casefolded'.
28440         * modules/unicase/u32-is-casefolded-tests: New file.
28441         * tests/unicase/test-u32-is-casefolded.c: New file.
28442
28443         Tests for module 'unicase/u16-is-casefolded'.
28444         * modules/unicase/u16-is-casefolded-tests: New file.
28445         * tests/unicase/test-u16-is-casefolded.c: New file.
28446
28447         Tests for module 'unicase/u8-is-casefolded'.
28448         * modules/unicase/u8-is-casefolded-tests: New file.
28449         * tests/unicase/test-u8-is-casefolded.c: New file.
28450         * tests/unicase/test-is-casefolded.h: New file.
28451
28452         New module 'unicase/u32-is-casefolded'.
28453         * lib/unicase/u32-is-casefolded.c: New file.
28454         * modules/unicase/u32-is-casefolded: New file.
28455
28456         New module 'unicase/u16-is-casefolded'.
28457         * lib/unicase/u16-is-casefolded.c: New file.
28458         * modules/unicase/u16-is-casefolded: New file.
28459
28460         New module 'unicase/u8-is-casefolded'.
28461         * lib/unicase/u8-is-casefolded.c: New file.
28462         * modules/unicase/u8-is-casefolded: New file.
28463
28464         Tests for module 'unicase/u32-is-titlecase'.
28465         * modules/unicase/u32-is-titlecase-tests: New file.
28466         * tests/unicase/test-u32-is-titlecase.c: New file.
28467
28468         Tests for module 'unicase/u16-is-titlecase'.
28469         * modules/unicase/u16-is-titlecase-tests: New file.
28470         * tests/unicase/test-u16-is-titlecase.c: New file.
28471
28472         Tests for module 'unicase/u8-is-titlecase'.
28473         * modules/unicase/u8-is-titlecase-tests: New file.
28474         * tests/unicase/test-u8-is-titlecase.c: New file.
28475         * tests/unicase/test-is-titlecase.h: New file.
28476
28477         New module 'unicase/u32-is-titlecase'.
28478         * lib/unicase/u32-is-titlecase.c: New file.
28479         * modules/unicase/u32-is-titlecase: New file.
28480
28481         New module 'unicase/u16-is-titlecase'.
28482         * lib/unicase/u16-is-titlecase.c: New file.
28483         * modules/unicase/u16-is-titlecase: New file.
28484
28485         New module 'unicase/u8-is-titlecase'.
28486         * lib/unicase/u8-is-titlecase.c: New file.
28487         * modules/unicase/u8-is-titlecase: New file.
28488
28489         Tests for module 'unicase/u32-is-lowercase'.
28490         * modules/unicase/u32-is-lowercase-tests: New file.
28491         * tests/unicase/test-u32-is-lowercase.c: New file.
28492
28493         Tests for module 'unicase/u16-is-lowercase'.
28494         * modules/unicase/u16-is-lowercase-tests: New file.
28495         * tests/unicase/test-u16-is-lowercase.c: New file.
28496
28497         Tests for module 'unicase/u8-is-lowercase'.
28498         * modules/unicase/u8-is-lowercase-tests: New file.
28499         * tests/unicase/test-u8-is-lowercase.c: New file.
28500         * tests/unicase/test-is-lowercase.h: New file.
28501
28502         New module 'unicase/u32-is-lowercase'.
28503         * lib/unicase/u32-is-lowercase.c: New file.
28504         * modules/unicase/u32-is-lowercase: New file.
28505
28506         New module 'unicase/u16-is-lowercase'.
28507         * lib/unicase/u16-is-lowercase.c: New file.
28508         * modules/unicase/u16-is-lowercase: New file.
28509
28510         New module 'unicase/u8-is-lowercase'.
28511         * lib/unicase/u8-is-lowercase.c: New file.
28512         * modules/unicase/u8-is-lowercase: New file.
28513
28514         Tests for module 'unicase/u32-is-uppercase'.
28515         * modules/unicase/u32-is-uppercase-tests: New file.
28516         * tests/unicase/test-u32-is-uppercase.c: New file.
28517
28518         Tests for module 'unicase/u16-is-uppercase'.
28519         * modules/unicase/u16-is-uppercase-tests: New file.
28520         * tests/unicase/test-u16-is-uppercase.c: New file.
28521
28522         Tests for module 'unicase/u8-is-uppercase'.
28523         * modules/unicase/u8-is-uppercase-tests: New file.
28524         * tests/unicase/test-u8-is-uppercase.c: New file.
28525         * tests/unicase/test-is-uppercase.h: New file.
28526
28527         New module 'unicase/u32-is-uppercase'.
28528         * lib/unicase/u32-is-uppercase.c: New file.
28529         * modules/unicase/u32-is-uppercase: New file.
28530
28531         New module 'unicase/u16-is-uppercase'.
28532         * lib/unicase/u16-is-uppercase.c: New file.
28533         * modules/unicase/u16-is-uppercase: New file.
28534
28535         New module 'unicase/u8-is-uppercase'.
28536         * lib/unicase/u8-is-uppercase.c: New file.
28537         * modules/unicase/u8-is-uppercase: New file.
28538
28539         New module 'unicase/u32-is-invariant'.
28540         * lib/unicase/u32-is-invariant.c: New file.
28541         * modules/unicase/u32-is-invariant: New file.
28542
28543         New module 'unicase/u16-is-invariant'.
28544         * lib/unicase/u16-is-invariant.c: New file.
28545         * modules/unicase/u16-is-invariant: New file.
28546
28547         New module 'unicase/u8-is-invariant'.
28548         * lib/unicase/u8-is-invariant.c: New file.
28549         * lib/unicase/invariant.h: New file.
28550         * lib/unicase/u-is-invariant.h: New file.
28551         * modules/unicase/u8-is-invariant: New file.
28552
28553         Tests for module 'unicase/u32-casecoll'.
28554         * modules/unicase/u32-casecoll-tests: New file.
28555         * tests/unicase/test-u32-casecoll.c: New file.
28556
28557         Tests for module 'unicase/u16-casecoll'.
28558         * modules/unicase/u16-casecoll-tests: New file.
28559         * tests/unicase/test-u16-casecoll.c: New file.
28560
28561         Tests for module 'unicase/u8-casecoll'.
28562         * modules/unicase/u8-casecoll-tests: New file.
28563         * tests/unicase/test-u8-casecoll.c: New file.
28564
28565         New module 'unicase/u32-casecoll'.
28566         * lib/unicase/u32-casecoll.c: New file.
28567         * modules/unicase/u32-casecoll: New file.
28568
28569         New module 'unicase/u16-casecoll'.
28570         * lib/unicase/u16-casecoll.c: New file.
28571         * modules/unicase/u16-casecoll: New file.
28572
28573         New module 'unicase/u8-casecoll'.
28574         * lib/unicase/u8-casecoll.c: New file.
28575         * lib/unicase/u-casecoll.h: New file.
28576         * modules/unicase/u8-casecoll: New file.
28577
28578         New module 'unicase/u32-casexfrm'.
28579         * lib/unicase/u32-casexfrm.c: New file.
28580         * modules/unicase/u32-casexfrm: New file.
28581
28582         New module 'unicase/u16-casexfrm'.
28583         * lib/unicase/u16-casexfrm.c: New file.
28584         * modules/unicase/u16-casexfrm: New file.
28585
28586         New module 'unicase/u8-casexfrm'.
28587         * lib/unicase/u8-casexfrm.c: New file.
28588         * lib/unicase/u-casexfrm.h: New file.
28589         * modules/unicase/u8-casexfrm: New file.
28590
28591         Tests for module 'unicase/u32-casecmp'.
28592         * modules/unicase/u32-casecmp-tests: New file.
28593         * tests/unicase/test-u32-casecmp.c: New file.
28594
28595         Tests for module 'unicase/u16-casecmp'.
28596         * modules/unicase/u16-casecmp-tests: New file.
28597         * tests/unicase/test-u16-casecmp.c: New file.
28598
28599         Tests for module 'unicase/u8-casecmp'.
28600         * modules/unicase/u8-casecmp-tests: New file.
28601         * tests/unicase/test-u8-casecmp.c: New file.
28602         * tests/unicase/test-casecmp.h: New file.
28603
28604         New module 'unicase/u32-casecmp'.
28605         * lib/unicase/u32-casecmp.c: New file.
28606         * modules/unicase/u32-casecmp: New file.
28607
28608         New module 'unicase/u16-casecmp'.
28609         * lib/unicase/u16-casecmp.c: New file.
28610         * modules/unicase/u16-casecmp: New file.
28611
28612         New module 'unicase/u8-casecmp'.
28613         * lib/unicase/u8-casecmp.c: New file.
28614         * lib/unicase/u-casecmp.h: New file.
28615         * modules/unicase/u8-casecmp: New file.
28616
28617         Tests for module 'unicase/u32-casefold'.
28618         * modules/unicase/u32-casefold-tests: New file.
28619         * tests/unicase/test-u32-casefold.c: New file.
28620
28621         Tests for module 'unicase/u16-casefold'.
28622         * modules/unicase/u16-casefold-tests: New file.
28623         * tests/unicase/test-u16-casefold.c: New file.
28624
28625         Tests for module 'unicase/u8-casefold'.
28626         * modules/unicase/u8-casefold-tests: New file.
28627         * tests/unicase/test-u8-casefold.c: New file.
28628
28629         New module 'unicase/u32-casefold'.
28630         * lib/unicase/u32-casefold.c: New file.
28631         * modules/unicase/u32-casefold: New file.
28632
28633         New module 'unicase/u16-casefold'.
28634         * lib/unicase/u16-casefold.c: New file.
28635         * modules/unicase/u16-casefold: New file.
28636
28637         New module 'unicase/u8-casefold'.
28638         * lib/unicase/u8-casefold.c: New file.
28639         * lib/unicase/u-casefold.h: New file.
28640         * modules/unicase/u8-casefold: New file.
28641
28642         New module 'unicase/tocasefold'.
28643         * lib/unicase/casefold.h: New file.
28644         * lib/unicase/tocasefold.c: New file.
28645         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
28646         * modules/unicase/tocasefold: New file.
28647
28648         Tests for module 'unicase/u32-totitle'.
28649         * modules/unicase/u32-totitle-tests: New file.
28650         * tests/unicase/test-u32-totitle.c: New file.
28651
28652         Tests for module 'unicase/u16-totitle'.
28653         * modules/unicase/u16-totitle-tests: New file.
28654         * tests/unicase/test-u16-totitle.c: New file.
28655
28656         Tests for module 'unicase/u8-totitle'.
28657         * modules/unicase/u8-totitle-tests: New file.
28658         * tests/unicase/test-u8-totitle.c: New file.
28659
28660         New module 'unicase/u32-totitle'.
28661         * lib/unicase/u32-totitle.c: New file.
28662         * modules/unicase/u32-totitle: New file.
28663
28664         New module 'unicase/u16-totitle'.
28665         * lib/unicase/u16-totitle.c: New file.
28666         * modules/unicase/u16-totitle: New file.
28667
28668         New module 'unicase/u8-totitle'.
28669         * lib/unicase/u8-totitle.c: New file.
28670         * lib/unicase/u-totitle.h: New file.
28671         * modules/unicase/u8-totitle: New file.
28672
28673         Tests for module 'unicase/u32-tolower'.
28674         * modules/unicase/u32-tolower-tests: New file.
28675         * tests/unicase/test-u32-tolower.c: New file.
28676
28677         Tests for module 'unicase/u16-tolower'.
28678         * modules/unicase/u16-tolower-tests: New file.
28679         * tests/unicase/test-u16-tolower.c: New file.
28680
28681         Tests for module 'unicase/u8-tolower'.
28682         * modules/unicase/u8-tolower-tests: New file.
28683         * tests/unicase/test-u8-tolower.c: New file.
28684
28685         New module 'unicase/u32-tolower'.
28686         * lib/unicase/u32-tolower.c: New file.
28687         * modules/unicase/u32-tolower: New file.
28688
28689         New module 'unicase/u16-tolower'.
28690         * lib/unicase/u16-tolower.c: New file.
28691         * modules/unicase/u16-tolower: New file.
28692
28693         New module 'unicase/u8-tolower'.
28694         * lib/unicase/u8-tolower.c: New file.
28695         * modules/unicase/u8-tolower: New file.
28696
28697         Tests for module 'unicase/u32-toupper'.
28698         * modules/unicase/u32-toupper-tests: New file.
28699         * tests/unicase/test-u32-toupper.c: New file.
28700
28701         Tests for module 'unicase/u16-toupper'.
28702         * modules/unicase/u16-toupper-tests: New file.
28703         * tests/unicase/test-u16-toupper.c: New file.
28704
28705         Tests for module 'unicase/u8-toupper'.
28706         * modules/unicase/u8-toupper-tests: New file.
28707         * tests/unicase/test-u8-toupper.c: New file.
28708
28709         New module 'unicase/u32-toupper'.
28710         * lib/unicase/u32-toupper.c: New file.
28711         * modules/unicase/u32-toupper: New file.
28712
28713         New module 'unicase/u16-toupper'.
28714         * lib/unicase/u16-toupper.c: New file.
28715         * modules/unicase/u16-toupper: New file.
28716
28717         New module 'unicase/u8-toupper'.
28718         * lib/unicase/u8-toupper.c: New file.
28719         * modules/unicase/u8-toupper: New file.
28720
28721         New module 'unicase/u32-casemap'.
28722         * lib/unicase/u32-casemap.c: New file.
28723         * modules/unicase/u32-casemap: New file.
28724
28725         New module 'unicase/u16-casemap'.
28726         * lib/unicase/u16-casemap.c: New file.
28727         * modules/unicase/u16-casemap: New file.
28728
28729         New module 'unicase/u8-casemap'.
28730         * lib/unicase/unicasemap.h: New file.
28731         * lib/unicase/u8-casemap.c: New file.
28732         * lib/unicase/u-casemap.h: New file.
28733         * modules/unicase/u8-casemap: New file.
28734
28735         New module 'unicase/special-casing'.
28736         * lib/unicase/special-casing.h: New file.
28737         * lib/unicase/special-casing.c: New file.
28738         * lib/unicase/special-casing-table.gperf: New file, generated by
28739         gen-uni-tables.c.
28740         * modules/unicase/special-casing: New file.
28741
28742         Tests for module 'unicase/locale-language'.
28743         * modules/unicase/locale-language-tests: New file.
28744         * tests/unicase/test-locale-language.sh: New file.
28745         * tests/unicase/test-locale-language.c: New file.
28746
28747         New module 'unicase/locale-language'.
28748         * lib/unicase/locale-language.c: New file.
28749         * lib/unicase/locale-languages.gperf: New file.
28750         * modules/unicase/locale-language: New file.
28751
28752         Generate more tables for case conversion and case folding.
28753         * lib/gen-uni-tables.c (SCC_*): New enum items.
28754         (struct special_casing_rule): New type.
28755         (casing_rules, num_casing_rules, allocated_casing_rules): New
28756         variables.
28757         (add_casing_rule, fill_casing_rules): New functions.
28758         (struct casefold_rule): New type.
28759         (casefolding_rules, num_casefolding_rules,
28760         allocated_casefolding_rules): New variables.
28761         (fill_casefolding_rules): New function.
28762         (unicode_casefold): New variable.
28763         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
28764         sort_casing_rules, output_casing_rules): New functions.
28765         (main): Accept to more arguments: SpecialCasing.txt and
28766         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28767         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28768         Output mapping for casefolding.
28769
28770         * lib/unicase.h: Include stdbool.h, uninorm.h.
28771         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28772         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28773         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28774         arguments.
28775         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28776         resultp arguments.
28777         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28778         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28779         resultp arguments.
28780         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28781         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28782         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28783         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28784         declarations.
28785         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28786
28787 2009-03-08  Bruno Haible  <bruno@clisp.org>
28788
28789         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28790         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28791         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28792         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28793
28794 2009-03-07  Bruno Haible  <bruno@clisp.org>
28795
28796         Adjust u*_normcmp, u*_normcoll API.
28797         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28798         u16_normcoll, u32_normcoll): Change failure conventions.
28799         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28800         errno and return -1.
28801         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28802
28803 2009-03-07  Bruno Haible  <bruno@clisp.org>
28804
28805         Tests for module 'uninorm/u32-normcoll'.
28806         * modules/uninorm/u32-normcoll-tests: New file.
28807         * tests/uninorm/test-u32-normcoll.c: New file.
28808
28809         Tests for module 'uninorm/u16-normcoll'.
28810         * modules/uninorm/u16-normcoll-tests: New file.
28811         * tests/uninorm/test-u16-normcoll.c: New file.
28812
28813         Tests for module 'uninorm/u8-normcoll'.
28814         * modules/uninorm/u8-normcoll-tests: New file.
28815         * tests/uninorm/test-u8-normcoll.c: New file.
28816
28817 2009-03-07  Bruno Haible  <bruno@clisp.org>
28818
28819         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28820         tests/uninorm/test-u32-normcmp.c.
28821         * tests/uninorm/test-u32-normcmp.c: Include it.
28822         (test_nonascii): New function, extracted from main. Add some more
28823         tests.
28824         (main): Invoke test_ascii and test_nonascii.
28825         * modules/uninorm/u32-normcmp-tests (Files): Add
28826         tests/uninorm/test-u32-normcmp.h.
28827         (Depends-on): Remove uninorm/u32-normcmp.
28828
28829         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28830         tests/uninorm/test-u16-normcmp.c.
28831         * tests/uninorm/test-u16-normcmp.c: Include it.
28832         (test_nonascii): New function, extracted from main. Add some more
28833         tests.
28834         (main): Invoke test_ascii and test_nonascii.
28835         * modules/uninorm/u16-normcmp-tests (Files): Add
28836         tests/uninorm/test-u16-normcmp.h.
28837         (Depends-on): Remove uninorm/u16-normcmp.
28838
28839         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28840         tests/uninorm/test-u8-normcmp.c.
28841         * tests/uninorm/test-u8-normcmp.c: Include it.
28842         (test_nonascii): New function, extracted from main. Add some more
28843         tests.
28844         (main): Invoke test_ascii and test_nonascii.
28845         * modules/uninorm/u8-normcmp-tests (Files): Add
28846         tests/uninorm/test-u8-normcmp.h.
28847         (Depends-on): Remove uninorm/u8-normcmp.
28848
28849 2009-03-07  Bruno Haible  <bruno@clisp.org>
28850
28851         New module 'uninorm/u32-normcoll'.
28852         * lib/uninorm/u32-normcoll.c: New file.
28853         * modules/uninorm/u32-normcoll: New file.
28854
28855         New module 'uninorm/u16-normcoll'.
28856         * lib/uninorm/u16-normcoll.c: New file.
28857         * modules/uninorm/u16-normcoll: New file.
28858
28859         New module 'uninorm/u8-normcoll'.
28860         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28861         declarations.
28862         * lib/uninorm/u8-normcoll.c: New file.
28863         * lib/uninorm/u-normcoll.h: New file.
28864         * modules/uninorm/u8-normcoll: New file.
28865
28866         New module 'uninorm/u32-normxfrm'.
28867         * lib/uninorm/u32-normxfrm.c: New file.
28868         * modules/uninorm/u32-normxfrm: New file.
28869
28870         New module 'uninorm/u16-normxfrm'.
28871         * lib/uninorm/u16-normxfrm.c: New file.
28872         * modules/uninorm/u16-normxfrm: New file.
28873
28874         New module 'uninorm/u8-normxfrm'.
28875         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28876         declarations.
28877         * lib/uninorm/u8-normxfrm.c: New file.
28878         * lib/uninorm/u-normxfrm.h: New file.
28879         * modules/uninorm/u8-normxfrm: New file.
28880
28881 2009-03-07  Bruno Haible  <bruno@clisp.org>
28882
28883         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28884         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28885         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28886
28887 2009-03-07  Bruno Haible  <bruno@clisp.org>
28888
28889         New module 'memxfrm'.
28890         * lib/memxfrm.h: New file.
28891         * lib/memxfrm.c: New file.
28892         * modules/memxfrm: New file.
28893
28894 2009-03-07  Bruno Haible  <bruno@clisp.org>
28895
28896         New module 'memcmp2'.
28897         * lib/memcmp2.h: New file.
28898         * lib/memcmp2.c: New file.
28899         * modules/memcmp2: New file.
28900
28901 2009-03-07  Bruno Haible  <bruno@clisp.org>
28902
28903         Tests for module 'uninorm/decomposing-form'.
28904         * modules/uninorm/decomposing-form-tests: New file.
28905         * tests/uninorm/test-decomposing-form.c: New file.
28906
28907         New module 'uninorm/decomposing-form'.
28908         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28909         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28910         Add 'decomposing_variant' field.
28911         * lib/uninorm/decomposing-form.c: New file.
28912         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28913         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28914         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28915         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28916         * modules/uninorm/decomposing-form: New file.
28917         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28918         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28919
28920 2009-03-07  Bruno Haible  <bruno@clisp.org>
28921
28922         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28923         strings.
28924
28925 2009-03-06  Bruno Haible  <bruno@clisp.org>
28926
28927         Tests for module 'uninorm/u32-normcmp'.
28928         * tests/uninorm/test-u32-normcmp.c: New file.
28929         * modules/uninorm/u32-normcmp-tests: New file.
28930
28931         Tests for module 'uninorm/u16-normcmp'.
28932         * tests/uninorm/test-u16-normcmp.c: New file.
28933         * modules/uninorm/u16-normcmp-tests: New file.
28934
28935         Tests for module 'uninorm/u8-normcmp'.
28936         * tests/uninorm/test-u8-normcmp.c: New file.
28937         * modules/uninorm/u8-normcmp-tests: New file.
28938
28939         New module 'uninorm/u32-normcmp'.
28940         * lib/uninorm/u32-normcmp.c: New file.
28941         * modules/uninorm/u32-normcmp: New file.
28942
28943         New module 'uninorm/u16-normcmp'.
28944         * lib/uninorm/u16-normcmp.c: New file.
28945         * modules/uninorm/u16-normcmp: New file.
28946
28947         New module 'uninorm/u8-normcmp'.
28948         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28949         declarations.
28950         * lib/uninorm/u8-normcmp.c: New file.
28951         * lib/uninorm/u-normcmp.h: New file.
28952         * modules/uninorm/u8-normcmp: New file.
28953
28954 2009-03-06  Bruno Haible  <bruno@clisp.org>
28955
28956         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28957         Reported by Eric Blake.
28958
28959 2009-03-06  Eric Blake  <ebb9@byu.net>
28960             Bruno Haible  <bruno@clisp.org>
28961
28962         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28963         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28964         condition.
28965         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28966         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28967         condition.
28968         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28969
28970 2009-03-06  Eric Blake  <ebb9@byu.net>
28971
28972         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28973         to avoid compiler warnings.
28974         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28975
28976 2009-03-05  Bruno Haible  <bruno@clisp.org>
28977
28978         * tests/test-ftell.c (main): Disable test beyond end of file on
28979         FreeMiNT.
28980         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28981
28982 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28983
28984         * lib/filevercmp.c: Move hidden files up in ordering.
28985         * tests/test-filevercmp.c: Add tests for hidden files.
28986
28987 2009-03-04  Bruno Haible  <bruno@clisp.org>
28988
28989         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28990         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28991         AM_CFLAGS.
28992         Reported by Simon Josefsson.
28993
28994 2009-03-03  Bruno Haible  <bruno@clisp.org>
28995
28996         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28997         Reported by Simon Josefsson.
28998
28999         * doc/ld-version-script.texi: Update node reference.
29000
29001 2009-03-03  Bruno Haible  <bruno@clisp.org>
29002
29003         * modules/visibility (License): Change to 'unlimited'.
29004         Suggested by Simon Josefsson.
29005
29006 2009-03-03  Jim Meyering  <meyering@redhat.com>
29007
29008         unlinkdir: cannot_unlink_dir may modify process state
29009         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
29010         it's neither thread-safe nor appropriate for use in a library.
29011
29012 2009-03-03  Eric Blake  <ebb9@byu.net>
29013
29014         test-closein: silence test under Darwin
29015         * tests/test-closein.sh: Ignore stderr from cat, since we don't
29016         care if it dies from EPIPE or EBADF.
29017
29018 2009-03-03  Bruno Haible  <bruno@clisp.org>
29019
29020         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
29021         earlier.
29022         * doc/visibility.texi: Fix @node and @section.
29023
29024 2009-03-03  Simon Josefsson  <simon@josefsson.org>
29025
29026         * doc/gnulib.texi: Link to sections for ld version script and
29027         visibility.
29028         * doc/visibility.texi: Add @node and @section.
29029         * modules/ld-version-script: New module.
29030         * m4/ld-version-script.m4: New file.
29031         * doc/ld-version-script.texi: New file.
29032
29033 2009-03-02  David Lutterkort  <lutter@redhat.com>
29034
29035         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
29036         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29037
29038 2009-03-02  Bruno Haible  <bruno@clisp.org>
29039
29040         * doc/visibility.texi: Mention libtool's -export-symbols option.
29041
29042 2009-03-02  Jim Meyering  <meyering@redhat.com>
29043
29044         announce-gen: new option: --no-print-checksums
29045         * build-aux/announce-gen (usage): Describe it.
29046         (print_checksums): Print a newline here, not in the [*] footnote.
29047         (main): Honor it.
29048
29049 2009-03-01  Bruno Haible  <bruno@clisp.org>
29050
29051         Use socklen_t in the native Windows replacements prototypes.
29052         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
29053         instead of 'int'.
29054         * lib/getsockopt.c (rpl_getsockopt): Likewise.
29055         * lib/setsockopt.c (rpl_setsockopt): Likewise.
29056         * modules/getsockopt (Depends-on): Add socklen.
29057         * modules/setsockopt (Depends-on): Add socklen.
29058
29059 2009-03-01  Bruno Haible  <bruno@clisp.org>
29060
29061         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
29062         least 4.2.
29063
29064 2009-03-01  Eric Blake  <ebb9@byu.net>
29065             Bruno Haible  <bruno@clisp.org>
29066
29067         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
29068         error messages.
29069         * lib/wait-process.c (wait_subprocess): Omit error message about
29070         deadly signal sent to the child of termsigp != NULL.
29071
29072 2009-03-01  Eric Blake  <ebb9@byu.net>
29073
29074         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
29075
29076 2009-03-01  Bruno Haible  <bruno@clisp.org>
29077
29078         Avoid a gcc warning.
29079         * tests/test-sched.c (b): Make global.
29080         Reported by Eric Blake.
29081
29082 2009-01-19  Martin Lambers  <marlam@marlam.de>
29083
29084         Provide POSIX semantics for socket timeout options on W32.
29085         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
29086         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
29087         * modules/setsockopt: Depend on sys_time module for struct timeval.
29088         * modules/getsockopt: Depend on sys_time module for struct timeval.
29089
29090 2009-03-01  Simon Josefsson  <simon@josefsson.org>
29091
29092         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
29093         __USE_GNU, for consistency with netdb.in.h.
29094         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29095
29096 2009-03-01  Bruno Haible  <bruno@clisp.org>
29097
29098         More support for FreeMiNT.
29099         * lib/fseeko.c (rpl_fseeko): Complete last commit.
29100         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29101
29102 2009-03-01  Bruno Haible  <bruno@clisp.org>
29103
29104         More support for FreeMiNT.
29105         * lib/fpurge.c (fpurge): Correct last commit.
29106         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29107
29108 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29109
29110         Fix unportable awk script in vc-list-files.
29111         * build-aux/vc-list-files: In the replacement awk script, use
29112         substr with a second argument of 1, not zero.
29113         Report by Simon Josefsson.
29114
29115 2009-02-28  Bruno Haible  <bruno@clisp.org>
29116
29117         More support for FreeMiNT.
29118         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
29119         to FreeMiNT today.
29120         * lib/fwriting.c (fwriting): Likewise.
29121         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
29122
29123 2009-02-28  Bruno Haible  <bruno@clisp.org>
29124
29125         * tests/test-freadseek.c (main): Disable test beyond end of file on
29126         FreeMiNT.
29127         * tests/test-ftello.c (main): Likewise.
29128         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29129
29130 2009-02-28  Bruno Haible  <bruno@clisp.org>
29131
29132         Add tentative support for FreeMiNT.
29133         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
29134         * lib/fpurge.c (fpurge): Likewise.
29135         * lib/freadable.c (freadable): Likewise.
29136         * lib/freading.c (freading): Likewise.
29137         * lib/freadptr.c (freadptr): Likewise.
29138         * lib/freadseek.c (freadptrinc): Likewise.
29139         * lib/fseeko.c (rpl_fseeko): Likewise.
29140         * lib/fseterr.c (fseterr): Likewise.
29141         * lib/fwritable.c (fwritable): Likewise.
29142         * lib/fwriting.c (fwriting): Likewise.
29143         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
29144         Hourihane.
29145         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29146
29147 2009-02-28  Bruno Haible  <bruno@clisp.org>
29148
29149         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
29150         SIGCHLD.
29151         Reported by Jim Meyering.
29152
29153 2009-02-28  Bruno Haible  <bruno@clisp.org>
29154
29155         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
29156         Mention the results of these tests on various platforms.
29157         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
29158         order.
29159         * doc/posix-functions/printf.texi: Likewise.
29160         * doc/posix-functions/snprintf.texi: Likewise.
29161         * doc/posix-functions/sprintf.texi: Likewise.
29162         * doc/posix-functions/vfprintf.texi: Likewise.
29163         * doc/posix-functions/vprintf.texi: Likewise.
29164         * doc/posix-functions/vsnprintf.texi: Likewise.
29165         * doc/posix-functions/vsprintf.texi: Likewise.
29166         * doc/glibc-functions/obstack_printf.texi: Likewise.
29167         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29168
29169 2009-02-28  Bruno Haible  <bruno@clisp.org>
29170
29171         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
29172         Reported by Loïc Minier <lool@dooz.org>.
29173
29174 2009-02-27  Bruno Haible  <bruno@clisp.org>
29175
29176         * gnulib-tool (func_import): Make the sed expression used to create the
29177         sed script for updating the .gitignore file POSIX compliant.
29178         Reported by Eric Blake.
29179
29180 2009-02-27  Bruno Haible  <bruno@clisp.org>
29181
29182         * gnulib-tool (sed): Don't alias as "sed --posix".
29183         Reported by Eric Blake.
29184
29185 2009-02-27  Bruno Haible  <bruno@clisp.org>
29186
29187         Avoid test link errors.
29188         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
29189         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
29190         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
29191         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
29192         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29193
29194 2009-02-27  Bruno Haible  <bruno@clisp.org>
29195
29196         Avoid spurious "(cached)" in configure output.
29197         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
29198         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
29199         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29200         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29201         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29202         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29203         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29204         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29205         Reported by Eric Blake.
29206
29207 2009-02-27  Eric Blake  <ebb9@byu.net>
29208
29209         printf: fix regression in previous patch
29210         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
29211
29212 2009-02-27  Bruno Haible  <bruno@clisp.org>
29213
29214         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
29215         value.
29216         * lib/stdint.in.h: Likewise.
29217         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
29218
29219 2009-02-27  Eric Blake  <ebb9@byu.net>
29220
29221         doc: mention more functions added in cygwin 1.7.0
29222         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
29223         addition.
29224         * doc/posix-functions/open_wmemstream.texi: Likewise.
29225         * doc/posix-functions/wcsnlen.texi: Likewise.
29226         * doc/posix-functions/wcsnrtombs.texi: Likewise.
29227         * doc/posix-functions/wcstod.texi: Likewise.
29228         * doc/posix-functions/wcstof.texi: Likewise.
29229         * doc/posix-functions/wcstoimax.texi: Likewise.
29230         * doc/posix-functions/wcstok.texi: Likewise.
29231         * doc/posix-functions/wcstoumax.texi: Likewise.
29232
29233         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
29234         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
29235         * doc/posix-functions/fprintf.texi: Update.
29236         * doc/posix-functions/printf.texi: Update.
29237         * doc/posix-functions/snprintf.texi: Update.
29238         * doc/posix-functions/sprintf.texi: Update.
29239         * doc/posix-functions/vfprintf.texi: Update.
29240         * doc/posix-functions/vprintf.texi: Update.
29241         * doc/posix-functions/vsnprintf.texi: Update.
29242         * doc/posix-functions/vsprintf.texi: Update.
29243         * doc/glibc-functions/obstack_printf.texi: Update.
29244         * doc/glibc-functions/obstack_vprintf.texi: Update.
29245
29246 2009-02-26  Eric Blake  <ebb9@byu.net>
29247
29248         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
29249         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
29250         compilation bug by using runtime conversion.
29251         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29252         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
29253         * modules/ceill-tests (Files): Use nan.h.
29254         * modules/floorl-tests (Files): Likewise.
29255         * modules/frexpl-tests (Files): Likewise.
29256         * modules/isnanl-tests (Files): Likewise.
29257         * modules/ldexpl-tests (Files): Likewise.
29258         * modules/roundl-tests (Files): Likewise.
29259         * modules/truncl-tests (Files): Likewise.
29260         * tests/test-ceill.c (main): Use a working NaN.
29261         * tests/test-floorl.c (main): Likewise.
29262         * tests/test-frexpl.c (main): Likewise.
29263         * tests/test-isnan.c (test_long_double): Likewise.
29264         * tests/test-isnanl.h (main): Likewise.
29265         * tests/test-ldexpl.h (main): Likewise.
29266         * tests/test-roundl.h (main): Likewise.
29267         * tests/test-truncl.h (main): Likewise.
29268         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
29269
29270 2009-02-26  Eric Blake  <ebb9@byu.net>
29271             Bruno Haible  <bruno@clisp.org>
29272
29273         Work around a *printf bug with %ls on Solaris.
29274         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
29275         precision is specified, sprintf stops converting the wide string
29276         argument when the number of bytes that have been produced by this
29277         conversion equals or exceeds the precision.
29278         * doc/posix-functions/fprintf.texi: Update.
29279         * doc/posix-functions/printf.texi: Update.
29280         * doc/posix-functions/snprintf.texi: Update.
29281         * doc/posix-functions/sprintf.texi: Update.
29282         * doc/posix-functions/vfprintf.texi: Update.
29283         * doc/posix-functions/vprintf.texi: Update.
29284         * doc/posix-functions/vsnprintf.texi: Update.
29285         * doc/posix-functions/vsprintf.texi: Update.
29286         * doc/glibc-functions/obstack_printf.texi: Update.
29287         * doc/glibc-functions/obstack_vprintf.texi: Update.
29288
29289 2009-02-26  Eric Blake  <ebb9@byu.net>
29290
29291         stdlib: favor compiler check of random.h
29292         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
29293         to avoid an ObjC random.h installed by Swarm.
29294
29295 2009-02-26  Bruno Haible  <bruno@clisp.org>
29296
29297         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
29298         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
29299         Reported by Gary V. Vaughan <gary@gnu.org>.
29300
29301 2009-02-26  Bruno Haible  <bruno@clisp.org>
29302
29303         Fix *printf behaviour regarding the %ls directive.
29304         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
29305         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
29306         NEED_PRINTF_DIRECTIVE_LS.
29307         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
29308         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29309         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29310         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
29311         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
29312         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
29313         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29315         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29316         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29317         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29318         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
29319         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29320         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29321         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29322         * doc/posix-functions/fprintf.texi: Update.
29323         * doc/posix-functions/printf.texi: Update.
29324         * doc/posix-functions/snprintf.texi: Update.
29325         * doc/posix-functions/sprintf.texi: Update.
29326         * doc/posix-functions/vfprintf.texi: Update.
29327         * doc/posix-functions/vprintf.texi: Update.
29328         * doc/posix-functions/vsnprintf.texi: Update.
29329         * doc/posix-functions/vsprintf.texi: Update.
29330         * doc/glibc-functions/obstack_printf.texi: Update.
29331         * doc/glibc-functions/obstack_vprintf.texi: Update.
29332         Reported by Eric Blake.
29333
29334 2009-02-25  Bruno Haible  <bruno@clisp.org>
29335
29336         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
29337         with known value.
29338         Reported by Gary V. Vaughan <gary@gnu.org>.
29339
29340 2009-02-25  Bruno Haible  <bruno@clisp.org>
29341
29342         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
29343         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
29344         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
29345         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
29346         Reported by Gary V. Vaughan <gary@gnu.org>.
29347
29348 2009-02-25  Bruno Haible  <bruno@clisp.org>
29349
29350         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
29351         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
29352         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
29353         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
29354         Reported by Gary V. Vaughan <gary@gnu.org>.
29355
29356 2009-02-25  Eric Blake  <ebb9@byu.net>
29357
29358         tests: skip fseek/ftell tests if ungetc is broken
29359         * m4/ungetc.m4: New file.
29360         * modules/fseek-tests: Split test, so ungetc dependency is
29361         separate from rest of test.
29362         * modules/fseeko-tests: Likewise.
29363         * modules/ftell-tests: Likewise.
29364         * modules/ftello-tests: Likewise.
29365         * tests/test-fseek.c (main): Isolate ungetc dependency.
29366         * tests/test-fseeko.c (main): Likewise.
29367         * tests/test-ftell.c (main): Likewise.
29368         * tests/test-ftello.c (main): Likewise.
29369         * tests/test-fseek2.sh: New file.
29370         * tests/test-fseeko2.sh: Likewise.
29371         * tests/test-ftell2.sh: Likewise.
29372         * tests/test-ftello2.sh: Likewise.
29373
29374 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
29375
29376         test-getaddrinfo: fix usage of skip return code 77
29377         * tests/test-gettaddrinfo.c: Return skip code 77 only
29378         for first occurance of skip (4x77 is not 77)
29379
29380 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
29381
29382         strtod: avoid C99 decl-after-statement
29383         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
29384
29385 2009-02-24  Eric Blake  <ebb9@byu.net>
29386
29387         strtod: detect HP-UX 11.31 bug
29388         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
29389         Reported by Gary V. Vaughan.
29390
29391 2009-02-23  Bruno Haible  <bruno@clisp.org>
29392
29393         Fix invalid read past end of memory block.
29394         * lib/vasnprintf.c (DCHAR_SET): Define.
29395         (local_wcslen): Define only when needed.
29396         (local_strnlen, local_wcsnlen): New functions.
29397         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
29398         directives that involve a conversion ourselves.
29399         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
29400         wcsnlen, mbrtowc, wcrtomb.
29401         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
29402         * tests/test-vasprintf-posix.c (test_function): Likewise.
29403         * tests/test-snprintf-posix.h (test_function): Likewise.
29404         * tests/test-sprintf-posix.h (test_function): Likewise.
29405         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29406
29407 2009-02-22  Bruno Haible  <bruno@clisp.org>
29408
29409         Implement new clarified decomposition of Hangul syllables.
29410         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
29411         of type LTV, return only a pairwise decomposition.
29412         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
29413         Likewise.
29414         * tests/uninorm/test-decomposition.c (main): Updated expected result.
29415         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
29416         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
29417
29418 2009-02-22  Bruno Haible  <bruno@clisp.org>
29419
29420         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
29421         zero-length results and shrink excess allocated memory.
29422         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
29423         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
29424         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
29425         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
29426         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
29427         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
29428         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
29429         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
29430         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
29431         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
29432         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
29433         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
29434
29435 2009-02-21  Bruno Haible  <bruno@clisp.org>
29436
29437         * doc/gnulib.texi: Include safe-alloc.texi earlier.
29438         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
29439         spaces after a period. Put a space between a macro name and its
29440         argument list. Trivial rewordings.
29441         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
29442         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
29443         (main): Return 0 explicitly.
29444
29445 2009-02-21  Bruno Haible  <bruno@clisp.org>
29446
29447         Tests for module 'uninorm/filter'.
29448         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
29449         * modules/uninorm/filter-tests: New file.
29450
29451         New module 'uninorm/filter'.
29452         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
29453         uninorm_filter_flush, uninorm_filter_free): New declarations.
29454         * lib/uninorm/uninorm-filter.c: New file.
29455         * modules/uninorm/filter: New file.
29456
29457 2009-02-21  Bruno Haible  <bruno@clisp.org>
29458
29459         Tests for module 'uninorm/nfkc'.
29460         * tests/uninorm/test-nfkc.c: New file.
29461         * tests/uninorm/test-u8-nfkc.c: New file.
29462         * tests/uninorm/test-u16-nfkc.c: New file.
29463         * tests/uninorm/test-u32-nfkc.c: New file.
29464         * tests/uninorm/test-u32-nfkc-big.sh: New file.
29465         * tests/uninorm/test-u32-nfkc-big.c: New file.
29466         * modules/uninorm/nfkc-tests: New file.
29467
29468         New module 'uninorm/nfkc'.
29469         * lib/uninorm/nfkc.c: New file.
29470         * modules/uninorm/nfkc: New file.
29471
29472         Tests for module 'uninorm/nfkd'.
29473         * tests/uninorm/test-nfkd.c: New file.
29474         * tests/uninorm/test-u8-nfkd.c: New file.
29475         * tests/uninorm/test-u16-nfkd.c: New file.
29476         * tests/uninorm/test-u32-nfkd.c: New file.
29477         * tests/uninorm/test-u32-nfkd-big.sh: New file.
29478         * tests/uninorm/test-u32-nfkd-big.c: New file.
29479         * modules/uninorm/nfkd-tests: New file.
29480
29481         New module 'uninorm/nfkd'.
29482         * lib/uninorm/nfkd.c: New file.
29483         * modules/uninorm/nfkd: New file.
29484
29485         Tests for module 'uninorm/nfc'.
29486         * tests/uninorm/test-nfc.c: New file.
29487         * tests/uninorm/test-u8-nfc.c: New file.
29488         * tests/uninorm/test-u16-nfc.c: New file.
29489         * tests/uninorm/test-u32-nfc.c: New file.
29490         * tests/uninorm/test-u32-nfc-big.sh: New file.
29491         * tests/uninorm/test-u32-nfc-big.c: New file.
29492         * modules/uninorm/nfc-tests: New file.
29493
29494         New module 'uninorm/nfc'.
29495         * lib/uninorm/nfc.c: New file.
29496         * modules/uninorm/nfc: New file.
29497
29498         Tests for module 'uninorm/nfd'.
29499         * tests/uninorm/test-nfd.c: New file.
29500         * tests/uninorm/test-u8-nfd.c: New file.
29501         * tests/uninorm/test-u16-nfd.c: New file.
29502         * tests/uninorm/test-u32-nfd.c: New file.
29503         * tests/uninorm/test-u32-nfd-big.sh: New file.
29504         * tests/uninorm/test-u32-nfd-big.c: New file.
29505         * tests/uninorm/test-u32-normalize-big.h: New file.
29506         * tests/uninorm/test-u32-normalize-big.c: New file.
29507         * tests/uninorm/NormalizationTest.txt: New file, created from
29508         Unicode 5.1.0 NormalizationTest.txt.
29509         * modules/uninorm/nfd-tests: New file.
29510
29511         New module 'uninorm/nfd'.
29512         * lib/uninorm/nfd.c: New file.
29513         * modules/uninorm/nfd: New file.
29514
29515         New module 'uninorm/u32-normalize'.
29516         * lib/uninorm/u32-normalize.c: New file.
29517         * modules/uninorm/u32-normalize: New file.
29518
29519         New module 'uninorm/u16-normalize'.
29520         * lib/uninorm/u16-normalize.c: New file.
29521         * modules/uninorm/u16-normalize: New file.
29522
29523         New module 'uninorm/u8-normalize'.
29524         * lib/uninorm/u8-normalize.c: New file.
29525         * lib/uninorm/normalize-internal.h: New file.
29526         * lib/uninorm/u-normalize-internal.h: New file.
29527         * modules/uninorm/u8-normalize: New file.
29528
29529         New module 'uninorm/decompose-internal'.
29530         * lib/uninorm/decompose-internal.c: New file.
29531         * modules/uninorm/decompose-internal: New file.
29532
29533         Tests for module 'uninorm/composition'.
29534         * tests/uninorm/test-composition.c: New file.
29535         * modules/uninorm/composition-tests: New file.
29536
29537         New module 'uninorm/composition'.
29538         * lib/uninorm/composition.c: New file.
29539         * lib/uninorm/composition-table.gperf: New file, generated by
29540         gen-uni-tables.
29541         * modules/uninorm/composition: New file.
29542
29543         Tests for module 'uninorm/compat-decomposition'.
29544         * tests/uninorm/test-compat-decomposition.c: New file.
29545         * modules/uninorm/compat-decomposition-tests: New file.
29546
29547         New module 'uninorm/compat-decomposition'.
29548         * lib/uninorm/decompose-internal.h: New file.
29549         * lib/uninorm/compat-decomposition.c: New file.
29550         * modules/uninorm/compat-decomposition: New file.
29551
29552         Tests for module 'uninorm/canonical-decomposition'.
29553         * tests/uninorm/test-canonical-decomposition.c: New file.
29554         * modules/uninorm/canonical-decomposition-tests: New file.
29555
29556         New module 'uninorm/canonical-decomposition'.
29557         * lib/uninorm/canonical-decomposition.c: New file.
29558         * modules/uninorm/canonical-decomposition: New file.
29559
29560         Tests for module 'uninorm/decomposition'.
29561         * tests/uninorm/test-decomposition.c: New file.
29562         * modules/uninorm/decomposition-tests: New file.
29563
29564         New module 'uninorm/decomposition'.
29565         * lib/uninorm/decomposition.c: New file.
29566         * modules/uninorm/decomposition: New file.
29567
29568         New module 'uninorm/decomposition-table'.
29569         * lib/uninorm/decomposition-table.h: New file.
29570         * lib/uninorm/decomposition-table.c: New file.
29571         * lib/uninorm/decomposition-table1.h: New file, generated by
29572         gen-uni-tables.
29573         * lib/uninorm/decomposition-table2.h: New file, generated by
29574         gen-uni-tables.
29575         * modules/uninorm/decomposition-table: New file.
29576
29577         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
29578         (UC_DECOMP_*): New enumeration items.
29579         (get_decomposition): New function.
29580         (struct decomp_table): New type.
29581         (output_decomposition, output_decomposition_tables): New functions.
29582         (unicode_composition_exclusions): New variable.
29583         (fill_composition_exclusions, debug_output_composition_tables): New
29584         functions.
29585         (main): Accept one more argument. Invoke fill_composition_exclusions.
29586         Output decomposition and composition tables.
29587
29588         New module 'uninorm/base'.
29589         * lib/uninorm.h: New file.
29590         * lib/unictype.h: Update comment.
29591         * modules/uninorm/base: New file.
29592
29593 2009-02-21  David Lutterkort  <lutter@redhat.com>
29594
29595         Tests for module 'safe-alloc'.
29596         * tests/test-safe-alloc.c: New file.
29597         * modules/safe-alloc-tests: New file.
29598
29599         New module 'safe-alloc'.
29600         * lib/safe-alloc.h: New file.
29601         * lib/safe-alloc.c: New file.
29602         * m4/safe-alloc.m4: New file.
29603         * modules/safe-alloc: New file.
29604         * doc/safe-alloc.texi: New file.
29605         * doc/gnulib.texi: Include it.
29606         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29607         safe-alloc.
29608
29609 2009-02-18  Bruno Haible  <bruno@clisp.org>
29610
29611         Fix link error on non-glibc systems.
29612         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
29613         variable.
29614         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29615
29616 2009-02-18  Jim Meyering  <meyering@redhat.com>
29617
29618         fts: avoid used-uninitialized error due to recent change
29619         * lib/fts.c (fts_read): Guard uses of the new member,
29620         parent->fts_n_dirs_remaining, since it's not relevant for
29621         the parent of a directory specified on the command-line.
29622
29623 2009-02-17  James Youngman  <jay@gnu.org>
29624             Bruno Haible  <bruno@clisp.org>
29625
29626         * m4/include_next.m4: Reformulate comment.
29627
29628 2009-02-16  Jim Meyering  <meyering@redhat.com>
29629
29630         fts: add #if guards so that the fts_lgpl module still builds
29631         * lib/fts.c: Guard just-added hash-table-using parts with
29632         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
29633         Reported by Simon Josefsson.
29634
29635 2009-02-15  Bruno Haible  <bruno@clisp.org>
29636
29637         * modules/array-mergesort-tests: New file.
29638         * tests/test-array-mergesort.c: New file.
29639
29640         New module 'array-mergesort'.
29641         * modules/array-mergesort: New file.
29642         * lib/array-mergesort.h: New file.
29643
29644 2009-02-15  Bruno Haible  <bruno@clisp.org>
29645
29646         Fix 2009-02-07 commit.
29647         * lib/gen-uni-tables.c (output_predicate, output_category,
29648         output_combclass, output_bidi_category, output_decimal_digit,
29649         output_digit, output_numeric, output_mirror, output_scripts,
29650         output_ident_category, output_simple_mapping): Fix format directives.
29651         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
29652
29653 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
29654
29655         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
29656         fixes are available from IBM.
29657
29658 2009-02-13  Jim Meyering  <meyering@redhat.com>
29659
29660         fts: arrange not to stat non-directories in more cases
29661         This makes GNU find (when it doesn't need to stat each file)
29662         *much* more efficient at traversing reiserfs file systems.
29663         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
29664         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
29665         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
29666         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
29667         (leaf_optimization_applies): New function.
29668         (LCO_hash, LCO_compare): New helper functions.
29669         (link_count_optimize_ok): New function.
29670         (fts_stat): Initialize new member (if dir).
29671         (fts_read): Decrement parent's fts_n_dirs_remaining count if
29672         we've just stat'ed a directory.  Skip the stat call when possible.
29673         ---
29674         Note this AFS-related exchange:
29675         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
29676         and note find's pioctl call in find/fstype.c.
29677         But that is necessary only if you want to enable the
29678         optimization for AFS, and for now, I don't.
29679
29680         fts: move a function definition "up" (no semantic change)
29681         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
29682         "up" to precede upcoming use of a related function.
29683
29684 2009-02-11  Jim Meyering  <meyering@redhat.com>
29685
29686         fts: correct internal computation of nlinks (optimization-related)
29687         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
29688         whether the current entry is a directory, so don't test it.
29689
29690 2009-02-10  Bruno Haible  <bruno@clisp.org>
29691
29692         Tests for module 'uniwbrk/ulc-wordbreaks'.
29693         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
29694         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
29695         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
29696
29697         Tests for module 'uniwbrk/u32-wordbreaks'.
29698         * modules/uniwbrk/u32-wordbreaks-tests: New file.
29699         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
29700
29701         Tests for module 'uniwbrk/u16-wordbreaks'.
29702         * modules/uniwbrk/u16-wordbreaks-tests: New file.
29703         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
29704
29705         Tests for module 'uniwbrk/u8-wordbreaks'.
29706         * modules/uniwbrk/u8-wordbreaks-tests: New file.
29707         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
29708
29709 2009-02-10  Bruno Haible  <bruno@clisp.org>
29710
29711         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
29712         property.
29713         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
29714         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
29715         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
29716
29717 2009-02-10  Simon Josefsson  <simon@josefsson.org>
29718
29719         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
29720         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
29721
29722 2009-02-10  Bruno Haible  <bruno@clisp.org>
29723
29724         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
29725         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
29726         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
29727         * lib/unilbrk/u8-possible-linebreaks.c: Update.
29728         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
29729         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
29730
29731 2009-02-09  Simon Josefsson  <simon@josefsson.org>
29732
29733         * lib/sockets.h (gl_fd_to_handle): New function.
29734
29735         * tests/test-sockets.c: Call gl_fd_to_handle.
29736
29737 2009-02-09  Bruno Haible  <bruno@clisp.org>
29738
29739         * doc/havelib.texi: Document the conventions on bi-arch systems.
29740
29741 2009-02-08  Bruno Haible  <bruno@clisp.org>
29742
29743         Document the AC_LIB_LINKFLAGS macro.
29744         * doc/havelib.texi: New file, mostly written on 2005-05-24.
29745         * doc/gnulib.texi: Include it.
29746
29747 2009-02-08  Bruno Haible  <bruno@clisp.org>
29748
29749         Fix wrong order of sections, compared to TOC.
29750         * doc/gnulib.texi: Include relocatable-maint.texi after the
29751         "Regular expressions" node, not before.
29752
29753 2009-02-08  Bruno Haible  <bruno@clisp.org>
29754
29755         Tests for module 'unicase/totitle'.
29756         * modules/unicase/totitle-tests: New file.
29757
29758         Tests for module 'unicase/tolower'.
29759         * modules/unicase/tolower-tests: New file.
29760
29761         Tests for module 'unicase/toupper'.
29762         * modules/unicase/toupper-tests: New file.
29763         * tests/unicase/test-mapping-part1.h: New file.
29764         * tests/unicase/test-mapping-part2.h: New file.
29765
29766         New module 'unicase/totitle'.
29767         * modules/unicase/totitle: New file.
29768         * lib/unicase/totitle.c: New file.
29769
29770         New module 'unicase/tolower'.
29771         * modules/unicase/tolower: New file.
29772         * lib/unicase/tolower.c: New file.
29773
29774         New module 'unicase/toupper'.
29775         * modules/unicase/toupper: New file.
29776         * lib/unicase/toupper.c: New file.
29777         * lib/unicase/simple-mapping.h: New file.
29778
29779         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29780         (mapping_table): New structure.
29781         (output_simple_mapping): New function.
29782         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29783         * modules/gen-uni-tables (Description): Update.
29784         * lib/unicase/toupper.h: New file, automatically generated by
29785         gen-uni-tables.
29786         * lib/unicase/tolower.h: New file, automatically generated by
29787         gen-uni-tables.
29788         * lib/unicase/totitle.h: New file, automatically generated by
29789         gen-uni-tables.
29790         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29791         gen-uni-tables.
29792         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29793         gen-uni-tables.
29794         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29795         gen-uni-tables.
29796
29797         New module 'unicase/base'.
29798         * modules/unicase/base: New file.
29799         * lib/unicase.h: New file.
29800
29801 2009-02-08  Bruno Haible  <bruno@clisp.org>
29802
29803         New module 'uniwbrk/ulc-wordbreaks'.
29804         * modules/uniwbrk/ulc-wordbreaks: New file.
29805         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29806
29807         New module 'uniwbrk/u32-wordbreaks'.
29808         * modules/uniwbrk/u32-wordbreaks: New file.
29809         * lib/uniwbrk/u32-wordbreaks.c: New file.
29810
29811         New module 'uniwbrk/u16-wordbreaks'.
29812         * modules/uniwbrk/u16-wordbreaks: New file.
29813         * lib/uniwbrk/u16-wordbreaks.c: New file.
29814
29815         New module 'uniwbrk/u8-wordbreaks'.
29816         * modules/uniwbrk/u8-wordbreaks: New file.
29817         * lib/uniwbrk/u8-wordbreaks.c: New file.
29818         * lib/uniwbrk/u-wordbreaks.h: New file.
29819
29820         New module 'uniwbrk/table'.
29821         * modules/uniwbrk/table: New file.
29822         * lib/uniwbrk/wbrktable.h: New file.
29823         * lib/uniwbrk/wbrktable.c: New file.
29824
29825         New module 'uniwbrk/wordbreak-property'.
29826         * modules/uniwbrk/wordbreak-property: New file.
29827         * lib/uniwbrk/wordbreak-property.c: New file.
29828
29829         * lib/gen-uni-tables.c (WBP_*): New enum items.
29830         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29831         (unicode_org_wbp): New variable.
29832         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29833         New functions.
29834         (wbp_table): New structure.
29835         (output_wbp, output_wbrk_tables): New functions.
29836         (main): Accept additional argument. Invoke fill_org_wbp,
29837         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29838         output_wbrk_tables.
29839         * modules/gen-uni-tables (Description): Update.
29840         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29841         gen-uni-tables.
29842
29843         New module 'uniwbrk/base'.
29844         * modules/uniwbrk/base: New file.
29845         * lib/uniwbrk.h: New file.
29846
29847 2009-02-08  Bruno Haible  <bruno@clisp.org>
29848
29849         Update to Unicode 5.1.0.
29850         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29851         U+2185..U+2188.
29852         (is_property_default_ignorable_code_point): Don't include characters
29853         of category Cc or Cs and not-a-characters.
29854         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29855         U+0D79, U+109E, U+109F, U+A60C.
29856         * lib/unictype/bidi_of.h: Regenerated.
29857         * lib/unictype/blocks.h: Regenerated.
29858         * lib/unictype/categ_C.h: Regenerated.
29859         * lib/unictype/categ_Cf.h: Regenerated.
29860         * lib/unictype/categ_Cn.h: Regenerated.
29861         * lib/unictype/categ_L.h: Regenerated.
29862         * lib/unictype/categ_Ll.h: Regenerated.
29863         * lib/unictype/categ_Lm.h: Regenerated.
29864         * lib/unictype/categ_Lo.h: Regenerated.
29865         * lib/unictype/categ_Lu.h: Regenerated.
29866         * lib/unictype/categ_M.h: Regenerated.
29867         * lib/unictype/categ_Mc.h: Regenerated.
29868         * lib/unictype/categ_Me.h: Regenerated.
29869         * lib/unictype/categ_Mn.h: Regenerated.
29870         * lib/unictype/categ_N.h: Regenerated.
29871         * lib/unictype/categ_Nd.h: Regenerated.
29872         * lib/unictype/categ_Nl.h: Regenerated.
29873         * lib/unictype/categ_No.h: Regenerated.
29874         * lib/unictype/categ_P.h: Regenerated.
29875         * lib/unictype/categ_Pd.h: Regenerated.
29876         * lib/unictype/categ_Pe.h: Regenerated.
29877         * lib/unictype/categ_Pf.h: Regenerated.
29878         * lib/unictype/categ_Pi.h: Regenerated.
29879         * lib/unictype/categ_Po.h: Regenerated.
29880         * lib/unictype/categ_Ps.h: Regenerated.
29881         * lib/unictype/categ_S.h: Regenerated.
29882         * lib/unictype/categ_Sk.h: Regenerated.
29883         * lib/unictype/categ_Sm.h: Regenerated.
29884         * lib/unictype/categ_So.h: Regenerated.
29885         * lib/unictype/categ_of.h: Regenerated.
29886         * lib/unictype/combining.h: Regenerated.
29887         * lib/unictype/ctype_alnum.h: Regenerated.
29888         * lib/unictype/ctype_alpha.h: Regenerated.
29889         * lib/unictype/ctype_graph.h: Regenerated.
29890         * lib/unictype/ctype_lower.h: Regenerated.
29891         * lib/unictype/ctype_print.h: Regenerated.
29892         * lib/unictype/ctype_punct.h: Regenerated.
29893         * lib/unictype/ctype_upper.h: Regenerated.
29894         * lib/unictype/decdigit.h: Regenerated.
29895         * lib/unictype/digit.h: Regenerated.
29896         * lib/unictype/mirror.h: Regenerated.
29897         * lib/unictype/numeric.h: Regenerated.
29898         * lib/unictype/pr_alphabetic.h: Regenerated.
29899         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29900         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29901         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29902         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29903         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29904         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29905         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29906         * lib/unictype/pr_combining.h: Regenerated.
29907         * lib/unictype/pr_dash.h: Regenerated.
29908         * lib/unictype/pr_decimal_digit.h: Regenerated.
29909         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29910         * lib/unictype/pr_deprecated.h: Regenerated.
29911         * lib/unictype/pr_diacritic.h: Regenerated.
29912         * lib/unictype/pr_extender.h: Regenerated.
29913         * lib/unictype/pr_format_control.h: Regenerated.
29914         * lib/unictype/pr_grapheme_base.h: Regenerated.
29915         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29916         * lib/unictype/pr_grapheme_link.h: Regenerated.
29917         * lib/unictype/pr_id_continue.h: Regenerated.
29918         * lib/unictype/pr_id_start.h: Regenerated.
29919         * lib/unictype/pr_ideographic.h: Regenerated.
29920         * lib/unictype/pr_ignorable_control.h: Regenerated.
29921         * lib/unictype/pr_lowercase.h: Regenerated.
29922         * lib/unictype/pr_math.h: Regenerated.
29923         * lib/unictype/pr_numeric.h: Regenerated.
29924         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29925         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29926         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29927         * lib/unictype/pr_other_id_continue.h: Regenerated.
29928         * lib/unictype/pr_other_lowercase.h: Regenerated.
29929         * lib/unictype/pr_other_math.h: Regenerated.
29930         * lib/unictype/pr_punctuation.h: Regenerated.
29931         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29932         * lib/unictype/pr_soft_dotted.h: Regenerated.
29933         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29934         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29935         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29936         * lib/unictype/pr_uppercase.h: Regenerated.
29937         * lib/unictype/pr_xid_continue.h: Regenerated.
29938         * lib/unictype/pr_xid_start.h: Regenerated.
29939         * lib/unictype/pr_zero_width.h: Regenerated.
29940         * lib/unictype/scripts.h: Regenerated.
29941         * lib/unictype/scripts_byname.gperf: Regenerated.
29942         * lib/unictype/sy_java_ident.h: Regenerated.
29943         * lib/unilbrk/lbrkprop1.h: Regenerated.
29944         * lib/unilbrk/lbrkprop2.h: Regenerated.
29945         * tests/unictype/test-categ_C.c: Regenerated.
29946         * tests/unictype/test-categ_Cf.c: Regenerated.
29947         * tests/unictype/test-categ_Cn.c: Regenerated.
29948         * tests/unictype/test-categ_L.c: Regenerated.
29949         * tests/unictype/test-categ_Ll.c: Regenerated.
29950         * tests/unictype/test-categ_Lm.c: Regenerated.
29951         * tests/unictype/test-categ_Lo.c: Regenerated.
29952         * tests/unictype/test-categ_Lu.c: Regenerated.
29953         * tests/unictype/test-categ_M.c: Regenerated.
29954         * tests/unictype/test-categ_Mc.c: Regenerated.
29955         * tests/unictype/test-categ_Me.c: Regenerated.
29956         * tests/unictype/test-categ_Mn.c: Regenerated.
29957         * tests/unictype/test-categ_N.c: Regenerated.
29958         * tests/unictype/test-categ_Nd.c: Regenerated.
29959         * tests/unictype/test-categ_Nl.c: Regenerated.
29960         * tests/unictype/test-categ_No.c: Regenerated.
29961         * tests/unictype/test-categ_P.c: Regenerated.
29962         * tests/unictype/test-categ_Pd.c: Regenerated.
29963         * tests/unictype/test-categ_Pe.c: Regenerated.
29964         * tests/unictype/test-categ_Pf.c: Regenerated.
29965         * tests/unictype/test-categ_Pi.c: Regenerated.
29966         * tests/unictype/test-categ_Po.c: Regenerated.
29967         * tests/unictype/test-categ_Ps.c: Regenerated.
29968         * tests/unictype/test-categ_S.c: Regenerated.
29969         * tests/unictype/test-categ_Sk.c: Regenerated.
29970         * tests/unictype/test-categ_Sm.c: Regenerated.
29971         * tests/unictype/test-categ_So.c: Regenerated.
29972         * tests/unictype/test-ctype_alnum.c: Regenerated.
29973         * tests/unictype/test-ctype_alpha.c: Regenerated.
29974         * tests/unictype/test-ctype_graph.c: Regenerated.
29975         * tests/unictype/test-ctype_lower.c: Regenerated.
29976         * tests/unictype/test-ctype_print.c: Regenerated.
29977         * tests/unictype/test-ctype_punct.c: Regenerated.
29978         * tests/unictype/test-ctype_upper.c: Regenerated.
29979         * tests/unictype/test-decdigit.h: Regenerated.
29980         * tests/unictype/test-digit.h: Regenerated.
29981         * tests/unictype/test-numeric.h: Regenerated.
29982         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29983         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29984         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29985         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29986         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29987         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29988         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29989         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29990         * tests/unictype/test-pr_combining.c: Regenerated.
29991         * tests/unictype/test-pr_dash.c: Regenerated.
29992         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29993         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29994         * tests/unictype/test-pr_deprecated.c: Regenerated.
29995         * tests/unictype/test-pr_diacritic.c: Regenerated.
29996         * tests/unictype/test-pr_extender.c: Regenerated.
29997         * tests/unictype/test-pr_format_control.c: Regenerated.
29998         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29999         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
30000         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
30001         * tests/unictype/test-pr_id_continue.c: Regenerated.
30002         * tests/unictype/test-pr_id_start.c: Regenerated.
30003         * tests/unictype/test-pr_ideographic.c: Regenerated.
30004         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
30005         * tests/unictype/test-pr_lowercase.c: Regenerated.
30006         * tests/unictype/test-pr_math.c: Regenerated.
30007         * tests/unictype/test-pr_numeric.c: Regenerated.
30008         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
30009         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
30010         Regenerated.
30011         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
30012         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
30013         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
30014         * tests/unictype/test-pr_other_math.c: Regenerated.
30015         * tests/unictype/test-pr_punctuation.c: Regenerated.
30016         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
30017         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
30018         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
30019         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
30020         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
30021         * tests/unictype/test-pr_uppercase.c: Regenerated.
30022         * tests/unictype/test-pr_xid_continue.c: Regenerated.
30023         * tests/unictype/test-pr_xid_start.c: Regenerated.
30024         * tests/unictype/test-pr_zero_width.c: Regenerated.
30025
30026         Update to Unicode 5.1.0.
30027         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
30028         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
30029         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
30030         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
30031         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
30032         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
30033         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
30034         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
30035         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
30036         (nonspacing_table_ind): Update.
30037         * tests/uniwidth/test-uc_width2.sh: Update expected result.
30038
30039         Update to Unicode 5.1.0.
30040         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
30041         code transform.
30042         * lib/uniname/uniname.c (unicode_character_name,
30043         unicode_name_character): Add the range 0x1Fxxx to the code transform.
30044         * lib/uniname/uninames.h: Regenerated.
30045         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
30046
30047 2009-02-07  Bruno Haible  <bruno@clisp.org>
30048
30049         Merge gen-ctype and gen-lbrk into a single program.
30050         * lib/gen-uni-tables.c: New file, incorporating
30051         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
30052         Add directory prefixes to the names of the generated files.
30053         * lib/unictype/gen-ctype.c: Remove file.
30054         * lib/unilbrk/gen-lbrk.c: Remove file.
30055         * modules/gen-uni-tables: New file.
30056         * modules/unictype/gen-ctype: Remove file.
30057         * modules/unilbrk/gen-lbrk: Remove file.
30058
30059 2009-02-07  Bruno Haible  <bruno@clisp.org>
30060
30061         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
30062
30063         New module 'unistr/u32-strcoll'.
30064         * modules/unistr/u32-strcoll: New file.
30065         * lib/unistr/u32-strcoll.c: New file.
30066
30067         New module 'unistr/u16-strcoll'.
30068         * modules/unistr/u16-strcoll: New file.
30069         * lib/unistr/u16-strcoll.c: New file.
30070
30071         New module 'unistr/u8-strcoll'.
30072         * modules/unistr/u8-strcoll: New file.
30073         * lib/unistr/u8-strcoll.c: New file.
30074         * lib/unistr/u-strcoll.h: New file.
30075
30076 2009-02-07  Bruno Haible  <bruno@clisp.org>
30077
30078         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
30079         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30080         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30081         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
30082         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
30083         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
30084
30085 2009-02-07  Bruno Haible  <bruno@clisp.org>
30086
30087         Make 64-bit clean.
30088         * lib/unictype/gen-ctype.c (output_predicate, output_category,
30089         output_combclass, output_bidi_category, output_decimal_digit,
30090         output_digit, output_numeric, output_mirror, output_scripts,
30091         output_ident_category): Use proper width specifier in format strings.
30092
30093 2009-02-07  Bruno Haible  <bruno@clisp.org>
30094
30095         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
30096         failure behaviour.
30097
30098 2009-02-07  Jim Meyering  <meyering@redhat.com>
30099
30100         regex: avoid compilation failure with upcoming gcc-4.4
30101         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
30102         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
30103         "... error: integer overflow in preprocessor expression".
30104
30105 2009-02-05  Ben Pfaff  <blp@gnu.org>
30106
30107         Fix link errors on Windows when close module is used.
30108         * modules/close: Add $(LIB_CLOSE) to Link section.
30109         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
30110         $(LIB_CLOSE) on Windows.
30111
30112 2009-02-05  Jim Meyering  <meyering@redhat.com>
30113
30114         still avoid unused-parameter warnings, but do it cleanly
30115         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
30116         (get_fs_usage): Cast to void instead.
30117         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
30118         (dev_from_mount_options, read_file_system_list): Cast to void.
30119         Prompted by Bruno Haible.
30120
30121 2009-02-04  Jim Meyering  <meyering@redhat.com>
30122
30123         fsusage.c: correct copyright year
30124         * lib/fsusage.c: Reflect year in which the change is pushed into
30125
30126         avoid misc. warnings
30127         * lib/fsusage.c (UNUSED_PARAM): Define.
30128         (get_fs_usage): Mark parameter "disk" as unused.
30129         * lib/getugroups.c (getgrent): Use "void" in prototype.
30130         * lib/mountlist.c: Mark unused parameters.
30131         (read_file_system_list): Declare a local with "const".
30132         * lib/nanosleep.c (getnow): Declare static.
30133         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
30134
30135         dirfd: set errno upon failure
30136         * lib/dirfd.c: Include <errno.h>.
30137         Set errno to ENOTSUP when returning -1.
30138         * modules/dirfd (Depends-on): Add errno.
30139         Suggested by John Kodis <kodis@comcast.net>.
30140
30141 2009-02-01  Bruno Haible  <bruno@clisp.org>
30142
30143         Don't assume sizeof (long) >= sizeof (void *).
30144         * lib/memcmp.c: Include stdint.h.
30145         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
30146         srcp2 to 'const byte *'.
30147         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
30148         types to uintptr_t.
30149         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
30150         * modules/memcmp (Depends-on): Add stdint.
30151         Reported by Ozkan Sezer <sezeroz@gmail.com>.
30152
30153 2009-01-30  Eric Blake  <ebb9@byu.net>
30154
30155         fix more require-before-expand issues
30156         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
30157         expand, AC_PROG_AWK.
30158         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
30159
30160 2009-01-28  Eric Blake  <ebb9@byu.net>
30161
30162         version-etc: use consistent URL formatting
30163         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
30164         Improve formatting.  Use fputs for string without %.
30165
30166 2009-01-28  Jim Meyering  <meyering@redhat.com>
30167
30168         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
30169         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
30170         "underquoted definition of NAME" from autoconf-2.59.
30171
30172 2009-01-28  Bruno Haible  <bruno@clisp.org>
30173
30174         * doc/gnulib.texi: Add "Obsolete modules" to index.
30175
30176 2009-01-28  Jim Meyering  <meyering@redhat.com>
30177
30178         useless-if-before-free: recognize more variants
30179         * build-aux/useless-if-before-free: Also recognize e.g.,
30180         if (NULL != p) free (p);
30181
30182 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
30183
30184         test-getaddrinfo: skip (don't fail) this test when there's no network
30185         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
30186         on the presumption that it means you lack network access.
30187
30188 2009-01-26  Jim Meyering  <meyering@redhat.com>
30189
30190         fflush: avoid warnings on modern systems
30191         * lib/fflush.c (rpl_fflush): Move declarations of locals,
30192         pos and result, into scopes where they're used.
30193
30194 2009-01-26  Eric Blake  <ebb9@byu.net>
30195
30196         Silence warning reintroduced by recent extensions patch.
30197         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
30198         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
30199         autoconf.
30200
30201         Backport improved autoconf semantics of AC_DEFUN_ONCE.
30202         * m4/00gnulib.m4: New file.
30203         * gnulib-tool (func_get_filelist): Always use it.
30204         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
30205         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
30206
30207 2009-01-25  Bruno Haible  <bruno@clisp.org>
30208
30209         Make test-quotearg work on MacOS X and AIX.
30210         * tests/test-quotearg.sh: New file.
30211         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
30212         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
30213         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
30214         include <libintl.h>.
30215         (fake_locale): Remove variable.
30216         (gettext, dgettext, dcgettext): Remove functions.
30217         (main): Instead of setting a fake locale, set a real locale. Call
30218         textdomain and bindtextdomain.
30219         * modules/quotearg-tests (Files): Add the new files.
30220         (Depends-on): Add gettext, setenv, unsetenv.
30221         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
30222         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
30223         Augment TESTS_ENVIRONMENT.
30224
30225 2009-01-25  Bruno Haible  <bruno@clisp.org>
30226
30227         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
30228         fr_FR.ISO8859-1 locale on MacOS X.
30229         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
30230         ja_JP.eucJP locale on MacOS X.
30231         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
30232         zh_CN.GB18030 locale on MacOS X.
30233
30234 2009-01-25  Bruno Haible  <bruno@clisp.org>
30235
30236         Avoid link errors on MacOS X 10.3.
30237         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
30238         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30239
30240 2009-01-25  Bruno Haible  <bruno@clisp.org>
30241
30242         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30243         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
30244         * modules/pipe (Files): Remove m4/posix_spawn.m4.
30245         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30246         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
30247         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30248         posix_spawnattr_init, posix_spawnattr_setsigmask,
30249         posix_spawnattr_setflags, posix_spawnattr_destroy.
30250
30251         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30252         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
30253         * modules/execute (Files): Remove m4/posix_spawn.m4.
30254         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30255         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30256         posix_spawnattr_init, posix_spawnattr_setsigmask,
30257         posix_spawnattr_setflags, posix_spawnattr_destroy.
30258
30259 2009-01-25  Bruno Haible  <bruno@clisp.org>
30260
30261         * lib/glthread/threadlib.c: Include <stdlib.h>.
30262
30263 2009-01-25  Bruno Haible  <bruno@clisp.org>
30264
30265         * lib/glthread/threadlib.c (dummy): New declaration.
30266
30267 2009-01-25  Bruno Haible  <bruno@clisp.org>
30268
30269         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
30270         multibyte characters also for the GB18030 encoding. Don't crash when
30271         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
30272
30273 2009-01-25  Bruno Haible  <bruno@clisp.org>
30274
30275         Avoid redefining 'struct random_data' on OSF/1 5.1.
30276         * lib/stdlib.in.h: Include <random.h> if it exists.
30277         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
30278         HAVE_RANDOM_H. Include <random.h> when testing whether
30279         'struct random_data' exists.
30280         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
30281
30282 2009-01-25  Bruno Haible  <bruno@clisp.org>
30283
30284         Don't install charset.alias on MacOS X >= 10.3.
30285         * lib/localcharset.c (DARWIN7): New macro.
30286         (get_charset_aliases): Hardcode the result for Darwin7.
30287         * modules/localcharset (install-exec-local): Don't install
30288         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
30289
30290 2009-01-25  Bruno Haible  <bruno@clisp.org>
30291
30292         Don't install charset.alias on mingw and Cygwin.
30293         * modules/localcharset (install-exec-local): Don't install
30294         charset.alias on mingw and Cygwin, if the file does not yet exist.
30295         The result for these platforms is hardcoded in localcharset.c.
30296
30297 2009-01-25  Bruno Haible  <bruno@clisp.org>
30298
30299         Make it possible again to use AC_GNU_SOURCE together with gnulib.
30300         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
30301         before requiring AC_USE_SYSTEM_EXTENSIONS.
30302
30303 2009-01-25  Jim Meyering  <meyering@redhat.com>
30304
30305         c-strtod: avoid warnings
30306         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
30307         "assignment discards qualifiers from pointer target type" warnings.
30308
30309 2009-01-24  Bruno Haible  <bruno@clisp.org>
30310
30311         Add support for non-UTF-8 locales on MacOS X.
30312         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
30313         canonical encodings. For Darwin 7 and newer, don't map traditional
30314         encodings to UTF-8.
30315         Reported by Vincent Lefevre <vincent@vinc17.org>
30316         at <http://savannah.gnu.org/bugs/?25235>.
30317
30318 2009-01-24  Bruno Haible  <bruno@clisp.org>
30319
30320         * doc/gnulib.texi (Obsolete modules): New section.
30321         Reported by Mike Frysinger <vapier@gentoo.org>.
30322
30323 2009-01-24  Bruno Haible  <bruno@clisp.org>
30324
30325         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
30326         (%.dvi): New rule.
30327
30328 2009-01-24  Bruno Haible  <bruno@clisp.org>
30329
30330         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
30331         Reported by Eric Blake.
30332
30333 2009-01-24  Bruno Haible  <bruno@clisp.org>
30334
30335         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
30336         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
30337         Reported by Gary V. Vaughan <gary@gnu.org>.
30338
30339 2009-01-24  Bruno Haible  <bruno@clisp.org>
30340
30341         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
30342
30343 2009-01-23  Bruno Haible  <bruno@clisp.org>
30344
30345         Make c-strtod, c-strtold usable in libraries.
30346         * lib/c-strtod.c: Include string.h instead of xalloc.h.
30347         (C_STRTOD): Call strdup instead of xstrdup.
30348         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
30349         * modules/c-strtold (Depends-on): Likewise.
30350         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
30351         * NEWS: Mention the change.
30352         Reported by Michael Gold <mgold@ncf.ca>.
30353
30354 2009-01-23  Jim Meyering  <meyering@redhat.com>
30355
30356         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
30357         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
30358         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
30359
30360 2009-01-23  Simon Josefsson  <simon@josefsson.org>
30361
30362         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
30363         GNU CoreUtils.
30364         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
30365         * modules/version-etc (Description): Update.
30366
30367 2009-01-22  Bruno Haible  <bruno@clisp.org>
30368
30369         Cache the C locale object.
30370         * lib/c-strtod.c (c_locale_cache): New variable.
30371         (c_locale): New function.
30372         (C_STRTOD): Use it, and don't call freelocale.
30373         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
30374         Suggested by Paolo Bonzini.
30375
30376 2009-01-21  Bruno Haible  <bruno@clisp.org>
30377
30378         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
30379         conditions other than overflow.
30380
30381 2009-01-21  Bruno Haible  <bruno@clisp.org>
30382
30383         * lib/c-strtod.c: Include errno.h.
30384         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
30385         value from STRTOD_L and STRTOD.
30386
30387 2009-01-21  Bruno Haible  <bruno@clisp.org>
30388         and Jim Meyering  <meyering@redhat.com>
30389
30390         nanosleep: skip configure test (fail it) for apple universal builds
30391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
30392         universal builds, assume that nanosleep does not work.
30393         * modules/nanosleep (Depends-on): Add multiarch.
30394
30395         mktime: skip configure test (fail it) for apple universal builds
30396         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
30397         universal builds, assume that mktime does not work.
30398         * modules/mktime (Depends-on): Add multiarch.
30399
30400 2009-01-21  Eric Blake  <ebb9@byu.net>
30401
30402         multiarch: avoid expand-before-require warning
30403         * modules/multiarch (configure.ac): Require, rather than expand,
30404         gl_MULTIARCH.
30405         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
30406         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
30407         enforce that all clients require it.  Partial reversion of
30408         2008-12-29 patch.
30409
30410         error: avoid expand-before-require warning
30411         * modules/errno (configure.ac): Require, rather than expand,
30412         gl_HEADER_ERRNO_H.
30413         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
30414         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
30415         enforce that all clients require it.
30416
30417         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
30418         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
30419         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
30420         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
30421
30422 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
30423
30424         Revert:
30425         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30426
30427         regex: do not depend on obsolete modules.
30428         * modules/regex: Remove memcmp and memmove.
30429
30430 2009-01-20  Bruno Haible  <bruno@clisp.org>
30431
30432         Make the 'link' module link on Windows NT 4.
30433         * lib/link.c (_WIN32_WINNT): Don't define.
30434         (CreateHardLinkFuncType): New type.
30435         (CreateHardLinkFunc, initialized): New variables.
30436         (initialize): New function.
30437         (link): Invoke CreateHardLink indirectly through the function pointer.
30438
30439 2009-01-20  Bruno Haible  <bruno@clisp.org>
30440
30441         Fix compilation failure on mingw.
30442         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
30443
30444 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
30445
30446         * doc/c-strtod.texi: Mention a couple of restrictions.
30447
30448 2009-01-20  Jim Meyering  <meyering@redhat.com>
30449
30450         gettimeofday: move more declarations out of functions
30451         * lib/gettimeofday.c: Move extern declarations of tzset and
30452         gmtime out of containing functions.  Prompted by Bruno Haible.
30453
30454 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
30455
30456         regex: do not depend on obsolete modules.
30457         * modules/regex: Remove memcmp and memmove.
30458
30459 2009-01-19  Bruno Haible  <bruno@clisp.org>
30460
30461         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30462         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
30463         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30464         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
30465         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
30466
30467 2009-01-19  Bruno Haible  <bruno@clisp.org>
30468
30469         * tests/test-link.c: Include <errno.h>.
30470         (main): Exit with code 77 when a hard link cannot be created due to
30471         the file system.
30472         * tests/test-link.sh: Skip test when a hard link cannot be created due
30473         to the file system.
30474         Suggested by Eric Blake.
30475
30476 2009-01-19  Martin Lambers  <marlam@marlam.de>
30477
30478         * modules/link-tests: New file.
30479         * tests/test-link.sh: New file.
30480         * tests/test-link.c: New file.
30481
30482 2009-01-19  Eric Blake  <ebb9@byu.net>
30483
30484         doc: mention another function added in cygwin 1.7.0
30485         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
30486         Another new function in cygwin 1.7.
30487
30488 2009-01-19  Bruno Haible  <bruno@clisp.org>
30489
30490         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
30491         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
30492         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
30493         gl_BIGENDIAN, not AC_C_BIGENDIAN.
30494         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30495         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
30496         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30497         * m4/md4.m4 (gl_MD4): Likewise.
30498         * m4/md5.m4 (gl_MD5): Likewise.
30499         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
30500         * m4/sha1.m4 (gl_SHA1): Likewise.
30501         * m4/sha256.m4 (gl_SHA256): Likewise.
30502         * m4/sha512.m4 (gl_SHA512): Likewise.
30503
30504 2009-01-19  Bruno Haible  <bruno@clisp.org>
30505
30506         * modules/uniname/uniname-tests (Depends-on): Add progname.
30507         * tests/uniname/test-uninames.c: Include progname.h.
30508         (main): Call set_program_name.
30509
30510         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
30511         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
30512         (main): Call set_program_name.
30513
30514         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
30515         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
30516         (main): Call set_program_name.
30517
30518         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
30519         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
30520         (main): Call set_program_name.
30521
30522         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
30523         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
30524         (main): Call set_program_name.
30525
30526         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
30527         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
30528         (main): Call set_program_name.
30529
30530         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
30531         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
30532         (main): Call set_program_name.
30533
30534         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
30535         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
30536         (main): Call set_program_name.
30537
30538         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
30539         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
30540         (main): Call set_program_name.
30541
30542 2009-01-19  Eric Blake  <ebb9@byu.net>
30543
30544         test-unistd: test previous patch
30545         * tests/test-unistd.c: Test *_FILENO macros.
30546
30547         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
30548         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30549         Guarantee a definition.
30550         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
30551         * modules/unistd-safer (Depends-on): Add dependency on unistd.
30552         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
30553         * lib/dup-safer.c (STDERR_FILENO): Likewise.
30554         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30555         Likewise.
30556         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
30557         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
30558         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
30559         Likewise.
30560         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
30561         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
30562         (STDERR_FILENO): Likewise.
30563         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
30564         (STDERR_FILENO): Likewise.
30565         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
30566         (STDERR_FILENO): Likewise.
30567         Reported by Elbert Pol.
30568
30569 2009-01-19  Eric Blake  <ebb9@byu.net>
30570
30571         doc: mention more functions added in cygwin 1.7.0
30572         * doc/posix-functions/abort.texi (abort): Update wording related
30573         to cygwin.
30574         * doc/posix-functions/daylight.texi (daylight): Likewise.
30575         * doc/posix-functions/optarg.texi (optarg): Likewise.
30576         * doc/posix-functions/optarg.texi (opterr): Likewise.
30577         * doc/posix-functions/optarg.texi (optind): Likewise.
30578         * doc/posix-functions/optarg.texi (optopt): Likewise.
30579         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
30580         worked in 1.5.x, and was withdrawn in 1.7.
30581         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
30582         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
30583         cygwin versions.
30584         * doc/posix-functions/perror.texi (perror): Likewise.
30585         * doc/posix-functions/printf.texi (printf): Likewise.
30586         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
30587         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
30588         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
30589         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
30590         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
30591         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
30592         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
30593         Likewise.
30594         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
30595         Likewise.
30596         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
30597         this function.
30598         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
30599         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
30600         Likewise.
30601         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
30602         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
30603         * doc/posix-functions/confstr.texi (confstr): Likewise.
30604         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
30605         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
30606         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
30607         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
30608         * doc/posix-functions/fputws.texi (fputws): Likewise.
30609         * doc/posix-functions/fwide.texi (fwide): Likewise.
30610         * doc/posix-functions/getwc.texi (getwc): Likewise.
30611         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
30612         * doc/posix-functions/putwc.texi (putwc): Likewise.
30613         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
30614         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
30615         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
30616         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
30617         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
30618         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
30619         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
30620         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
30621         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
30622         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
30623         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
30624
30625 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30626
30627         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
30628         * lib/ioctl.c: Include <sys/ioctl.h>.
30629
30630 2009-01-19  Simon Josefsson  <simon@josefsson.org>
30631
30632         * modules/getdate-tests (Depends-on): Add progname.
30633         * tests/test-getdate.c: Use progname module, to avoid link errors
30634         on non-glibc systems.
30635
30636 2009-01-18  Simon Josefsson  <simon@josefsson.org>
30637
30638         * modules/filenamecat-tests (Depends-on): Add progname.
30639         * modules/fstrcmp-tests (Depends-on): Likewise.
30640
30641         * tests/test-filenamecat.c: Use progname module, to avoid link
30642         errors on non-glibc systems.
30643         * tests/test-fstrcmp.c: Likewise.
30644
30645 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
30646
30647         gettimeofday: avoid warning: nested extern declaration of 'localtime'
30648         * lib/gettimeofday.c: Move extern declaration out of function.
30649
30650 2009-01-18  Bruno Haible  <bruno@clisp.org>
30651
30652         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
30653         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
30654         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
30655
30656 2009-01-18  Bruno Haible  <bruno@clisp.org>
30657
30658         * lib/strftime.c (MEMPCPY): Remove unused macro.
30659         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
30660
30661 2009-01-18  Martin Lambers  <marlam@marlam.de>
30662
30663         New module 'link'.
30664         * lib/unistd.in.h (link): New declaration.
30665         * lib/link.c: New file.
30666         * m4/link.m4: New file.
30667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
30668         HAVE_LINK.
30669         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
30670         * modules/link: New file.
30671         * doc/posix-functions/link.texi: Mention the new module.
30672
30673 2009-01-18  Bruno Haible  <bruno@clisp.org>
30674
30675         * tests/test-avltree_list.c (main): Call set_program_name.
30676         * tests/test-avltree_oset.c (main): Likewise.
30677         * tests/test-obstack-printf.c: Include progname.h.
30678         (main): Call set_program_name.
30679         * tests/test-quotearg.c: Include progname.h.
30680         (main): Call set_program_name.
30681         * tests/test-xmemdup0.c: Include progname.h.
30682         (main): Call set_program_name.
30683
30684 2009-01-18  Bruno Haible  <bruno@clisp.org>
30685
30686         New module 'alphasort'.
30687         * lib/dirent.in.h (alphasort): New declaration.
30688         * lib/alphasort.c: New file, from glibc with modifications.
30689         * m4/alphasort.m4: New file.
30690         * modules/alphasort: New file.
30691         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
30692         HAVE_ALPHASORT.
30693         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
30694         HAVE_ALPHASORT.
30695         * doc/posix-functions/alphasort.texi: Mention the new module and the
30696         portability problems.
30697
30698 2009-01-18  Bruno Haible  <bruno@clisp.org>
30699
30700         New module 'scandir'.
30701         * lib/dirent.in.h (scandir): New declaration.
30702         * lib/scandir.c: New file, from glibc with modifications.
30703         * m4/scandir.m4: New file.
30704         * modules/scandir: New file.
30705         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
30706         HAVE_SCANDIR.
30707         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
30708         HAVE_SCANDIR.
30709         * doc/posix-functions/scandir.texi: Mention the new module and the
30710         portability problems.
30711
30712 2009-01-17  Bruno Haible  <bruno@clisp.org>
30713
30714         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
30715         Update documentation.
30716         (func_remove_suffix): Escape all dots in the suffix. Update
30717         documentation.
30718         (func_filter_filelist): Update documentation.
30719         Reported by Ralf Wildenhues.
30720
30721 2009-01-17  Bruno Haible  <bruno@clisp.org>
30722
30723         * modules/dprintf-posix-tests: New file.
30724         * tests/test-dprintf-posix.sh: New file.
30725         * tests/test-dprintf-posix.c: New file.
30726
30727         New modules 'dprintf', 'dprintf-posix'.
30728         * lib/stdio.in.h (dprintf): New declaration.
30729         * lib/dprintf.c: New file.
30730         * m4/dprintf.m4: New file.
30731         * m4/dprintf-posix.m4: New file.
30732         * modules/dprintf: New file.
30733         * modules/dprintf-posix: New file.
30734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
30735         HAVE_DPRINTF, REPLACE_DPRINTF.
30736         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
30737         HAVE_DPRINTF, REPLACE_DPRINTF.
30738         * doc/posix-functions/dprintf.texi: Mention the new modules.
30739
30740 2009-01-17  Bruno Haible  <bruno@clisp.org>
30741
30742         * modules/vdprintf-posix-tests: New file.
30743         * tests/test-vdprintf-posix.sh: New file.
30744         * tests/test-vdprintf-posix.c: New file.
30745
30746         New modules 'vdprintf', 'vdprintf-posix'.
30747         * lib/stdio.in.h (vdprintf): New declaration.
30748         * lib/vdprintf.c: New file.
30749         * m4/vdprintf.m4: New file.
30750         * m4/vdprintf-posix.m4: New file.
30751         * modules/vdprintf: New file.
30752         * modules/vdprintf-posix: New file.
30753         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
30754         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30755         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
30756         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30757         * doc/posix-functions/vdprintf.texi: Mention the new modules.
30758
30759 2009-01-17  Bruno Haible  <bruno@clisp.org>
30760
30761         Fix replacement of fopen on mingw.
30762         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
30763         mingw.
30764
30765 2009-01-17  Bruno Haible  <bruno@clisp.org>
30766
30767         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30768         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30769
30770 2009-01-17  Bruno Haible  <bruno@clisp.org>
30771
30772         Avoid test-fflush2.sh failure on mingw.
30773         * tests/test-fflush2.c: Include binary-io.h.
30774         (main): Put standard input into binary mode.
30775         * modules/fflush-tests (Depends-on): Add binary-io.
30776
30777 2009-01-17  Bruno Haible  <bruno@clisp.org>
30778
30779         * lib/wchar.in.h: In another particular situation, include only the
30780         system's <wchar.h> file.
30781         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30782         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30783         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30784
30785 2009-01-17  Bruno Haible  <bruno@clisp.org>
30786
30787         Support for stripping executables in --enable-relocatable.
30788         * build-aux/install-reloc: Expect one more argument, or an environment
30789         variable RELOC_STRIP_PROG. If set, strip the destination program and
30790         its wrapper.
30791         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30792         RELOC_STRIP_PROG.
30793         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30794         to set RELOCATABLE_STRIP.
30795         * NEWS: Mention the new Makefile requirement.
30796
30797 2009-01-17  Bruno Haible  <bruno@clisp.org>
30798
30799         * build-aux/install-reloc: Remove debugging information left over by
30800         C compiler on MacOS X.
30801
30802 2009-01-17  Bruno Haible  <bruno@clisp.org>
30803
30804         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30805         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30806         _NSGetExecutablePath.
30807
30808 2009-01-16  Jim Meyering  <meyering@redhat.com>
30809
30810         strerror: avoid warnings about discarding "const"
30811         * lib/strerror.c (rpl_strerror): Instead of returning a const
30812         string from each and every "case", use a variable, and add a single
30813         cast after the switch.
30814
30815 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30816
30817         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30818
30819 2009-01-16  Bruno Haible  <bruno@clisp.org>
30820
30821         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30822         array initializer syntax that also works in C++ mode.
30823         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30824
30825 2009-01-16  Jim Meyering  <meyering@redhat.com>
30826
30827         poll: suppress a warning
30828         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30829         to ignore "...unsigned expression < 0 is always false" warnings.
30830
30831 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30832
30833         poll: remove declarations of unused variables
30834         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30835         sockbuf and optlen.
30836
30837 2009-01-15  Bruno Haible  <bruno@clisp.org>
30838
30839         Make fflush-after-ungetc POSIX compliant on BSD systems.
30840         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30841         (clear_ungetc_buffer): Implement also for other systems.
30842         (rpl_fflush): On glibc systems, invoke
30843         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30844         clear_ungetc_buffer after fetching the stream's position, not before.
30845
30846 2009-01-15  Bruno Haible  <bruno@clisp.org>
30847
30848         Make fflush-after-ungetc POSIX compliant on glibc systems.
30849         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30850         after ungetc.
30851         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30852         (rpl_fflush): On glibc systems, simply call the system's fflush
30853         function after clearing the ungetc buffer.
30854         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30855         Instead, lseek only to the end of file, then use the system's fseeko
30856         for the rest. On glibc systems, reset the EOF indicator bit.
30857
30858 2009-01-15  Jim Meyering  <meyering@redhat.com>
30859
30860         openmp.m4: revert quote-adding change, for portability to older autoconf
30861         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30862         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30863         Simon Josefsson noticed the problem when using autoconf-2.61.
30864
30865 2009-01-15  Bruno Haible  <bruno@clisp.org>
30866
30867         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30868         * tests/test-fflush2.c (ASSERT): Always fail.
30869         (main): Add two tests for fflush() after ungetc(), taking into account
30870         the Austin Group's clarification.
30871         Suggested by Eric Blake.
30872
30873 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30874
30875         mktime.m4: remove K&R-style function prototypes
30876         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30877         for the Sun C++ compiler.
30878
30879 2009-01-14  Bruno Haible  <bruno@clisp.org>
30880
30881         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30882         while including <wchar.h>.
30883         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30884         the system's <wchar.h> file.
30885         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30886
30887 2009-01-14  Bruno Haible  <bruno@clisp.org>
30888
30889         * m4/csharp.m4: Don't mention gettext on the serial number line.
30890         * m4/csharpexec.m4: Likewise.
30891         * m4/eaccess.m4: Likewise.
30892         * m4/javaexec.m4: Likewise.
30893         * m4/sig_atomic_t.m4: Likewise.
30894         * m4/tmpdir.m4: Likewise.
30895         * m4/intldir.m4: Bump gettext version.
30896         * m4/lib-ld.m4: Likewise.
30897
30898 2009-01-14  Bruno Haible  <bruno@clisp.org>
30899
30900         * lib/progname.c (set_program_name): Add more comments.
30901         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30902
30903 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30904
30905         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30906         were sys/stat.h does not define it.
30907
30908 2009-01-14  Jim Meyering  <meyering@redhat.com>
30909
30910         many *.m4 files: improve m4 quoting
30911         99% of this change was performed by running the following commands:
30912         git ls-files | grep '\.m4$' | xargs perl -pi \
30913           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30914           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30915           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30916           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30917         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30918         The remainder were to add Copyright dates, increment serial numbers,
30919         undo some changes in comments, exclude m4/intl.m4, and add quotes
30920         around the "1" in ",1" where the unusual spacing prohibited the
30921         above regexps from doing the job.  For more details, see
30922         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30923         * m4/acl.m4: Modified.
30924         * m4/afs.m4: Likewise.
30925         * m4/alloca.m4: Likewise.
30926         * m4/argp.m4: Likewise.
30927         * m4/argz.m4: Likewise.
30928         * m4/atexit.m4: Likewise.
30929         * m4/bison-i18n.m4: Likewise.
30930         * m4/bison.m4: Likewise.
30931         * m4/byteswap.m4: Likewise.
30932         * m4/c-stack.m4: Likewise.
30933         * m4/c-strtod.m4: Likewise.
30934         * m4/calloc.m4: Likewise.
30935         * m4/canonicalize-lgpl.m4: Likewise.
30936         * m4/chown.m4: Likewise.
30937         * m4/clock_time.m4: Likewise.
30938         * m4/codeset.m4: Likewise.
30939         * m4/copy-file.m4: Likewise.
30940         * m4/csharp.m4: Likewise.
30941         * m4/csharpcomp.m4: Likewise.
30942         * m4/csharpexec.m4: Likewise.
30943         * m4/d-ino.m4: Likewise.
30944         * m4/d-type.m4: Likewise.
30945         * m4/dirfd.m4: Likewise.
30946         * m4/double-slash-root.m4: Likewise.
30947         * m4/eaccess.m4: Likewise.
30948         * m4/eealloc.m4: Likewise.
30949         * m4/environ.m4: Likewise.
30950         * m4/errno_h.m4: Likewise.
30951         * m4/euidaccess.m4: Likewise.
30952         * m4/execute.m4: Likewise.
30953         * m4/fatal-signal.m4: Likewise.
30954         * m4/fchdir.m4: Likewise.
30955         * m4/fcntl_h.m4: Likewise.
30956         * m4/fileblocks.m4: Likewise.
30957         * m4/filenamecat.m4: Likewise.
30958         * m4/findprog.m4: Likewise.
30959         * m4/flexmember.m4: Likewise.
30960         * m4/fnmatch.m4: Likewise.
30961         * m4/fopen.m4: Likewise.
30962         * m4/fpending.m4: Likewise.
30963         * m4/fprintf-posix.m4: Likewise.
30964         * m4/free.m4: Likewise.
30965         * m4/frexp.m4: Likewise.
30966         * m4/frexpl.m4: Likewise.
30967         * m4/fsusage.m4: Likewise.
30968         * m4/ftruncate.m4: Likewise.
30969         * m4/gc-camellia.m4: Likewise.
30970         * m4/gc-random.m4: Likewise.
30971         * m4/gc.m4: Likewise.
30972         * m4/getaddrinfo.m4: Likewise.
30973         * m4/getcwd-abort-bug.m4: Likewise.
30974         * m4/getcwd-path-max.m4: Likewise.
30975         * m4/getdate.m4: Likewise.
30976         * m4/getdomainname.m4: Likewise.
30977         * m4/getgroups.m4: Likewise.
30978         * m4/gethostname.m4: Likewise.
30979         * m4/gethrxtime.m4: Likewise.
30980         * m4/getline.m4: Likewise.
30981         * m4/getloadavg.m4: Likewise.
30982         * m4/getndelim2.m4: Likewise.
30983         * m4/getpass.m4: Likewise.
30984         * m4/gettext.m4: Likewise.
30985         * m4/gettime.m4: Likewise.
30986         * m4/gettimeofday.m4: Likewise.
30987         * m4/gnulib-common.m4: Likewise.
30988         * m4/group-member.m4: Likewise.
30989         * m4/host-os.m4: Likewise.
30990         * m4/iconv.m4: Likewise.
30991         * m4/iconv_open.m4: Likewise.
30992         * m4/inet_ntop.m4: Likewise.
30993         * m4/inet_pton.m4: Likewise.
30994         * m4/inline.m4: Likewise.
30995         * m4/intldir.m4: Likewise.
30996         * m4/intlmacosx.m4: Likewise.
30997         * m4/intmax.m4: Likewise.
30998         * m4/intmax_t.m4: Likewise.
30999         * m4/inttypes.m4: Likewise.
31000         * m4/inttypes_h.m4: Likewise.
31001         * m4/inttypes-pri.m4: Likewise.
31002         * m4/isapipe.m4: Likewise.
31003         * m4/isnand.m4: Likewise.
31004         * m4/isnanf.m4: Likewise.
31005         * m4/isnanl.m4: Likewise.
31006         * m4/javacomp.m4: Likewise.
31007         * m4/javaexec.m4: Likewise.
31008         * m4/jm-winsz1.m4: Likewise.
31009         * m4/jm-winsz2.m4: Likewise.
31010         * m4/lchown.m4: Likewise.
31011         * m4/lcmessage.m4: Likewise.
31012         * m4/ldexpl.m4: Likewise.
31013         * m4/lib-ld.m4: Likewise.
31014         * m4/lib-link.m4: Likewise.
31015         * m4/libsigsegv.m4: Likewise.
31016         * m4/link-follow.m4: Likewise.
31017         * m4/localcharset.m4: Likewise.
31018         * m4/locale-fr.m4: Likewise.
31019         * m4/locale-ja.m4: Likewise.
31020         * m4/locale-tr.m4: Likewise.
31021         * m4/locale-zh.m4: Likewise.
31022         * m4/lock.m4: Likewise.
31023         * m4/longlong.m4: Likewise.
31024         * m4/ls-mntd-fs.m4: Likewise.
31025         * m4/lstat.m4: Likewise.
31026         * m4/malloc.m4: Likewise.
31027         * m4/mathl.m4: Likewise.
31028         * m4/mbrtowc.m4: Likewise.
31029         * m4/mbstate_t.m4: Likewise.
31030         * m4/mbswidth.m4: Likewise.
31031         * m4/memchr.m4: Likewise.
31032         * m4/memcmp.m4: Likewise.
31033         * m4/memcpy.m4: Likewise.
31034         * m4/memmem.m4: Likewise.
31035         * m4/memmove.m4: Likewise.
31036         * m4/mempcpy.m4: Likewise.
31037         * m4/memrchr.m4: Likewise.
31038         * m4/memset.m4: Likewise.
31039         * m4/minmax.m4: Likewise.
31040         * m4/mkdir-slash.m4: Likewise.
31041         * m4/mkdtemp.m4: Likewise.
31042         * m4/mktime.m4: Likewise.
31043         * m4/mmap-anon.m4: Likewise.
31044         * m4/mountlist.m4: Likewise.
31045         * m4/nanosleep.m4: Likewise.
31046         * m4/nls.m4: Likewise.
31047         * m4/nocrash.m4: Likewise.
31048         * m4/open.m4: Likewise.
31049         * m4/openat.m4: Likewise.
31050         * m4/openmp.m4: Likewise.
31051         * m4/pathmax.m4: Likewise.
31052         * m4/perl.m4: Likewise.
31053         * m4/physmem.m4: Likewise.
31054         * m4/pipe.m4: Likewise.
31055         * m4/po.m4: Likewise.
31056         * m4/poll.m4: Likewise.
31057         * m4/posixtm.m4: Likewise.
31058         * m4/posixver.m4: Likewise.
31059         * m4/printf-frexp.m4: Likewise.
31060         * m4/printf-frexpl.m4: Likewise.
31061         * m4/printf-posix.m4: Likewise.
31062         * m4/printf-posix-rpl.m4: Likewise.
31063         * m4/printf.m4: Likewise.
31064         * m4/progtest.m4: Likewise.
31065         * m4/putenv.m4: Likewise.
31066         * m4/readline.m4: Likewise.
31067         * m4/readlink.m4: Likewise.
31068         * m4/readutmp.m4: Likewise.
31069         * m4/realloc.m4: Likewise.
31070         * m4/regex.m4: Likewise.
31071         * m4/relocatable.m4: Likewise.
31072         * m4/relocatable-lib.m4: Likewise.
31073         * m4/rename-dest-slash.m4: Likewise.
31074         * m4/rename.m4: Likewise.
31075         * m4/rmdir-errno.m4: Likewise.
31076         * m4/rmdir.m4: Likewise.
31077         * m4/roundf.m4: Likewise.
31078         * m4/roundl.m4: Likewise.
31079         * m4/rpmatch.m4: Likewise.
31080         * m4/save-cwd.m4: Likewise.
31081         * m4/selinux-selinux-h.m4: Likewise.
31082         * m4/setenv.m4: Likewise.
31083         * m4/settime.m4: Likewise.
31084         * m4/sig2str.m4: Likewise.
31085         * m4/sig_atomic_t.m4: Likewise.
31086         * m4/signalblocking.m4: Likewise.
31087         * m4/signbit.m4: Likewise.
31088         * m4/sigpipe.m4: Likewise.
31089         * m4/sockets.m4: Likewise.
31090         * m4/sockpfaf.m4: Likewise.
31091         * m4/st_dm_mode.m4: Likewise.
31092         * m4/stat-time.m4: Likewise.
31093         * m4/stdbool.m4: Likewise.
31094         * m4/stdint.m4: Likewise.
31095         * m4/stdint_h.m4: Likewise.
31096         * m4/stpcpy.m4: Likewise.
31097         * m4/stpncpy.m4: Likewise.
31098         * m4/strcase.m4: Likewise.
31099         * m4/strchrnul.m4: Likewise.
31100         * m4/strcspn.m4: Likewise.
31101         * m4/strdup.m4: Likewise.
31102         * m4/strftime.m4: Likewise.
31103         * m4/strndup.m4: Likewise.
31104         * m4/strnlen.m4: Likewise.
31105         * m4/strpbrk.m4: Likewise.
31106         * m4/strptime.m4: Likewise.
31107         * m4/strsep.m4: Likewise.
31108         * m4/strtod.m4: Likewise.
31109         * m4/strtoimax.m4: Likewise.
31110         * m4/strtok_r.m4: Likewise.
31111         * m4/strtol.m4: Likewise.
31112         * m4/strtoll.m4: Likewise.
31113         * m4/strtoul.m4: Likewise.
31114         * m4/strtoull.m4: Likewise.
31115         * m4/strtoumax.m4: Likewise.
31116         * m4/strverscmp.m4: Likewise.
31117         * m4/threadlib.m4: Likewise.
31118         * m4/timegm.m4: Likewise.
31119         * m4/tm_gmtoff.m4: Likewise.
31120         * m4/tmpdir.m4: Likewise.
31121         * m4/tmpfile.m4: Likewise.
31122         * m4/tzset.m4: Likewise.
31123         * m4/uintmax_t.m4: Likewise.
31124         * m4/unlinkdir.m4: Likewise.
31125         * m4/unlocked-io.m4: Likewise.
31126         * m4/uptime.m4: Likewise.
31127         * m4/userspec.m4: Likewise.
31128         * m4/utimbuf.m4: Likewise.
31129         * m4/utime.m4: Likewise.
31130         * m4/utimes-null.m4: Likewise.
31131         * m4/utimes.m4: Likewise.
31132         * m4/vararrays.m4: Likewise.
31133         * m4/vasnprintf.m4: Likewise.
31134         * m4/vfprintf-posix.m4: Likewise.
31135         * m4/vprintf-posix.m4: Likewise.
31136         * m4/wait-process.m4: Likewise.
31137         * m4/wchar_t.m4: Likewise.
31138         * m4/wint_t.m4: Likewise.
31139         * m4/write-any-file.m4: Likewise.
31140         * m4/yield.m4: Likewise.
31141
31142 2009-01-13  Bruno Haible  <bruno@clisp.org>
31143
31144         Avoid test-copy-file.sh failures when ACL support insufficient.
31145         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
31146         TESTS_ENVIRONMENT.
31147         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
31148         Reported by Jim Meyering.
31149
31150 2009-01-13  Bruno Haible  <bruno@clisp.org>
31151
31152         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
31153         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
31154         * modules/unistdio/u8-printf-parse (Files): Likewise.
31155         * modules/unistdio/u32-printf-parse (Files): Likewise.
31156         * modules/unistdio/ulc-printf-parse (Files): Likewise.
31157
31158 2009-01-13  Simon Josefsson  <simon@josefsson.org>
31159
31160         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
31161         and m4/inttypes_h.m4 too.
31162
31163 2009-01-12  Eric Blake  <ebb9@byu.net>
31164
31165         tests: IRIX 6.2 cc can't compile -0.0 into .data
31166         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
31167         rather than at compile-time.
31168         * tests/test-floorl.c (minus_zero): Likewise.
31169         * tests/test-frexpl.c (minus_zero): Likewise.
31170         * tests/test-isnan.c (minus_zerol): Likewise.
31171         * tests/test-isnanl.h (minus_zero): Likewise.
31172         * tests/test-ldexpl.c (minus_zero): Likewise.
31173         * tests/test-roundl.c (minus_zero): Likewise.
31174         * tests/test-signbit.c (minus_zerol): Likewise.
31175         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31176         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31177         * tests/test-truncl.c (minus_zero): Likewise.
31178         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31179         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31180         Reported by Tom G. Christensen and Nelson H. F. Beebe.
31181
31182 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31183
31184         regex: fix glibc bug 9697
31185         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
31186         handling.
31187
31188 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31189
31190         regex: fix glibc bug 697
31191         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
31192         being NULL also if there are no backreferences.
31193
31194 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31195
31196         regex: merge glibc changes
31197         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
31198         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
31199         re_string_skip_chars, re_string_reconstruct): Likewise.
31200         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
31201
31202 2009-01-07  Jim Meyering  <meyering@redhat.com>
31203
31204         poll: filter through cppi
31205         * lib/poll.c: Indent cpp directives to reflect nesting.
31206
31207 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
31208
31209         poll: don't return uninitialized
31210         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
31211
31212 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
31213
31214         avoid compile failure on AIX 6.1
31215         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
31216         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
31217
31218 2009-01-04  Jim Meyering  <meyering@redhat.com>
31219
31220         remove duplicate inclusion of <stdio.h>
31221         * tests/test-fprintf-posix.c: Likewise.
31222         * tests/test-printf-posix.c: Likewise.
31223         * tests/test-snprintf-posix.c: Likewise.
31224         * tests/test-sprintf-posix.c: Likewise.
31225         * tests/test-vasprintf-posix.c: Likewise.
31226         * tests/test-vfprintf-posix.c: Likewise.
31227         * tests/test-vprintf-posix.c: Likewise.
31228         * tests/test-vsnprintf-posix.c: Likewise.
31229         * tests/test-vsprintf-posix.c: Likewise.
31230
31231 2009-01-03  Jim Meyering  <meyering@redhat.com>
31232
31233         gnulib-tool: fix sed-based filtering
31234         * gnulib-tool (func_filter_filelist): Remove extra backslash
31235         in sed_fff_filter definition.
31236
31237 2009-01-02  Jim Meyering  <meyering@redhat.com>
31238
31239         strftime: avoid compilation failure on Solaris 2.6
31240         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
31241         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
31242         Don't #define mbrlen or mbsinit, since now they're guaranteed to
31243         be available.  Reported by Tom G. Christensen.  Details in
31244         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
31245
31246 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31247             Bruno Haible  <bruno@clisp.org>
31248
31249         Speed up gnulib-tool by doing more string processing through shell
31250         built-ins.
31251         * gnulib-tool (fast_func_append): New variable.
31252         (func_remove_prefix, func_remove_suffix): New functions.
31253         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
31254         (func_filter_filelist): New function.
31255         (func_get_dependencies): Use func_remove_suffix instead of sed.
31256         (func_get_automake_snippet): Use func_filter_filelist instead of a
31257         subshell and sed invocation.
31258
31259 2009-01-01  Bruno Haible  <bruno@clisp.org>
31260
31261         Fix a security bug.
31262         * gnulib-tool (func_import, import, update): Don't allow the characters
31263         '"', '$', '`', '\' in macro arguments that become part of commands that
31264         are evaluated.
31265
31266 2009-01-01  Bruno Haible  <bruno@clisp.org>
31267
31268         * gnulib-tool (func_reset_sigpipe): Add more comments.
31269
31270 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31271
31272         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
31273         func_emit_tests_Makefile_am, func_import): Abort loops early if we
31274         already know the answer.
31275
31276 2009-01-01  Jim Meyering  <meyering@redhat.com>
31277
31278         * lib/version-etc.c (version_etc_va): Update copyright year.
31279
31280 2008-12-30  Bruno Haible  <bruno@clisp.org>
31281
31282         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
31283         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
31284         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
31285
31286 2008-12-29  Eric Blake  <ebb9@byu.net>
31287
31288         multiarch: avoid autoconf AC_REQUIRE bug
31289         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
31290         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
31291         2.63 and older.
31292         Reported by Bruno Haible, and analyzed in
31293         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
31294
31295 2008-12-29  Bruno Haible  <bruno@clisp.org>
31296
31297         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
31298         files in subdirectories correctly.
31299         Reported by Ralf Wildenhues.
31300
31301 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31302
31303         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
31304         rather than 'join FILE -', for Solaris join.
31305
31306 2008-12-29  Bruno Haible  <bruno@clisp.org>
31307
31308         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
31309         quoting.
31310         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31311         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
31312         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
31313         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
31314         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31315         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31316         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31317         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31318         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31319         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31320         * m4/nls.m4 (AM_NLS): Likewise.
31321         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
31322         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31323         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31324         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31325         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31326         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31327         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
31328         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31329         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31330         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31331         * m4/xsize.m4 (gl_XSIZE): Likewise.
31332         Suggested by Jim Meyering.
31333
31334 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31335
31336         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
31337         * lib/parse-duration.c: use a switch instead of cascading if's.
31338
31339 2008-12-29  Eric Blake  <ebb9@byu.net>
31340
31341         wchar.h: supply WEOF on Irix 5.3
31342         * lib/wchar.in.h (wint_t): Also supply WEOF.
31343         * lib/wctype.in.h (wint_t): Likewise.
31344         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
31345         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
31346         Reported by Tom G. Christensen.
31347
31348 2008-12-26  Bruno Haible  <bruno@clisp.org>
31349
31350         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
31351         i486, i586, i686.
31352
31353 2008-12-26  Bruno Haible  <bruno@clisp.org>
31354
31355         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
31356
31357 2008-12-26  Bruno Haible  <bruno@clisp.org>
31358
31359         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
31360         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
31361         not __STDC_CONSTANT_MACROS.
31362         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31363
31364 2008-12-25  Bruno Haible  <bruno@clisp.org>
31365
31366         Add support for universal builds to vasnprintf.
31367         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
31368         universal builds, guess no.
31369         * modules/vasnprintf-posix (Depends-on): Add multiarch.
31370         * modules/vasprintf-posix (Depends-on): Likewise.
31371         * modules/fprintf-posix (Depends-on): Likewise.
31372         * modules/vfprintf-posix (Depends-on): Likewise.
31373         * modules/snprintf-posix (Depends-on): Likewise.
31374         * modules/vsnprintf-posix (Depends-on): Likewise.
31375         * modules/sprintf-posix (Depends-on): Likewise.
31376         * modules/vsprintf-posix (Depends-on): Likewise.
31377         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31378         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31379         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31380         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31381         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31382         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31383         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31384
31385         Add support for universal builds to <inttypes.h>.
31386         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
31387         _SCNu64_PREFIX): In Apple
31388         universal builds, define directly, using _LP64.
31389         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
31390         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
31391         * modules/inttypes (Depends-on): Add multiarch.
31392         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31393
31394         Add support for universal builds to <stdint.h>.
31395         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
31396         universal builds, define directly, using _LP64.
31397         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
31398         Apple universal builds, don't test for the size and suffix of ptrdiff_t
31399         and size_t.
31400         * modules/stdint (Depends-on): Add multiarch.
31401         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
31402
31403         New module 'multiarch'.
31404         * modules/multiarch: New file.
31405         * m4/multiarch.m4: New file.
31406
31407 2008-12-25  Bruno Haible  <bruno@clisp.org>
31408
31409         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
31410
31411 2008-12-25  Bruno Haible  <bruno@clisp.org>
31412
31413         * modules/btowc (License): Relicense under LGPLv2+.
31414         * modules/mbsinit (License): Likewise.
31415         * modules/mbrtowc (License): Likewise.
31416         * modules/wcrtomb (License): Likewise.
31417         * modules/streq (License): Likewise.
31418         Reported by David Lutterkort <lutter@redhat.com>.
31419
31420 2008-12-23  Bruno Haible  <bruno@clisp.org>
31421
31422         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
31423
31424 2008-12-23  Bruno Haible  <bruno@clisp.org>
31425
31426         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
31427         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
31428         GETADDRINFO_LIB, not in LIBS.
31429         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
31430         * modules/canon-host (Link): Likewise.
31431         * NEWS: Mention the change.
31432         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
31433         GETADDRINFO_LIB.
31434
31435 2008-12-22  Bruno Haible  <bruno@clisp.org>
31436
31437         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
31438         * doc/posix-functions/iswalpha_l.texi: Likewise.
31439         * doc/posix-functions/iswblank_l.texi: Likewise.
31440         * doc/posix-functions/iswcntrl_l.texi: Likewise.
31441         * doc/posix-functions/iswctype_l.texi: Likewise.
31442         * doc/posix-functions/iswdigit_l.texi: Likewise.
31443         * doc/posix-functions/iswgraph_l.texi: Likewise.
31444         * doc/posix-functions/iswlower_l.texi: Likewise.
31445         * doc/posix-functions/iswprint_l.texi: Likewise.
31446         * doc/posix-functions/iswpunct_l.texi: Likewise.
31447         * doc/posix-functions/iswspace_l.texi: Likewise.
31448         * doc/posix-functions/iswupper_l.texi: Likewise.
31449         * doc/posix-functions/iswxdigit_l.texi: Likewise.
31450         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
31451         * doc/posix-functions/open_wmemstream.texi: Likewise.
31452         * doc/posix-functions/swscanf.texi: Likewise.
31453         * doc/posix-functions/towctrans_l.texi: Likewise.
31454         * doc/posix-functions/towlower.texi: Likewise.
31455         * doc/posix-functions/towlower_l.texi: Likewise.
31456         * doc/posix-functions/towupper.texi: Likewise.
31457         * doc/posix-functions/towupper_l.texi: Likewise.
31458         * doc/posix-functions/vfwprintf.texi: Likewise.
31459         * doc/posix-functions/vfwscanf.texi: Likewise.
31460         * doc/posix-functions/vswscanf.texi: Likewise.
31461         * doc/posix-functions/vwprintf.texi: Likewise.
31462         * doc/posix-functions/vwscanf.texi: Likewise.
31463         * doc/posix-functions/wcpcpy.texi: Likewise.
31464         * doc/posix-functions/wcpncpy.texi: Likewise.
31465         * doc/posix-functions/wcscasecmp.texi: Likewise.
31466         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
31467         * doc/posix-functions/wcscoll_l.texi: Likewise.
31468         * doc/posix-functions/wcsdup.texi: Likewise.
31469         * doc/posix-functions/wcsncasecmp.texi: Likewise.
31470         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
31471         * doc/posix-functions/wcsnlen.texi: Likewise.
31472         * doc/posix-functions/wcsnrtombs.texi: Likewise.
31473         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
31474         * doc/posix-functions/wctrans_l.texi: Likewise.
31475         * doc/posix-functions/wctype_l.texi: Likewise.
31476         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
31477         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
31478         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
31479         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
31480         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
31481         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
31482         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
31483         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
31484         * doc/glibc-functions/wcschrnul.texi: Likewise.
31485         * doc/glibc-functions/wcsftime_l.texi: Likewise.
31486         * doc/glibc-functions/wcstod_l.texi: Likewise.
31487         * doc/glibc-functions/wcstof_l.texi: Likewise.
31488         * doc/glibc-functions/wcstol_l.texi: Likewise.
31489         * doc/glibc-functions/wcstold_l.texi: Likewise.
31490         * doc/glibc-functions/wcstoll_l.texi: Likewise.
31491         * doc/glibc-functions/wcstoq.texi: Likewise.
31492         * doc/glibc-functions/wcstoul_l.texi: Likewise.
31493         * doc/glibc-functions/wcstoull_l.texi: Likewise.
31494         * doc/glibc-functions/wcstouq.texi: Likewise.
31495         * doc/glibc-functions/wmempcpy.texi: Likewise.
31496
31497 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
31498             Eric Blake  <ebb9@byu.net>
31499             Paolo Bonzini  <bonzini@gnu.org>
31500             Bruno Haible  <bruno@clisp.org>
31501
31502         Make c-stack work on Haiku.
31503         * lib/c-stack.c (SA_ONSTACK): Define fallback.
31504         (c_stack_action): Use SA_ONSTACK flag.
31505
31506 2008-12-22  Bruno Haible  <bruno@clisp.org>
31507
31508         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
31509
31510 2008-12-22  Bruno Haible  <bruno@clisp.org>
31511
31512         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
31513         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
31514         being overridden.
31515         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
31516         New macros.
31517         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
31518         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
31519         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
31520         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
31521
31522 2008-12-22  Bruno Haible  <bruno@clisp.org>
31523
31524         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
31525         from test code.
31526
31527 2008-12-22  Eric Blake  <ebb9@byu.net>
31528
31529         Avoid gcc warnings on cygwin.
31530         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
31531         Avoid unused variable.
31532         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
31533         Likewise.
31534
31535 2008-12-22  Bruno Haible  <bruno@clisp.org>
31536
31537         Remove HAVE_MBRTOWC conditionals.
31538         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
31539         (mbscasecmp): Assume mbrtowc function.
31540         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
31541         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
31542         * lib/mbschr.c: Include mbuiter.h unconditionally.
31543         (mbschr): Assume mbrtowc function.
31544         * lib/mbscspn.c: Include mbuiter.h unconditionally.
31545         (mbscspn): Assume mbrtowc function.
31546         * lib/mbslen.c: Include mbuiter.h unconditionally.
31547         (mbslen): Assume mbrtowc function.
31548         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
31549         (mbsncasecmp): Assume mbrtowc function.
31550         * lib/mbsnlen.c: Include mbiter.h unconditionally.
31551         (mbsnlen): Assume mbrtowc function.
31552         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
31553         (mbspbrk): Assume mbrtowc function.
31554         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
31555         (mbspcasecmp): Assume mbrtowc function.
31556         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
31557         (mbsrchr): Assume mbrtowc function.
31558         * lib/mbssep.c: Include mbuiter.h unconditionally.
31559         (mbssep): Assume mbrtowc function.
31560         * lib/mbsspn.c: Include mbuiter.h unconditionally.
31561         (mbsspn): Assume mbrtowc function.
31562         * lib/mbsstr.c: Include mbuiter.h unconditionally.
31563         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
31564         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
31565         (mbstok_r): Assume mbrtowc function.
31566         * lib/propername.c: Include mbuiter.h unconditionally.
31567         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
31568         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
31569         (trim2): Assume mbrtowc function.
31570         * lib/mbswidth.c (mbsinit): Remove fallback definition.
31571         (mbsnwidth): Assume mbrtowc function.
31572         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
31573         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
31574         fallback definitions.
31575         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
31576
31577 2008-12-22  Bruno Haible  <bruno@clisp.org>
31578
31579         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
31580
31581 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
31582
31583         * modules/regex: Request emulations for the mb*/wc* functions we need.
31584         * m4/regex.m4: Don't look for those functions here.
31585         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
31586
31587 2008-12-22  Bruno Haible  <bruno@clisp.org>
31588
31589         * modules/fnmatch (Depends-on): Remove duplicated dependency.
31590
31591 2008-12-21  Bruno Haible  <bruno@clisp.org>
31592
31593         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
31594         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
31595         (Include): Remove conditionalization.
31596         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
31597         (Include): Remove conditionalization.
31598         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
31599         (Include): Remove conditionalization.
31600         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
31601         * m4/mbfile.m4 (gl_MBFILE): Likewise.
31602         * NEWS: Mention the change.
31603         Reported by Alan Hourihane <alanh@fairlite.co.uk>
31604         via Sergey Poznyakoff <gray@gnu.org.ua>.
31605
31606 2008-12-21  Bruno Haible  <bruno@clisp.org>
31607
31608         * MODULES.html.sh (Extended multibyte and wide character utilities
31609         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
31610         wcrtomb, wcsrtombs.
31611         (Support for systems lacking POSIX:2008): Add accept, bind, close,
31612         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
31613         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
31614         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
31615
31616 2008-12-21  Bruno Haible  <bruno@clisp.org>
31617
31618         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
31619
31620 2008-12-21  Bruno Haible  <bruno@clisp.org>
31621
31622         * modules/wcsnrtombs-tests: New file.
31623         * tests/test-wcsnrtombs1.sh: New file.
31624         * tests/test-wcsnrtombs2.sh: New file.
31625         * tests/test-wcsnrtombs3.sh: New file.
31626         * tests/test-wcsnrtombs4.sh: New file.
31627         * tests/test-wcsnrtombs.c: New file.
31628
31629         New module 'wcsnrtombs'.
31630         * lib/wchar.in.h (wcsnrtombs): New declaration.
31631         * lib/wcsnrtombs.c: New file.
31632         * lib/wcsrtombs-state.c: New file.
31633         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
31634         (internal_state): Remove variable.
31635         * m4/wcsnrtombs.m4: New file.
31636         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
31637         compilation units.
31638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
31639         HAVE_WCSNRTOMBS.
31640         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
31641         HAVE_WCSNRTOMBS.
31642         * modules/wcsnrtombs: New file.
31643         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
31644         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
31645
31646 2008-12-21  Bruno Haible  <bruno@clisp.org>
31647
31648         * modules/wcsrtombs-tests: New file.
31649         * tests/test-wcsrtombs1.sh: New file.
31650         * tests/test-wcsrtombs2.sh: New file.
31651         * tests/test-wcsrtombs3.sh: New file.
31652         * tests/test-wcsrtombs4.sh: New file.
31653         * tests/test-wcsrtombs.c: New file.
31654
31655         New module 'wcsrtombs'.
31656         * lib/wchar.in.h (wcsrtombs): New declaration.
31657         * lib/wcsrtombs.c: New file.
31658         * m4/wcsrtombs.m4: New file.
31659         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
31660         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31661         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
31662         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
31663         * modules/wcsrtombs: New file.
31664         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
31665         bugs.
31666
31667 2008-12-21  Bruno Haible  <bruno@clisp.org>
31668
31669         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
31670         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
31671         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
31672         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
31673         if not correct.
31674         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
31675         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
31676         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31677         m4/locale-zh.m4, m4/codeset.m4.
31678         * doc/posix-functions/wcrtomb.texi: Document the bug.
31679
31680 2008-12-21  Bruno Haible  <bruno@clisp.org>
31681
31682         Work around a btowc() bug on IRIX 6.5.
31683         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
31684         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
31685         REPLACE_WTOBC if not.
31686         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
31687         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
31688         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
31689
31690 2008-12-21  Bruno Haible  <bruno@clisp.org>
31691
31692         * modules/wcrtomb-tests: New file.
31693         * tests/test-wcrtomb.sh: New file.
31694         * tests/test-wcrtomb.c: New file.
31695
31696         New module 'wcrtomb'.
31697         * lib/wchar.in.h (wcrtomb): New declaration.
31698         * lib/wcrtomb.c: New file.
31699         * m4/wcrtomb.m4: New file.
31700         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
31701         HAVE_WCRTOMB.
31702         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
31703         HAVE_WCRTOMB.
31704         * modules/wcrtomb: New file.
31705         * doc/posix-functions/wcrtomb.texi: Mention the new module.
31706
31707 2008-12-21  Bruno Haible  <bruno@clisp.org>
31708
31709         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
31710         * modules/mbsrtowcs (Files): Likewise.
31711         * modules/wctob (Files): Likewise.
31712         * modules/c-strcase-tests (Files): Likewise.
31713         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31714         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31715         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
31716         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
31717         * modules/vasnprintf-posix-tests (Files): Likewise.
31718
31719 2008-12-21  William Pursell  <bill.pursell@gmail.com>
31720
31721         gitlog-to-changelog: pass all command-line arguments to git-log
31722         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
31723         it is sometimes convenient to filter the commits in various ways.
31724         gitlog-to-changelog only allows --since to specify a start date,
31725         but git-log itself supports many other filtering mechanisms.
31726         At the moment, I want to filter by branch name.  Rather than
31727         adding a --branch option to gitlog-to-changelog, it seems more
31728         flexible to simply pass all options directly to git-log and let
31729         git do the work.  Notice that this effectively makes --since a
31730         redundant option for gitlog-to-changelog, but removing it would
31731         require current usage to change since calls would then require
31732         an additional '--'.
31733
31734 2008-12-21  Bruno Haible  <bruno@clisp.org>
31735
31736         * modules/mbsnrtowcs-tests: New file.
31737         * tests/test-mbsnrtowcs1.sh: New file.
31738         * tests/test-mbsnrtowcs2.sh: New file.
31739         * tests/test-mbsnrtowcs3.sh: New file.
31740         * tests/test-mbsnrtowcs4.sh: New file.
31741         * tests/test-mbsnrtowcs.c: New file.
31742
31743         New module 'mbsnrtowcs'.
31744         * lib/wchar.in.h (mbsnrtowcs): New declaration.
31745         * lib/mbsnrtowcs.c: New file.
31746         * lib/mbsrtowcs-state.c: New file.
31747         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
31748         (internal_state): Remove variable.
31749         * m4/mbsnrtowcs.m4: New file.
31750         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
31751         compilation units.
31752         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
31753         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31754         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
31755         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31756         * modules/mbsnrtowcs: New file.
31757         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
31758         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
31759         portability problem.
31760
31761 2008-12-21  Bruno Haible  <bruno@clisp.org>
31762
31763         Work around mbsrtowcs bug.
31764         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31765         (gl_FUNC_MBSRTOWCS): Invoke it.
31766         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31767         m4/locale-zh.m4.
31768         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31769
31770 2008-12-21  Bruno Haible  <bruno@clisp.org>
31771
31772         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31773
31774 2008-12-21  Bruno Haible  <bruno@clisp.org>
31775
31776         Update doc for AIX.
31777         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31778         16-bit wchar_t type.
31779         * doc/posix-functions/btowc.texi: Likewise.
31780         * doc/posix-functions/fgetwc.texi: Likewise.
31781         * doc/posix-functions/fgetws.texi: Likewise.
31782         * doc/posix-functions/fputwc.texi: Likewise.
31783         * doc/posix-functions/fputws.texi: Likewise.
31784         * doc/posix-functions/fwide.texi: Likewise.
31785         * doc/posix-functions/fwprintf.texi: Likewise.
31786         * doc/posix-functions/fwscanf.texi: Likewise.
31787         * doc/posix-functions/getwchar.texi: Likewise.
31788         * doc/posix-functions/getwc.texi: Likewise.
31789         * doc/posix-functions/iswalnum.texi: Likewise.
31790         * doc/posix-functions/iswalpha.texi: Likewise.
31791         * doc/posix-functions/iswblank.texi: Likewise.
31792         * doc/posix-functions/iswcntrl.texi: Likewise.
31793         * doc/posix-functions/iswctype.texi: Likewise.
31794         * doc/posix-functions/iswdigit.texi: Likewise.
31795         * doc/posix-functions/iswgraph.texi: Likewise.
31796         * doc/posix-functions/iswlower.texi: Likewise.
31797         * doc/posix-functions/iswprint.texi: Likewise.
31798         * doc/posix-functions/iswpunct.texi: Likewise.
31799         * doc/posix-functions/iswspace.texi: Likewise.
31800         * doc/posix-functions/iswupper.texi: Likewise.
31801         * doc/posix-functions/iswxdigit.texi: Likewise.
31802         * doc/posix-functions/mbrtowc.texi: Likewise.
31803         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31804         * doc/posix-functions/mbstowcs.texi: Likewise.
31805         * doc/posix-functions/mbtowc.texi: Likewise.
31806         * doc/posix-functions/putwchar.texi: Likewise.
31807         * doc/posix-functions/putwc.texi: Likewise.
31808         * doc/posix-functions/swprintf.texi: Likewise.
31809         * doc/posix-functions/tolower.texi: Likewise.
31810         * doc/posix-functions/toupper.texi: Likewise.
31811         * doc/posix-functions/towctrans.texi: Likewise.
31812         * doc/posix-functions/ungetwc.texi: Likewise.
31813         * doc/posix-functions/vswprintf.texi: Likewise.
31814         * doc/posix-functions/wcrtomb.texi: Likewise.
31815         * doc/posix-functions/wcscat.texi: Likewise.
31816         * doc/posix-functions/wcschr.texi: Likewise.
31817         * doc/posix-functions/wcscmp.texi: Likewise.
31818         * doc/posix-functions/wcscoll.texi: Likewise.
31819         * doc/posix-functions/wcscpy.texi: Likewise.
31820         * doc/posix-functions/wcscspn.texi: Likewise.
31821         * doc/posix-functions/wcsftime.texi: Likewise.
31822         * doc/posix-functions/wcslen.texi: Likewise.
31823         * doc/posix-functions/wcsncat.texi: Likewise.
31824         * doc/posix-functions/wcsncmp.texi: Likewise.
31825         * doc/posix-functions/wcsncpy.texi: Likewise.
31826         * doc/posix-functions/wcspbrk.texi: Likewise.
31827         * doc/posix-functions/wcsrchr.texi: Likewise.
31828         * doc/posix-functions/wcsrtombs.texi: Likewise.
31829         * doc/posix-functions/wcsspn.texi: Likewise.
31830         * doc/posix-functions/wcsstr.texi: Likewise.
31831         * doc/posix-functions/wcstod.texi: Likewise.
31832         * doc/posix-functions/wcstof.texi: Likewise.
31833         * doc/posix-functions/wcstoimax.texi: Likewise.
31834         * doc/posix-functions/wcstok.texi: Likewise.
31835         * doc/posix-functions/wcstold.texi: Likewise.
31836         * doc/posix-functions/wcstoll.texi: Likewise.
31837         * doc/posix-functions/wcstol.texi: Likewise.
31838         * doc/posix-functions/wcstombs.texi: Likewise.
31839         * doc/posix-functions/wcstoull.texi: Likewise.
31840         * doc/posix-functions/wcstoul.texi: Likewise.
31841         * doc/posix-functions/wcstoumax.texi: Likewise.
31842         * doc/posix-functions/wcswidth.texi: Likewise.
31843         * doc/posix-functions/wcsxfrm.texi: Likewise.
31844         * doc/posix-functions/wctob.texi: Likewise.
31845         * doc/posix-functions/wctomb.texi: Likewise.
31846         * doc/posix-functions/wctrans.texi: Likewise.
31847         * doc/posix-functions/wctype.texi: Likewise.
31848         * doc/posix-functions/wcwidth.texi: Likewise.
31849         * doc/posix-functions/wmemchr.texi: Likewise.
31850         * doc/posix-functions/wmemcmp.texi: Likewise.
31851         * doc/posix-functions/wmemcpy.texi: Likewise.
31852         * doc/posix-functions/wmemmove.texi: Likewise.
31853         * doc/posix-functions/wmemset.texi: Likewise.
31854         * doc/posix-functions/wprintf.texi: Likewise.
31855         * doc/posix-functions/wscanf.texi: Likewise.
31856
31857 2008-12-21  Bruno Haible  <bruno@clisp.org>
31858
31859         Update doc for HP-UX 11.11.
31860         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31861         in HP-UX version 11.00, not in all versions of HP-UX 11.
31862         * doc/posix-functions/fwide.texi: Likewise.
31863         * doc/posix-functions/fwprintf.texi: Likewise.
31864         * doc/posix-functions/fwscanf.texi: Likewise.
31865         * doc/posix-functions/inet_ntop.texi: Likewise.
31866         * doc/posix-functions/inet_pton.texi: Likewise.
31867         * doc/posix-functions/mbrlen.texi: Likewise.
31868         * doc/posix-functions/mbrtowc.texi: Likewise.
31869         * doc/posix-functions/mbsinit.texi: Likewise.
31870         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31871         * doc/posix-functions/swprintf.texi: Likewise.
31872         * doc/posix-functions/swscanf.texi: Likewise.
31873         * doc/posix-functions/towctrans.texi: Likewise.
31874         * doc/posix-functions/vfwprintf.texi: Likewise.
31875         * doc/posix-functions/vswprintf.texi: Likewise.
31876         * doc/posix-functions/vwprintf.texi: Likewise.
31877         * doc/posix-functions/wcrtomb.texi: Likewise.
31878         * doc/posix-functions/wcsrtombs.texi: Likewise.
31879         * doc/posix-functions/wcsstr.texi: Likewise.
31880         * doc/posix-functions/wctob.texi: Likewise.
31881         * doc/posix-functions/wctrans.texi: Likewise.
31882         * doc/posix-functions/wmemchr.texi: Likewise.
31883         * doc/posix-functions/wmemcmp.texi: Likewise.
31884         * doc/posix-functions/wmemcpy.texi: Likewise.
31885         * doc/posix-functions/wmemmove.texi: Likewise.
31886         * doc/posix-functions/wmemset.texi: Likewise.
31887         * doc/posix-functions/wprintf.texi: Likewise.
31888         * doc/posix-functions/wscanf.texi: Likewise.
31889
31890 2008-12-21  Bruno Haible  <bruno@clisp.org>
31891
31892         Work around a portability problem.
31893         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31894         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31895
31896 2008-12-20  Bruno Haible  <bruno@clisp.org>
31897
31898         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31899         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31900         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31901         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31902         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31903
31904         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31905         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31906         set.
31907         (GNULIB_defined_mbstate_t): New macro.
31908         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31909         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31910         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31911         reuses the system's mbrtowc function but works around the bugs.
31912         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31913         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31914         macros.
31915         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31916         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31917         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31918         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31919         REPLACE_MBSINIT if mbsinit needs to be overridden.
31920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31921         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31922         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31923         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31924         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31925         m4/locale-zh.m4.
31926         (Depends): Add mbsinit.
31927         * modules/mbsinit (Depends): Add mbrtowc.
31928         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31929
31930 2008-12-20  Bruno Haible  <bruno@clisp.org>
31931
31932         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31933         so that there are no conversion errors on AIX.
31934         * tests/test-mbsrtowcs.c (main): LIkewise.
31935
31936 2008-12-20  Bruno Haible  <bruno@clisp.org>
31937
31938         Work around wctob bug on Solaris <= 9.
31939         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31940         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31941         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31942         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31943         * modules/wctob (Files): Add m4/locale-fr.m4.
31944         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31945
31946 2008-12-20  Bruno Haible  <bruno@clisp.org>
31947
31948         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31949         /dev/null.
31950         * tests/test-select-in.sh: Likewise.
31951         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31952
31953 2008-12-20  Bruno Haible  <bruno@clisp.org>
31954
31955         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31956         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31957         Cygwin 1.5.x.
31958
31959 2008-12-20  Bruno Haible  <bruno@clisp.org>
31960
31961         Ensure mbstate_t is defined on HP-UX 11.11.
31962         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31963         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31964         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31965         AC_USE_SYSTEM_EXTENSIONS.
31966         * modules/fnmatch (Depends-on): Add extensions.
31967         * modules/mbrlen (Depends-on): Likewise.
31968         * modules/mbrtowc (Depends-on): Likewise.
31969         * modules/mbsinit (Depends-on): Likewise.
31970         * modules/mbsrtowcs (Depends-on): Likewise.
31971         * modules/mbswidth (Depends-on): Likewise.
31972         * modules/quotearg (Depends-on): Likewise.
31973         * modules/strftime (Depends-on): Likewise.
31974
31975 2008-12-20  Bruno Haible  <bruno@clisp.org>
31976
31977         Ensure wctob is declared on IRIX 6.5.
31978         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31979         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31980         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31981         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31982         of HAVE_WCTOB.
31983         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31984         HAVE_WCTOB.
31985         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31986
31987 2008-12-19  Bruno Haible  <bruno@clisp.org>
31988
31989         * modules/mbsrtowcs-tests: New file.
31990         * tests/test-mbsrtowcs1.sh: New file.
31991         * tests/test-mbsrtowcs2.sh: New file.
31992         * tests/test-mbsrtowcs3.sh: New file.
31993         * tests/test-mbsrtowcs4.sh: New file.
31994         * tests/test-mbsrtowcs.c: New file.
31995
31996         New module 'mbsrtowcs'.
31997         * lib/wchar.in.h (mbsrtowcs): New declaration.
31998         * lib/mbsrtowcs.c: New file.
31999         * m4/mbsrtowcs.m4: New file.
32000         * modules/mbsrtowcs: New file.
32001         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
32002         HAVE_MBSRTOWCS.
32003         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
32004         HAVE_MBSRTOWCS.
32005         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
32006
32007 2008-12-19  Bruno Haible  <bruno@clisp.org>
32008
32009         New module 'mbrlen'.
32010         * lib/wchar.in.h (mbrlen): New declaration.
32011         * lib/mbrlen.c: New file.
32012         * m4/mbrlen.m4: New file.
32013         * modules/mbrlen: New file.
32014         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
32015         HAVE_MBRLEN.
32016         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
32017         HAVE_MBRLEN.
32018         * doc/posix-functions/mbrlen.texi: Document the new module.
32019
32020 2008-12-19  Bruno Haible  <bruno@clisp.org>
32021
32022         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
32023         * modules/mbrtowc (Depends-on): Add verify.
32024         Suggested by Paul Eggert.
32025
32026 2008-12-18  Bruno Haible  <bruno@clisp.org>
32027
32028         * modules/mbsinit-tests: New file.
32029         * tests/test-mbsinit.sh: New file.
32030         * tests/test-mbsinit.c: New file.
32031
32032 2008-12-18  Bruno Haible  <bruno@clisp.org>
32033
32034         * modules/mbrtowc-tests: New file.
32035         * tests/test-mbrtowc1.sh: New file.
32036         * tests/test-mbrtowc2.sh: New file.
32037         * tests/test-mbrtowc3.sh: New file.
32038         * tests/test-mbrtowc4.sh: New file.
32039         * tests/test-mbrtowc.c: New file.
32040
32041         New module 'mbrtowc'.
32042         * lib/wchar.in.h (mbstate_t): Override when the system does not have
32043         mbsinit and mbrtowc.
32044         (mbrtowc): New declaration.
32045         * lib/mbrtowc.c: New file.
32046         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
32047         * modules/mbrtowc: New file.
32048         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
32049         HAVE_MBRTOWC.
32050         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
32051         HAVE_MBRTOWC.
32052         * doc/posix-functions/mbrtowc.texi: Document the new module.
32053
32054 2008-12-18  Bruno Haible  <bruno@clisp.org>
32055
32056         New module 'wctob'.
32057         * lib/wchar.in.h (wctob): New declaration.
32058         * lib/wctob.c: New file.
32059         * m4/wctob.m4: New file.
32060         * modules/wctob: New file.
32061         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
32062         HAVE_WCTOB.
32063         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
32064         * doc/posix-functions/wctob.texi: Document the new module.
32065
32066 2008-12-18  Bruno Haible  <bruno@clisp.org>
32067
32068         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
32069         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
32070
32071 2008-12-18  Simon Josefsson  <simon@josefsson.org>
32072
32073         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
32074         G. Christensen" <tgc@jupiterrise.com>.
32075
32076         * lib/flock.c: Need to include errno.h.  Reported by "Tom
32077         G. Christensen" <tgc@jupiterrise.com>.
32078
32079         * lib/flock.c: Need to include string.h.  Reported by "Tom
32080         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
32081         <ebb9@byu.net>.
32082
32083 2008-12-18  Bruno Haible  <bruno@clisp.org>
32084
32085         * m4/locale-ja.m4: New file, from GNU gettext.
32086
32087 2008-12-17  Bruno Haible  <bruno@clisp.org>
32088
32089         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
32090         Suggested by Eric Blake.
32091
32092 2008-12-17  Bruno Haible  <bruno@clisp.org>
32093
32094         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
32095
32096 2008-12-17  Bruno Haible  <bruno@clisp.org>
32097
32098         * lib/mbsinit.c: Include verify.h. Verify an assumption.
32099         * modules/mbsinit (Depends-on): Add verify.
32100         Suggested by Paul Eggert.
32101
32102 2008-12-17  Bruno Haible  <bruno@clisp.org>
32103
32104         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
32105         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
32106         gl_FUNC_MBRTOWC.
32107         * m4/mbiter.m4 (gl_MBITER): LIkewise.
32108         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
32109         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
32110         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
32111         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
32112         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
32113         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
32114         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
32115         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
32116         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
32117         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
32118         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
32119         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
32120         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
32121         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
32122         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32123         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
32124         * modules/trim (configure.ac): Likewise.
32125
32126 2008-12-17  Bruno Haible  <bruno@clisp.org>
32127
32128         * modules/btowc-tests: New file.
32129         * tests/test-btowc1.sh: New file.
32130         * tests/test-btowc2.sh: New file.
32131         * tests/test-btowc.c: New file.
32132
32133         New module 'btowc'.
32134         * lib/wchar.in.h (btowc): New declaration.
32135         * lib/btowc.c: New file.
32136         * m4/btowc.m4: New file.
32137         * modules/btowc: New file.
32138         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
32139         HAVE_BTOWC.
32140         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
32141         * doc/posix-functions/btowc.texi: Document the new module.
32142
32143 2008-12-17  Bruno Haible  <bruno@clisp.org>
32144
32145         New module 'mbsinit'.
32146         * lib/wchar.in.h (mbsinit): New declaration.
32147         * lib/mbsinit.c: New file.
32148         * m4/mbsinit.m4: New file.
32149         * modules/mbsinit: New file.
32150         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
32151         HAVE_MBSINIT.
32152         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
32153         HAVE_MBSINIT.
32154         * doc/posix-functions/mbsinit.texi: Document the new module.
32155
32156 2008-12-16  Bruno Haible  <bruno@clisp.org>
32157
32158         * lib/unistd.in.h: Add comment.
32159         * tests/test-environ.c: Don't include <stdlib.h>.
32160
32161 2008-12-16  Bruno Haible  <bruno@clisp.org>
32162
32163         * lib/parse-duration.h (parse_duration): Document return value
32164         convention.
32165         * lib/parse-duration.c: Include specification header first. Add
32166         comments.
32167         (_): Remove macro.
32168         (parse_year_month_day, parse_hour_minute_second): Move side effects
32169         outside of strchr call.
32170         (parse_non_iso8601): Move side effects outside of isspace call.
32171         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
32172         call.
32173
32174 2008-12-16  Bruno Haible  <bruno@clisp.org>
32175
32176         * tests/test-parse-duration.sh: Produce no output when the test
32177         succeeds.
32178
32179 2008-12-16  Bruno Haible  <bruno@clisp.org>
32180
32181         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
32182         expressions.
32183
32184 2008-12-15  Bruno Haible  <bruno@clisp.org>
32185
32186         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
32187         * doc/glibc-functions/flistxattr.texi: Likewise.
32188         * doc/glibc-functions/fopencookie.texi: Likewise.
32189         * doc/glibc-functions/fremovexattr.texi: Likewise.
32190         * doc/glibc-functions/fsetxattr.texi: Likewise.
32191         * doc/glibc-functions/getxattr.texi: Likewise.
32192         * doc/glibc-functions/lgetxattr.texi: Likewise.
32193         * doc/glibc-functions/listxattr.texi: Likewise.
32194         * doc/glibc-functions/llistxattr.texi: Likewise.
32195         * doc/glibc-functions/lremovexattr.texi: Likewise.
32196         * doc/glibc-functions/lsetxattr.texi: Likewise.
32197         * doc/glibc-functions/removexattr.texi: Likewise.
32198         * doc/glibc-functions/setxattr.texi: Likewise.
32199         * doc/posix-functions/open_memstream.texi: Likewise.
32200
32201 2008-12-15  Eric Blake  <ebb9@byu.net>
32202
32203         Update doc for cygwin 1.7.
32204         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
32205         functions.
32206         * doc/posix-functions/fchmodat.texi: Likewise.
32207         * doc/posix-functions/fchownat.texi: Likewise.
32208         * doc/posix-functions/fdopendir.texi: Likewise.
32209         * doc/posix-functions/fmemopen.texi: Likewise.
32210         * doc/posix-functions/freeaddrinfo.texi: Likewise.
32211         * doc/posix-functions/fstatat.texi: Likewise.
32212         * doc/posix-functions/futimens.texi: Likewise.
32213         * doc/posix-functions/gai_strerror.texi: Likewise.
32214         * doc/posix-functions/getaddrinfo.texi: Likewise.
32215         * doc/posix-functions/getnameinfo.texi: Likewise.
32216         * doc/posix-functions/if_freenameindex.texi: Likewise.
32217         * doc/posix-functions/if_indextoname.texi: Likewise.
32218         * doc/posix-functions/if_nameindex.texi: Likewise.
32219         * doc/posix-functions/if_nametoindex.texi: Likewise.
32220         * doc/posix-functions/insque.texi: Likewise.
32221         * doc/posix-functions/linkat.texi: Likewise.
32222         * doc/posix-functions/llrint.texi: Likewise.
32223         * doc/posix-functions/llrintf.texi: Likewise.
32224         * doc/posix-functions/llrintl.texi: Likewise.
32225         * doc/posix-functions/lockf.texi: Likewise.
32226         * doc/posix-functions/lrintl.texi: Likewise.
32227         * doc/posix-functions/mkdirat.texi: Likewise.
32228         * doc/posix-functions/mkfifoat.texi: Likewise.
32229         * doc/posix-functions/mknodat.texi: Likewise.
32230         * doc/posix-functions/mq_close.texi: Likewise.
32231         * doc/posix-functions/mq_getattr.texi: Likewise.
32232         * doc/posix-functions/mq_notify.texi: Likewise.
32233         * doc/posix-functions/mq_open.texi: Likewise.
32234         * doc/posix-functions/mq_receive.texi: Likewise.
32235         * doc/posix-functions/mq_send.texi: Likewise.
32236         * doc/posix-functions/mq_setattr.texi: Likewise.
32237         * doc/posix-functions/mq_timedreceive.texi: Likewise.
32238         * doc/posix-functions/mq_timedsend.texi: Likewise.
32239         * doc/posix-functions/mq_unlink.texi: Likewise.
32240         * doc/posix-functions/open_memstream.texi: Likewise.
32241         * doc/posix-functions/openat.texi: Likewise.
32242         * doc/posix-functions/posix_fadvise.texi: Likewise.
32243         * doc/posix-functions/posix_fallocate.texi: Likewise.
32244         * doc/posix-functions/posix_madvise.texi: Likewise.
32245         * doc/posix-functions/posix_memalign.texi: Likewise.
32246         * doc/posix-functions/posix_openpt.texi: Likewise.
32247         * doc/posix-functions/readlinkat.texi: Likewise.
32248         * doc/posix-functions/remque.texi: Likewise.
32249         * doc/posix-functions/renameat.texi: Likewise.
32250         * doc/posix-functions/rintl.texi: Likewise.
32251         * doc/posix-functions/sem_unlink.texi: Likewise.
32252         * doc/posix-functions/shm_open.texi: Likewise.
32253         * doc/posix-functions/shm_unlink.texi: Likewise.
32254         * doc/posix-functions/signgam.texi: Likewise.
32255         * doc/posix-functions/sigset.texi: Likewise.
32256         * doc/posix-functions/stpcpy.texi: Likewise.
32257         * doc/posix-functions/stpncpy.texi: Likewise.
32258         * doc/posix-functions/strerror.texi: Likewise.
32259         * doc/posix-functions/strtod.texi: Likewise.
32260         * doc/posix-functions/symlinkat.texi: Likewise.
32261         * doc/posix-functions/unlinkat.texi: Likewise.
32262         * doc/posix-functions/utimensat.texi: Likewise.
32263         * doc/glibc-functions/bindresvport.texi: Likewise.
32264         * doc/glibc-functions/dn_expand.texi: Likewise.
32265         * doc/glibc-functions/exp10.texi: Likewise.
32266         * doc/glibc-functions/exp10f.texi: Likewise.
32267         * doc/glibc-functions/fgetxattr.texi: Likewise.
32268         * doc/glibc-functions/flistxattr.texi: Likewise.
32269         * doc/glibc-functions/fopencookie.texi: Likewise.
32270         * doc/glibc-functions/freeifaddrs.texi: Likewise.
32271         * doc/glibc-functions/fremovexattr.texi: Likewise.
32272         * doc/glibc-functions/fsetxattr.texi: Likewise.
32273         * doc/glibc-functions/getifaddrs.texi: Likewise.
32274         * doc/glibc-functions/getxattr.texi: Likewise.
32275         * doc/glibc-functions/lgetxattr.texi: Likewise.
32276         * doc/glibc-functions/listxattr.texi: Likewise.
32277         * doc/glibc-functions/llistxattr.texi: Likewise.
32278         * doc/glibc-functions/lremovexattr.texi: Likewise.
32279         * doc/glibc-functions/lsetxattr.texi: Likewise.
32280         * doc/glibc-functions/pow10.texi: Likewise.
32281         * doc/glibc-functions/pow10f.texi: Likewise.
32282         * doc/glibc-functions/rcmd_af.texi: Likewise.
32283         * doc/glibc-functions/removexattr.texi: Likewise.
32284         * doc/glibc-functions/res_init.texi: Likewise.
32285         * doc/glibc-functions/res_mkquery.texi: Likewise.
32286         * doc/glibc-functions/res_query.texi: Likewise.
32287         * doc/glibc-functions/res_querydomain.texi: Likewise.
32288         * doc/glibc-functions/res_send.texi: Likewise.
32289         * doc/glibc-functions/rresvport_af.texi: Likewise.
32290         * doc/glibc-functions/setxattr.texi: Likewise.
32291         * doc/glibc-functions/strcasestr.texi: Likewise.
32292
32293 2008-12-15  Bruno Haible  <bruno@clisp.org>
32294
32295         Fix compilation error on OSF/1 4.0.
32296         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
32297         <sys/time.h>, simply delegate to the system header.
32298         Reported by Daniel Richard G. <oss@teragram.com>.
32299
32300 2008-12-15  Bruno Haible  <bruno@clisp.org>
32301
32302         * doc/posix-functions/openat.texi: Mention the 'openat' module.
32303         * doc/posix-functions/fchmodat.texi: Likewise.
32304         * doc/posix-functions/fchownat.texi: Likewise.
32305         * doc/posix-functions/fdopendir.texi: Likewise.
32306         * doc/posix-functions/fstatat.texi: Likewise.
32307         * doc/posix-functions/mkdirat.texi: Likewise.
32308         * doc/posix-functions/unlinkat.texi: Likewise.
32309
32310 2008-12-14  Bruno Haible  <bruno@clisp.org>
32311
32312         Update doc for POSIX:2008.
32313         * doc/posix-functions/faccessat.texi: New file.
32314         * doc/posix-functions/fchmodat.texi: New file.
32315         * doc/posix-functions/fchownat.texi: New file.
32316         * doc/posix-functions/fdopendir.texi: New file.
32317         * doc/posix-functions/fstatat.texi: New file.
32318         * doc/posix-functions/futimens.texi: New file.
32319         * doc/posix-functions/linkat.texi: New file.
32320         * doc/posix-functions/mkdirat.texi: New file.
32321         * doc/posix-functions/mkfifoat.texi: New file.
32322         * doc/posix-functions/mknodat.texi: New file.
32323         * doc/posix-functions/open_wmemstream.texi: New file.
32324         * doc/posix-functions/openat.texi: New file.
32325         * doc/posix-functions/psiginfo.texi: New file.
32326         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
32327         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
32328         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
32329         * doc/posix-functions/readlinkat.texi: New file.
32330         * doc/posix-functions/renameat.texi: New file.
32331         * doc/posix-functions/strerror_l.texi: New file.
32332         * doc/posix-functions/symlinkat.texi: New file.
32333         * doc/posix-functions/unlinkat.texi: New file.
32334         * doc/posix-functions/utimensat.texi: New file.
32335         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32336
32337 2008-12-14  Bruno Haible  <bruno@clisp.org>
32338
32339         Update doc for POSIX:2008.
32340         * doc/posix-functions/alphasort.texi: Renamed from
32341         doc/glibc-functions/alphasort.texi.
32342         * doc/posix-functions/dirfd.texi: Renamed from
32343         doc/glibc-functions/dirfd.texi.
32344         * doc/posix-functions/dprintf.texi: Renamed from
32345         doc/glibc-functions/dprintf.texi.
32346         * doc/posix-functions/duplocale.texi: Renamed from
32347         doc/glibc-functions/duplocale.texi.
32348         * doc/posix-functions/fexecve.texi: Renamed from
32349         doc/glibc-functions/fexecve.texi.
32350         * doc/posix-functions/fmemopen.texi: Renamed from
32351         doc/glibc-functions/fmemopen.texi.
32352         * doc/posix-functions/freelocale.texi: Renamed from
32353         doc/glibc-functions/freelocale.texi.
32354         * doc/posix-functions/getdate_err.texi: Renamed from
32355         doc/glibc-functions/getdate_err.texi.
32356         * doc/posix-functions/isalnum_l.texi: Renamed from
32357         doc/glibc-functions/isalnum_l.texi.
32358         * doc/posix-functions/isalpha_l.texi: Renamed from
32359         doc/glibc-functions/isalpha_l.texi.
32360         * doc/posix-functions/isblank_l.texi: Renamed from
32361         doc/glibc-functions/isblank_l.texi.
32362         * doc/posix-functions/iscntrl_l.texi: Renamed from
32363         doc/glibc-functions/iscntrl_l.texi.
32364         * doc/posix-functions/isdigit_l.texi: Renamed from
32365         doc/glibc-functions/isdigit_l.texi.
32366         * doc/posix-functions/isgraph_l.texi: Renamed from
32367         doc/glibc-functions/isgraph_l.texi.
32368         * doc/posix-functions/islower_l.texi: Renamed from
32369         doc/glibc-functions/islower_l.texi.
32370         * doc/posix-functions/isprint_l.texi: Renamed from
32371         doc/glibc-functions/isprint_l.texi.
32372         * doc/posix-functions/ispunct_l.texi: Renamed from
32373         doc/glibc-functions/ispunct_l.texi.
32374         * doc/posix-functions/isspace_l.texi: Renamed from
32375         doc/glibc-functions/isspace_l.texi.
32376         * doc/posix-functions/isupper_l.texi: Renamed from
32377         doc/glibc-functions/isupper_l.texi.
32378         * doc/posix-functions/iswalnum_l.texi: Renamed from
32379         doc/glibc-functions/iswalnum_l.texi.
32380         * doc/posix-functions/iswalpha_l.texi: Renamed from
32381         doc/glibc-functions/iswalpha_l.texi.
32382         * doc/posix-functions/iswblank_l.texi: Renamed from
32383         doc/glibc-functions/iswblank_l.texi.
32384         * doc/posix-functions/iswcntrl_l.texi: Renamed from
32385         doc/glibc-functions/iswcntrl_l.texi.
32386         * doc/posix-functions/iswctype_l.texi: Renamed from
32387         doc/glibc-functions/iswctype_l.texi.
32388         * doc/posix-functions/iswdigit_l.texi: Renamed from
32389         doc/glibc-functions/iswdigit_l.texi.
32390         * doc/posix-functions/iswgraph_l.texi: Renamed from
32391         doc/glibc-functions/iswgraph_l.texi.
32392         * doc/posix-functions/iswlower_l.texi: Renamed from
32393         doc/glibc-functions/iswlower_l.texi.
32394         * doc/posix-functions/iswprint_l.texi: Renamed from
32395         doc/glibc-functions/iswprint_l.texi.
32396         * doc/posix-functions/iswpunct_l.texi: Renamed from
32397         doc/glibc-functions/iswpunct_l.texi.
32398         * doc/posix-functions/iswspace_l.texi: Renamed from
32399         doc/glibc-functions/iswspace_l.texi.
32400         * doc/posix-functions/iswupper_l.texi: Renamed from
32401         doc/glibc-functions/iswupper_l.texi.
32402         * doc/posix-functions/iswxdigit_l.texi: Renamed from
32403         doc/glibc-functions/iswxdigit_l.texi.
32404         * doc/posix-functions/isxdigit_l.texi: Renamed from
32405         doc/glibc-functions/isxdigit_l.texi.
32406         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
32407         doc/glibc-functions/mbsnrtowcs.texi.
32408         * doc/posix-functions/mkdtemp.texi: Renamed from
32409         doc/glibc-functions/mkdtemp.texi.
32410         * doc/posix-functions/newlocale.texi: Renamed from
32411         doc/glibc-functions/newlocale.texi.
32412         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
32413         doc/glibc-functions/nl_langinfo_l.texi.
32414         * doc/posix-functions/open_memstream.texi: Renamed from
32415         doc/glibc-functions/open_memstream.texi.
32416         * doc/posix-functions/opterr.texi: Renamed from
32417         doc/glibc-functions/opterr.texi.
32418         * doc/posix-functions/optind.texi: Renamed from
32419         doc/glibc-functions/optind.texi.
32420         * doc/posix-functions/optopt.texi: Renamed from
32421         doc/glibc-functions/optopt.texi.
32422         * doc/posix-functions/psignal.texi: Renamed from
32423         doc/glibc-functions/psignal.texi.
32424         * doc/posix-functions/scandir.texi: Renamed from
32425         doc/glibc-functions/scandir.texi.
32426         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
32427         doc/glibc-functions/sched_get_priority_min.texi.
32428         * doc/posix-functions/signgam.texi: Renamed from
32429         doc/glibc-functions/signgam.texi.
32430         * doc/posix-functions/stpcpy.texi: Renamed from
32431         doc/glibc-functions/stpcpy.texi.
32432         * doc/posix-functions/stpncpy.texi: Renamed from
32433         doc/glibc-functions/stpncpy.texi.
32434         * doc/posix-functions/strcasecmp_l.texi: Renamed from
32435         doc/glibc-functions/strcasecmp_l.texi.
32436         * doc/posix-functions/strcoll_l.texi: Renamed from
32437         doc/glibc-functions/strcoll_l.texi.
32438         * doc/posix-functions/strfmon_l.texi: Renamed from
32439         doc/glibc-functions/strfmon_l.texi.
32440         * doc/posix-functions/strftime_l.texi: Renamed from
32441         doc/glibc-functions/strftime_l.texi.
32442         * doc/posix-functions/strncasecmp_l.texi: Renamed from
32443         doc/glibc-functions/strncasecmp_l.texi.
32444         * doc/posix-functions/strndup.texi: Renamed from
32445         doc/glibc-functions/strndup.texi.
32446         * doc/posix-functions/strnlen.texi: Renamed from
32447         doc/glibc-functions/strnlen.texi.
32448         * doc/posix-functions/strsignal.texi: Renamed from
32449         doc/glibc-functions/strsignal.texi.
32450         * doc/posix-functions/strxfrm_l.texi: Renamed from
32451         doc/glibc-functions/strxfrm_l.texi.
32452         * doc/posix-functions/timer_gettime.texi: Renamed from
32453         doc/glibc-functions/timer_gettime.texi.
32454         * doc/posix-functions/tolower_l.texi: Renamed from
32455         doc/glibc-functions/tolower_l.texi.
32456         * doc/posix-functions/toupper_l.texi: Renamed from
32457         doc/glibc-functions/toupper_l.texi.
32458         * doc/posix-functions/towctrans_l.texi: Renamed from
32459         doc/glibc-functions/towctrans_l.texi.
32460         * doc/posix-functions/towlower_l.texi: Renamed from
32461         doc/glibc-functions/towlower_l.texi.
32462         * doc/posix-functions/towupper_l.texi: Renamed from
32463         doc/glibc-functions/towupper_l.texi.
32464         * doc/posix-functions/uselocale.texi: Renamed from
32465         doc/glibc-functions/uselocale.texi.
32466         * doc/posix-functions/vdprintf.texi: Renamed from
32467         doc/glibc-functions/vdprintf.texi.
32468         * doc/posix-functions/wcpcpy.texi:
32469         Renamed from doc/glibc-functions/wcpcpy.texi.
32470         * doc/posix-functions/wcpncpy.texi: Renamed from
32471         doc/glibc-functions/wcpncpy.texi.
32472         * doc/posix-functions/wcscasecmp.texi: Renamed from
32473         doc/glibc-functions/wcscasecmp.texi.
32474         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
32475         doc/glibc-functions/wcscasecmp_l.texi.
32476         * doc/posix-functions/wcscoll_l.texi: Renamed from
32477         doc/glibc-functions/wcscoll_l.texi.
32478         * doc/posix-functions/wcsdup.texi: Renamed from
32479         doc/glibc-functions/wcsdup.texi.
32480         * doc/posix-functions/wcsncasecmp.texi: Renamed from
32481         doc/glibc-functions/wcsncasecmp.texi.
32482         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
32483         doc/glibc-functions/wcsncasecmp_l.texi.
32484         * doc/posix-functions/wcsnlen.texi: Renamed from
32485         doc/glibc-functions/wcsnlen.texi.
32486         * doc/posix-functions/wcsnrtombs.texi: Renamed from
32487         doc/glibc-functions/wcsnrtombs.texi.
32488         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
32489         doc/glibc-functions/wcsxfrm_l.texi.
32490         * doc/posix-functions/wctrans_l.texi: Renamed from
32491         doc/glibc-functions/wctrans_l.texi.
32492         * doc/posix-functions/wctype_l.texi: Renamed from
32493         doc/glibc-functions/wctype_l.texi.
32494         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32495         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
32496         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
32497         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
32498         these subsections.
32499         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
32500         Remove sections.
32501
32502 2008-12-14  Bruno Haible  <bruno@clisp.org>
32503
32504         Update doc for POSIX:2008.
32505         * doc/posix-functions/*.texi: Update URL of POSIX specification.
32506
32507 2008-12-14  Bruno Haible  <bruno@clisp.org>
32508
32509         Update doc for POSIX:2008.
32510         * doc/pastposix-functions/bcmp.texi: Renamed from
32511         doc/posix-functions/bcmp.texi.
32512         * doc/pastposix-functions/bcopy.texi: Renamed from
32513         doc/posix-functions/bcopy.texi.
32514         * doc/pastposix-functions/bsd_signal.texi: Renamed from
32515         doc/posix-functions/bsd_signal.texi.
32516         * doc/pastposix-functions/bzero.texi: Renamed from
32517         doc/posix-functions/bzero.texi.
32518         * doc/pastposix-functions/ecvt.texi: Renamed from
32519         doc/posix-functions/ecvt.texi.
32520         * doc/pastposix-functions/fcvt.texi: Renamed from
32521         doc/posix-functions/fcvt.texi.
32522         * doc/pastposix-functions/ftime.texi: Renamed from
32523         doc/posix-functions/ftime.texi.
32524         * doc/pastposix-functions/gcvt.texi: Renamed from
32525         doc/posix-functions/gcvt.texi.
32526         * doc/pastposix-functions/getcontext.texi: Renamed from
32527         doc/posix-functions/getcontext.texi.
32528         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
32529         doc/posix-functions/gethostbyaddr.texi.
32530         * doc/pastposix-functions/gethostbyname.texi: Renamed from
32531         doc/posix-functions/gethostbyname.texi.
32532         * doc/pastposix-functions/getwd.texi: Renamed from
32533         doc/posix-functions/getwd.texi.
32534         * doc/pastposix-functions/h_errno.texi: Renamed from
32535         doc/posix-functions/h_errno.texi.
32536         * doc/pastposix-functions/index.texi: Renamed from
32537         doc/posix-functions/index.texi.
32538         * doc/pastposix-functions/makecontext.texi: Renamed from
32539         doc/posix-functions/makecontext.texi.
32540         * doc/pastposix-functions/mktemp.texi: Renamed from
32541         doc/posix-functions/mktemp.texi.
32542         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
32543         doc/posix-functions/pthread_attr_getstackaddr.texi.
32544         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
32545         doc/posix-functions/pthread_attr_setstackaddr.texi.
32546         * doc/pastposix-functions/rindex.texi: Renamed from
32547         doc/posix-functions/rindex.texi.
32548         * doc/pastposix-functions/scalb.texi: Renamed from
32549         doc/posix-functions/scalb.texi.
32550         * doc/pastposix-functions/setcontext.texi: Renamed from
32551         doc/posix-functions/setcontext.texi.
32552         * doc/pastposix-functions/swapcontext.texi: Renamed from
32553         doc/posix-functions/swapcontext.texi.
32554         * doc/pastposix-functions/ualarm.texi: Renamed from
32555         doc/posix-functions/ualarm.texi.
32556         * doc/pastposix-functions/usleep.texi: Renamed from
32557         doc/posix-functions/usleep.texi.
32558         * doc/pastposix-functions/vfork.texi: Renamed from
32559         doc/posix-functions/vfork.texi.
32560         * doc/pastposix-functions/wcswcs.texi: Renamed from
32561         doc/posix-functions/wcswcs.texi.
32562         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
32563         (Function Substitutes): Update.
32564
32565 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32566
32567         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
32568         m4/strerror.m4.
32569
32570 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32571             Bruno Haible  <bruno@clisp.org>
32572
32573         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
32574
32575 2008-12-13  Bruno Haible  <bruno@clisp.org>
32576
32577         * modules/strtoull (Depends-on): Remove unistd.
32578
32579 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32580
32581         * modules/strtoull (Depends-on): Add stdlib.
32582
32583 2008-12-11  Simon Josefsson  <simon@josefsson.org>
32584
32585         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
32586
32587 2008-12-10  Jim Meyering  <meyering@redhat.com>
32588
32589         gl_ASSERT: don't say assertions are disabled when they're not
32590         * m4/assert.m4 (gl_ASSERT): Do not make configure report
32591         "checking whether to enable assertions... no", when they are in
32592         fact enabled.  This is solely a bug in the output of configure.
32593         In spite of saying "no", NDEBUG was not defined in that case.
32594         Also, as noted by Eric Blake, leave assertions enabled upon
32595         --enable-assert=INVALID.
32596
32597 2008-12-10  Bruno Haible  <bruno@clisp.org>
32598
32599         Change MODULES.html to refer to POSIX:2008 where possible.
32600         * MODULES.html.sh (POSIX2008_URL): New variable.
32601         (posix_headers): Remove sys/timeb, ucontext.
32602         (posix2001_headers): New variable.
32603         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
32604         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
32605         index, makecontext, mktemp, pthread_attr_getstackaddr,
32606         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
32607         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
32608         (posix2001_functions): New variable.
32609         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
32610         otherwise.
32611
32612 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32613
32614         add missing include to parse-duration.c
32615         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
32616         * modules/parse-duration (Depends-on): Add xalloc.
32617
32618         fix sed script reading maint.mk
32619         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
32620         (syntax-check-rules): Use it.
32621
32622 2008-12-09  Bruno Haible  <bruno@clisp.org>
32623
32624         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
32625         MacOS X 10.4/PowerPC.
32626         Reported by Simon Josefsson.
32627
32628 2008-12-08  Jim Meyering  <meyering@redhat.com>
32629
32630         work around mingw's lack of some S_IF definitions
32631         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
32632         Reported by Simon Josefsson.
32633
32634 2008-12-08  Bruno Haible  <bruno@clisp.org>
32635
32636         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
32637         applied to variables. Needed on MacOS X 10.4/PowerPC.
32638         Reported by Simon Josefsson.
32639
32640 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
32641         and Eric Blake  <ebb9@byu.net>
32642
32643         assert: honor --enable-assert
32644         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
32645         order to honor --enable-assert, rather than treating it as a
32646         synonym for --disable-assert.
32647
32648 2008-12-08  Jim Meyering  <meyering@redhat.com>
32649
32650         * lib/posixtm.c: Remove now-useless declaration of mktime.
32651
32652         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
32653
32654 2008-12-07  Bruno Haible  <bruno@clisp.org>
32655
32656         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
32657         test_once): Mark functions as static.
32658         * tests/test-tls.c (test_tls): Likewise.
32659
32660 2008-12-07  Bruno Haible  <bruno@clisp.org>
32661
32662         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
32663         iconv_register_autodetect.
32664
32665 2008-12-07  Jim Meyering  <meyering@redhat.com>
32666
32667         posixtm.c: avoid a warning
32668         * lib/posixtm.c (posixtime): Don't initialize tm0.
32669         It's no longer needed to placate gcc4's -Wuninitialized,
32670         and the attempt to placate would elicit a new warning.
32671
32672         unicodeio.c: mark unused parameters
32673         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32674         (fallback_failure_callback): Likewise.
32675
32676 2008-12-07  Bruno Haible  <bruno@clisp.org>
32677
32678         * gnulib-tool (func_create_testdir): When building the tests
32679         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
32680         Reported by Simon Josefsson.
32681
32682 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32683
32684         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
32685
32686 2008-12-06  Bruno Haible  <bruno@clisp.org>
32687
32688         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
32689         Suggested by Eric Blake.
32690
32691 2008-12-06  Bruno Haible  <bruno@clisp.org>
32692
32693         Fix a c-stack test failure on MacOS X.
32694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
32695         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
32696         handler for SIGBUS as well.
32697         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
32698         install a signal handler for SIGBUS as well.
32699         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
32700
32701 2008-12-06  Bruno Haible  <bruno@clisp.org>
32702
32703         Advocacy documentation.
32704         * doc/gnulib-intro.texi (Benefits): New section.
32705         * doc/gnulib.texi: Update.
32706
32707 2008-12-06  Bruno Haible  <bruno@clisp.org>
32708
32709         Document the 'manywarnings' module.
32710         * doc/manywarnings.texi: New file.
32711         * doc/gnulib.texi: Include it.
32712
32713 2008-12-05  Eric Blake  <ebb9@byu.net>
32714
32715         tests: silence some gcc warnings
32716         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
32717         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
32718         type mismatches.
32719
32720 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32721             Bruno Haible  <bruno@clisp.org>
32722
32723         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
32724
32725 2008-11-29  Jim Meyering  <meyering@redhat.com>
32726
32727         unicodeio.c: mark unused parameters
32728         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
32729         (fallback_failure_callback): Likewise.
32730
32731         fts: fix a thinko
32732         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
32733         (set_stat_type): Return S_IF*-valued "type" directly.
32734         Prompted by James Youngman's spotting a related bug.
32735         Confirmed by further testing through find.
32736
32737         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
32738         * lib/fts.c (D_TYPE): Define.
32739         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
32740         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
32741         (s_ifmt_shift_bits): New function.
32742         (set_stat_type): New function.
32743         (fts_build): When not calling fts_stat, call set_stat_type
32744         to propagate dirent.d_type info to fts_read caller.
32745         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
32746         fts_statp->st_mode type information may be valid.
32747
32748 2008-11-28  Simon Josefsson  <simon@josefsson.org>
32749
32750         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
32751         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
32752         <sds@gnu.org>.
32753
32754 2008-11-20  Bruno Haible  <bruno@clisp.org>
32755
32756         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
32757         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
32758         INCLUDE_NEXT.
32759         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
32760         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
32761         * modules/math (Makefile.am): Substitute
32762         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
32763         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32764
32765 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32766             Bruno Haible  <bruno@clisp.org>
32767
32768         * lib/stdint.in.h: Define all type macros so that their expansion is
32769         a single typedef'ed token. Fixes a compilation failure in Boost which
32770         does "using ::int8_t;".
32771
32772 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32773
32774         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32775         gl_MANYWARN_ALL_GCC.
32776         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32777         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32778         * modules/manywarnings: New file.
32779         * MODULES.html.sh: Mention manywarnings module.
32780
32781 2008-11-18  Bruno Haible  <bruno@clisp.org>
32782
32783         * doc/gnulib-tool.texi (Unit tests): New section.
32784
32785 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32786
32787         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32788         paths like 'lib/po/foo.po'.
32789
32790 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32791
32792         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32793         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32794
32795 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32796
32797         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32798         parameter works.
32799
32800 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32801
32802         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32803
32804 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32805
32806         * modules/parse-duration-tests: New file.
32807         * tests/test-parse-duration.sh: New file.
32808         * tests/test-parse-duration.c: New file.
32809
32810         New module 'parse-duration'.
32811         * lib/parse-duration.h: New file.
32812         * lib/parse-duration.c: New file.
32813         * modules/parse-duration: New file.
32814
32815 2008-11-17  Bruno Haible  <bruno@clisp.org>
32816
32817         * tests/test-select-out.sh: Comment out the first pipe test.
32818         Reported by Simon Josefsson.
32819
32820 2008-11-17  Bruno Haible  <bruno@clisp.org>
32821
32822         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32823         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32824         gl_HOSTENT.
32825
32826 2008-11-17  Bruno Haible  <bruno@clisp.org>
32827
32828         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32829         -lnetwork and -lnet. Needed for Haiku and BeOS.
32830
32831 2008-11-16  Bruno Haible  <bruno@clisp.org>
32832
32833         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32834
32835 2008-11-16  Bruno Haible  <bruno@clisp.org>
32836
32837         Avoid test failure on Haiku.
32838         * tests/test-fsync.c: Include <errno.h>.
32839         (main): Don't require that fsync (0) fails.
32840
32841 2008-11-15  Bruno Haible  <bruno@clisp.org>
32842
32843         New module 'hostent'.
32844         * modules/hostent: New file.
32845         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32846
32847 2008-11-15  Bruno Haible  <bruno@clisp.org>
32848
32849         New module 'servent'.
32850         * modules/servent: New file.
32851         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32852
32853 2008-11-15  Bruno Haible  <bruno@clisp.org>
32854
32855         Avoid generating same test program with two different rules.
32856         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32857         test-frexp to test-frexp-nolibm.
32858         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32859         test-frexpl to test-frexpl-nolibm.
32860
32861 2008-11-15  Bruno Haible  <bruno@clisp.org>
32862
32863         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32864         $(FREXPL_LIBM).
32865
32866 2008-11-15  Bruno Haible  <bruno@clisp.org>
32867
32868         * lib/netdb.in.h: Activate the definitions also when the system's
32869         <netdb.h> has 'struct addrinfo'.
32870         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32871         EAI_OVERFLOW or AI_NUMERICSERV.
32872         * doc/posix-headers/netdb.texi: Document the problem.
32873
32874 2008-11-15  Bruno Haible  <bruno@clisp.org>
32875
32876         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32877
32878         Make the 'sched' module work on platforms where <sched.h> exists but
32879         is incomplete (such as Haiku).
32880         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32881         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32882         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32883         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32884         HAVE_STRUCT_SCHED_PARAM.
32885         * modules/sched (Depends-on): Add include_next.
32886         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32887         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32888         * doc/posix-headers/sched.texi: Document the issue.
32889
32890 2008-11-13  Jim Meyering  <meyering@redhat.com>
32891
32892         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32893         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32894         test would fail due to the difference in the Report bugs to ...
32895         line.  The expected address is empty, "<>", while the actual
32896         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32897
32898 2008-11-12  Bruno Haible  <bruno@clisp.org>
32899
32900         lstat: don't compile lstat.c on systems lacking lstat
32901         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32902         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32903         Reported by Daniel P. Berrange via Jim Meyering.
32904
32905 2008-11-12  Jim Meyering  <meyering@redhat.com>
32906
32907         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32908
32909 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32910
32911         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32912         instead.
32913
32914 2008-11-12  Bruno Haible  <bruno@clisp.org>
32915
32916         * lib/unicodeio.c: Include unistr.h.
32917         (utf8_wctomb): Remove function.
32918         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32919
32920 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32921
32922         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32923         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32924         <bruno@clisp.org>.
32925         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32926
32927 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32928
32929         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32930         * doc/gnulib.texi: Add section for warnings.
32931
32932 2008-11-11  Bruno Haible  <bruno@clisp.org>
32933
32934         * lib/sockets.h: Add a comment.
32935
32936 2008-11-11  Karl Berry  <karl@gnu.org>
32937
32938         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32939
32940 2008-11-11  Eric Blake  <ebb9@byu.net>
32941
32942         fdl.texi: avoid git symlinks
32943         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32944
32945 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32946
32947         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32948
32949 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32950
32951         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32952         (gl_WARN_ADD): Substitute $2 if literal.
32953
32954 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32955
32956         * m4/warning.m4: Remove.
32957
32958 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32959
32960         * m4/warnings.m4: Almost complete rewrite. :-)
32961
32962 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32963
32964         * modules/warnings: New module.
32965         * m4/warnings.m4: New file.
32966         * MODULES.html.sh: Mention warnings module.
32967         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32968         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32969
32970 2008-11-10  Eric Blake  <ebb9@byu.net>
32971
32972         fdl.texi: make a symlink to the latest version
32973         * doc/standards.texi: Revert today's earlier change.
32974         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32975         * doc/fdl.texi: ...and replace this with a symlink to the newer
32976         fdl-1.3.texi.
32977
32978 2008-11-10  Bruno Haible  <bruno@clisp.org>
32979
32980         * tests/test-select-fd.c (main): Accept the result file name as fourth
32981         argument.
32982         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32983         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32984
32985 2008-11-10  Bruno Haible  <bruno@clisp.org>
32986
32987         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32988         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32989         as autoconf-substituted macros.
32990         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32991         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32992         gl_NETDB_H_DEFAULTS. Set these variables.
32993         * modules/netdb (Makefile.am): Substitute these variables.
32994
32995 2008-11-10  Eric Blake  <ebb9@byu.net>
32996
32997         standards.texi: include correct file for FDL 1.3
32998         * doc/standards.texi (GNU Free Documentation License): Change
32999         include file to pull in FDL 1.3, not 1.2.
33000
33001         fdl.texi: revert accidental change to license
33002         * doc/fdl.texi: This is FDL 1.2, not 1.3.
33003
33004 2008-11-10  Bruno Haible  <bruno@clisp.org>
33005
33006         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
33007         cross-compiling guesses also when the native compile gives no result.
33008
33009 2008-11-10  Bruno Haible  <bruno@clisp.org>
33010
33011         * lib/spawni.c (__spawni): Force variable into the stack.
33012
33013 2008-11-10  Bruno Haible  <bruno@clisp.org>
33014
33015         Add support for Haiku.
33016         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
33017         glibc and BeOS, but also on Haiku.
33018         * lib/fpurge.c (fpurge): Likewise.
33019         * lib/freadable.c (freadable): Likewise.
33020         * lib/freadahead.c (freadahead): Likewise.
33021         * lib/freading.c (freading): Likewise.
33022         * lib/freadptr.c (freadptr): Likewise.
33023         * lib/freadseek.c (freadptrinc): Likewise.
33024         * lib/fseeko.c (rpl_fseeko): Likewise.
33025         * lib/fseterr.c (fseterr): Likewise.
33026         * lib/fwritable.c (fwritable): Likewise.
33027         * lib/fwriting.c (fwriting): Likewise.
33028         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
33029
33030 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33031
33032         * lib/config.charset: Treat Haiku like BeOS.
33033
33034 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33035
33036         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
33037         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
33038
33039 2008-11-08  Bruno Haible  <bruno@clisp.org>
33040
33041         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
33042         AC_CACHE_CHECK.
33043
33044 2008-11-08  Bruno Haible  <bruno@clisp.org>
33045
33046         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
33047
33048 2008-11-08  Bruno Haible  <bruno@clisp.org>
33049
33050         * tests/test-select-fd.c: New file.
33051         * tests/test-select-in.sh: New file.
33052         * tests/test-select-out.sh: New file.
33053         * tests/test-select-stdin.c: New file.
33054         * modules/select-tests (Files): Add the new files.
33055         (Depends-on): Add gettimeofday.
33056         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
33057         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
33058         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
33059
33060 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
33061             Bruno Haible  <bruno@clisp.org>
33062
33063         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
33064
33065 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
33066
33067         * build-aux/pmccabe2html: Added support for C++ source files.
33068
33069 2008-11-05  Ben Pfaff  <blp@gnu.org>
33070
33071         Fix lib/close.c build on Windows.
33072         * modules/close (Files): Add lib/w32sock.h.
33073
33074 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
33075
33076         Accept Bison's NEWS format.
33077         * build-aux/announce-gen (print_news_deltas): Tweak
33078         $re_prefix.
33079
33080 2008-11-04  Bruno Haible  <bruno@clisp.org>
33081
33082         * modules/random_r (Maintainer): Add glibc.
33083
33084 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33085
33086         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
33087         by karl@freefriends.org (Karl Berry).
33088         * doc/alloca.texi: Likewise.
33089         * doc/c-ctype.texi: Likewise.
33090         * doc/c-strcase.texi: Likewise.
33091         * doc/c-strcaseeq.texi: Likewise.
33092         * doc/c-strcasestr.texi: Likewise.
33093         * doc/c-strstr.texi: Likewise.
33094         * doc/c-strtod.texi: Likewise.
33095         * doc/c-strtold.texi: Likewise.
33096         * doc/ctime.texi: Likewise.
33097         * doc/error.texi: Likewise.
33098         * doc/fdl.texi: Likewise.
33099         * doc/gcd.texi: Likewise.
33100         * doc/getdate.texi: Likewise.
33101         * doc/gnulib-intro.texi: Likewise.
33102         * doc/gnulib-tool.texi: Likewise.
33103         * doc/gnulib.texi: Likewise.
33104         * doc/inet_ntoa.texi: Likewise.
33105         * doc/maintain.texi: Likewise.
33106         * doc/make-stds.texi: Likewise.
33107         * doc/quote.texi: Likewise.
33108         * doc/regexprops-generic.texi: Likewise.
33109         * doc/standards.texi: Likewise.
33110         * doc/verify.texi: Likewise.
33111         * doc/visibility.texi: Likewise.
33112         * doc/gnulib.texi (GNU Free Documentation License): Include
33113         fdl-1.3.texi instead of fdl.texi.
33114
33115 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33116
33117         * doc/fdl-1.3.texi: New file, from
33118         <http://www.gnu.org/licenses/fdl-1.3.texi>.
33119         * modules/fdl-1.3: Add.
33120         * MODULES.html.sh: Add fdl-1.3.
33121
33122 2008-11-03  Bruno Haible  <bruno@clisp.org>
33123
33124         Make determination of absolute name of header file work with AIX xlc.
33125         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
33126         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
33127         preprocessing.
33128         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33129         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33130
33131 2008-11-03  Simon Josefsson  <simon@josefsson.org>
33132
33133         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
33134         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
33135         <ludo@gnu.org>.
33136
33137 2008-11-02  Bruno Haible  <bruno@clisp.org>
33138
33139         Mark 'strpbrk' obsolete.
33140         * modules/strpbrk (Status, Notice): New sections.
33141         * modules/strtok_r (Depends-on): Add strpbrk.
33142
33143 2008-11-02  Bruno Haible  <bruno@clisp.org>
33144
33145         Mark 'strdup' obsolete.
33146         * modules/strdup (Status, Notice): New sections.
33147         * modules/findprog (Depends-on): Add strdup.
33148         * modules/getaddrinfo (Depends-on): Likewise.
33149         * modules/localename (Depends-on): Likewise.
33150         * modules/relocatable-lib (Depends-on): Likewise.
33151         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
33152         * modules/relocatable-prog (Depends-on): Likewise.
33153         * modules/trim (Depends-on): Likewise.
33154         * modules/unictype/gen-ctype (Depends-on): Likewise.
33155         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33156
33157 2008-11-02  Bruno Haible  <bruno@clisp.org>
33158
33159         Mark 'strcspn' obsolete.
33160         * modules/strcspn (Status, Notice): New sections.
33161
33162 2008-11-02  Bruno Haible  <bruno@clisp.org>
33163
33164         Mark 'rmdir' obsolete.
33165         * modules/rmdir (Status, Notice): New sections.
33166         * modules/clean-temp (Depends-on): Add rmdir.
33167         * modules/openat (Depends-on): Likewise.
33168
33169 2008-11-02  Bruno Haible  <bruno@clisp.org>
33170
33171         Mark 'raise' obsolete.
33172         * modules/raise (Status, Notice): New sections.
33173         (Include): Specify <signal.h>.
33174         * modules/stdio (Depends-on): Add raise.
33175         * modules/write (Depends-on): Likewise.
33176
33177 2008-11-02  Bruno Haible  <bruno@clisp.org>
33178
33179         Mark 'memset' obsolete.
33180         * modules/memset (Status, Notice): New sections.
33181
33182 2008-11-02  Bruno Haible  <bruno@clisp.org>
33183
33184         Mark 'memmove' obsolete.
33185         * modules/memmove (Status, Notice): New sections.
33186         * modules/argp (Depends-on): Add memmove.
33187         * modules/argz (Depends-on): Likewise.
33188         * modules/canonicalize (Depends-on): Likewise.
33189         * modules/canonicalize-lgpl (Depends-on): Likewise.
33190         * modules/fts (Depends-on): Likewise.
33191         * modules/getcwd (Depends-on): Likewise.
33192         * modules/human (Depends-on): Likewise.
33193         * modules/regex (Depends-on): Likewise.
33194         * modules/striconveh (Depends-on): Likewise.
33195         * modules/trim (Depends-on): Likewise.
33196         * modules/unistr/u8-move (Depends-on): Likewise.
33197         * modules/unistr/u16-move (Depends-on): Likewise.
33198         * modules/unistr/u32-move (Depends-on): Likewise.
33199
33200 2008-11-02  Bruno Haible  <bruno@clisp.org>
33201
33202         Mark 'memcpy' obsolete.
33203         * modules/memcpy (Status, Notice): New sections.
33204
33205 2008-11-02  Bruno Haible  <bruno@clisp.org>
33206
33207         Mark 'memcmp' obsolete.
33208         * modules/memcmp (Status, Notice): New sections.
33209         * modules/argmatch (Depends-on): Add memchr.
33210         * modules/backupfile (Depends-on): Likewise.
33211         * modules/c-strcasestr (Depends-on): Likewise.
33212         * modules/crypto/des (Depends-on): Likewise.
33213         * modules/csharpcomp (Depends-on): Likewise.
33214         * modules/fnmatch (Depends-on): Likewise.
33215         * modules/git-merge-changelog (Depends-on): Likewise.
33216         * modules/isnand (Depends-on): Likewise.
33217         * modules/isnand-nolibm (Depends-on): Likewise.
33218         * modules/isnanf (Depends-on): Likewise.
33219         * modules/isnanf-nolibm (Depends-on): Likewise.
33220         * modules/isnanl (Depends-on): Likewise.
33221         * modules/isnanl-nolibm (Depends-on): Likewise.
33222         * modules/mbchar (Depends-on): Likewise.
33223         * modules/memcoll (Depends-on): Likewise.
33224         * modules/quotearg (Depends-on): Likewise.
33225         * modules/regex (Depends-on): Likewise.
33226         * modules/relocatable-prog (Depends-on): Likewise.
33227         * modules/same (Depends-on): Likewise.
33228         * modules/signbit (Depends-on): Likewise.
33229         * modules/strcasestr-simple (Depends-on): Likewise.
33230         * modules/unictype/gen-ctype (Depends-on): Likewise.
33231         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33232         * modules/uniname/uniname (Depends-on): Likewise.
33233         * modules/unistr/u8-cmp (Depends-on): Likewise.
33234
33235 2008-11-02  Bruno Haible  <bruno@clisp.org>
33236
33237         Mark 'memchr' obsolete.
33238         * modules/memchr (Status, Notice): New sections.
33239         * modules/argp (Depends-on): Add memchr.
33240         * modules/base64 (Depends-on): Likewise.
33241         * modules/c-strcasestr (Depends-on): Likewise.
33242         * modules/chdir-long (Depends-on): Likewise.
33243         * modules/fnmatch (Depends-on): Likewise.
33244         * modules/getsubopt (Depends-on): Likewise.
33245         * modules/git-merge-changelog (Depends-on): Likewise.
33246         * modules/glob (Depends-on): Likewise.
33247         * modules/strcasestr-simple (Depends-on): Likewise.
33248         * modules/strnlen (Depends-on): Likewise.
33249
33250 2008-11-02  Bruno Haible  <bruno@clisp.org>
33251
33252         Mark 'atexit' obsolete.
33253         * modules/atexit (Status, Notice): New sections.
33254         * modules/chdir-long (Depends-on): Add atexit.
33255         * modules/wait-process (Depends-on): Likewise.
33256
33257 2008-11-02  Bruno Haible  <bruno@clisp.org>
33258
33259         * gnulib-tool: New option --with-obsolete.
33260         (func_usage): Document it.
33261         (func_modules_transitive_closure): Drop obsolete dependencies if
33262         incobsolete is not true.
33263         (func_import): Read and save the incobsolete variable to the cache.
33264
33265 2008-11-02  Bruno Haible  <bruno@clisp.org>
33266
33267         * modules/TEMPLATE-EXTENDED: New field 'Status'.
33268         * gnulib-tool: New option --extract-status.
33269         (func_usage): Document it.
33270         (sed_extract_prog): Recognize it.
33271         (func_get_status): New function.
33272
33273 2008-10-30  Simon Josefsson  <simon@josefsson.org>
33274
33275         * modules/sockets (License): Change from LGPL to LGPLv2+.
33276
33277 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33278
33279         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
33280
33281 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33282
33283         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33284         Mention times and sys_times.
33285         * modules/sys_times, modules/sys_times-tests: New modules.
33286         * modules/times, modules/times-tests: Likewise
33287         * m4/sys_times_h.m4: New file.
33288         * lib/sys_times.in.h: Likewise
33289         * lib/times.c: Likewise.
33290         * tests/test-sys_times.c: Likewise.
33291         * tests/test-times.c: Likewise.
33292         * doc/posix-headers/sys_times.texi: Update.
33293         * doc/posix-functions/times.texi: Update.
33294
33295 2008-10-28  Jim Meyering  <meyering@redhat.com>
33296
33297         * modules/tempname (Depends-on): Add lstat.
33298
33299         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
33300
33301 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33302
33303         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
33304         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
33305         using idiom used elsewhere in gnulib.
33306
33307 2008-10-27  Jim Meyering  <meyering@redhat.com>
33308
33309         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
33310
33311 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33312
33313         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
33314         TESTS_ENVIRONMENT, for shell scripts that needs to call built
33315         programs.
33316         * tests/test-argp-2.sh: Use $EXEEXT when needed.
33317
33318 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33319
33320         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
33321
33322 2008-10-27  Bruno Haible  <bruno@clisp.org>
33323
33324         * tests/test-lstat.c: Include <stdio.h>.
33325
33326 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33327
33328         * modules/lstat-tests: New module.
33329         * tests/test-lstat.c: New file.
33330
33331 2008-10-26  Jim Meyering  <meyering@redhat.com>
33332
33333         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
33334
33335 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33336             Bruno Haible  <bruno@clisp.org>
33337
33338         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
33339         * modules/configmake (Include): Add a note that the include must come
33340         after all system headers.
33341         * lib/javaversion.c: Include configmake.h after all other includes.
33342
33343 2008-10-26  Bruno Haible  <bruno@clisp.org>
33344
33345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
33346         HAVE_STRUCT_RANDOM_DATA to 1.
33347         (gl_STDLIB_H): Simplify.
33348
33349 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33350
33351         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
33352         substitute HAVE_STRUCT_RANDOM_DATA.
33353         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
33354         random_data.
33355         * modules/stdlib (Makefile.am): Substitute
33356         HAVE_STRUCT_RANDOM_DATA.
33357
33358 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33359
33360         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
33361         * doc/gnulib-intro.texi (Copyright): Likewise.
33362
33363 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33364
33365         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
33366         findings.
33367
33368 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
33369             Bruno Haible  <bruno@clisp.org>
33370
33371         * lib/unistd.in.h: Include <winsock2.h>.
33372         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
33373         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
33374         Provide dummy declarations.
33375         (gethostname): Override.
33376         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
33377         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
33378         gl_PREREQ_SYS_H_WINSOCK2.
33379         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
33380         * doc/posix-functions/gethostname.texi: More details.
33381
33382 2008-10-25  Bruno Haible  <bruno@clisp.org>
33383
33384         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33385         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
33386         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
33387
33388         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
33389         here ...
33390         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
33391         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
33392         gl_UNISTD_H_DEFAULTS.
33393
33394 2008-10-25  Eric Blake  <ebb9@byu.net>
33395
33396         signbit: avoid spurious compiler failure
33397         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
33398         declarations inside function.
33399
33400 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33401             Bruno Haible  <bruno@clisp.org>
33402
33403         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
33404         * modules/random_r (Depends-on): Add stdint.
33405
33406 2008-10-24  Bruno Haible  <bruno@clisp.org>
33407
33408         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
33409         Eggert.
33410         * modules/strerror (License): Likewise.
33411
33412 2008-10-24  Jim Meyering  <meyering@redhat.com>
33413
33414         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
33415         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
33416
33417 2008-10-24  Eric Blake  <ebb9@byu.net>
33418
33419         getgroups: fix compilation when getgroups is available
33420         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
33421         but with <config.h> override of getgroups disabled.
33422
33423 2008-10-24  Simon Josefsson  <simon@josefsson.org>
33424
33425         * doc/gnulib.texi (Header files): Add note about C++ problems.
33426         Explained by Bruno Haible <bruno@clisp.org>.
33427
33428 2008-10-23  Bruno Haible  <bruno@clisp.org>
33429
33430         Define a dummy SA_NODEFER macro on Interix.
33431         * lib/signal.in.h (SA_NODEFER): Define fallback.
33432         Reported by Aleksey Cheusov <cheusov@tut.by> via
33433         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
33434
33435 2008-10-23  Bruno Haible  <bruno@clisp.org>
33436
33437         * modules/freadahead (License): Change to LGPLv2+.
33438         Suggested by Simon Josefsson.
33439
33440 2008-10-23  Jim Meyering  <meyering@redhat.com>
33441
33442         random_r: new module
33443         * modules/random_r: New file.
33444         * m4/random_r.m4: New file.
33445         * lib/random_r.c: New file, from glibc.
33446         * modules/random_r-tests: New file.
33447         * tests/test-random_r.c: New file.
33448         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
33449          Declare.
33450         (RAND_MAX): Define.
33451         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
33452         * modules/stdlib: Substitute them, too.
33453         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
33454         * doc/glibc-functions/initstate_r.texi: Mention the new module.
33455         * doc/glibc-functions/random_r.texi: Likewise.
33456         * doc/glibc-functions/setstate_r.texi: Likewise.
33457         * doc/glibc-functions/srandom_r.texi: Likewise.
33458         * config/srclist.txt: Mention it.
33459
33460 2008-10-23  David Lutterkort  <lutter@redhat.com>
33461
33462         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
33463         link requirement
33464
33465 2008-10-23  Jim Meyering  <meyering@redhat.com>
33466
33467         selinux-h: mark parameters of stub functions as intentionally unused
33468         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
33469         * lib/se-context.in.h: Likewise.
33470
33471 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33472
33473         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
33474
33475 2008-10-22  Simon Josefsson  <simon@josefsson.org>
33476
33477         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
33478
33479 2008-10-22  Eric Blake  <ebb9@byu.net>
33480
33481         glthread/thread: avoid compiler warning
33482         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
33483         Add unreachable abort to silence compiler.
33484
33485 2008-10-22  Eric Blake  <ebb9@byu.net>
33486
33487         netdb: also supply struct addrinfo for cygwin 1.5.x
33488         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
33489         older cygwin.
33490         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
33491         cygwin.
33492         * doc/posix-headers/netdb.texi (netdb.h): Document this.
33493
33494 2008-10-22  Bruno Haible  <bruno@clisp.org>
33495
33496         * users.txt: Update entry about pspp.
33497
33498 2008-10-21  Bruno Haible  <bruno@clisp.org>
33499
33500         Simplification.
33501         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
33502         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
33503
33504         Simplification.
33505         * lib/ioctl.c (ioctl): Don't undefine.
33506         * lib/socket.c (socket): Don't undefine.
33507
33508         Remove unused module indicator macros.
33509         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
33510         GNULIB_$1 as a C macro.
33511
33512         * doc/posix-functions/close.texi: Undo last change.
33513         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
33514         Windows platforms.
33515
33516 2008-10-21  Bruno Haible  <bruno@clisp.org>
33517
33518         Add gethostname() declaration to <unistd.h>.
33519         * lib/unistd.in.h (gethostname): New declaration.
33520         * lib/gethostname.c: Include <unistd.h>.
33521         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
33522         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
33523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
33524         and HAVE_GETHOSTNAME.
33525         * modules/gethostname (Depends-on): Add unistd.
33526         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33527         (Include): Specify <unistd.h>.
33528         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
33529         HAVE_GETHOSTNAME.
33530         * tests/test-gethostname.c: Include <unistd.h> first.
33531
33532 2008-10-21  Bruno Haible  <bruno@clisp.org>
33533
33534         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
33535         * modules/select-tests (Depends-on): Likewise.
33536         Reported by Simon Josefsson.
33537
33538 2008-10-21  Simon Josefsson  <simon@josefsson.org>
33539
33540         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
33541         * lib/accept.c: New file, based on winsock.c.
33542         * lib/bind.c: New file, based on winsock.c.
33543         * lib/connect.c: New file, based on winsock.c.
33544         * lib/getpeername.c: New file, based on winsock.c.
33545         * lib/getsockname.c: New file, based on winsock.c.
33546         * lib/getsockopt.c: New file, based on winsock.c.
33547         * lib/ioctl.c: New file, based on winsock.c.
33548         * lib/listen.c: New file, based on winsock.c.
33549         * lib/recv.c: New file, based on winsock.c.
33550         * lib/recvfrom.c: New file, based on winsock.c.
33551         * lib/send.c: New file, based on winsock.c.
33552         * lib/sendto.c: New file, based on winsock.c.
33553         * lib/setsockopt.c: New file, based on winsock.c.
33554         * lib/shutdown.c: New file, based on winsock.c.
33555         * lib/socket.c: New file, based on winsock.c.
33556         * lib/w32sock.h: New file, based on winsock.c.
33557         * lib/winsock.c: Remove file.
33558         * modules/accept: Likewise.
33559         * modules/bind: Likewise.
33560         * modules/connect: Likewise.
33561         * modules/getpeername: Likewise.
33562         * modules/getsockname: Likewise.
33563         * modules/getsockopt: Likewise.
33564         * modules/ioctl: Likewise.
33565         * modules/listen: Likewise.
33566         * modules/recv: Likewise.
33567         * modules/recvfrom: Likewise.
33568         * modules/send: Likewise.
33569         * modules/sendto: Likewise.
33570         * modules/setsockopt: Likewise.
33571         * modules/shutdown: Likewise.
33572         * modules/socket: Use socket.c instead of winsock.c.
33573         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
33574         * doc/posix-functions/accept.texi: Doc fix.
33575         * doc/posix-functions/bind.texi: Doc fix.
33576         * doc/posix-functions/close.texi: Doc fix.
33577         * doc/posix-functions/connect.texi: Doc fix.
33578         * doc/posix-functions/getpeername.texi: Doc fix.
33579         * doc/posix-functions/getsockname.texi: Doc fix.
33580         * doc/posix-functions/getsockopt.texi: Doc fix.
33581         * doc/posix-functions/ioctl.texi: Doc fix.
33582         * doc/posix-functions/listen.texi: Doc fix.
33583         * doc/posix-functions/recv.texi: Doc fix.
33584         * doc/posix-functions/recvfrom.texi: Doc fix.
33585         * doc/posix-functions/send.texi: Doc fix.
33586         * doc/posix-functions/sendto.texi: Doc fix.
33587         * doc/posix-functions/setsockopt.texi: Doc fix.
33588         * doc/posix-functions/shutdown.texi: Doc fix.
33589         * doc/posix-functions/socket.texi: Doc fix.
33590
33591 2008-10-20  Bruno Haible  <bruno@clisp.org>
33592
33593         Take into account the role of SIGABRT_COMPAT on Windows 2008.
33594         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
33595         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
33596         as an alias for SIGABRT.
33597         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
33598         (sigaction): Map it to SIGABRT.
33599         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
33600
33601 2008-10-20  Bruno Haible  <bruno@clisp.org>
33602
33603         * lib/fts.c: Don't include lstat.h.
33604         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
33605
33606         Move the lstat() declaration to <sys/stat.h>.
33607         * lib/lstat.h: Remove file.
33608         * lib/sys_stat.in.h: Add special invocation convention.
33609         (lstat): New declaration.
33610         * lib/lstat.c (orig_lstat): New function.
33611         (rpl_lstat): Use orig_lstat instead of lstat.
33612         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
33613         AC_C_INLINE. Set REPLACE_LSTAT.
33614         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
33615         and REPLACE_LSTAT.
33616         * modules/lstat (Files): Remove lib/lstat.h.
33617         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33618         (Include): Specify <sys/stat.h> instead of lstat.h.
33619         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
33620         REPLACE_LSTAT.
33621         * NEWS: Mention the change.
33622
33623 2008-10-20  Bruno Haible  <bruno@clisp.org>
33624
33625         * modules/posix_spawn-tests: New file.
33626         * tests/test-posix_spawn3.c: New file.
33627
33628 2008-10-20  Bruno Haible  <bruno@clisp.org>
33629
33630         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
33631         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33632         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
33633         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
33634         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
33635
33636 2008-10-20  Bruno Haible  <bruno@clisp.org>
33637
33638         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
33639         of posix_spawn on AIX 5.3.
33640
33641 2008-10-20  Bruno Haible  <bruno@clisp.org>
33642
33643         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
33644
33645 2008-10-20  Bruno Haible  <bruno@clisp.org>
33646
33647         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
33648         of AC_LANG_PROGRAM.
33649
33650 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33651
33652         * lib/netdb.in.h: Don't define GNU specific constants until they
33653         are supported or needed.  Reported by Bruno Haible
33654         <bruno@clisp.org>.
33655
33656 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33657
33658         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
33659
33660 2008-10-20  Simon Josefsson  <simon@josefsson.org>
33661
33662         * lib/getaddrinfo.h: Remove file.
33663         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
33664         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
33665         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
33666         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
33667         * modules/netdb: Substitute GNULIB_GETADDRINFO.
33668         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
33669         * tests/test-getaddrinfo.c: Likewise.
33670         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
33671         * NEWS: Mention change.
33672
33673 2008-10-19  Bruno Haible  <bruno@clisp.org>
33674
33675         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
33676
33677 2008-10-19  Bruno Haible  <bruno@clisp.org>
33678
33679         * lib/wait-process.c: Include simply <sys/wait.h>.
33680         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
33681         WIFSTOPPED): Remove fallback definitions.
33682         * modules/wait-process (Depends-on): Add sys_wait.
33683
33684         New module 'sys_wait'.
33685         * modules/sys_wait: New file.
33686         * lib/sys_wait.in.h: New file, partially copied from
33687         lib/wait-process.c.
33688         * m4/sys_wait_h.m4: New file.
33689         * doc/posix-headers/sys_wait.texi: Mention the new module.
33690
33691 2008-10-19  Bruno Haible  <bruno@clisp.org>
33692
33693         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
33694
33695 2008-10-19  Bruno Haible  <bruno@clisp.org>
33696
33697         Assume that waitpid() fills an 'int' status, not a 'union wait'.
33698         * lib/wait-process.c (WAIT_T): Remove type.
33699         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
33700         (wait_subprocess): Update.
33701
33702 2008-10-19  Bruno Haible  <bruno@clisp.org>
33703
33704         New module 'atoll'.
33705         * modules/atoll: New file.
33706         * lib/stdlib.in.h (atoll): New declaration.
33707         * lib/atoll.c: New file, from glibc with modifications.
33708         * m4/atoll.m4: New file.
33709         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
33710         HAVE_ATOLL.
33711         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
33712         * doc/posix-functions/atoll.texi: Mention the new module.
33713
33714 2008-10-19  Bruno Haible  <bruno@clisp.org>
33715
33716         Add strtoull() declaration to <stdlib.h>.
33717         * lib/stdlib.in.h (strtoull): New declaration.
33718         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33719         Set HAVE_STRTOULL.
33720         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
33721         HAVE_STRTOULL.
33722         * modules/strtoull (Depends-on): Add stdlib.
33723         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33724         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
33725         HAVE_STRTOULL.
33726
33727 2008-10-19  Bruno Haible  <bruno@clisp.org>
33728
33729         Add strtoll() declaration to <stdlib.h>.
33730         * lib/stdlib.in.h (strtoll): New declaration.
33731         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
33732         Set HAVE_STRTOLL.
33733         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
33734         HAVE_STRTOLL.
33735         * modules/strtoll (Depends-on): Add stdlib.
33736         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33737         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
33738
33739 2008-10-19  Bruno Haible  <bruno@clisp.org>
33740
33741         * modules/bcopy (Depends-on): Add strings.
33742         (Include): Specify <strings.h>.
33743
33744 2008-10-19  Bruno Haible  <bruno@clisp.org>
33745
33746         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
33747
33748 2008-10-19  Bruno Haible  <bruno@clisp.org>
33749
33750         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
33751         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
33752         mingw.
33753
33754 2008-10-19  Bruno Haible  <bruno@clisp.org>
33755
33756         * lib/atanl.c: Don't include isnanl.h.
33757         * lib/cosl.c: Likewise.
33758         * lib/ldexpl.c: Likewise.
33759         * lib/logl.c: Likewise.
33760         * lib/sinl.c: Likewise.
33761         * lib/sqrtl.c: Likewise.
33762         * lib/tanl.c: Likewise.
33763
33764         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33765         * lib/isnanf.h: Remove file.
33766         * lib/isnand.h: Remove file.
33767         * lib/isnanl.h: Remove file.
33768         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33769         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33770         macros.
33771         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33772         HAVE_ISNANF, don't define it as a C macro.
33773         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33774         HAVE_ISNAND, don't define it as a C macro.
33775         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33776         HAVE_ISNANL, don't define it as a C macro.
33777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33778         HAVE_ISNAN[FDL].
33779         * modules/isnanf (Files): Remove lib/isnanf.h.
33780         (Depends-on): Add math.
33781         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33782         (Include): Specify <math.h> instead of isnanf.h.
33783         * modules/isnand (Files): Remove lib/isnand.h.
33784         (Depends-on): Add math.
33785         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33786         (Include): Specify <math.h> instead of isnand.h.
33787         * modules/isnanl (Files): Remove lib/isnanl.h.
33788         (Depends-on): Add math.
33789         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33790         (Include): Specify <math.h> instead of isnanl.h.
33791         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33792         HAVE_ISNAN[FDL].
33793         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33794         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33795         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33796         * NEWS: Mention the change.
33797
33798 2008-10-18  Bruno Haible  <bruno@clisp.org>
33799
33800         Add getusershell(), setusershell(), endusershell() declarations to
33801         <unistd.h>.
33802         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33803         declarations.
33804         * lib/getusershell.c: Include unistd.h.
33805         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33806         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33807         HAVE_GETUSERSHELL.
33808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33809         and HAVE_GETUSERSHELL.
33810         * modules/getusershell (Depends-on): Add unistd, extensions.
33811         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33812         (Include): Specify <unistd.h>.
33813         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33814         HAVE_GETUSERSHELL.
33815
33816 2008-10-18  Bruno Haible  <bruno@clisp.org>
33817
33818         Add a getloadavg() declaration to <stdlib.h>.
33819         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33820         getloadavg declaration.
33821         (getloadavg): New declaration.
33822         * lib/getloadavg.c: Include <stdlib.h> first.
33823         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33824         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33825         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33826         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33827         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33828         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33829         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33830         (Include): Specify <stdlib.h>.
33831         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33832         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33833
33834 2008-10-18  Bruno Haible  <bruno@clisp.org>
33835
33836         * lib/dirchownmod.c: Don't include lchmod.h.
33837
33838         Move the lchmod() declaration to <sys/stat.h>.
33839         * lib/lchmod.h: Remove file.
33840         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33841         (lchmod): New declaration, moved here from lib/lchown.h.
33842         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33843         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33844         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33845         and HAVE_LCHMOD.
33846         * modules/lchmod (Files): Remove lib/lchmod.h.
33847         (Depends-on): Add sys_stat, extensions.
33848         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33849         (Include): Specify <sys/stat.h> instead of lchmod.h.
33850         * modules/sys_stat (Depends-on): Add link-warning.
33851         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33852         definition of GL_LINK_WARNING.
33853         * NEWS: Mention the change.
33854
33855 2008-10-18  Bruno Haible  <bruno@clisp.org>
33856
33857         * lib/fchdir.c: Don't include dirfd.h.
33858         * lib/fts.c: Likewise.
33859         * lib/getcwd.c: Likewise.
33860         * lib/glob.c: Likewise.
33861
33862         Move the dirfd() declaration to <dirent.h>.
33863         * lib/dirfd.h: Remove file.
33864         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33865         (dirfd): New declaration.
33866         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33867         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33868         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33869         HAVE_DECL_DIRFD.
33870         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33871         HAVE_DECL_DIRFD.
33872         * modules/dirfd (Files): Remove lib/dirfd.h.
33873         (Depends-on): Add dirent, extensions.
33874         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33875         (Include): Specify <dirent.h> instead of dirfd.h.
33876         * modules/dirent (Depends-on): Add link-warning.
33877         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33878         definition of GL_LINK_WARNING.
33879         * NEWS: Mention the change.
33880
33881 2008-10-18  Bruno Haible  <bruno@clisp.org>
33882
33883         Move the euidaccess() declaration to <unistd.h>.
33884         * lib/euidaccess.h: Remove file.
33885         * lib/unistd.in.h (euidaccess): New declaration.
33886         * lib/euidaccess.c: Don't include euidaccess.h.
33887         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33888         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33890         and HAVE_EUIDACCESS.
33891         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33892         (Depends-on): Add unistd.
33893         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33894         (Include): Specify <unistd.h> instead of euidaccess.h.
33895         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33896         HAVE_EUIDACCESS.
33897         * NEWS: Mention the change.
33898
33899 2008-10-18  Bruno Haible  <bruno@clisp.org>
33900
33901         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33902
33903         Move the getdomainname() declaration to <unistd.h>.
33904         * lib/getdomainname.h: Remove file.
33905         * lib/unistd.in.h (getdomainname): New declaration.
33906         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33907         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33908         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33909         HAVE_GETDOMAINNAME.
33910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33911         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33912         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33913         (Depends-on): Add unistd, extensions.
33914         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33915         (Includes): Specify <unistd.h> instead of getdomainname.h.
33916         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33917         HAVE_GETDOMAINNAME.
33918         * NEWS: Mention the change.
33919
33920 2008-10-18  Bruno Haible  <bruno@clisp.org>
33921
33922         * modules/dirent: New file.
33923         * m4/dirent_h.m4: New file.
33924         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33925         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33926         * modules/fchdir (Files): Remove lib/dirent.in.h.
33927         (Depends-on): Add dirent.
33928         (Makefile.am): Move rules to modules/dirent.
33929         * doc/posix-headers/dirent.texi: Mention the new module.
33930
33931 2008-10-18  Bruno Haible  <bruno@clisp.org>
33932
33933         Avoid -Wunused-parameter warnings in public gnulib header files.
33934         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33935         macro.
33936         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33937
33938 2008-10-18  Bruno Haible  <bruno@clisp.org>
33939
33940         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33941         * doc/glibc-functions/error.texi: Mention the module 'error'.
33942         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33943         * doc/glibc-functions/getdomainname.texi: Mention the module
33944         'getdomainname'.
33945         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33946         * doc/glibc-functions/getpagesize.texi: Mention the module
33947         'getpagesize'.
33948         * doc/glibc-functions/getusershell.texi: Mention the module
33949         'getusershell'.
33950         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33951         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33952         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33953         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33954         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33955         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33956         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33957         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33958         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33959         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33960         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33961         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33962         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33963         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33964
33965 2008-10-17  Bruno Haible  <bruno@clisp.org>
33966
33967         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33968         HP-UX and IRIX, use -0.0L.
33969         * tests/test-ceill.c (minus_zero): Likewise.
33970         * tests/test-floorl.c (minus_zero): Likewise.
33971         * tests/test-frexpl.c (minus_zero): Likewise.
33972         * tests/test-isnan.c (minus_zerol): Likewise.
33973         * tests/test-isnanl.h (minus_zero): Likewise.
33974         * tests/test-ldexpl.c (minus_zero): Likewise.
33975         * tests/test-roundl.c (minus_zero): Likewise.
33976         * tests/test-signbit.c (minus_zerol): Likewise.
33977         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33978         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33979         * tests/test-truncl.c (minus_zero): Likewise.
33980         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33981         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33982         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33983         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33984
33985 2008-10-17  Bruno Haible  <bruno@clisp.org>
33986
33987         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33988         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33989         that it gets activated only for gcc >= 3.0.
33990         * lib/dirent.in.h: Likewise.
33991         * lib/errno.in.h: Likewise.
33992         * lib/fcntl.in.h: Likewise.
33993         * lib/float.in.h: Likewise.
33994         * lib/iconv.in.h: Likewise.
33995         * lib/inttypes.in.h: Likewise.
33996         * lib/locale.in.h: Likewise.
33997         * lib/math.in.h: Likewise.
33998         * lib/netdb.in.h: Likewise.
33999         * lib/netinet_in.in.h: Likewise.
34000         * lib/search.in.h: Likewise.
34001         * lib/signal.in.h: Likewise.
34002         * lib/spawn.in.h: Likewise.
34003         * lib/stdarg.in.h: Likewise.
34004         * lib/stdint.in.h: Likewise.
34005         * lib/stdio.in.h: Likewise.
34006         * lib/stdlib.in.h: Likewise.
34007         * lib/string.in.h: Likewise.
34008         * lib/strings.in.h: Likewise.
34009         * lib/sys_file.in.h: Likewise.
34010         * lib/sys_ioctl.in.h: Likewise.
34011         * lib/sys_select.in.h: Likewise.
34012         * lib/sys_socket.in.h: Likewise.
34013         * lib/sys_stat.in.h: Likewise.
34014         * lib/sys_time.in.h: Likewise.
34015         * lib/sysexits.in.h: Likewise.
34016         * lib/time.in.h: Likewise.
34017         * lib/unistd.in.h: Likewise.
34018         * lib/wchar.in.h: Likewise.
34019         * lib/wctype.in.h: Likewise.
34020         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34021
34022 2008-10-17  Jim Meyering  <meyering@redhat.com>
34023
34024         ignore-value: don't depend on inline module
34025         * modules/ignore-value (Depends-on): Remove 'inline'.
34026         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
34027         Suggestion from Bruno Haible.
34028
34029 2008-10-17  Bruno Haible  <bruno@clisp.org>
34030
34031         New implementation of condition variables for Win32.
34032         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
34033         (gl_linked_waitqueue_t): New type.
34034         (gl_cond_t): Use it.
34035         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
34036         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
34037         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
34038         (glthread_cond_init_func, glthread_cond_wait_func,
34039         glthread_cond_timedwait_func, glthread_cond_signal_func,
34040         glthread_cond_broadcast_func, glthread_cond_destroy_func):
34041         Reimplemented on the basis of gl_linked_waitqueue_t.
34042         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
34043         gl_waitqueue_t.
34044         (gl_rwlock_t): Update.
34045         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
34046
34047 2008-10-17  Simon Josefsson  <simon@josefsson.org>
34048
34049         * modules/recvfrom (Depends-on): Add dependency on getpeername.
34050         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34051
34052 2008-10-17  Jim Meyering  <meyering@redhat.com>
34053
34054         ignore-value: new module
34055         * modules/ignore-value: New file.
34056         * lib/ignore-value.h: New file.
34057         * MODULES.html.sh (Compiler warning management): New section,
34058         just for this module.  More to come.
34059
34060 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34061
34062         open-safer.c: avoid 'signed and unsigned in conditional...' warning
34063         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
34064         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
34065
34066 2008-10-16  Jim Meyering  <meyering@redhat.com>
34067
34068         openat-die.c: avoid 'no previous prototype' warning
34069         * lib/openat-die.c: Include "openat.h".
34070         Reported by Reuben Thomas <rrt@sc3d.org>.
34071
34072 2008-10-16  Simon Josefsson  <simon@josefsson.org>
34073
34074         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
34075         * lib/netdb.in.h: Fix typo.
34076         Reported by Bruno Haible  <bruno@clisp.org>
34077
34078         * lib/netdb.in.h: Include sys/socket.h for platforms without
34079         netdb.h, to get structures like hostent on MinGW.
34080         * modules/netdb (Depends-on): Add sys_socket.
34081
34082 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34083
34084         * modules/netdb, modules/netdb-tests: New file.
34085         * m4/netdb_h.m4: New file.
34086         * lib/netdb.in.h: Add, currently just an empty file pending
34087         definitions.
34088         * tests/test-netdb.c: New file.
34089         * doc/posix-headers/netdb.texi: Mention that we replace it if
34090         needed.
34091         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34092         netdb.
34093
34094 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34095
34096         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
34097         with code.
34098
34099 2008-10-13  Bruno Haible  <bruno@clisp.org>
34100
34101         * lib/glthread/cond.c (glthread_cond_wait_func,
34102         glthread_cond_timedwait_func): Add a comment.
34103
34104 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34105
34106         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
34107         * tests/test-select.c: Likewise,
34108
34109 2008-10-13  Bruno Haible  <bruno@clisp.org>
34110
34111         * lib/glthread/cond.c (glthread_cond_wait_func,
34112         glthread_cond_timedwait_func): Fix variable name.
34113         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34114
34115 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
34116
34117         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
34118         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
34119         struct sockaddr.sa_len.
34120         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
34121
34122 2008-10-13  Simon Josefsson  <simon@josefsson.org>
34123
34124         * build-aux/pmccabe2html: Add css and css_url parameters.
34125
34126 2008-10-12  Bruno Haible  <bruno@clisp.org>
34127
34128         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
34129         calling aclx_get.
34130         Reported by Rainer Tammer <tammer@tammer.net>.
34131
34132 2008-10-12  Bruno Haible  <bruno@clisp.org>
34133
34134         Use msvcrt aware primitives for creation/termination of Win32 threads.
34135         * lib/glthread/thread.c: Include <process.h>.
34136         (glthread_create_func): Use _beginthreadex instead of CreateThread.
34137         (wrapper_func): Update signature.
34138         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
34139
34140 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34141             Bruno Haible  <bruno@clisp.org>
34142
34143         Provide a Win32 implementation of the 'cond' module.
34144         * lib/glthread/cond.h [USE_WIN32]: New implementation.
34145         * lib/glthread/cond.c (glthread_cond_init_func,
34146         glthread_cond_wait_func, glthread_cond_timedwait_func,
34147         glthread_cond_signal_func, glthread_cond_broadcast_func,
34148         glthread_cond_destroy_func) [USE_WIN32]: New functions.
34149         * modules/cond (Dependencies): Add gettimeofday.
34150
34151 2008-10-11  Bruno Haible  <bruno@clisp.org>
34152
34153         Make sleep work on older versions of mingw.
34154         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
34155         only whether it exists.
34156         * doc/posix-functions/sleep.texi: Mention the problem with older
34157         versions of mingw.
34158
34159 2008-10-11  Bruno Haible  <bruno@clisp.org>
34160
34161         New module 'shutdown'.
34162         * modules/shutdown: New file.
34163         * lib/sys_socket.in.h (shutdown): New declaration.
34164         * lib/winsock.c (shutdown): New function.
34165         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34166         GNULIB_SHUTDOWN.
34167         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
34168         * doc/posix-functions/shutdown.texi: Document the new module.
34169
34170 2008-10-11  Jim Meyering  <meyering@redhat.com>
34171
34172         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
34173
34174 2008-10-11  Bruno Haible  <bruno@clisp.org>
34175
34176         New module 'fclose'.
34177         * modules/fclose: New file.
34178         * lib/stdio.in.h (fclose): New declaration.
34179         * lib/fclose.c: New file.
34180         * m4/fclose.m4: New file.
34181         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
34182         REPLACE_FCLOSE.
34183         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
34184         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
34185         REPLACE_FCLOSE.
34186         * modules/close (Depends-on): fclose.
34187         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
34188
34189 2008-10-11  Bruno Haible  <bruno@clisp.org>
34190
34191         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
34192         set errno and don't call _close.
34193
34194 2008-10-10  Bruno Haible  <bruno@clisp.org>
34195
34196         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
34197         ACL, not afterwards. Fixes test failure on Cygwin.
34198
34199 2008-10-09  Ben Pfaff  <blp@gnu.org>
34200
34201         * build-aux/announce-gen: Fix gnulib version related part of usage
34202         message.  Die with a useful error message if no tarballs are
34203         found.
34204
34205 2008-10-10  Jim Meyering  <meyering@redhat.com>
34206
34207         bootstrap: use git's --depth=N option only if it's supported
34208         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
34209         recognize the --depth option.  Reported by Pádraig Brady.
34210
34211 2008-10-09  Bruno Haible  <bruno@clisp.org>
34212
34213         New module 'ioctl'.
34214         * modules/ioctl: New file.
34215         * lib/sys_socket.in.h (ioctl): Remove declaration.
34216         * lib/winsock.c: Include <sys/ioctl.h>.
34217         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
34218         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34219         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
34220         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
34221         * doc/posix-functions/ioctl.texi: Mention the new module.
34222
34223 2008-10-09  Bruno Haible  <bruno@clisp.org>
34224
34225         New module 'sys_ioctl'.
34226         * lib/sys_ioctl.in.h: New file.
34227         * m4/sys_ioctl_h.m4: New file.
34228         * modules/sys_ioctl: New file.
34229         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
34230
34231 2008-10-09  Bruno Haible  <bruno@clisp.org>
34232
34233         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
34234         * lib/winsock.c: Include <stdarg.h>.
34235         (rpl_ioctl): Change to second argument 'int' and then varargs.
34236
34237 2008-10-09  Bruno Haible  <bruno@clisp.org>
34238
34239         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
34240         when the sys_socket module is present and the system has <winsock2.h>.
34241
34242 2008-10-09  Bruno Haible  <bruno@clisp.org>
34243
34244         * doc/posix-functions/close.texi: Mention module 'close' instead of
34245         module 'sys_socket'.
34246
34247 2008-10-09  Bruno Haible  <bruno@clisp.org>
34248
34249         * doc/glibc-headers/sys_ioctl.texi: New file.
34250         * doc/gnulib.texi: Include it.
34251
34252 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34253             Bruno Haible  <bruno@clisp.org>
34254
34255         Combine the two replacements of 'close'.
34256         * lib/sys_socket.in.h (close): Define to a reminder to include
34257         <unistd.h>.
34258         (_gl_close_fd_maybe_socket): New declaration.
34259         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
34260         * lib/winsock.c (close): Remove undefinition.
34261         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
34262         needed for the gnulib module 'close'.
34263         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
34264         define to an error symbol or to a warning, if suitable.
34265         * lib/close.c: Include <sys/socket.h>.
34266         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
34267         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
34268         UNISTD_H_HAVE_WINSOCK2_H.
34269         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
34270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34271         UNISTD_H_HAVE_WINSOCK2_H.
34272         * modules/sys_socket (Files): Add m4/unistd_h.m4.
34273         (configure.ac): Set a module indicator.
34274         (Makefile.am): Substitute GNULIB_CLOSE.
34275         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
34276         * modules/poll-tests (Depends-on): Add close.
34277         * modules/select-tests (Depends-on): Likewise.
34278
34279 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34280             Bruno Haible  <bruno@clisp.org>
34281
34282         New module 'close'.
34283         * modules/close: New file.
34284         * lib/unistd.in.h (close): Move declaration out of the
34285         FCHDIR_REPLACEMENT scope.
34286         (_gl_unregister_fd): New declaration.
34287         * lib/close.c: New file.
34288         * lib/fchdir.c (rpl_close): Remove function.
34289         * m4/close.m4: New file.
34290         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34291         close.
34292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
34293         REPLACE_CLOSE.
34294         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
34295         REPLACE_CLOSE.
34296         * modules/fchdir (Depends-on): Add close.
34297
34298 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34299             Bruno Haible  <bruno@clisp.org>
34300
34301         * lib/fcntl.in.h (open): Simplify conditionals.
34302         (_gl_register_fd): New declaration.
34303         * lib/fchdir.c (rpl_open): Remove function.
34304         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
34305         also.
34306         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
34307         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34308         open.
34309
34310 2008-10-09  Jim Meyering  <meyering@redhat.com>
34311
34312         GNUmakefile: use the more name-space-friendly "_version"
34313         * top/GNUmakefile (_dummy): Update.
34314         (_version): Rename from "version".
34315
34316 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34317             Bruno Haible  <bruno@clisp.org>
34318
34319         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
34320         rpl_close.
34321         (_gl_register_fd): New function, extracted from rpl_open.
34322         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
34323         (rpl_open, rpl_opendir): Use _gl_register_fd.
34324
34325 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34326
34327         Fix organization of 'open' replacement.
34328         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
34329         (gl_FUNC_OPEN): Use it.
34330         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
34331
34332 2008-10-08  Bruno Haible  <bruno@clisp.org>
34333
34334         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
34335
34336 2008-10-08  Simon Josefsson  <simon@josefsson.org>
34337
34338         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
34339         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
34340         listen).
34341
34342 2008-10-08  Eric Blake  <ebb9@byu.net>
34343
34344         GNUmakefile: add 'make version' target
34345         * top/GNUmakefile (_curr-ver): Split version update rules...
34346         (version): ...into a target.
34347
34348 2008-10-07  Bruno Haible  <bruno@clisp.org>
34349
34350         Use a more portable replacement expression for -0.0L.
34351         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
34352         instead of -0.0L. Fix m4 quotation.
34353
34354         * tests/test-signbit.c: Include <float.h>.
34355         (minus_zero): New variable.
34356         (test_signbitl): Use minus_zero instead of -zero.
34357         * modules/signbit-tests (Depends-on): Add float.
34358
34359         * tests/test-ceill.c: Include <float.h>.
34360         (zero): Remove variable.
34361         (minus_zero): New variable.
34362         (main): Use minus_zero instead of -zero.
34363         * modules/ceill-tests (Depends-on): Add float.
34364
34365         * tests/test-floorl.c: Include <float.h>.
34366         (zero): Remove variable.
34367         (minus_zero): New variable.
34368         (main): Use minus_zero instead of -zero.
34369         * modules/floorl-tests (Depends-on): Add float.
34370
34371         * tests/test-roundl.c: Include <float.h>.
34372         (zero): Remove variable.
34373         (minus_zero): New variable.
34374         (main): Use minus_zero instead of -zero.
34375         * modules/roundl-tests (Depends-on): Add float.
34376
34377         * tests/test-truncl.c: Include <float.h>.
34378         (zero): Remove variable.
34379         (minus_zero): New variable.
34380         (main): Use minus_zero instead of -zero.
34381         * modules/truncl-tests (Depends-on): Add float.
34382
34383         * tests/test-frexpl.c (zero): Remove variable.
34384         (minus_zero): New variable.
34385         (main): Use minus_zero instead of -zero.
34386         * modules/frexpl-tests (Depends-on): Add float.
34387
34388         * tests/test-isnan.c (zerol): Remove variable.
34389         (minus_zerol): New variable.
34390         (test_long_double): Use minus_zerol instead of -zerol.
34391         * modules/isnan-tests (Depends-on): Add float.
34392
34393         * tests/test-isnanl.h (zero): Remove variable.
34394         (minus_zero): New variable.
34395         (main): Use minus_zero instead of -zero.
34396         * modules/isnanl-nolibm-tests (Depends-on): Add float.
34397         * modules/isnanl-tests (Depends-on): Add float.
34398
34399         * tests/test-ldexpl.c (zero): Remove variable.
34400         (minus_zero): New variable.
34401         (main): Use minus_zero instead of -zero.
34402         * modules/ldexpl-tests (Depends-on): Add float.
34403
34404         * tests/test-snprintf-posix.h (zerol): Remove variable.
34405         (minus_zerol): New variable.
34406         (test_function): Use minus_zerol instead of -zerol.
34407         * modules/snprintf-posix-tests (Depends-on): Add float.
34408         * modules/vsnprintf-posix-tests (Depends-on): Add float.
34409
34410         * tests/test-sprintf-posix.h (zerol): Remove variable.
34411         (minus_zerol): New variable.
34412         (test_function): Use minus_zerol instead of -zerol.
34413         * modules/sprintf-posix-tests (Depends-on): Add float.
34414         * modules/vsprintf-posix-tests (Depends-on): Add float.
34415
34416         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
34417         (minus_zerol): New variable.
34418         (test_function): Use minus_zerol instead of -zerol.
34419         * modules/vasnprintf-posix-tests (Depends-on): Add float.
34420
34421         * tests/test-vasprintf-posix.c (zerol): Remove variable.
34422         (minus_zerol): New variable.
34423         (test_function): Use minus_zerol instead of -zerol.
34424         * modules/vasprintf-posix-tests (Depends-on): Add float.
34425
34426 2008-10-07  Simon Josefsson  <simon@josefsson.org>
34427
34428         * MODULES.html.sh (Support for building documentation): Mention
34429         pmccabe2html.  Sort entries.
34430
34431         Add pmccabe2html module, from gnupdf.
34432         * build-aux/pmccabe.css: New file.
34433         * build-aux/pmccabe2html: New file.
34434         * m4/pmccabe2html.m4: New file.
34435         * modules/pmccabe2html: New file.
34436
34437 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
34438
34439         flock: new module
34440         * MODULES.html.sh: Add to list of modules.
34441         * lib/flock.c: flock implementation for Windows and Unix systems
34442         which have fcntl.
34443         * doc/glibc-functions/flock.texi: Update documentation.
34444         * lib/sys_file.in.h: <sys/file.h> header file.
34445         * m4/flock.m4: M4 macros.
34446         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
34447         * modules/flock: flock module.
34448         * modules/flock-tests: flock tests module.
34449         * modules/sys_file: sys/file.h module.
34450         * tests/test-flock.c: test suite for flock.
34451
34452 2008-10-06  Jim Meyering  <meyering@redhat.com>
34453
34454         bootstrap: check for LT_INIT more portably still ;-)
34455         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
34456         Spotted by Bruno Haible.
34457
34458 2008-10-06  Eric Blake  <ebb9@byu.net>
34459
34460         test-signbit: avoid tripping Irix cc bug on -0.0L
34461         * tests/test-signbit.c (minus_zerol): Delete, and replace with
34462         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
34463         entire testsuite consistent and avoids an Irix 6.2 bug.
34464
34465 2008-10-05  Bruno Haible  <bruno@clisp.org>
34466             Jim Meyering  <jim@meyering.net>
34467
34468         Add an option for ignoring EPIPE during close_stdout.
34469         * lib/closeout.h: Include <stdbool.h>.
34470         (close_stdout_set_ignore_EPIPE): New declaration.
34471         * lib/closeout.c: Include <stdbool.h>.
34472         (ignore_EPIPE): New variable.
34473         (close_stdout_set_ignore_EPIPE): New function.
34474         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
34475         * lib/close-stream.c (close_stream): Mention the possible EPIPE
34476         failure.
34477         * modules/closeout (Depends-on): Add stdbool.
34478
34479 2008-10-05  Bruno Haible  <bruno@clisp.org>
34480
34481         * modules/accept: New file.
34482         * modules/bind: New file.
34483         * modules/connect: New file.
34484         * modules/getpeername: New file.
34485         * modules/getsockname: New file.
34486         * modules/getsockopt: New file.
34487         * modules/listen: New file.
34488         * modules/recv: New file.
34489         * modules/recvfrom: New file.
34490         * modules/send: New file.
34491         * modules/sendto: New file.
34492         * modules/setsockopt: New file.
34493         * modules/socket: New file.
34494         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
34495         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34496         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
34497         the particular module is requested. Add a link warning when the
34498         particular module is not requested.
34499         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
34500         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
34501         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
34502         the particular module is requested.
34503         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
34504         gl_SYS_SOCKET_H_DEFAULTS): New macros.
34505         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
34506         * modules/sys_socket (Depends-on): Add link-warning.
34507         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
34508         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
34509         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
34510         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
34511         GL_LINK_WARNING.
34512         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
34513         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
34514         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
34515         * doc/posix-functions/getpeername.texi: Mention the new module
34516         'getpeername'.
34517         * doc/posix-functions/getsockname.texi: Mention the new module
34518         'getsockname'.
34519         * doc/posix-functions/getsockopt.texi: Mention the new module
34520         'getsockopt'.
34521         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
34522         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
34523         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
34524         * doc/posix-functions/send.texi: Mention the new module 'send'.
34525         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
34526         * doc/posix-functions/setsockopt.texi: Mention the new module
34527         'setsockopt'.
34528         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
34529         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
34530         listen, connect, accept.
34531         * modules/select-tests (Depends-on): Likewise.
34532
34533 2008-10-05  Bruno Haible  <bruno@clisp.org>
34534
34535         * lib/winsock.c (strerror): Remove unused #undef.
34536         (rpl_close): Remove unused local variable.
34537
34538         * modules/sys_socket (Depends-on); Add errno.
34539
34540 2008-10-05  Bruno Haible  <bruno@clisp.org>
34541
34542         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
34543         (select): Add a link warning when the 'select' module is not used.
34544         * modules/sys_select (Depends-on): Add link-warning.
34545         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
34546         Suggested by Paolo Bonzini.
34547
34548 2008-10-05  Jim Meyering  <meyering@redhat.com>
34549
34550         bootstrap: check for LT_INIT more portably
34551         * build-aux/bootstrap: Avoid using grep -E, since it's not
34552         portable enough.  Suggestion from Bruno Haible.
34553
34554 2008-10-05  Bruno Haible  <bruno@clisp.org>
34555
34556         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
34557         as being fixed by gnulib.
34558
34559 2008-10-05  Bruno Haible  <bruno@clisp.org>
34560
34561         * modules/select-tests: New file, mostly copied from
34562         modules/sys_select-tests.
34563         * tests/test-select.c: New file, mostly copied from
34564         tests/test-sys_select.c.
34565         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
34566         * modules/sys_select-tests (Depends-on): Remove all dependencies.
34567         (Makefile.am): Remove test_sys_select_LDADD.
34568
34569         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
34570         to an undefined symbol, for an error message.
34571         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
34572         (gl_SYS_SELECT_H_DEFAULTS): New macro.
34573         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
34574         winsock-select.c here.
34575         * modules/sys_select (Files): Remove lib/winsock-select.c.
34576         (Depends-on): Remove alloca.
34577         (Makefile.am): Substitute GNULIB_SELECT.
34578         * modules/select: New file.
34579         * doc/posix-functions/select.texi: Update.
34580
34581 2008-10-05  Bruno Haible  <bruno@clisp.org>
34582
34583         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
34584         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
34585         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
34586         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
34587         getdtablesize.
34588         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
34589         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
34590
34591 2008-10-05  Bruno Haible  <bruno@clisp.org>
34592
34593         * modules/getdtablesize-tests: New file.
34594         * tests/test-getdtablesize.c: New file.
34595
34596         New module 'getdtablesize'.
34597         * lib/unistd.in.h (getdtablesize): New declaration.
34598         * lib/getdtablesize.c: New file.
34599         * m4/getdtablesize.m4: New file.
34600         * modules/getdtablesize: New file.
34601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34602         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
34603         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
34604         HAVE_GETDTABLESIZE.
34605         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
34606
34607 2008-10-05  Bruno Haible  <bruno@clisp.org>
34608
34609         * modules/sched (Makefile.am): Fix typo.
34610         Reported by Simon Josefsson.
34611
34612 2008-10-05  Jim Meyering  <meyering@redhat.com>
34613
34614         bootstrap: check for LT_INIT, too
34615         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
34616         are deprecated.  Suggestion from Ralf Wildenhues.
34617
34618 2008-10-05  Bruno Haible  <bruno@clisp.org>
34619
34620         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
34621         overriding them by ours.
34622         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
34623
34624 2008-10-05  Jim Meyering  <meyering@redhat.com>
34625
34626         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
34627         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
34628         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
34629
34630 2008-10-04  Bruno Haible  <bruno@clisp.org>
34631
34632         * modules/dup2 (License): Change to LGPLv2+.
34633         * modules/sleep (License): Likewise.
34634         * modules/perror (License): Likewise.
34635         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
34636         Blake.
34637         * modules/signal (License): Likewise.
34638         * modules/sigprocmask (License): Likewise.
34639         * modules/raise (License): Change to LGPLv2+, with approval by Jim
34640         Meyering.
34641
34642 2008-10-04  Bruno Haible  <bruno@clisp.org>
34643
34644         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
34645         Reported by Rainer Tammer <tammer@tammer.net>.
34646
34647 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
34648             Bruno Haible  <bruno@clisp.org>
34649
34650         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
34651         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
34652         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
34653
34654 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
34655
34656         filevercmp: new module
34657         * lib/filevercmp.h: New function filevercmp comparing version strings.
34658         * lib/filevercmp.c: Implementation of filevercmp function.
34659         * modules/filevercmp: Module metadata.
34660         * tests/test-filevercmp.c: Unit test for new module.
34661         * modules/filevercmp-tests: Unit test metadata.
34662         * MODULES.html.sh: Add filevercmp module.
34663
34664 2008-10-03  Bruno Haible  <bruno@clisp.org>
34665
34666         * lib/c-ctype.h: Add comment.
34667         Reported by Jim Meyering.
34668
34669 2008-10-02  Bruno Haible  <bruno@clisp.org>
34670
34671         * modules/posix_spawn-internal (Depends-on): Add 'open'.
34672
34673 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34674
34675         * build-aux/bootstrap: Allow renaming bootstrap, and change the
34676         name of bootstrap.conf accordingly.
34677
34678 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34679
34680         * build-aux/bootstrap: Install git-merge-changelog configuration
34681         items into .gitconfig if needed.
34682
34683 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
34684
34685         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
34686         git repository, and initialize/update it accordingly.
34687
34688 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
34689
34690         * modules/fsync-tests: New file.
34691         * tests/test-fsync.c: New file.
34692
34693         New module 'fsync'.
34694         * lib/fsync.c: New file.
34695         * m4/fsync.m4: New file.
34696         * modules/fsync: New file.
34697         * lib/unistd.in.h (fsync): New declaration.
34698         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
34699         GNULIB_FSYNC and HAVE_FSYNC.
34700         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
34701         * MODULES.html.sh (posix_functions): Add fsync.
34702         * doc/posix-functions/fsync.texi: Mention the new module.
34703
34704 2008-10-02  Jim Meyering  <meyering@redhat.com>
34705
34706         fts.c: sync with similar code from coreutils' remove.c
34707         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
34708         Guard also with "#if defined __linux__", since for now at least,
34709         this code is Linux-kernel-specific.
34710
34711 2008-10-02  Jim Meyering  <meyering@redhat.com>
34712
34713         fts: bug fixes
34714         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
34715         Include <sys/vfs.h>, not <sys/statfs.h>.
34716
34717         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
34718         Include <sys/vfs.h>, not <sys/statfs.h>.
34719
34720 2008-10-01  Bruno Haible  <bruno@clisp.org>
34721
34722         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
34723         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
34724         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
34725         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
34726         * doc/posix-functions/posix_spawnp.texi: Likewise.
34727         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
34728         whether posix_spawn actually works.
34729         * m4/pipe.m4 (gl_PIPE): Likewise.
34730         * modules/execute (Files): Add m4/posix_spawn.m4.
34731         * modules/pipe (Files): Add m4/posix_spawn.m4.
34732         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
34733
34734 2008-10-01  Jim Meyering  <meyering@redhat.com>
34735
34736         remove trailing spaces
34737         * NEWS: Likewise.
34738         * lib/poll.c (poll): Likewise.
34739         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
34740         * lib/winsock.c (rpl_close): Likewise.
34741         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
34742         * modules/yield: Likewise.
34743         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
34744         * tests/test-sys_select.c (connect_to_socket): Likewise.
34745
34746         fts.c: adjust a new interface to be more generally useful
34747         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
34748         (fts_build): Adjust caller.
34749
34750 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34751
34752         * modules/cond-tests: New file.
34753         * tests/test-cond.c: New file.
34754
34755 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34756             Bruno Haible  <bruno@clisp.org>
34757
34758         * modules/cond (Dependencies): Add errno, time.
34759         * lib/glthread/cond.h: Include <time.h>.
34760         (gl_cond_define, gl_cond_define_initialized): Use the same definition
34761         across platforms.
34762
34763 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34764             Bruno Haible  <bruno@clisp.org>
34765
34766         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34767
34768 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34769             Bruno Haible  <bruno@clisp.org>
34770
34771         * modules/tls-tests (Depends-on): Add thread, yield.
34772         (configure.ac): Remove all checks.
34773         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34774         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34775         gl_thread_self): Remove definitions. Include glthread/thread.h and
34776         glthread/yield.h instead.
34777         (test_tls): Pass an additional NULL argument to gl_thread_join.
34778
34779 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34780             Bruno Haible  <bruno@clisp.org>
34781
34782         * modules/lock-tests (Depends-on): Add thread, yield.
34783         (configure.ac): Remove all checks.
34784         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34785         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34786         gl_thread_self): Remove definitions. Include glthread/thread.h and
34787         glthread/yield.h instead.
34788         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34789         additional NULL argument to gl_thread_join.
34790
34791 2008-09-30  Bruno Haible  <bruno@clisp.org>
34792
34793         Fix the Win32 implementation of the 'thread' module.
34794         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34795         pointer type.
34796         (gl_thread_self): Invoke gl_thread_self_func.
34797         (gl_thread_self_func): New declaration.
34798         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34799         (do_init_self_key, init_self_key): New functions.
34800         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34801         Remove some fields.
34802         (running_threads, running_lock): Remove variables.
34803         (get_current_thread_handle): New function.
34804         (gl_thread_self_func, wrapper_func, glthread_create_func,
34805         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34806         simplified.
34807
34808 2008-09-30  Bruno Haible  <bruno@clisp.org>
34809
34810         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34811         files.
34812
34813 2008-09-30  Jim Meyering  <meyering@redhat.com>
34814
34815         fts.m4: correct the test for statfs.f_type
34816         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34817         when checking for statfs.f_type.
34818
34819 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34820
34821         tests: avoid some compiler warnings
34822         * tests/test-memchr.c (main): Pass NULL indirectly.
34823         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34824
34825 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
34826
34827         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34828         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34829         exactly specified dayshifts.
34830         (dayshift): New rule.
34831         (rel): Add dayshift.
34832         (relative_time_table) [tomorrow, yesterday, today, now]:
34833         Use tDAY_SHIFT in place of tDAY_UNIT.
34834         * tests/test-getdate.c: Add tests for now-disallowed countable
34835         dayshifts, e.g., "4 yesterday ago".
34836
34837 2008-09-29  Bruno Haible  <bruno@clisp.org>
34838
34839         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34840         * tests/test-posix_spawn1.in.sh: Renamed from
34841         tests/test-posix_spawn.in.sh.
34842         * tests/test-posix_spawn2.c: New file.
34843         * tests/test-posix_spawn2.in.sh: New file.
34844         * modules/posix_spawnp-tests (Files): Update.
34845         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34846
34847 2008-09-29  Bruno Haible  <bruno@clisp.org>
34848
34849         Propagate effects of putenv/setenv/unsetenv to child processes.
34850         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34851         * lib/pipe.c (create_pipe): Likewise.
34852
34853 2008-09-29  Bruno Haible  <bruno@clisp.org>
34854
34855         Enable use of shell scripts as executables in mingw.
34856         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34857         run the program as a shell script.
34858         * lib/pipe.c (create_pipe): Likewise.
34859         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34860         resulting array.
34861
34862 2008-09-29  Eric Blake  <ebb9@byu.net>
34863
34864         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34865
34866 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34867
34868         * doc/posix-functions/accept.texi: Update mingw problems.
34869         * doc/posix-functions/bind.texi: Update mingw problems.
34870         * doc/posix-functions/close.texi: Update mingw problems.
34871         * doc/posix-functions/connect.texi: Update mingw problems.
34872         * doc/posix-functions/getpeername.texi: Update mingw problems.
34873         * doc/posix-functions/getsockname.texi: Update mingw problems.
34874         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34875         * doc/posix-functions/ioctl.texi: Update mingw problems.
34876         * doc/posix-functions/listen.texi: Update mingw problems.
34877         * doc/posix-functions/recv.texi: Update mingw problems.
34878         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34879         * doc/posix-functions/select.texi: Update mingw problems.
34880         * doc/posix-functions/send.texi: Update mingw problems.
34881         * doc/posix-functions/sendto.texi: Update mingw problems.
34882         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34883         * doc/posix-functions/socket.texi: Update mingw problems.
34884
34885 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34886             Bruno Haible  <bruno@clisp.org>
34887
34888         * lib/sys_select.in.h: Include sys/time.h.
34889         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34890         * modules/sys_select: Depend on sys_time.
34891         * tests/test-sys_select.c: Test that sys/select.h defines struct
34892         timeval fully.
34893
34894 2008-09-29  Bruno Haible  <bruno@clisp.org>
34895
34896         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34897         * lib/sys_select.in.h: Likewise.
34898
34899 2008-09-29  Bruno Haible  <bruno@clisp.org>
34900
34901         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34902
34903 2008-09-29  Bruno Haible  <bruno@clisp.org>
34904
34905         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34906         Set LIBSOCKET instead of augmenting LIBS.
34907         * modules/sockets (Link): New section.
34908         * modules/sockets-tests (test_sockets_LDADD): New variable.
34909         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34910         * modules/poll-tests (test_poll_LDADD): New variable.
34911         * NEWS: Document the change.
34912
34913 2008-09-29  Bruno Haible  <bruno@clisp.org>
34914
34915         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34916         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34917         ARPA_INET_H directly.
34918         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34919
34920 2008-09-28  Bruno Haible  <bruno@clisp.org>
34921
34922         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34923         from gl_HEADER_SYS_SOCKET.
34924         (gl_HEADER_SYS_SOCKET): Invoke it.
34925         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34926
34927 2008-09-28  Bruno Haible  <bruno@clisp.org>
34928
34929         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34930         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34931         Needed on OSF/1 4.0.
34932
34933 2008-09-28  Bruno Haible  <bruno@clisp.org>
34934
34935         Override open more carefully.
34936         * lib/open.c (orig_open): New function.
34937         (rpl_open): Use orig_open instead of open.
34938         * lib/fcntl.in.h: Add special invocation convention.
34939         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34940         (gl_FUNC_OPEN): Invoke it.
34941
34942         Override freopen more carefully.
34943         * lib/freopen.c (orig_freopen): New function.
34944         (rpl_freopen): Use orig_freopen instead of freopen.
34945         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34946         (gl_FUNC_FREOPEN): Invoke it.
34947
34948         Override fopen more carefully.
34949         * lib/fopen.c (orig_fopen): New function.
34950         (rpl_fopen): Use orig_fopen instead of fopen.
34951         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34952         (gl_FUNC_FOPEN): Invoke it.
34953         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34954
34955 2008-09-28  Bruno Haible  <bruno@clisp.org>
34956
34957         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34958         SIGPIPE.
34959
34960 2008-09-28  Bruno Haible  <bruno@clisp.org>
34961
34962         * tests/test-sigaction.c (handler, main): Disable the check whether
34963         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34964         glibc systems with LinuxThreads.
34965
34966 2008-09-28  Bruno Haible  <bruno@clisp.org>
34967
34968         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34969
34970         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34971         with AIX xlc.
34972         * lib/fcntl.in.h (open): Likewise.
34973         Reported by Rainer Tammer <tammer@tammer.net>.
34974
34975 2008-09-28  Bruno Haible  <bruno@clisp.org>
34976
34977         * modules/posix_spawnp-tests: New file.
34978         * tests/test-posix_spawn.c: New file.
34979         * tests/test-posix_spawn.in.sh: New file.
34980
34981         New module 'posix_spawnp'.
34982         * modules/posix_spawnp: New file.
34983         * lib/spawnp.c: New file, from GNU libc with modifications.
34984         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34985
34986         New module 'posix_spawn'.
34987         * modules/posix_spawn: New file.
34988         * lib/spawn.c: New file, from GNU libc with modifications.
34989         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34990
34991         New module 'posix_spawnattr_destroy'.
34992         * modules/posix_spawnattr_destroy: New file.
34993         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34994         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34995         module.
34996
34997         New module 'posix_spawnattr_setsigmask'.
34998         * modules/posix_spawnattr_setsigmask: New file.
34999         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
35000         modifications.
35001         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
35002         new module.
35003
35004         New module 'posix_spawnattr_getsigmask'.
35005         * modules/posix_spawnattr_getsigmask: New file.
35006         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
35007         modifications.
35008         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
35009         new module.
35010
35011         New module 'posix_spawnattr_setsigdefault'.
35012         * modules/posix_spawnattr_setsigdefault: New file.
35013         * lib/spawnattr_setdefault.c: New file, from GNU libc with
35014         modifications.
35015         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
35016         new module.
35017
35018         New module 'posix_spawnattr_getsigdefault'.
35019         * modules/posix_spawnattr_getsigdefault: New file.
35020         * lib/spawnattr_getdefault.c: New file, from GNU libc with
35021         modifications.
35022         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
35023         new module.
35024
35025         New module 'posix_spawnattr_setschedpolicy'.
35026         * modules/posix_spawnattr_setschedpolicy: New file.
35027         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
35028         modifications.
35029         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
35030         new module.
35031
35032         New module 'posix_spawnattr_getschedpolicy'.
35033         * modules/posix_spawnattr_getschedpolicy: New file.
35034         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
35035         modifications.
35036         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
35037         new module.
35038
35039         New module 'posix_spawnattr_setschedparam'.
35040         * modules/posix_spawnattr_setschedparam: New file.
35041         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
35042         modifications.
35043         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
35044         new module.
35045
35046         New module 'posix_spawnattr_getschedparam'.
35047         * modules/posix_spawnattr_getschedparam: New file.
35048         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
35049         modifications.
35050         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
35051         new module.
35052
35053         New module 'posix_spawnattr_setpgroup'.
35054         * modules/posix_spawnattr_setpgroup: New file.
35055         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
35056         modifications.
35057         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
35058         module.
35059
35060         New module 'posix_spawnattr_getpgroup'.
35061         * modules/posix_spawnattr_getpgroup: New file.
35062         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
35063         modifications.
35064         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
35065         module.
35066
35067         New module 'posix_spawnattr_setflags'.
35068         * modules/posix_spawnattr_setflags: New file.
35069         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
35070         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
35071         module.
35072
35073         New module 'posix_spawnattr_getflags'.
35074         * modules/posix_spawnattr_getflags: New file.
35075         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
35076         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
35077         module.
35078
35079         New module 'posix_spawnattr_init'.
35080         * modules/posix_spawnattr_init: New file.
35081         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
35082         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
35083         module.
35084
35085         New module 'posix_spawn_file_actions_destroy'.
35086         * modules/posix_spawn_file_actions_destroy: New file.
35087         * lib/spawn_faction_destroy.c: New file, from GNU libc with
35088         modifications.
35089         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
35090         the new module.
35091
35092         New module 'posix_spawn_file_actions_addopen'.
35093         * modules/posix_spawn_file_actions_addopen: New file.
35094         * lib/spawn_faction_addopen.c: New file, from GNU libc with
35095         modifications.
35096         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
35097         the new module.
35098
35099         New module 'posix_spawn_file_actions_adddup2'.
35100         * modules/posix_spawn_file_actions_adddup2: New file.
35101         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
35102         modifications.
35103         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
35104         the new module.
35105
35106         New module 'posix_spawn_file_actions_addclose'.
35107         * modules/posix_spawn_file_actions_addclose: New file.
35108         * lib/spawn_faction_addclose.c: New file, from GNU libc with
35109         modifications.
35110         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
35111         the new module.
35112
35113         New module 'posix_spawn_file_actions_init'.
35114         * modules/posix_spawn_file_actions_init: New file.
35115         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
35116         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
35117         new module.
35118
35119         New module 'posix_spawn-internal'.
35120         * modules/posix_spawn-internal: New file.
35121         * lib/spawn_int.h: New file, from GNU libc with modifications.
35122         * lib/spawni.c: New file, from GNU libc with modifications.
35123         * m4/posix_spawn.m4: New file.
35124
35125         New module 'spawn'.
35126         * modules/spawn: New file.
35127         * lib/spawn.in.h: New file, from GNU libc with modifications.
35128         * m4/spawn_h.m4: New file.
35129         * doc/posix-headers/spawn.texi: Mention the new module.
35130
35131 2008-09-28  Bruno Haible  <bruno@clisp.org>
35132
35133         * modules/sched-tests: New file.
35134         * tests/test-sched.c: New file.
35135
35136         New module 'sched'.
35137         * modules/sched: New file.
35138         * lib/sched.in.h: New file.
35139         * m4/sched_h.m4: New file.
35140         * doc/posix-headers/sched.texi: Mention the new module.
35141
35142 2008-09-27  Eric Blake  <ebb9@byu.net>
35143
35144         Fix previous patch, and tweak references to $0.
35145         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
35146         (func_version, func_gnulib_dir): Don't call this program
35147         gnulib-tool.
35148         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
35149         with using $0 in function.
35150         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
35151         (func_fatal_error): Reuse the name the user invoked us with.
35152
35153 2008-09-27  Bruno Haible  <bruno@clisp.org>
35154
35155         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
35156         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
35157         (gl_ICONV_H): Not here.
35158         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35159         instead of assigning ICONV_H directly.
35160
35161         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
35162         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
35163         WCHAR_H directly.
35164
35165 2008-09-27  Bruno Haible  <bruno@clisp.org>
35166
35167         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
35168         * modules/arpa_inet (Depends-on): Add link-warning.
35169         (Makefile.am): Insert the definition of GL_LINK-WARNING.
35170         * modules/unistd (Makefile.am): Likewise.
35171
35172 2008-09-26  Bruno Haible  <bruno@clisp.org>
35173
35174         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
35175         variables.
35176         (func_version): Essentially copied from gnulib-tool.
35177         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
35178         func_readlink): Copied from gnulib-tool.
35179
35180 2008-09-26  Bruno Haible  <bruno@clisp.org>
35181
35182         * gnulib-tool (func_version): Change directory to $gnulib_dir before
35183         invoking git-version-gen.
35184
35185 2008-09-26  Bruno Haible  <bruno@clisp.org>
35186
35187         * posix-modules: Update to directory names changed on 2008-01-19.
35188         Remove commas in output before splitting into words. No more need to
35189         avoid 'ftruncate' since 2007-02-19.
35190
35191 2008-09-26  Bruno Haible  <bruno@clisp.org>
35192
35193         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
35194
35195 2008-09-26  Bruno Haible  <bruno@clisp.org>
35196
35197         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
35198         * modules/fwriteerror (Depends-on): Add errno.
35199
35200 2008-09-26  Bruno Haible  <bruno@clisp.org>
35201
35202         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
35203         * tests/test-vc-list-files-cvs.sh: Likewise.
35204
35205 2008-09-26  Bruno Haible  <bruno@clisp.org>
35206
35207         * doc/posix-headers/sys_resource.texi: Reorder items.
35208
35209 2008-09-26  Jim Meyering  <meyering@redhat.com>
35210
35211         fts: tweak inode comparison function
35212         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
35213         inode numbers, as documented.
35214
35215         fts: sort dirent entries on inode number before traversing
35216         This avoids a quadratic, seek-related performance penalty when
35217         operating on a directory containing many entries (measurable at 10k;
35218         3.5 hours at 2 million entries with a cold cache) on certain types
35219         of file systems, including ext3 and ext4, but not tmpfs.
35220         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
35221         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
35222         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
35223         (fs_handles_readdir_ordered_dirents_efficiently): New function.
35224         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
35225         (fts_build): Set the stat.st_ino member from D_INO.
35226         If it is likely to be useful, sort dirent entries on inode number.
35227
35228         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
35229         and the struct statfs.f_type member.
35230         * modules/fts (Depends-on): Add d-ino.
35231
35232 2008-09-26  Bruno Haible  <bruno@clisp.org>
35233
35234         * modules/sigpipe-die (Depends-on): Add sigpipe.
35235
35236         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
35237         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
35238         and GNULIB_STDIO_H_SIGPIPE are set.
35239         * lib/stdio-write.c: New file.
35240         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
35241         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35242         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35243         REPLACE_STDIO_WRITE_FUNCS.
35244         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
35245         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35246         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35247         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35248         * modules/stdio (Files): Add lib/stdio-write.c.
35249         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
35250         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35251         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35252         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35253         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
35254         REPLACE_FPRINTF_POSIX.
35255         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
35256         REPLACE_PRINTF_POSIX.
35257         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
35258         REPLACE_VFPRINTF_POSIX.
35259         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
35260         REPLACE_VPRINTF_POSIX.
35261         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
35262         SIGPIPE issue.
35263         * doc/posix-functions/fputc.texi: Likewise.
35264         * doc/posix-functions/fputs.texi: Likewise.
35265         * doc/posix-functions/fwrite.texi: Likewise.
35266         * doc/posix-functions/printf.texi: Likewise.
35267         * doc/posix-functions/putc.texi: Likewise.
35268         * doc/posix-functions/putchar.texi: Likewise.
35269         * doc/posix-functions/puts.texi: Likewise.
35270         * doc/posix-functions/vfprintf.texi: Likewise.
35271         * doc/posix-functions/vprintf.texi: Likewise.
35272
35273         * modules/safe-write (Depends-on): Add write.
35274
35275         * modules/sigpipe-tests: New file.
35276         * tests/test-sigpipe.c: New file.
35277         * tests/test-sigpipe.sh: New file.
35278
35279         * modules/write: New file.
35280         * lib/unistd.in.h: Include <sys/types.h>.
35281         (write): New declaration.
35282         * lib/write.c: New file.
35283         * m4/write.m4: New file.
35284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35285         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
35286         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
35287         GNULIB_WRITE, REPLACE_WRITE.
35288         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
35289         and the SIGPIPE issue.
35290
35291         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
35292         (raise): New declaration.
35293         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
35294         (ext_signal): New function.
35295         (rpl_raise): New function.
35296         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35297         GNULIB_SIGNAL_H_SIGPIPE.
35298         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
35299         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
35300
35301         * modules/sigpipe: New file.
35302         * m4/sigpipe.m4: New file.
35303
35304 2008-09-25  Derek Price  <derek@ximbiot.com>
35305             Bruno Haible  <bruno@clisp.org>
35306
35307         * gnulib-tool (func_import): Report all license incompatibilities, not
35308         just the first one.
35309
35310 2008-09-25  Bruno Haible  <bruno@clisp.org>
35311
35312         * gnulib-tool (func_import): When computing the edits, consider not
35313         only the Makefile.ams that exist but also those that will be generated.
35314
35315 2008-09-25  Simon Josefsson  <simon@josefsson.org>
35316
35317         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
35318         fixes gnulib-tool --test warning about duplicate dependency.
35319
35320 2008-09-25  Bruno Haible  <bruno@clisp.org>
35321
35322         * gnulib-tool: Don't ask the user to perform edits in the generated
35323         Makefile.ams.
35324         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
35325         apply to the Makefile.am being generated.
35326         (func_emit_tests_Makefile_am): Execute edits that apply to the
35327         Makefile.am being generated.
35328         (func_import): Setup list of Makefile.am edits before emitting the
35329         Makefile.ams, not at the end.
35330         (func_create_testdir): Update.
35331         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35332
35333 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35334
35335         * gnulib-tool (func_import): Store the --tests-base option in the
35336         comment in gnulib-cache.m4.
35337
35338 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
35339
35340         * NEWS: Document increased portability that sys_select now provides.
35341
35342         * lib/sys_select.in.h: Install select wrapper.
35343         * lib/sys_socket.in.h: Use more descriptive name when there is no
35344         select wrapper.
35345         * lib/winsock-select.c: New.
35346         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
35347         Require gl_HEADER_SYS_SOCKET.
35348         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
35349         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
35350         * tests/test-sys_select.c: Add functional tests.
35351
35352 2008-09-24  Eric Blake  <ebb9@byu.net>
35353
35354         open, fopen: close fd leak in last patch
35355         * lib/open.c (rpl_open): Close fd before returning error.
35356         * lib/fopen.c (rpl_fopen): Close fd before returning error.
35357         * doc/posix-functions/open.texi (open): Document that Irix also
35358         has the bug.
35359         * doc/posix-functions/fopen.texi (fopen): Likewise.
35360         Reported by Paolo Bonzini.
35361
35362 2008-09-24  Bruno Haible  <bruno@clisp.org>
35363
35364         Ensure that a filename ending in a slash cannot be used to access a
35365         non-directory.
35366         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
35367         to check whether it's really a directory.
35368         * lib/fopen.c: Include fcntl.h, unistd.h.
35369         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
35370         and fdopen().
35371         * modules/fopen (Depends-on): Add unistd.
35372         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
35373         * tests/test-fopen.c (main): Likewise.
35374         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
35375         * doc/posix-functions/fopen.texi: Likewise.
35376         Reported by Eric Blake.
35377
35378 2008-09-23  Eric Blake  <ebb9@byu.net>
35379
35380         c-stack: avoid compiler optimizations when provoking overflow
35381         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
35382         recursion harder to optimize, to ensure a stack overflow occurs.
35383         * tests/test-c-stack.c (recurse): Likewise.
35384         Borrowed from libsigsegv.
35385
35386         c-stack: work around Irix sigaltstack bug
35387         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
35388         whether sigaltstack uses wrong end of stack_t (copied in part from
35389         libsigsegv).
35390         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
35391         Irix bug, without requiring an over-allocation.
35392         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
35393         bug.
35394
35395         fopen: document mingw bug on directories
35396         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
35397         not allowing a stream visiting a directory, even though reading
35398         from such a stream is not portable.
35399
35400 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35401
35402         * lib/poll.c: Rewrite.
35403         * modules/poll: Depend on alloca.
35404
35405 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35406
35407         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
35408         instead define prototypes for a full set of wrappers.  Ensure
35409         that Cygwin does not use the compatibility code, which is only
35410         for MinGW.
35411         * lib/winsock.c: New.
35412         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
35413         * modules/sys_socket: Add lib/winsock.c.
35414
35415         * modules/poll-tests: Add errno and perror.
35416         * tests/test-poll.c: Use ioctl, not ioctlsocket.
35417
35418 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
35419
35420         * tests/test-poll.c: Downgrade minimum needed Winsock version.
35421
35422 2008-09-23  Bruno Haible  <bruno@clisp.org>
35423
35424         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
35425         * doc/glibc-functions/*: Likewise.
35426
35427 2008-09-23  Simon Josefsson  <simon@josefsson.org>
35428
35429         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
35430         success.
35431
35432 2008-09-22  Eric Blake  <ebb9@byu.net>
35433             Bruno Haible  <bruno@clisp.org>
35434
35435         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
35436         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
35437         supply %A but mishandle pseudo-NaN.
35438         Reported by Simon Josefsson.
35439
35440 2008-09-21  Bruno Haible  <bruno@clisp.org>
35441
35442         * tests/test-lock.c (main): Tweak skip message.
35443         * tests/test-tls.c (main): Likewise.
35444
35445 2008-09-21  Bruno Haible  <bruno@clisp.org>
35446
35447         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
35448         whether 'struct sigaction' has sa_sigaction here...
35449         (gl_PREREQ_SIG_HANDLER_H): ... not here.
35450         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
35451
35452 2008-09-21  Bruno Haible  <bruno@clisp.org>
35453
35454         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
35455         section.
35456         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
35457         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
35458         the new section.
35459         (Support for obsolete systems lacking POSIX:2001): New section.
35460         (String handling <string.h>): Move strdup to the new section.
35461         Suggested by Simon Josefsson and Paolo Bonzini.
35462
35463 2008-09-21  Bruno Haible  <bruno@clisp.org>
35464
35465         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
35466         exponents in %e and %g results on 'long double'. Needed for mingw's
35467         improved *printf functions.
35468         * tests/test-vasprintf-posix.c (test_function): Likewise.
35469         * tests/test-snprintf-posix.h (test_function): Likewise.
35470         * tests/test-sprintf-posix.h (test_function): Likewise.
35471         Reported by Eric Blake.
35472
35473 2008-09-21  Bruno Haible  <bruno@clisp.org>
35474
35475         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
35476         * tests/test-sprintf-posix.h (test_function): Likewise.
35477
35478 2008-09-21  Bruno Haible  <bruno@clisp.org>
35479
35480         * modules/getpass (Depends-on): Add strdup-posix.
35481
35482         New module 'strdup-posix'.
35483         * modules/strdup-posix: New file.
35484         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
35485         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
35486         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35487         REPLACE_STRDUP.
35488         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
35489         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
35490         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35491         strdup-posix.
35492
35493         * modules/strdup (Depends-on): Remove malloc-posix.
35494
35495 2008-09-20  Bruno Haible  <bruno@clisp.org>
35496
35497         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
35498         Wildenhues.
35499
35500 2008-09-20  Bruno Haible  <bruno@clisp.org>
35501
35502         Ensure that wint_t gets defined on IRIX 5.3.
35503         * lib/wchar.in.h (wint_t): Define if not defined by the system.
35504         * lib/wctype.in.h (wint_t): Likewise.
35505         (__wctype_wint_t): Remove type.
35506         (isw*): Use wint_t instead of __wctype_wint_t.
35507         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
35508         * modules/wchar (Files): Add m4/wint_t.m4.
35509         (Makefile.am): Substitute HAVE_WINT_T.
35510         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
35511         * tests/test-wctype.c: Check that wint_t is defined.
35512         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
35513         * doc/posix-headers/wctype.texi: Likewise.
35514         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35515
35516 2008-09-18  Bruno Haible  <bruno@clisp.org>
35517
35518         * gnulib-tool (func_exit): Update comment.
35519
35520 2008-09-18  Simon Josefsson  <simon@josefsson.org>
35521
35522         * modules/getaddrinfo (Depends-on): Remove strdup, this module
35523         assumes strdup exists and does not depend on strdup to return
35524         ENOMEM on out of memory conditions.
35525
35526 2008-09-18  Bruno Haible  <bruno@clisp.org>
35527
35528         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
35529         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
35530         digits for the exponent.
35531
35532 2008-09-18  Jim Meyering  <meyering@redhat.com>
35533             Bruno Haible  <bruno@clisp.org>
35534
35535         * lib/vasnprintf.c (decimal_point_char): Define also if
35536         NEED_PRINTF_INFINITE_LONG_DOUBLE.
35537
35538 2008-09-16  Bruno Haible  <bruno@clisp.org>
35539         and Eric Blake  <ebb9@byu.net>
35540
35541         vasnprintf: support Irix 5.3
35542         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
35543         that mishandle long double infinity.
35544         Reported by Tom G. Christensen.
35545
35546 2008-09-16  Bruno Haible  <bruno@clisp.org>
35547
35548         * doc/glibc-functions/scandir.texi: Mention the function is missing on
35549         Solaris 9.
35550         * doc/glibc-functions/alphasort.texi: Likewise.
35551         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
35552
35553 2008-09-16  Jim Meyering  <meyering@redhat.com>
35554
35555         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
35556         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
35557         a umask modification leak out of a subshell.  Otherwise, the
35558         opensolaris /bin/sh would be accepted and thus cause unwarranted
35559         failures in the coreutils test suite.
35560
35561 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
35562
35563         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
35564         to succeed.
35565
35566 2008-09-16  Jim Meyering  <meyering@redhat.com>
35567
35568         avoid spurious test failure when library is built without ACL support
35569         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
35570         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
35571         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
35572         * tests/test-copy-acl.sh: Likewise.
35573
35574 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35575
35576         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
35577         based on character occurrence counts.
35578
35579 2008-09-15  Eric Blake  <ebb9@byu.net>
35580
35581         tests: avoid some compiler warnings
35582         * tests/test-memchr.c (main): Pass NULL indirectly.
35583         * tests/test-closein.c (main): Avoid unused variable.
35584
35585 2008-09-15  Bruno Haible  <bruno@clisp.org>
35586
35587         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
35588         are missing on OpenBSD 4.0 individually.
35589         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35590
35591 2008-09-15  Bruno Haible  <bruno@clisp.org>
35592
35593         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
35594         * doc/posix-functions/strerror.texi: Mention also Cygwin.
35595         * doc/posix-functions/perror.texi: Likewise.
35596         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
35597         is missing.
35598         Reported by Eric Blake.
35599
35600         * lib/errno.in.h: Use replacement values >= 2000.
35601         Reported by Eric Blake.
35602
35603 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35604
35605         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
35606         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
35607         limit.
35608         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
35609         compareseq was aborted.
35610
35611 2008-09-14  Bruno Haible  <bruno@clisp.org>
35612
35613         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
35614         yvec_edit_count.
35615         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
35616         (fstrcmp_bounded): Simplify result computation accordingly.
35617
35618 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35619
35620         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
35621         (fstrcmp): Define in terms of fstrcmp_bounded.
35622         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
35623         lower_bound argument.
35624         Return quickly if the result is certainly < lower_bound.
35625         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
35626
35627 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35628
35629         * lib/diffseq.h (EARLY_ABORT): New macro.
35630         (compareseq): Change return type to bool. Return true when EARLY_ABORT
35631         evaluates to true.
35632
35633 2008-09-14  Bruno Haible  <bruno@clisp.org>
35634
35635         * modules/perror-tests: New file.
35636         * tests/test-perror.sh: New file.
35637         * tests/test-perror.c: New file.
35638
35639         New module 'perror'.
35640         * lib/stdio.in.h (perror): New declaration.
35641         * lib/perror.c: New file.
35642         * m4/perror.m4: New file.
35643         * modules/perror: New file.
35644         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
35645         * doc/posix-functions/perror.texi: Mention the perror module.
35646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
35647         REPLACE_PERROR.
35648         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
35649         REPLACE_PERROR.
35650
35651 2008-09-14  Bruno Haible  <bruno@clisp.org>
35652
35653         * modules/stdio (Makefile.am): Reorder to match the order in
35654         lib/stdio.in.h.
35655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
35656
35657 2008-09-13  Bruno Haible  <bruno@clisp.org>
35658
35659         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
35660
35661 2008-09-13  Bruno Haible  <bruno@clisp.org>
35662
35663         Extend strerror to cover the added errno values.
35664         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
35665         (rpl_strerror): Provide error messages for the added errno values and
35666         for the WSA* values.
35667         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
35668         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
35669         strerror.
35670         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
35671         * modules/strerror (Depends-on): Add errno.
35672         * doc/posix-functions/strerror.texi: Document the change.
35673         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
35674         and EOVERFLOW.
35675
35676 2008-09-13  Bruno Haible  <bruno@clisp.org>
35677
35678         * modules/EOVERFLOW: Remove file.
35679         * m4/eoverflow.m4: Remove file.
35680         * modules/EOVERFLOW-tests: Remove file.
35681         * tests/test-EOVERFLOW.c: Remove file.
35682         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
35683         * modules/ftell (Depends-on): Likewise.
35684         * modules/getdelim (Depends-on): Likewise.
35685         * modules/getugroups (Depends-on): Likewise.
35686         * modules/poll (Depends-on): Likewise.
35687         * modules/snprintf (Depends-on): Likewise.
35688         * modules/sprintf-posix (Depends-on): Likewise.
35689         * modules/vasnprintf (Depends-on): Likewise.
35690         * modules/vasprintf (Depends-on): Likewise.
35691         * modules/vfprintf-posix (Depends-on): Likewise.
35692         * modules/vsnprintf (Depends-on): Likewise.
35693         * modules/vsprintf-posix (Depends-on): Likewise.
35694         * modules/xvasprintf (Depends-on): Likewise.
35695         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35696         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
35697         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
35698         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
35699         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35700         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
35701         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
35702         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
35703         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35704         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
35705         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
35706         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
35707         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35708         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
35709         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
35710         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
35711         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35712         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
35713         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
35714         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
35715         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35716         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
35717         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
35718         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
35719         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
35720         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35721         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
35722         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
35723         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
35724         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
35725         * MODULES.html.sh: Remove EOVERFLOW.
35726         * NEWS: Mention the change.
35727
35728 2008-09-13  Bruno Haible  <bruno@clisp.org>
35729
35730         * modules/errno-tests: New file.
35731         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
35732
35733         * lib/errno.in.h: New file.
35734         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
35735         * modules/errno: New file.
35736         * doc/posix-headers/errno.texi: Update documentation.
35737         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
35738
35739 2008-09-13  Bruno Haible  <bruno@clisp.org>
35740
35741         * tests/test-poll.c: Use #if for native Windows, rather than testing
35742         __MSVCRT__.
35743
35744 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35745             Bruno Haible  <bruno@clisp.org>
35746
35747         * lib/glob.c: Don't include <pwd.h> on native Windows.
35748         (WINDOWS32): New macro.
35749         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
35750
35751 2008-09-13  Bruno Haible  <bruno@clisp.org>
35752
35753         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
35754         (ETIMEDOUT): Remove macro.
35755         (glthread_cond_timedwait_multithreaded): New declaration.
35756         (glthread_cond_timedwait): Use it.
35757         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
35758         (glthread_cond_timedwait_multithreaded): New function.
35759
35760 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35761
35762         * modules/poll-tests: Do not check for io.h.
35763         * tests/test-poll.c: Check for __MSVCRT__ instead.
35764
35765 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35766
35767         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35768         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35769         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35770
35771 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35772
35773         * modules/poll-tests: New.
35774         * tests/test-poll.c: New.
35775
35776 2008-09-12  Eric Blake  <ebb9@byu.net>
35777
35778         frexp: test for NetBSD failure on -0.0
35779         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35780         not all, bugs from NetBSD 3.0 have been fixed.
35781         * doc/posix-functions/frexp.texi (frexp): Document bug.
35782         Reported by Thomas Klausner.
35783
35784         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35785         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35786         literal -0.0.
35787         Reported by Jonathan C. Patschke <jp@centtech.com>.
35788
35789 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35790
35791         * lib/glthread/cond.h: Use dummy implementation also if
35792         USE_WIN32_THREADS.
35793
35794 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35795
35796         * modules/fnmatch-posix (License): Change to LGPLv2+.
35797         * modules/fnmatch-gnu (License): Likewise.
35798
35799 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35800
35801         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35802
35803 2008-09-11  Jim Meyering  <meyering@redhat.com>
35804
35805         * users.txt: Add gtk-vnc.
35806
35807 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35808
35809         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35810         rotate amounts.
35811
35812         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35813         required for 16-bit and 8-bit rotates.
35814         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35815         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35816         UINT8_MAX instead of hard-coded constants.
35817         Suggested by Paul Eggert.
35818
35819 2008-09-07  Bruno Haible  <bruno@clisp.org>
35820
35821         * tests/test-striconveh.c (main): Check behaviour when converting from
35822         UTF-7.
35823
35824         Make striconveh work better with stateful encodings.
35825         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35826         that iconv does not increment the inptr when returning -1/EINVAL.
35827
35828 2008-09-07  Bruno Haible  <bruno@clisp.org>
35829
35830         * build-aux/config.rpath: Update according to libtool-2.2.6.
35831         * build-aux/config.libpath: Likewise.
35832
35833 2008-09-06  Bruno Haible  <bruno@clisp.org>
35834
35835         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35836         * lib/freadptr.c (freadptr): Likewise.
35837         * lib/freadseek.c (freadptrinc): Likewise.
35838         Reported by Simon Josefsson.
35839
35840 2008-09-06  Bruno Haible  <bruno@clisp.org>
35841
35842         * modules/freadptr (License): Change to LGPLv2+.
35843         * modules/freadseek (License): Likewise.
35844         Suggested by Eric Blake.
35845
35846         * modules/memchr2 (License): Change to LGPLv2+.
35847         Approved by Eric Blake.
35848
35849 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35850             Bruno Haible  <bruno@clisp.org>
35851
35852         Make gnulib-tool work with native 'sed' on AIX.
35853         * gnulib-tool (sed_noop): New variable.
35854         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35855         func_add_or_update, func_create_testdir): Use it to initialize sed
35856         script variables.
35857         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35858
35859 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35860             Bruno Haible  <bruno@clisp.org>
35861
35862         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35863         also works after #include directives.
35864
35865 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
35866
35867         getdate.y: reject an out-of-range timezone value
35868         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35869         the range [-24...+24].  When specified with only one or two digits,
35870         * tests/test-getdate.c: Tests for the fix.
35871         * doc/getdate.texi: Document this change.
35872
35873 2008-09-03  Bruno Haible  <bruno@clisp.org>
35874
35875         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35876
35877 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35878
35879         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35880         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35881         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35882         Blake <ebb9@byu.net>.
35883
35884         * tests/test-bitrotate.c: Add more test vectors.
35885
35886 2008-09-02  Eric Blake  <ebb9@byu.net>
35887
35888         vasnprintf-posix: handle large precision via %.*d
35889         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35890         when handling it ourselves.
35891         * tests/test-vasnprintf-posix.c (test_function): Add test.
35892         * tests/test-snprintf-posix.h (test_function): Likewise.
35893         * tests/test-sprintf-posix.h (test_function): Likewise.
35894         * tests/test-vasprintf-posix.c (test_function): Likewise.
35895         Reported by Alain Guibert.
35896
35897 2008-09-01  Eric Blake  <ebb9@byu.net>
35898
35899         c-stack: make configure-time check more robust
35900         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35901         successful sigaction call.
35902         Reported by Tom G. Christensen.
35903
35904 2008-09-01  Bruno Haible  <bruno@clisp.org>
35905
35906         New module 'findprog-lgpl'.
35907         * modules/findprog-lgpl: New file.
35908         * lib/findprog-lgpl.c: New file.
35909         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35910         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35911         to decide whether to use strdup or xstrdup, concatenated_filename or
35912         xconcatenated_filename.
35913
35914 2008-09-01  Bruno Haible  <bruno@clisp.org>
35915
35916         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35917         'xconcat-filename' (GPL).
35918         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35919         (License): Change to LGPLv2+.
35920         * modules/xconcat-filename: New file.
35921         * lib/concat-filename.h (concatenated_filename): Change specification.
35922         (xconcatenated_filename): New declaration.
35923         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35924         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35925         memory situations.
35926         * lib/xconcat-filename.c: New file.
35927         * NEWS: Mention the change.
35928         * lib/findprog.c: Include concat-filename.h, not filename.h.
35929         (find_in_path): Use xconcatenated_filename instead of
35930         concatenated_filename.
35931         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35932         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35933         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35934         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35935         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35936         instead of concatenated_filename.
35937         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35938         (execute_java_class): Use xconcatenated_filename instead of
35939         concatenated_filename.
35940         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35941         * modules/javacomp (Depends-on): Likewise.
35942         * modules/javaexec (Depends-on): Likewise.
35943
35944 2008-09-01  Bruno Haible  <bruno@clisp.org>
35945
35946         Split module 'filename' into 'filename' and 'concat-filename'.
35947         * modules/filename: Keep only lib/filename.h.
35948         (License): Change to LGPLv2+.
35949         * modules/concat-filename: New file, extracted from modules/filename.
35950         * lib/filename.h (concatenated_filename): Remove declaration.
35951         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35952         * lib/concat-filename.c: Include concat-filename.h.
35953         * NEWS: Mention the change.
35954
35955 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35956
35957         * lib/bitrotate.h (rotl8, rotr8): Add.
35958
35959         * modules/bitrotate (configure.ac): Need
35960         AC_REQUIRE([AC_C_INLINE]).
35961         (Description): Mention stdint.h.  Reported by Bruno Haible
35962         <bruno@clisp.org>.
35963
35964         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35965         Paolo Bonzini <bonzini@gnu.org>.
35966
35967 2008-08-31  Bruno Haible  <bruno@clisp.org>
35968
35969         Assume Solaris specific bi-arch conventions on Solaris systems.
35970         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35971         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35972         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35973         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35974         like acl_libdirstem.
35975         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35976         acl_libdirstem.
35977         * NEWS: Mention the change.
35978         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35979
35980 2008-08-31  Jim Meyering  <meyering@redhat.com>
35981
35982         * lib/strftime.h: Add comments describing the two added arguments.
35983
35984         remove duplicate #include directives
35985         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35986         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35987
35988 2008-08-31  Bruno Haible  <bruno@clisp.org>
35989
35990         New module 'sigpipe-die'.
35991         * modules/sigpipe-die: New file.
35992         * lib/sigpipe-die.h: New file.
35993         * lib/sigpipe-die.c: New file.
35994         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35995
35996 2008-08-31  Bruno Haible  <bruno@clisp.org>
35997
35998         Don't override previously installed signal handlers.
35999         * lib/fatal-signal.c (saved_sigactions): New variable.
36000         (uninstall_handlers): Reset the signal to the saved handler, not
36001         to SIG_DFL (except when ignored).
36002         (install_handlers): Save the previous handlers.
36003
36004 2008-08-30  Bruno Haible  <bruno@clisp.org>
36005
36006         * gnulib-tool (func_reset_sigpipe): New function.
36007         (func_get_automake_snippet, func_modules_transitive_closure,
36008         func_import): Invoke it before a join command that reads from stdin,
36009         to avoid "echo: write error: Broken pipe" error messages on stderr.
36010         Reported by Sam Steingold <sds@gnu.org>.
36011
36012 2008-08-30  Bruno Haible  <bruno@clisp.org>
36013
36014         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
36015         Code copied from m4/open.m4.
36016         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
36017         access and the filename ends in a slash. Code copied from lib/open.c.
36018         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
36019         * tests/test-fopen.c (main): Check against bug with trailing slash.
36020
36021 2008-08-29  Bruno Haible  <bruno@clisp.org>
36022
36023         Avoid some "gcc -pedantic" warnings.
36024         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
36025         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
36026         * lib/dirent.in.h: Likewise.
36027         * lib/fcntl.in.h: Likewise.
36028         * lib/float.in.h: Likewise.
36029         * lib/iconv.in.h: Likewise.
36030         * lib/inttypes.in.h: Likewise.
36031         * lib/locale.in.h: Likewise.
36032         * lib/math.in.h: Likewise.
36033         * lib/netinet_in.in.h: Likewise.
36034         * lib/search.in.h: Likewise.
36035         * lib/signal.in.h: Likewise.
36036         * lib/stdarg.in.h: Likewise.
36037         * lib/stdint.in.h: Likewise.
36038         * lib/stdio.in.h: Likewise.
36039         * lib/stdlib.in.h: Likewise.
36040         * lib/string.in.h: Likewise.
36041         * lib/strings.in.h: Likewise.
36042         * lib/sys_select.in.h: Likewise.
36043         * lib/sys_socket.in.h: Likewise.
36044         * lib/sys_stat.in.h: Likewise.
36045         * lib/sys_time.in.h: Likewise.
36046         * lib/sysexits.in.h: Likewise.
36047         * lib/time.in.h: Likewise.
36048         * lib/unistd.in.h: Likewise.
36049         * lib/wchar.in.h: Likewise.
36050         * lib/wctype.in.h: Likewise.
36051         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
36052         * modules/fchdir (Makefile.am): Likewise.
36053         * modules/fcntl (Makefile.am): Likewise.
36054         * modules/float (Makefile.am): Likewise.
36055         * modules/iconv_open (Makefile.am): Likewise.
36056         * modules/inttypes (Makefile.am): Likewise.
36057         * modules/locale (Makefile.am): Likewise.
36058         * modules/math (Makefile.am): Likewise.
36059         * modules/netinet_in (Makefile.am): Likewise.
36060         * modules/search (Makefile.am): Likewise.
36061         * modules/signal (Makefile.am): Likewise.
36062         * modules/stdarg (Makefile.am): Likewise.
36063         * modules/stdint (Makefile.am): Likewise.
36064         * modules/stdio (Makefile.am): Likewise.
36065         * modules/stdlib (Makefile.am): Likewise.
36066         * modules/string (Makefile.am): Likewise.
36067         * modules/strings (Makefile.am): Likewise.
36068         * modules/sys_select (Makefile.am): Likewise.
36069         * modules/sys_socket (Makefile.am): Likewise.
36070         * modules/sys_stat (Makefile.am): Likewise.
36071         * modules/sys_time (Makefile.am): Likewise.
36072         * modules/sysexits (Makefile.am): Likewise.
36073         * modules/time (Makefile.am): Likewise.
36074         * modules/unistd (Makefile.am): Likewise.
36075         * modules/wchar (Makefile.am): Likewise.
36076         * modules/wctype (Makefile.am): Likewise.
36077         Reported by Reuben Thomas <rrt@sc3d.org>.
36078
36079 2008-08-29  Bruno Haible  <bruno@clisp.org>
36080
36081         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
36082         any more.
36083
36084 2008-08-29  Simon Josefsson  <simon@josefsson.org>
36085
36086         * MODULES.html.sh (Misc): Add bitrotate.
36087
36088         * modules/bitrotate: New file.
36089
36090         * lib/bitrotate.h: New file.
36091
36092         * modules/bitrotate-tests: New file.
36093
36094         * tests/test-bitrotate.c: New file.
36095
36096         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
36097         on the bitrotate module.
36098
36099         * lib/arctwo.c: Use new bitrotate module.
36100
36101 2008-08-29  Jim Meyering  <meyering@redhat.com>
36102
36103         bootstrap: merge changes from coreutils
36104         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
36105         of copied files.  Remove a kludge, now that this is fixed.
36106         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
36107         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
36108         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
36109
36110 2008-08-29  Bruno Haible  <bruno@clisp.org>
36111
36112         * MODULES.html.sh: Remove --cvs-urls option.
36113
36114 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
36115
36116         maint.mk: adjust to file name change
36117         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
36118
36119 2008-08-28  Jim Meyering  <meyering@redhat.com>
36120
36121         * modules/getndelim2 (License): Relicense to LGPLv2+.
36122         Approved by Richard Stallman for the version of 1995, and by
36123         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
36124
36125 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
36126
36127         * lib/getdelim.c (flockfile, funlockfile): Make all of them
36128         dummy if one is not available.  Do not touch them if
36129         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
36130         (getc_maybe_unlocked): New.
36131         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
36132
36133 2008-08-26  Eric Blake  <ebb9@byu.net>
36134
36135         doc/INSTALL: resync from autoconf
36136         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
36137         (INSTALL_PRELUDE): Delete; this is done more efficiently by
36138         moving...
36139         * install.texi [!autoconf]: ...here.  Resync from autoconf.
36140         * INSTALL: Regenerate.
36141         * INSTALL.ISO: New file.
36142         * INSTALL.UTF-8: Likewise.
36143
36144 2008-08-26  Jim Meyering  <meyering@redhat.com>
36145
36146         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
36147         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
36148         these definitions conditional, so that they may be overridden, too.
36149
36150 2008-08-26  Bruno Haible  <bruno@clisp.org>
36151
36152         Generate INSTALL file variants with prettier quotes.
36153         * doc/Makefile (INSTALL_PRELUDE): New macro.
36154         (INSTALL): Use it.
36155         (INSTALL.ISO, INSTALL.UTF-8): New rules.
36156
36157 2008-08-26  Bruno Haible  <bruno@clisp.org>
36158
36159         Run makeinfo in an English locale.
36160         * doc/Makefile (MAKEINFO): New variable.
36161
36162 2008-08-26  Bruno Haible  <bruno@clisp.org>
36163
36164         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
36165         Suggested by Eric Blake.
36166
36167 2008-08-25  Bruno Haible  <bruno@clisp.org>
36168
36169         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
36170
36171 2008-08-25  Eric Blake  <ebb9@byu.net>
36172
36173         c-stack: test that stack overflow can be caught
36174         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
36175         that platform allows handling stack overflow; at least OS/2 EMX
36176         has sigaltstack, but crashes before transferring control to
36177         handler on stack overflow.
36178         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
36179         check for HAVE_STACK_OVERFLOW_HANDLING.
36180         Reported by Elbert Pol.
36181
36182 2008-08-25  Bruno Haible  <bruno@clisp.org>
36183
36184         * doc/posix-functions/strftime.texi: Fix description of strftime
36185         module.
36186
36187 2008-08-24  Bruno Haible  <bruno@clisp.org>
36188
36189         * tests/uniwidth/test-uc_width2.c: New file.
36190         * tests/uniwidth/test-uc_width2.sh: New file.
36191         * modules/uniwidth/width-tests (Files): Add the new files.
36192         (TESTS): Add uniwidth/test-uc_width2.sh.
36193         (TESTS_ENVIRONMENT): New variable.
36194         (check_PROGRAMS): Add test-uc_width2.
36195         (test_uc_width2_SOURCES): New variable.
36196
36197         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
36198         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
36199         not 0x00AB.
36200         Reported by Alexander V. Lukyanov <lav@netis.ru>.
36201
36202 2008-08-22  Eric Blake  <ebb9@byu.net>
36203
36204         test-lock, test-tls: mention why a test is skipped
36205         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
36206         skipped.
36207         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
36208
36209         count-one-bits: relax license
36210         * modules/count-one-bits (License): Relicense to LGPLv2+.
36211         Suggested by Ludovic Courtès, approved by Ben Pfaff.
36212
36213 2008-08-22  Andreas Schwab  <schwab@suse.de>
36214
36215         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36216         Remove spurious space in assignment.
36217
36218 2008-08-21  Simon Josefsson  <simon@josefsson.org>
36219
36220         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
36221         Paul Eggert <eggert@CS.UCLA.EDU>.
36222
36223 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
36224
36225         * modules/gettext: Add m4/threadlib.m4.
36226
36227 2008-08-19  Eric Blake  <ebb9@byu.net>
36228
36229         test-c-stack: fix compilation failure on FreeBSD 5.0
36230         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
36231         headers before <sys/resource.h>.
36232         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
36233         the bug.
36234         Reported by Nelson H. F. Beebe.
36235
36236         strverscmp: migrate from "strverscmp.h" to <string.h>
36237         * modules/string (Makefile.am): Add new hooks.
36238         * modules/strverscmp (Files): Remove strverscmp.h.
36239         (Depends-on): Add string.
36240         (configure.ac): Add indicator.
36241         (Include): Mention new header.
36242         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
36243         defaults.
36244         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
36245         results.
36246         * lib/strverscmp.h: Delete.
36247         * lib/string.in.h (strverscmp): Provide declaration, when needed.
36248         * tests/test-strverscmp.c (includes): Adjust client.
36249         * lib/check-version.c (includes): Likewise.
36250         * NEWS: Document the change.
36251
36252         strverscmp: add unit test
36253         * modules/strverscmp-tests: New file.
36254         * tests/test-strverscmp.c: Likewise.
36255
36256 2008-08-19  Simon Josefsson  <simon@josefsson.org>
36257
36258         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
36259         regarding Windows crypto stuff, from Mono.
36260
36261 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
36262
36263         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
36264         if present, for intel RND.  Return error on failures.
36265
36266 2008-08-18  Ben Pfaff  <blp@gnu.org>
36267
36268         gitlog-to-changelog: give better diagnostic for failed pipe-open
36269         * build-aux/gitlog-to-changelog: Improve error message: suggest
36270         that the version of Git may be too old.
36271
36272 2008-08-18  Simon Josefsson  <simon@josefsson.org>
36273
36274         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
36275         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
36276
36277 2008-08-18  Bruno Haible  <bruno@clisp.org>
36278
36279         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
36280         pthread_in_use().
36281
36282 2008-08-18  Bruno Haible  <bruno@clisp.org>
36283
36284         * lib/glthread/threadlib.c: Include <pthread.h>.
36285
36286 2008-08-18  Bruno Haible  <bruno@clisp.org>
36287
36288         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
36289         glthread_recursive_lock_* macros.
36290         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
36291         Fix syntax error.
36292
36293 2008-08-18  Bruno Haible  <bruno@clisp.org>
36294
36295         * lib/glthread/thread.c: Avoid forcing a context switch right after
36296         thread creation.
36297
36298 2008-08-17  Bruno Haible  <bruno@clisp.org>
36299
36300         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
36301         * lib/glthread/thread.h: Provide Win32 specific implementation.
36302         * modules/thread (Files): Add lib/glthread/thread.c.
36303         (Depends-on): Add lock.
36304         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
36305
36306 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36307
36308         New module 'yield'.
36309         * modules/yield: New file.
36310         * lib/glthread/yield.h: New file.
36311         * m4/yield.m4: New file.
36312         * MODULES.html.sh (Multithreading): Add yield.
36313
36314 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36315
36316         New module 'thread'.
36317         * modules/thread: New file.
36318         * lib/glthread/thread.h: New file.
36319         * m4/thread.m4: New file.
36320         * MODULES.html.sh (Multithreading): Add thread.
36321
36322 2008-08-17  Bruno Haible  <bruno@clisp.org>
36323
36324         * lib/glthread/lock.h: Include <stdlib.h> always.
36325         * lib/glthread/tls.h: Likewise.
36326         * lib/glthread/cond.h: Likewise.
36327
36328 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36329
36330         New module 'cond'.
36331         * modules/cond: New file.
36332         * lib/glthread/cond.h: New file.
36333         * lib/glthread/cond.c: New file.
36334         * m4/cond.m4: New file.
36335         * MODULES.html.sh (Multithreading): Add cond.
36336
36337 2008-08-16  Eric Blake  <ebb9@byu.net>
36338
36339         c-stack: fix regression on Irix 5.3 from 2008-06-21
36340         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
36341         sa_sigaction...
36342         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
36343         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
36344         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
36345         * modules/signal (Makefile.am): Use the value.
36346         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
36347         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
36348         * doc/posix-headers/signal.texi (signal.h): Document this
36349         portability issue.
36350         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
36351         Reported by Tom G. Christensen.
36352
36353 2008-08-17  Bruno Haible  <bruno@clisp.org>
36354
36355         New module 'threadlib'.
36356         * modules/threadlib: New file.
36357         * lib/glthread/threadlib.c: New file, extracted from
36358         lib/glthread/lock.c.
36359         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
36360         functions.
36361         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
36362         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
36363         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
36364         macros.
36365         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
36366         (gl_DISABLE_THREADS): Remove macro.
36367         * modules/lock (Files): Remove build-aux/config.rpath.
36368         (Depends-on): Remove havelib. Add threadlib.
36369         (configure.ac-early): Remove section.
36370         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
36371         * modules/tls (Depends-on): Remove lock. Add threadlib.
36372         (Link): New section, copied from threadlib.
36373         * MODULES.html.sh (Multithreading): Add threadlib.
36374
36375 2008-08-14  Bruno Haible  <bruno@clisp.org>
36376
36377         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
36378         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
36379         glthread_rwlock_unlock, glthread_rwlock_destroy,
36380         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
36381         glthread_recursive_lock_destroy): Define as macros always.
36382         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
36383         glthread_lock_lock.
36384         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
36385         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
36386         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
36387         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
36388         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
36389         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
36390         (glthread_recursive_lock_lock_func): Renamed from
36391         glthread_recursive_lock_lock.
36392         (glthread_recursive_lock_unlock_func): Renamed from
36393         glthread_recursive_lock_unlock.
36394         (glthread_recursive_lock_destroy_func): Renamed from
36395         glthread_recursive_lock_destroy.
36396
36397 2008-08-14  Bruno Haible  <bruno@clisp.org>
36398
36399         * lib/glthread/lock.h: Renamed from lib/lock.h.
36400         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
36401         * lib/glthread/tls.h: Renamed from lib/tls.h.
36402         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
36403         * lib/fstrcmp.c: Update includes.
36404         * lib/strsignal.c: Update includes.
36405         * modules/lock (Files, Makefile.am): Update.
36406         (Include): Change to "glthread/lock.h".
36407         * modules/tls (Files, Makefile.am): Update.
36408         (Include): Change to "glthread/tls.h".
36409         * tests/test-lock.c: Update includes.
36410         * tests/test-tls.c: Update includes.
36411         * NEWS: Mention the renamed header files.
36412
36413 2008-08-11  Jim Meyering  <meyering@redhat.com>
36414
36415         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
36416
36417 2008-08-11  Eric Blake  <ebb9@byu.net>
36418
36419         test-c-stack: avoid C99-ism
36420         * tests/test-c-stack.c (main): Fix whitespace, move declaration
36421         before statement.
36422         Reported by Alain Guibert.
36423
36424 2008-08-10  Jim Meyering  <meyering@redhat.com>
36425
36426         ensure that return value of uinttostr et al are not ignored
36427         * lib/inttostr.h (__GNUC_PREREQ): Define.
36428         (__attribute_warn_unused_result__): Define.
36429         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
36430
36431 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
36432
36433         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
36434         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
36435
36436 2008-08-07  Jim Meyering  <meyering@redhat.com>
36437
36438         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
36439
36440         * modules/mkstemp (License): Relicense under LGPLv2+.
36441         * modules/tempname (License): Likewise.
36442
36443 2008-08-06  Bruno Haible  <bruno@clisp.org>
36444
36445         * lib/poll.c (poll): Further micro-optimization.
36446
36447 2008-08-06  Jim Meyering  <meyering@redhat.com>
36448
36449         inet_pton.c: use locale-independent tolower
36450         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
36451         (inet_pton6): Use c_tolower rather than tolower.
36452         * modules/inet_pton (Depends-on): Add c-ctype.
36453
36454 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
36455
36456         * lib/poll.c (poll): Avoid division when timeout is 0, cache
36457         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
36458
36459 2008-08-06  Jim Meyering  <meyering@redhat.com>
36460
36461         * modules/inet_pton (License): Relicense under LGPLv2+.
36462
36463 2008-08-03  Bruno Haible  <bruno@clisp.org>
36464
36465         Additional non-aborting API for lock and tls.
36466         * lib/lock.h: Include <errno.h>.
36467         (glthread_lock_init): New macro/function.
36468         (gl_lock_init): Define as wrapper around glthread_lock_init.
36469         (glthread_lock_lock): New macro/function.
36470         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
36471         (glthread_lock_unlock): New macro/function.
36472         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
36473         (glthread_lock_destroy): New macro/function.
36474         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
36475         (glthread_rwlock_init): New macro/function.
36476         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
36477         (glthread_rwlock_rdlock): New macro/function.
36478         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
36479         (glthread_rwlock_wrlock): New macro/function.
36480         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
36481         (glthread_rwlock_unlock): New macro/function.
36482         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
36483         (glthread_rwlock_destroy): New macro/function.
36484         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
36485         (glthread_recursive_lock_init): New macro/function.
36486         (gl_recursive_lock_init): Define as wrapper around
36487         glthread_recursive_lock_init.
36488         (glthread_recursive_lock_lock): New macro/function.
36489         (gl_recursive_lock_lock): Define as wrapper around
36490         glthread_recursive_lock_lock.
36491         (glthread_recursive_lock_unlock): New macro/function.
36492         (gl_recursive_lock_unlock): Define as wrapper around
36493         glthread_recursive_lock_unlock.
36494         (glthread_recursive_lock_destroy): New macro/function.
36495         (gl_recursive_lock_destroy): Define as wrapper around
36496         glthread_recursive_lock_destroy.
36497         (glthread_once): New macro/function.
36498         (gl_once): Define as wrapper around glthread_once.
36499         Update function declarations.
36500         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
36501         glthread_rwlock_init. Return error code.
36502         (glthread_rwlock_rdlock_multithreaded): Renamed from
36503         glthread_rwlock_rdlock. Return error code.
36504         (glthread_rwlock_wrlock_multithreaded): Renamed from
36505         glthread_rwlock_wrlock. Return error code.
36506         (glthread_rwlock_unlock_multithreaded): Renamed from
36507         glthread_rwlock_unlock. Return error code.
36508         (glthread_rwlock_destroy_multithreaded): Renamed from
36509         glthread_rwlock_destroy. Return error code.
36510         (glthread_recursive_lock_init_multithreaded): Renamed from
36511         glthread_recursive_lock_init. Return error code.
36512         (glthread_recursive_lock_lock_multithreaded): Renamed from
36513         glthread_recursive_lock_lock. Return error code.
36514         (glthread_recursive_lock_unlock_multithreaded): Renamed from
36515         glthread_recursive_lock_unlock. Return error code.
36516         (glthread_recursive_lock_destroy_multithreaded): Renamed from
36517         glthread_recursive_lock_destroy. Return error code.
36518         (glthread_once_call): Make static.
36519         (glthread_once_multithreaded): Renamed from glthread_once.
36520         * lib/tls.h: Include <errno.h>.
36521         (glthread_tls_key_init): New macro/function.
36522         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
36523         (glthread_tls_set): New macro/function.
36524         (gl_tls_set): Define as wrapper around glthread_tls_set.
36525         (glthread_tls_key_destroy): New macro/function.
36526         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
36527         Update function declarations.
36528         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
36529         glthread_tls_get.
36530         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
36531
36532 2008-08-04  Eric Blake  <ebb9@byu.net>
36533
36534         gnumakefile: use space, not TAB, outside of targets
36535         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
36536
36537 2008-08-02  Jim Meyering  <meyering@redhat.com>
36538
36539         getdate.y: avoid locale-dependent date parsing failure
36540         In Turkish locales, getdate would fail to recognize keywords
36541         containing a lowercase "i".  The solution is not to rely on
36542         locale-sensitive case-conversion.
36543         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
36544         (lookup_word): Use c_toupper in place of toupper.
36545         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
36546         Reported by Vefa Bicakci <bicave@superonline.com> in
36547         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
36548         * modules/getdate (Depends-on): Add c-ctype.
36549
36550 2008-08-02  Bruno Haible  <bruno@clisp.org>
36551
36552         * gnulib-tool (func_import): When updating or creating a .gitignore
36553         file, prepend each added line with a slash, and ignore leading slashes
36554         from the existing lines.
36555         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36556
36557 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36558
36559         Portability fix for GNU make 3.79.1.
36560         * top/GNUmakefile: Avoid 'else COND', which older GNU make
36561         versions do not understand.
36562
36563 2008-08-01  Bruno Haible  <bruno@clisp.org>
36564
36565         Work around bug of HP-UX 10.20 cc with -0.0 literal.
36566         * tests/test-isnanf.h (zero): New variable.
36567         (main): Avoid literal -0.0f.
36568         * tests/test-isnand.h (zero): New variable.
36569         (main): Avoid literal -0.0.
36570         * tests/test-isnanl.h (zero): New variable.
36571         (main): Avoid literal -0.0L.
36572         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
36573         (test_float, test_double, test_long_double): Avoid literals -0.0f,
36574         -0.0, -0.0L.
36575         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
36576         (test_signbitd): Avoid literal -0.0.
36577         (test_signbitl): Avoid literal -0.0L.
36578         * tests/test-ceilf1.c (zero): New variable.
36579         (main): Avoid literal -0.0f.
36580         * tests/test-ceill.c (zero): New variable.
36581         (main): Avoid literal -0.0L.
36582         * tests/test-floorf1.c (zero): New variable.
36583         (main): Avoid literal -0.0f.
36584         * tests/test-floorl.c (zero): New variable.
36585         (main): Avoid literal -0.0L.
36586         * tests/test-roundf1.c (zero): New variable.
36587         (main): Avoid literal -0.0f.
36588         * tests/test-round1.c (zero): New variable.
36589         (main): Avoid literal -0.0.
36590         * tests/test-roundl.c (zero): New variable.
36591         (main): Avoid literal -0.0L.
36592         * tests/test-truncf1.c (zero): New variable.
36593         (main): Avoid literal -0.0f.
36594         * tests/test-trunc1.c (zero): New variable.
36595         (main): Avoid literal -0.0.
36596         * tests/test-truncl.c (zero): New variable.
36597         (main): Avoid literal -0.0L.
36598         * tests/test-frexp.c (zero): New variable.
36599         (main): Avoid literal -0.0.
36600         * tests/test-frexpl.c (zero): New variable.
36601         (main): Avoid literal -0.0L.
36602         * tests/test-ldexpl.c (zero): New variable.
36603         (main): Avoid literal -0.0L.
36604         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36605         (zerod, zerol): New variables.
36606         (test_function): Avoid literals -0.0, -0.0L.
36607         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
36608         (zerod, zerol): New variables.
36609         (test_function): Avoid literals -0.0, -0.0L.
36610         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36611         (zerod, zerol): New variables.
36612         (test_function): Avoid literals -0.0, -0.0L.
36613         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
36614         (zerod, zerol): New variables.
36615         (test_function): Avoid literals -0.0, -0.0L.
36616         * tests/test-strtod.c (zero): New variable.
36617         (main): Avoid literal -0.0.
36618         Reported by Jonathan C. Patschke <jp@centtech.com>.
36619
36620 2008-07-31  Jim Meyering  <meyering@redhat.com>
36621
36622         sha256.h: correct definition of SHA224_DIGEST_SIZE
36623         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
36624         Reported by Paulie Pena IV <paulie4@gmail.com>.
36625         Define as 224 / 8, rather than as a literal.
36626         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
36627         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
36628         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
36629
36630 2008-07-31  Bruno Haible  <bruno@clisp.org>
36631
36632         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
36633         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
36634         Reported by Jonathan Patschke <jp@centtech.com>.
36635
36636 2008-07-31  Bruno Haible  <bruno@clisp.org>
36637
36638         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
36639         Reported by Paolo Bonzini <bonzini@gnu.org>.
36640
36641 2008-07-30  Eric Blake  <ebb9@byu.net>
36642
36643         test-strtod: allow compilation without -lm
36644         * tests/test-strtod.c (main): Avoid link dependence on fabs.
36645         Reported by Dennis Clarke <blastwave@gmail.com>.
36646
36647 2008-07-28  Jim Meyering  <meyering@redhat.com>
36648
36649         bootstrap: work also when there are no .po files in po/
36650         * build-aux/bootstrap (update_po_files): Complete the change
36651         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
36652
36653 2008-07-27  Jim Meyering  <meyering@redhat.com>
36654
36655         * users.txt: Add zile.
36656
36657 2008-07-26  Ben Pfaff  <blp@gnu.org>
36658
36659         Add missing dependencies on new m4/exponent[fdl].m4 files.
36660         * modules/isnanf-nolibm: Add m4/exponentf.m4.
36661         * modules/isnand-nolibm: Add m4/exponentd.m4.
36662         * modules/isnanl-nolibm: Add m4/exponentl.m4.
36663         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
36664         m4/isnan[fdl].m4, because the macros actually used moved.
36665         Reported by Jim Meyering.
36666
36667 2008-07-14  Ben Pfaff  <blp@gnu.org>
36668
36669         Add isinf module.
36670         * lib/isinf.c: New file.
36671         * lib/math.in.h: Define isinf macro if we have decided to replace
36672         it.
36673         * m4/isinf.m4: New file.
36674         * m4/math_h.m4: Initialize and substitute variables for isinf
36675         module.
36676         * modules/isinf: New file.
36677         * modules/isinf-tests: New file.
36678         * modules/math: Add substitutions for new module.
36679         * tests/test-isinf.c: New file.
36680         * doc/posix-functions/isinf.texi: Mention new module.
36681         * MODULES.html.sh: Mention new module.
36682
36683 2008-07-14  Ben Pfaff  <blp@gnu.org>
36684
36685         Factor out some macros for use by additional modules.
36686         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
36687         exponentf.m4.
36688         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
36689         exponentd.m4.
36690         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
36691         file exponentl.m4.
36692         * m4/exponentf.m4: New file.
36693         * m4/exponentd.m4: New file.
36694         * m4/exponentl.m4: New file.
36695         * modules/isnanf: Use new file m4/exponentf.m4.
36696         * modules/isnand: Use new file m4/exponentd.m4.
36697         * modules/isnanl: Use new file m4/exponentl.m4.
36698
36699 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
36700
36701         mktime.c: normalize tp->tm_isdst value to -1/0/1.
36702         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
36703         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
36704         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
36705
36706         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
36707         readlink on platforms without PATH_MAX.
36708
36709 2008-07-21  Eric Blake  <ebb9@byu.net>
36710
36711         Warn, not fail, on stale version.
36712         * top/GNUmakefile (_curr-ver): Tone down previous patch.
36713
36714         Don't allow installation with stale devel version number.
36715         * top/GNUmakefile (_is-install-target): New macro.
36716         (_curr-ver): Forbid installation with stale version number.
36717
36718 2008-07-20  Bruno Haible  <bruno@clisp.org>
36719
36720         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
36721         TESTS_ENVIRONMENT.
36722         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
36723
36724 2008-07-20  Bruno Haible  <bruno@clisp.org>
36725
36726         * lib/c-stack.h (c_stack_action): Add documentation.
36727         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
36728
36729 2008-07-20  Bruno Haible  <bruno@clisp.org>
36730
36731         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
36732         * modules/readlink (License): Likewise.
36733
36734 2008-07-17  Eric Blake  <ebb9@byu.net>
36735
36736         * modules/c-stack (Link): Fix typo.
36737
36738         Make c-stack use libsigsegv, when available.
36739         * modules/c-stack (Depends-on): Add libsigsegv.
36740         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
36741         needed.
36742         * lib/c-stack.c (SIGSTKSZ): Define fallback.
36743         (segv_handler, overflow_handler, c_stack_action)
36744         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
36745         implementation when libsigsegv is available, but only when using
36746         the library is necessary.
36747         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
36748         comment, explaining why XSI check fails on Linux.
36749         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
36750         * tests/test-c-stack2.sh: Tweak skip message.
36751         * NEWS: Document new link-time requirements.
36752
36753 2008-07-16  Eric Blake  <ebb9@byu.net>
36754
36755         c-stack: Expose false positives when not using libsigsegv.
36756         * modules/c-stack-tests (Files): Expand test.
36757         * tests/test-c-stack.c (main): Add means to conditionally trigger
36758         non-overflow SIGSEGV.
36759         * tests/test-c-stack2.sh: New file.
36760
36761 2008-07-14  Bruno Haible  <bruno@clisp.org>
36762
36763         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
36764         Reported by Eric Blake.
36765
36766 2008-07-14  Sam Steingold  <sds@gnu.org>
36767             Bruno Haible  <bruno@clisp.org>
36768
36769         New module libsigsegv.
36770         * modules/libsigsegv: New file.
36771         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36772         modifications.
36773         * MODULES.html.sh (Signal handling): New section.
36774
36775 2008-07-14  Bruno Haible  <bruno@clisp.org>
36776
36777         * modules/unictype/ctype-* (Description): Add the word "function".
36778         Improves the resulting doc in MODULES.html.
36779
36780 2008-07-12  Ben Pfaff  <blp@gnu.org>
36781
36782         Add longlong module.
36783         * modules/longlong: New file.
36784
36785 2008-07-12  Bruno Haible  <bruno@clisp.org>
36786
36787         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36788         to empty.
36789
36790 2008-07-10  Ben Pfaff  <blp@gnu.org>
36791
36792         Add isnan module.
36793         * doc/posix-functions/isnan.texi: Mention new module.
36794         * lib/math.in.h: Define isnan macro if we have decided to replace
36795         it.
36796         * m4/isnan.m4: New file.
36797         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36798         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36799         also.
36800         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36801         redundancy.
36802         * m4/math_h.m4: Initialize and substitute variables for isnan
36803         module.
36804         * modules/isnan: New file.
36805         * modules/isnan-tests: New file.
36806         * modules/math: Add substitutions for new module.
36807         * tests/test-isnan.c: New file.
36808         * MODULES.html.sh: Mention new module.
36809
36810 2008-07-10  Ben Pfaff  <blp@gnu.org>
36811
36812         Add isnanf module.
36813         * lib/isnanf.m4: New file.
36814         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36815         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36816         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36817         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36818         * modules/isnanf: New file.
36819         * modules/isnanf-tests: New file.
36820         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36821         files.
36822         * tests/test-isnanf-nolibm.c: factored most of its contents into
36823         new file tests/test-isnanf.h.
36824         * tests/test-isnanf.h: New file.
36825         * tests/test-isnanf.c: New file.
36826         * MODULES.html.sh: Mention new module.
36827         * doc/glibc-functions/isnanf.texi: Mention new module.
36828
36829 2008-07-10  Ben Pfaff  <blp@gnu.org>
36830
36831         Add isnand module.
36832         * lib/isnand.h: New file.
36833         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36834         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36835         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36836         functionality also.
36837         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36838         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36839         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36840         * modules/isnand: New file.
36841         * modules/isnand-tests: New file.
36842         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36843         files.
36844         * tests/test-isnand-nolibm.c: factored most of its contents into
36845         new file tests/test-isnand.h.
36846         * tests/test-isnand.h: New file.
36847         * tests/test-isnand.c: New file.
36848         * MODULES.html.sh: Mention new module.
36849
36850 2008-07-10  Ben Pfaff  <blp@gnu.org>
36851
36852         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36853         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36854         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36855         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36856         * modules/isnanf-nolibm: Update references to renamed files.
36857         * modules/isnand-nolibm: Likewise.
36858         * modules/isnanf-nolibm-tests: Likewise.
36859         * modules/isnand-nolibm-tests: Likewise.
36860         * lib/frexp.c: Likewise.
36861         * lib/isfinite.c: Likewise.
36862         * lib/signbitd.c: Likewise.
36863         * lib/signbitf.c: Likewise.
36864         * lib/vasnprintf.c: Likewise.
36865         * tests/test-ceilf1.c: Likewise.
36866         * tests/test-ceilf2.c: Likewise.
36867         * tests/test-floorf1.c: Likewise.
36868         * tests/test-floorf2.c: Likewise.
36869         * tests/test-frexp.c: Likewise.
36870         * tests/test-round1.c: Likewise.
36871         * tests/test-round2.c: Likewise.
36872         * tests/test-roundf1.c: Likewise.
36873         * tests/test-strtod.c: Likewise.
36874         * tests/test-trunc1.c: Likewise.
36875         * tests/test-trunc2.c: Likewise.
36876         * tests/test-truncf1.c: Likewise.
36877         * tests/test-truncf2.c: Likewise.
36878         * NEWS: Mention the renamed header files.
36879
36880 2008-07-11  Jim Meyering  <meyering@redhat.com>
36881
36882         vc-list-files: make the last-resort awk code more portable
36883         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36884         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36885         does not support it.
36886
36887 2008-07-10  Eric Blake  <ebb9@byu.net>
36888
36889         Work with tar's bootstrap.
36890         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36891         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36892         an m4 comment.
36893
36894 2008-07-09  Jim Meyering  <meyering@redhat.com>
36895
36896         posix-shell.m4: fix typo that made this test malfunction
36897         * m4/posix-shell.m4: Remove capitalization in variable name.
36898
36899 2008-07-08  Bruno Haible  <bruno@clisp.org>
36900
36901         * m4/onceonly.m4: Update comments.
36902         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36903
36904 2008-07-04  Jim Meyering  <meyering@redhat.com>
36905
36906         * users.txt: Add vc-dwim.
36907         (bison, coreutils): Use the gitweb URL.
36908
36909 2008-07-03  Jim Meyering  <meyering@redhat.com>
36910
36911         * users.txt: Add libffcall.  From Sam Steingold.
36912
36913 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
36914
36915         getdate.y: do not ignore TZ with relative day, month or year offset
36916         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36917         relative-date-handling, since otherwise, the latter would clobber the
36918         sole output (an updated Start value) of the tz-handling block.
36919         * tests/test-getdate.c: Tests for the fix
36920
36921 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36922
36923         Recognize 'foo_LIBRARIES += libgnu.a'.
36924         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36925         makefile snippet has already specified an installation location,
36926         also using '+='.
36927
36928 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
36929
36930         getdate.y: factor out common actions
36931         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36932         Use them in place of open-coded actions.
36933
36934 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36935
36936         Add self-test for getdate module.
36937         * modules/getdate-tests: New file.
36938         * tests/test-getdate.c: New file.
36939
36940 2008-06-29  Bruno Haible  <bruno@clisp.org>
36941
36942         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36943         .gitignore.
36944         Reported by Sylvain Beucler <beuc@beuc.net>.
36945
36946 2008-06-29  Bruno Haible  <bruno@clisp.org>
36947
36948         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36949         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36950
36951 2008-06-29  Bruno Haible  <bruno@clisp.org>
36952
36953         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36954         EXTRA_DIST.
36955         Reported by Sylvain Beucler <beuc@beuc.net>.
36956
36957 2008-06-26  Jim Meyering  <meyering@redhat.com>
36958
36959         make several modules depend on the "open" module
36960         This provides slightly increased consistency when opening-for-write
36961         the name of a non-directory spelled with a trailing slash.
36962         * modules/chdir-safer: Likewise.
36963         * modules/chown: Likewise.
36964         * modules/clean-temp: Likewise.
36965         * modules/copy-file: Likewise.
36966         * modules/fchdir: Likewise.
36967         * modules/fcntl-safer: Likewise.
36968         * modules/pipe: Likewise.
36969         * modules/utime: Likewise.
36970         Prompted by Eric Blake and Bruno Haible.
36971
36972 2008-06-24  Andreas Schwab  <schwab@suse.de>
36973
36974         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36975         literals can be used as initializers for global variables.
36976
36977 2008-06-23  Eric Blake  <ebb9@byu.net>
36978
36979         Make gnulib-cache.m4 easier to diff.
36980         * gnulib-tool (func_import): Allow newlines when reading cached
36981         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36982
36983 2008-06-23  Bruno Haible  <bruno@clisp.org>
36984
36985         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36986         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36987         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36988         m4/signalblocking.m4.
36989         (gl_PREREQ_SIGACTION): Don't invoke it.
36990         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36991         gl_PREREQ_SIG_HANDLER_H.
36992         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36993         Don't check for sigaction here.
36994
36995 2008-06-23  Bruno Haible  <bruno@clisp.org>
36996
36997         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36998         (install_handlers): Don't set the SA_RESETHAND flag.
36999
37000 2008-06-23  Bruno Haible  <bruno@clisp.org>
37001
37002         * m4/sigaction.m4: Comment fixes.
37003         * lib/signal.in.h: Likewise.
37004
37005 2008-06-23  Eric Blake  <ebb9@byu.net>
37006
37007         Fix typo.
37008         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
37009
37010         Avoid SA_ namespace.
37011         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
37012         Reported by Ralf Wildenhues.
37013
37014         Avoid test failure due to SA_RESTORER.
37015         * tests/test-sigaction.c (SA_MASK): New macro.
37016         (main): Avoid failing due to extension flags being set.
37017         Reported by Jim Meyering.
37018
37019         Revert use of sig-handler.h in sigprocmask.c.
37020         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
37021         it requires the existence of struct sigaction.
37022         * lib/sigprocmask.c (handler_t): Restore typedef.
37023         (rpl_signal, old_handlers): Use local type.
37024
37025 2008-06-22  Bruno Haible  <bruno@clisp.org>
37026
37027         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
37028         conditionally.
37029         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37030
37031 2008-06-22  Bruno Haible  <bruno@clisp.org>
37032
37033         * doc/posix-functions/siginterrupt.texi: Move note.
37034
37035         * lib/signal.in.h (SA_RESTART): New macro.
37036         * lib/sigaction.c: Update comment.
37037
37038         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
37039
37040         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
37041         (gl_PREREQ_SIGPROCMASK): Invoke it.
37042         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
37043
37044         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
37045
37046         * lib/sigprocmask.c: Update a comment.
37047
37048 2008-06-21  Eric Blake  <ebb9@byu.net>
37049
37050         Use sigaction module rather than signal().
37051         * modules/c-stack (Depends-on): Add sigaction.
37052         * modules/fatal-signal (Depends-on): Likewise.
37053         * modules/nanosleep (Depends-on): Likewise.
37054         * modules/sigprocmask (Files): Add sig-handler.h.
37055         * modules/sigaction (Files): Likewise.
37056         * lib/sig-handler.h (get_handler): New file, suggested by Paul
37057         Eggert.
37058         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
37059         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
37060         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
37061         (init_fatal_signals): Likewise.
37062         * lib/nanosleep.c (rpl_nanosleep): Likewise.
37063         (siginterrupt): Delete fallback.
37064         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
37065         instead.
37066         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
37067         siginterrupt.
37068
37069         New module sigaction, for mingw.
37070         * modules/sigaction: New module...
37071         * modules/sigaction-tests: ...and its test.
37072         * m4/sigaction.m4: New file.
37073         * lib/sigaction.c: Likewise.
37074         * tests/test-sigaction.c: Likewise.
37075         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
37076         * modules/signal (Makefile.am): Likewise.
37077         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
37078         needed.
37079         * doc/posix-headers/signal.texi (signal.h): Mention provided
37080         types.
37081         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
37082         that sigaction is preferable.
37083         * doc/posix-functions/sigaction.texi (sigaction): Mention new
37084         module.
37085         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37086         sigaction.
37087
37088         Improve robustness of sigprocmask by overriding signal.
37089         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
37090         is in use.
37091         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
37092         (SIGKILL, SIGSTOP): Provide fallbacks.
37093         (rpl_signal): Implement.
37094         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
37095         signal can be called inside handlers.
37096
37097         Fix nanosleep module on mingw.
37098         * modules/nanosleep (Depends-on): Add sys_select.
37099         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
37100
37101         Fix licensing of sigprocmask.
37102         * modules/raise (License): Relicense as LGPL.
37103
37104 2008-06-21  Bruno Haible  <bruno@clisp.org>
37105
37106         * lib/propername.c (proper_name_utf8): Don't use the transliterated
37107         result if it contains question marks.
37108         Reported by Michael Geng <linux@michaelgeng.de>.
37109
37110 2008-06-19  Bruno Haible  <bruno@clisp.org>
37111
37112         Fix CVS-ism.
37113         * doc/gnulib.texi: Include updated-stamp.texi.
37114         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
37115         (updated-stamp.texi): New rule.
37116         (gnulib.info): Depend on it.
37117         * doc/.gitignore: Add updated-stamp.texi.
37118         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
37119
37120 2008-06-19  Bruno Haible  <bruno@clisp.org>
37121
37122         * doc/Makefile (gnulib.info): Update and simplify dependencies.
37123         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37124
37125 2008-06-19  Eric Blake  <ebb9@byu.net>
37126
37127         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
37128         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
37129         Reported by Stepan Kasal.
37130
37131 2008-06-18  Bruno Haible  <bruno@clisp.org>
37132
37133         * lib/fatal-signal.c (init_fatal_signals): Add comment.
37134         Reported by Eric Blake.
37135
37136 2008-06-18  Eric Blake  <ebb9@byu.net>
37137
37138         Work around cygwin 1.5.25 strsignal bug.
37139         * tests/test-strsignal.c: Allow for const char *.
37140         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
37141
37142 2008-06-18  Simon Josefsson  <simon@josefsson.org>
37143
37144         * users.txt: Update URL to article and add author/date
37145         information.
37146
37147 2008-06-17  Bruno Haible  <bruno@clisp.org>
37148
37149         New macro gl_DISABLE_THREADS.
37150         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
37151         if the user did not pass --enable-threads or --disable-threads option.
37152         (gl_DISABLE_THREADS): New macro.
37153         Reported by Eric Blake <ebb9@byu.net>.
37154
37155 2008-06-17  Bruno Haible  <bruno@clisp.org>
37156
37157         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
37158         when the macro ignores it.
37159         Based on a patch by Eric Blake <ebb9@byu.net>.
37160
37161 2008-06-17  Bruno Haible  <bruno@clisp.org>
37162
37163         * modules/tls (License): Change to LGPLv2+.
37164         Reported by Eric Blake.
37165
37166 2008-06-17  Eric Blake  <ebb9@byu.net>
37167
37168         Simplify c-stack prerequisites.
37169         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
37170         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
37171         no longer requires <ucontext.h> to exist.  Optimize setrlimit
37172         check.
37173         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
37174         <sys/resource.h>.
37175
37176         Move c-stack test into testsuite.
37177         * modules/c-stack-tests: New file.
37178         * lib/c-stack.c [DEBUG]: Move test program...
37179         * tests/test-c-stack.c: ...into this new file.  Skip rather than
37180         fail test if sigaltstack is lacking.
37181         * tests/test-c-stack.sh: New driver file.
37182
37183 2008-06-16  Eric Blake  <ebb9@byu.net>
37184
37185         Use raise module consistently.
37186         * modules/fatal-signal (Depends-on): Add raise.
37187         * modules/sigprocmask (Depends-on): Likewise.
37188         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
37189         * lib/sigprocmask.c (sigprocmask): Likewise.
37190         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37191         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
37192
37193         Fix compliance bug in sigpending.
37194         * lib/sigprocmask.c (sigpending): Return pending array via
37195         parameter, not return value.
37196
37197 2008-06-14  Eric Blake  <ebb9@byu.net>
37198
37199         Improve obstack-printf test code.
37200         * tests/test-obstack-printf.c (test_function): Fix comment, and
37201         simplify usage of obstack_* in macros.  Add a test for coverage.
37202         Reported by Bruno Haible.
37203
37204 2008-06-14  Bruno Haible  <bruno@clisp.org>
37205
37206         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
37207         array size as a constant, not as a const variable.
37208         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
37209         AC_USE_SYSTEM_EXTENSIONS.
37210         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37211         Test whether the obstack_printf function actually exists.
37212         * modules/obstack-printf (Depends-on): Add extensions.
37213         (Include): Remove obstack.h.
37214         * modules/obstack-printf-posix (Depends-on): Add extensions.
37215         (Include): Remove obstack.h.
37216
37217 2008-06-13  Eric Blake  <ebb9@byu.net>
37218
37219         Add obstack-printf and obstack-printf-posix modules.
37220         * modules/obstack-printf: New file.
37221         * modules/obstack-printf-posix: Likewise.
37222         * MODULES.html.sh (Misc): Mention them.
37223         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37224         Likewise.
37225         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37226         Likewise.
37227         * modules/stdio (Makefile.am): Accomodate new modules.
37228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37229         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
37230         Declare.
37231         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
37232         functions.
37233         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
37234         (gl_REPLACE_OBSTACK_PRINTF): New macros
37235         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
37236         * tests/test-obstack-printf.c: New file.
37237         * modules/obstack-printf-tests: Likewise.
37238         * modules/obstack-printf-posix-tests: Likewise.
37239
37240 2008-06-11  Bruno Haible  <bruno@clisp.org>
37241
37242         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
37243         * lib/open.c: Include errno.h.
37244         (open): Fail when attempting to write to a file that has a trailing
37245         slash.
37246         * tests/test-open.c (main): Test against trailing slash bug.
37247         * doc/posix-functions/open.texi: Mention the trailing slash bug.
37248
37249 2008-06-10  Bruno Haible  <bruno@clisp.org>
37250
37251         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
37252         for $? to work inside the trap command, with various /bin/sh-s.
37253         * tests/test-vc-list-files-cvs.sh: Likewise.
37254
37255 2008-06-10  Bruno Haible  <bruno@clisp.org>
37256
37257         * lib/acl-internal.h: Don't include gettext.h here.
37258         * lib/set-mode-acl.c: Include gettext.h here.
37259         * lib/copy-acl.c: Likewise.
37260
37261 2008-06-10  Bruno Haible  <bruno@clisp.org>
37262
37263         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
37264         * lib/wait-process.c (wait_subprocess): Likewise.
37265         * lib/execute.h (execute): Add termsigp argument.
37266         * lib/execute.c (execute): Likewise.
37267         * lib/csharpcomp.c (compile_csharp_using_pnet,
37268         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
37269         * lib/csharpexec.c (execute_csharp_using_pnet,
37270         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
37271         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
37272         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
37273         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
37274         is_jikes_present): Update.
37275         * lib/javaexec.c (execute_java_class): Update.
37276         * lib/javaversion.c (execute_and_read_line): Update.
37277         * NEWS: Document the changes.
37278         Reported by Eric Blake.
37279
37280 2008-06-10  Eric Blake  <ebb9@byu.net>
37281
37282         Add missing include.
37283         * tests/test-strstr.c (includes): Add <signal.h>.
37284         * tests/test-strcasestr.c (includes): Likewise.
37285         * tests/test-memmem.c (includes): Likewise.
37286
37287 2008-06-10  Bruno Haible  <bruno@clisp.org>
37288
37289         * lib/wait-process.c (wait_subprocess): Add an assertion.
37290
37291 2008-06-10  Bruno Haible  <bruno@clisp.org>
37292
37293         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
37294
37295 2008-06-10  Bruno Haible  <bruno@clisp.org>
37296
37297         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
37298         using alarm().
37299         * tests/test-strcasestr.c (main): Likewise.
37300         * tests/test-strstr.c (main): Likewise.
37301
37302 2008-06-09  Bruno Haible  <bruno@clisp.org>
37303
37304         Work around the Solaris 10 ACE ACLs ABI change.
37305         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
37306         declare if ACL_NO_TRIVIAL is present.
37307         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
37308         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
37309         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
37310         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
37311         define if ACL_NO_TRIVIAL is present.
37312         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
37313         and use the current ABI.
37314         (file_has_acl): Use same #if condition as elsewhere.
37315         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
37316         in use, and use the current ABI.
37317         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
37318         Reported by Jim Meyering.
37319
37320 2008-06-09  Eric Blake  <ebb9@byu.net>
37321
37322         Work around environments that (stupidly) ignore SIGALRM.
37323         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
37324         before using alarm().
37325         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37326         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37327         Reported by Ian Beckwith <ianb@erislabs.net>.
37328
37329         Produce autobuild blurb earlier in log.
37330         * modules/autobuild (configure.ac-early): Move AB_INIT here.
37331
37332 2008-06-09  Jim Meyering  <meyering@redhat.com>
37333         and Ondřej Vašík  <ovasik@redhat.com>
37334
37335         utimens.c: correct kernel bug work-around
37336         Ondřej Vašík found that the invalid return value of 280 indicates
37337         failure, not success, and the kernel bug we're trying to work
37338         around affects not just the utimensat call, but also the fallback
37339         futimens call.
37340         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
37341         not success.
37342         [HAVE_FUTIMENS]: Use the same work-around, here.
37343
37344 2008-06-09  Jim Meyering  <meyering@redhat.com>
37345
37346         add more guards around definition of ACE_-related code
37347         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
37348         ALLOW and ACE_OWNER are also defined.
37349
37350 2008-06-08  Bruno Haible  <bruno@clisp.org>
37351
37352         * lib/acl-internal.h: Add me as co-author.
37353         * lib/file-has-acl.c: Likewise.
37354         * lib/set-mode-acl.c: Likewise.
37355         * lib/copy-acl.c: Likewise.
37356
37357 2008-06-08  Bruno Haible  <bruno@clisp.org>
37358
37359         Add support for AIX ACLs.
37360         * lib/acl-internal.h (acl_nontrivial): New declaration.
37361         * lib/file-has-acl.c (acl_nontrivial): New function.
37362         (file_has_acl): Add implementation using AIX 4 ACL API.
37363         * lib/set-mode-acl.c (qset_acl): Likewise.
37364         * lib/copy-acl.c (qcopy_acl): Likewise.
37365
37366 2008-06-08  Bruno Haible  <bruno@clisp.org>
37367
37368         Add support for HP-UX ACLs.
37369         * lib/acl-internal.h (acl_nontrivial): New declaration.
37370         * lib/file-has-acl.c (acl_nontrivial): New function.
37371         (file_has_acl): Add implementation using HP-UX 11 ACL API.
37372         * lib/set-mode-acl.c (qset_acl): Likewise.
37373         * lib/copy-acl.c (qcopy_acl): Likewise.
37374
37375 2008-06-08  Bruno Haible  <bruno@clisp.org>
37376
37377         Add support for Cygwin ACLs.
37378         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
37379         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
37380         the chmod_or_fchmod call.
37381         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
37382
37383 2008-06-08  Bruno Haible  <bruno@clisp.org>
37384
37385         Fix bug with setuid modes in Solaris 10+ code.
37386         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
37387         succeeded, when the mode contains some special bits.
37388
37389 2008-06-08  Bruno Haible  <bruno@clisp.org>
37390
37391         Add support for Solaris 7..10 ACLs.
37392         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
37393         declarations.
37394         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
37395         functions.
37396         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
37397         * lib/set-mode-acl.c (qset_acl): Likewise.
37398         * lib/copy-acl.c (qcopy_acl): Likewise.
37399
37400 2008-06-08  Bruno Haible  <bruno@clisp.org>
37401
37402         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
37403         declaration.
37404         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
37405         (acl_access_nontrivial): Remove MacOS X case.
37406         (file_has_acl): Use acl_extended_nontrivial.
37407         * lib/copy-acl.c (qcopy_acl): Likewise.
37408
37409 2008-06-08  Bruno Haible  <bruno@clisp.org>
37410
37411         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
37412
37413 2008-06-08  Jim Meyering  <meyering@redhat.com>
37414
37415         * modules/acl (Maintainer): Add Bruno Haible.
37416
37417 2008-06-07  Bruno Haible  <bruno@clisp.org>
37418
37419         Improve support for Tru64 ACLs.
37420         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
37421         ACL on OSF/1.
37422
37423 2008-06-07  Bruno Haible  <bruno@clisp.org>
37424
37425         Add support for MacOS X ACLs.
37426         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
37427         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
37428         * lib/set-mode-acl.c (qset_acl): Likewise.
37429         * lib/copy-acl.c (qcopy_acl): Likewise.
37430
37431 2008-06-07  Bruno Haible  <bruno@clisp.org>
37432
37433         Fix memory leak introduced on 2008-05-22.
37434         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
37435         use.
37436
37437 2008-06-07  Bruno Haible  <bruno@clisp.org>
37438
37439         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
37440         to construct an empty ACL.
37441
37442 2008-06-07  Bruno Haible  <bruno@clisp.org>
37443
37444         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
37445         precisely.
37446         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
37447
37448 2008-06-07  Bruno Haible  <bruno@clisp.org>
37449
37450         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
37451         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
37452
37453 2008-06-07  Bruno Haible  <bruno@clisp.org>
37454
37455         * doc/posix-functions/_setjmp.texi: Explain the use of this function
37456         regardless of POSIX.
37457         * doc/posix-functions/_longjmp.texi: Likewise.
37458         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
37459         SystemV platform in this case.
37460
37461 2008-06-06  Eric Blake  <ebb9@byu.net>
37462
37463         Document abort() bugs.
37464         * doc/posix-functions/abort.texi (abort): Mention anomalies.
37465
37466         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
37467         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
37468         sigsetjmp.
37469         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
37470         siglongjmp, but only as a macro.
37471         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
37472         is obsolete.
37473         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
37474
37475         Tweak documentation to cover cygwin argz bugs.
37476         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
37477         argz bug fix; no code change needed since no cygwin releases
37478         occurred between the last fix and the bug being tested.
37479         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
37480         module and recently fixed cygwin bugs.
37481         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
37482         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
37483         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
37484         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
37485         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
37486         Likewise.
37487         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
37488         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
37489         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
37490         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
37491         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
37492         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
37493         Likewise.
37494
37495         Avoid gcc warning on cygwin.
37496         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
37497         !ACL_NO_TRIVIAL]: Avoid unused variable.
37498
37499 2008-06-05  Eric Blake  <ebb9@byu.net>
37500
37501         Be tolerant of UNKNOWN version in gnulib-tool test dir.
37502         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
37503         git-version-gen fails to come up with a version.
37504         Reported by Simon Josefsson.
37505
37506 2008-06-05  Jim Meyering  <meyering@redhat.com>
37507             Paul Eggert  <eggert@cs.ucla.edu>
37508
37509         utimens.c: work around a probable Linux kernel bug
37510         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
37511         appears to be a kernel bug that causes utimensat to return 280
37512         instead of 0, indicating success.
37513
37514 2008-06-04  Bruno Haible  <bruno@clisp.org>
37515
37516         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
37517         2008-06-01 commit.
37518
37519 2008-06-04  Bruno Haible  <bruno@clisp.org>
37520
37521         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
37522         * lib/file-has-acl.c (acl_access_nontrivial): New function.
37523         (file_has_acl): Use it. Save errno afterwards.
37524         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
37525
37526 2008-06-03  Bruno Haible  <bruno@clisp.org>
37527
37528         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
37529         draft code. Simplify #ifs.
37530         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
37531         Put Solaris code after POSIX-draft code. Fix comments regarding
37532         Solaris 10, HP-UX. Mention Cygwin.
37533         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
37534
37535 2008-06-03  Eric Blake  <ebb9@byu.net>
37536
37537         Provide fallback for older kernels.
37538         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
37539         Provide runtime fallback if kernel lacks support.
37540         Reported by Mike Frysinger.
37541
37542 2008-06-02  Bruno Haible  <bruno@clisp.org>
37543
37544         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
37545         it exists.
37546
37547 2008-06-02  Bruno Haible  <bruno@clisp.org>
37548
37549         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
37550         * lib/copy-acl.c (qcopy_acl): Update comment.
37551
37552 2008-06-02  Bruno Haible  <bruno@clisp.org>
37553
37554         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
37555         like ACL APIs.
37556
37557 2008-06-02  Bruno Haible  <bruno@clisp.org>
37558
37559         * tests/test-file-has-acl.sh: Use different code for Cygwin.
37560         * tests/test-set-mode-acl.sh: Likewise.
37561         * tests/test-copy-acl.sh: Likewise.
37562         * tests/test-copy-file.sh: Likewise.
37563
37564 2008-06-02  Bruno Haible  <bruno@clisp.org>
37565
37566         * tests/test-file-has-acl.sh: Remove unused code.
37567
37568 2008-06-01  Bruno Haible  <bruno@clisp.org>
37569
37570         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
37571         (copy_acl): Just a wrapper around qcopy_acl that emits the error
37572         messages.
37573         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
37574
37575 2008-06-01  Bruno Haible  <bruno@clisp.org>
37576
37577         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
37578         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
37579         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
37580         APIs.
37581         * modules/acl-tests (configure.ac): Remove tests now contained in
37582         m4/acl.m4.
37583
37584 2008-06-02  Jim Meyering  <meyering@redhat.com>
37585
37586         announce-gen: use a better key-server host name
37587         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
37588         it may be more consistently reliable.  Suggested by Werner Koch
37589         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
37590
37591 2008-06-01  Bruno Haible  <bruno@clisp.org>
37592
37593         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
37594         Reported by Voroskoi Andras <voroskoi@gmail.com>.
37595
37596 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
37597
37598         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
37599
37600 2008-06-01  Bruno Haible  <bruno@clisp.org>
37601
37602         New ACL tests.
37603         * tests/test-file-has-acl.sh: New file.
37604         * tests/test-file-has-acl.c: New file.
37605         * tests/test-set-mode-acl.sh: New file.
37606         * tests/test-set-mode-acl.c: New file.
37607         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
37608         * tests/test-copy-acl.c: New file.
37609         * modules/acl-tests: New file, based on modules/copy-file-tests.
37610         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
37611         (Depends-on): Add acl-tests.
37612         (configure.ac): Remove checks.
37613         (Makefile.am): Don't create test-sameacls program here any more.
37614
37615 2008-06-01  Bruno Haible  <bruno@clisp.org>
37616
37617         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
37618         * tests/test-sameacls.c: Include progname.h.
37619         (main): Invoke set_program_name. Portability fixes for MacOS X,
37620         Solaris, HP-UX.
37621
37622 2008-06-01  Bruno Haible  <bruno@clisp.org>
37623
37624         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
37625         function.
37626         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
37627
37628 2008-06-01  Bruno Haible  <bruno@clisp.org>
37629
37630         * modules/rpmatch (Depends-on): Add strdup.
37631
37632 2008-06-01  Bruno Haible  <bruno@clisp.org>
37633
37634         * lib/pipe.c: Include unistd-safer.h.
37635         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
37636         * modules/pipe (Depends-on): Add unistd-safer.
37637
37638 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37639
37640         * modules/autobuild (configure.ac): Call AB_INIT.
37641
37642 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37643
37644         * tests/test-getaddrinfo.c: Don't print debug messages by default.
37645         Suggested by Bruno Haible <bruno@clisp.org>.
37646
37647 2008-05-30  Simon Josefsson  <simon@josefsson.org>
37648
37649         * tests/test-base64.c: Cast size_t to unsigned long when invoking
37650         printf.  Use %lu instead of %d.  Reported by Bruno Haible
37651         <bruno@clisp.org>.
37652
37653 2008-05-29  Eric Blake  <ebb9@byu.net>
37654
37655         Prefer new POSIX 200x interfaces over futimesat.
37656         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
37657         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
37658         when available.
37659         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
37660
37661 2008-05-28  Bruno Haible  <bruno@clisp.org>
37662
37663         * modules/stpcpy (License): Change to LGPLv2+.
37664         Requested by David Lutterkort <dlutter@redhat.com>.
37665
37666 2008-05-27  Bruno Haible  <bruno@clisp.org>
37667
37668         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
37669         current mingw.
37670         Reported by Jose E. Marchesi <jemarch@gnu.org>.
37671
37672 2008-05-27  Bruno Haible  <bruno@clisp.org>
37673
37674         * modules/iconv_open (Link): New section, from module 'iconv'.
37675         * modules/striconv (Link): Likewise.
37676         * modules/striconveh (Link): Likewise.
37677         * modules/xstriconv (Link): Likewise.
37678         * modules/unicodeio (Link): Likewise.
37679         * modules/propername (Link): Likewise.
37680         Reported by Jim Meyering.
37681
37682 2008-05-26  Jim Meyering  <meyering@redhat.com>
37683
37684         sha256: do not artificially restrict buffer length to be < 2^32
37685         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
37686         uint32_t to size_t.
37687         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
37688         to match.
37689
37690         avoid unaligned access errors, e.g., on sparc
37691         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
37692         direct access through a possibly-unaligned uint64* pointer.
37693         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
37694         direct access through a possibly-unaligned uint32* pointer.
37695         Prompted by this patch from Tom "spot" Callaway:
37696         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
37697
37698         sha512.c: fix typo in comment
37699         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
37700
37701 2008-05-25  Bruno Haible  <bruno@clisp.org>
37702
37703         * lib/set-mode-acl.c: Renamed from lib/acl.c.
37704         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
37705         (Makefile.am): Update lib_SOURCES.
37706
37707 2008-05-25  Bruno Haible  <bruno@clisp.org>
37708
37709         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
37710
37711 2008-05-25  Jim Meyering  <meyering@redhat.com>
37712
37713         useless-if-before-free: freed expr may have white-space differences
37714         * build-aux/useless-if-before-free: Recognize cases in which the
37715         freed expression differs from the tested one in embedded white
37716         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
37717         $1 was used, so we can't make any regexp shy.  Improved tests now
37718         detect this.
37719
37720         useless-if-before-free: accept white space in the expression.
37721         * build-aux/useless-if-before-free: For now, any white space
37722         in the expression must be identical in the free argument.
37723
37724         useless-if-before-free: efficiency tweak
37725         * build-aux/useless-if-before-free: Make the expression-matching
37726         regexp "shy".
37727         Make the *outer* regexp shy, not the expr-matching one.
37728
37729         update code-in-comment to accept cast of free arg
37730         * build-aux/useless-if-before-free: Update regexp.
37731
37732 2008-05-25  Bruno Haible  <bruno@clisp.org>
37733
37734         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
37735         * modules/copy-file-tests (Files, Makefile.am): Update.
37736         * tests/test-copy-file.c (func_test_copy): Update.
37737
37738 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
37739
37740         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
37741
37742 2008-05-23  Bruno Haible  <bruno@clisp.org>
37743
37744         Improve support for ACLs on OSF/1.
37745         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
37746         Remove fallback for unknown flavors of ACLs.
37747
37748 2008-05-22  Bruno Haible  <bruno@clisp.org>
37749
37750         Add support for ACLs on OSF/1.
37751         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
37752         replacements.
37753         (acl_free_text): New macro fallback.
37754         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
37755         acl_free.
37756         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
37757         acl_free_text function. Require AC_C_INLINE.
37758
37759 2008-05-22  Bruno Haible  <bruno@clisp.org>
37760
37761         Make copy_acl work on MacOS X 10.5.
37762         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
37763         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
37764         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37765         If MODE_INSIDE_ACL, don't assume that every system has the same text
37766         representation for ACLs as FreeBSD.
37767         * lib/copy-acl.c (copy_acl): Add support for platforms with
37768         !MODE_INSIDE_ACL.
37769         * lib/file-has-acl.c (file_has_acl): Likewise.
37770         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37771         FreeBSD, MacOS X, or IRIX, respectively.
37772
37773 2008-05-22  Bruno Haible  <bruno@clisp.org>
37774
37775         * lib/acl.h: Don't include <sys/acl.h>.
37776         (GETACLCNT): Move fallback to lib/acl-internal.h.
37777         * lib/acl-internal.h: Include <sys/acl.h> here.
37778         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37779
37780 2008-05-22  Bruno Haible  <bruno@clisp.org>
37781
37782         Split off copy_acl function to separate file.
37783         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37784         * lib/acl.c (copy_acl): Moved function to separate file.
37785         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37786         * modules/acl (Files): Add lib/copy-acl.c.
37787         (Makefiles.am): Augment lib_SOURCES.
37788
37789 2008-05-22  Bruno Haible  <bruno@clisp.org>
37790
37791         * modules/copy-file-tests: New file.
37792         * tests/test-copy-file.sh: New file.
37793         * tests/test-copy-file.c: New file.
37794         * tests/test-copy-file-sameacls.c: New file.
37795
37796 2008-05-22  Eric Blake  <ebb9@byu.net>
37797
37798         Avoid gcc warning.
37799         * tests/test-memcmp.c (main): Pass NULL indirectly.
37800
37801 2008-05-21  Bruno Haible  <bruno@clisp.org>
37802
37803         Add reference doc about ACLs.
37804         * doc/acl-resources.txt: New file.
37805         * doc/acl-cygwin.txt: New file.
37806
37807 2008-05-21  Bruno Haible  <bruno@clisp.org>
37808
37809         Avoid one more warning from gcc.
37810         * lib/vasnprintf.c (IF_LINT): Update comments.
37811         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37812
37813 2008-05-21  Jim Meyering  <meyering@redhat.com>
37814
37815         avoid a warning from gcc
37816         * lib/vasnprintf.c (IF_LINT): Define.
37817         (scale10_round_decimal_long_double):
37818         Use it to avoid a "may be used uninitialized" warning.
37819         (scale10_round_decimal_double): Likewise.
37820
37821 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37822
37823         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37824         declared.
37825
37826 2008-05-20  Bruno Haible  <bruno@clisp.org>
37827
37828         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37829         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37830
37831 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37832
37833         * modules/memcmp-tests: New file.
37834         * tests/test-memcmp.c: New file.
37835
37836 2008-05-19  Bruno Haible  <bruno@clisp.org>
37837
37838         * modules/propername (Notice, configure.ac): Put quoted "..." into
37839         --keyword option.
37840         * lib/propername.h: Update comments accordingly.
37841         Reported by Eric Blake.
37842
37843 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37844
37845         * modules/getpass-gnu (Depends-on): Add fseeko.
37846
37847 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37848
37849         * modules/base64-tests: New file.
37850
37851 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37852
37853         * lib/base64.c (base64_decode_ctx): If a decode context structure
37854         was passed in use it to ignore newlines.  If a context structure
37855         was _not_ passed in, continue to treat newlines as garbage (this
37856         is the historical behavior).  Formerly base64_decode.
37857         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37858         takes a decode context structure.
37859         * lib/base64.h (base64_decode): Macro for four-argument calls.
37860         (base64_decode_alloc): Likewise.
37861         * lib/base64.c (base64_decode_ctx): If a decode context structure
37862         was passed in use it to ignore newlines.  If a context structure
37863         was _not_ passed in, continue to treat newlines as garbage (this
37864         is the historical behavior).  Formerly base64_decode.
37865         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37866         takes a decode context structure.
37867         * lib/base64.h (base64_decode): Macro for four-argument calls.
37868         (base64_decode_alloc): Likewise.
37869
37870 2008-05-19  Jim Meyering  <meyering@redhat.com>
37871
37872         avoid a warning from gcc
37873         * lib/trim.c (IF_LINT): Define.
37874         (trim2): Use it to avoid a "may be used uninitialized" warning.
37875
37876         Fix doc typo.
37877         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37878
37879 2008-05-19  Bruno Haible  <bruno@clisp.org>
37880
37881         * doc/glibc-functions/getpass.texi: Document limits of other
37882         implementations.
37883
37884 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37885             Bruno Haible <bruno@clisp.org>
37886
37887         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37888
37889 2008-05-18  Bruno Haible  <bruno@clisp.org>
37890
37891         * modules/propername: New file, from GNU gettext.
37892         * lib/propername.h: New file, from GNU gettext.
37893         * lib/propername.c: New file, from GNU gettext.
37894         * MODULES.html.sh (Internationalization functions): Add propername.
37895
37896 2008-05-16  Jim Meyering  <meyering@redhat.com>
37897             Bruno Haible  <bruno@clisp.org>
37898
37899         Avoid some warnings from "gcc -Wshadow".
37900         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37901
37902 2008-05-15  Eric Blake  <ebb9@byu.net>
37903
37904         Extend previous patch to cygwin 1.7.0.
37905         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37906         fast implementation in cygwin >= 1.7.0.
37907         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37908         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37909
37910 2008-05-15  Bruno Haible  <bruno@clisp.org>
37911
37912         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37913         implementation in glibc >= 2.9.
37914         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37916
37917 2008-05-15  Bruno Haible  <bruno@clisp.org>
37918
37919         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37920         (Unicode string functions): Add unilbrk/*.
37921         Reported by Karl Berry.
37922
37923 2008-05-15  Eric Blake  <ebb9@byu.net>
37924
37925         Fix violation of <stdbool.h> replacement in regex.
37926         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37927         * lib/regexec.c (re_search_internal): Likewise.
37928         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37929
37930 2008-05-15  Jim Meyering  <meyering@redhat.com>
37931
37932         avoid distracting test output when git or cvs is not found
37933         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37934         * tests/test-vc-list-files-git.sh: Likewise.
37935
37936 2008-05-15  Eric Blake  <ebb9@byu.net>
37937
37938         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37939         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37940         glibc version.
37941         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37942         * doc/posix-functions/strstr.texi (strstr): Likewise.
37943         * lib/str-two-way.h (MAX): Sychronize with glibc.
37944
37945 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37946
37947         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37948         opr.ctx_type.
37949         (calc_first): Initialize constraint field.
37950         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37951         Fix grammar.
37952         (duplicate_node): Merge constraint field for all node types.
37953         (calc_eclosure_iter): Look at constraint field for all node types.
37954         * lib/regex_internal.c (create_cd_newstate): Don't look at
37955         opr.ctx_type.
37956
37957 2008-05-14  Bruno Haible  <bruno@clisp.org>
37958
37959         Help GCC to do better code generation.
37960         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37961         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37962         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37963         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37964         Declare with attribute 'malloc' if supported.
37965
37966 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37967
37968         use "echo STR|wc -c" rather than unportable "expr length STR"
37969         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37970         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37971
37972 2008-05-14  Jim Meyering  <meyering@redhat.com>
37973
37974         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37975         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37976         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37977         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37978         via Collin Lasse.
37979
37980 2008-05-14  Eric Blake  <ebb9@byu.net>
37981
37982         Avoid quadratic growth in gl_LIBSOURCES.
37983         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37984         Suggested by Bruno Haible.
37985
37986         Test xmemdup0.
37987         * modules/xmemdup0-tests: New file.
37988         * tests/test-xmemdup0.c: Likewise.
37989
37990 2008-05-13  Eric Blake  <ebb9@byu.net>
37991
37992         Split xmemdup0 into its own module.
37993         * modules/xmemdup0: New file.
37994         * lib/xmemdup0.h: Likewise.
37995         * lib/xmemdup0.c: Likewise.
37996         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37997         * lib/xalloc.h (xmemdup0): Remove.
37998         * lib/xmalloc.c (xmemdup0): Likewise.
37999
38000 2008-05-13  Eric Blake  <ebb9@byu.net>
38001             Bruno Haible  <bruno@clisp.org>
38002
38003         Reduce number of forks required during autoconf.
38004         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
38005         and gl_LIBSOURCES_DIR.
38006         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
38007         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
38008         m4_syscmd per file.
38009         <m4_foreach_w>: Move...
38010         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
38011
38012 2008-05-13  Eric Blake  <ebb9@byu.net>
38013
38014         * gnulib-tool: Fix various comment typos.
38015
38016 2008-05-12  Bruno Haible  <bruno@clisp.org>
38017
38018         Tailor the linebreaking algorithm.
38019         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
38020
38021 2008-05-12  Bruno Haible  <bruno@clisp.org>
38022
38023         Update to Unicode 5.0.0.
38024         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38025         LBP_JV, LBP_JT. Redistribute values.
38026         (unilbrk_table): Change size.
38027         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
38028         Unicode TR#14 rev. 22.
38029         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38030         LBP_JV, LBP_JT. Redistribute values.
38031         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
38032         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
38033         Update.
38034         * lib/unilbrk/lbrkprop1.h: Regenerated.
38035         * lib/unilbrk/lbrkprop2.h: Regenerated.
38036         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
38037         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
38038         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
38039         Likewise.
38040         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
38041         Likewise.
38042         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
38043         result.
38044         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
38045         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
38046         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
38047         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
38048         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
38049         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
38050
38051 2008-05-11  Bruno Haible  <bruno@clisp.org>
38052
38053         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
38054
38055 2008-05-11  Bruno Haible  <bruno@clisp.org>
38056
38057         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
38058         * modules/unilbrk/gen-lbrk: New file.
38059
38060 2008-05-11  Bruno Haible  <bruno@clisp.org>
38061
38062         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
38063         * m4/sha512.m4 (gl_SHA512): Likewise.
38064
38065 2008-05-11  Jim Meyering  <meyering@redhat.com>
38066
38067         New modules: crypto/sha256, crypto/sha512 (from coreutils)
38068         * modules/crypto/sha256: New file.
38069         * modules/crypto/sha512: Likewise.
38070         * lib/sha256.c: Likewise.
38071         * lib/sha256.h: Likewise.
38072         * lib/sha512.c: Likewise.
38073         * lib/sha512.h: Likewise.
38074         * lib/u64.h: Likewise.
38075         * m4/sha256.m4: Likewise.
38076         * m4/sha512.m4: Likewise.
38077         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
38078
38079 2008-05-10  Bruno Haible  <bruno@clisp.org>
38080
38081         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
38082         (Input/Output <stdio.h>): Add xprintf.
38083         (Signal handling <signal.h>): Add strsignal.
38084         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
38085         (Core language properties): Add func.
38086         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
38087         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
38088         strings.
38089         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
38090         (Input/output): New section.
38091         (File system functions): Add openat-die, stat-macros.
38092         (Networking functions): Add sockets.
38093         (Unicode string functions): Add unictype/*.
38094         (Support for building libraries and executables): Add gperf.
38095         (Support for building documentation): Add agpl-3.0.
38096         (Misc): Add nocrash.
38097
38098 2008-05-10  Bruno Haible  <bruno@clisp.org>
38099
38100         * modules/unictype/gen-ctype: New file.
38101
38102 2008-05-10  Jim Meyering  <meyering@redhat.com>
38103
38104         Make chdir-safer.c more efficient on a system with no symlinks.
38105         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
38106         also if ELOOP is zero.  Suggested by Bruno Haible.
38107
38108         Make chdir-safer.c slightly safer.
38109         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
38110         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
38111
38112         Avoid compile failure on systems without ELOOP (like mingw).
38113         * lib/chdir-safer.c (ELOOP): Define if not already defined.
38114         Reported by Bruno Haible.
38115
38116 2008-05-10  Bruno Haible  <bruno@clisp.org>
38117
38118         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
38119         (is_utf8_encoding): Use a case-insensitive comparison.
38120         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
38121         streq.
38122
38123 2008-05-10  Bruno Haible  <bruno@clisp.org>
38124
38125         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
38126         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
38127         * lib/unilbrk/ulc-common.h (iconv_string_length,
38128         iconv_string_keeping_offsets): Remove declarations.
38129         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
38130         Don't include <iconv.h>, streq.h, xsize.h.
38131         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
38132         conversion.
38133         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
38134         <iconv.h>, streq.h, xsize.h.
38135         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
38136         conversion.
38137         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
38138         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
38139         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
38140         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
38141
38142 2008-05-10  Bruno Haible  <bruno@clisp.org>
38143
38144         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
38145         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
38146
38147         * modules/unilbrk/u32-width-linebreaks-tests: New file.
38148         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
38149
38150         * modules/unilbrk/u16-width-linebreaks-tests: New file.
38151         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
38152
38153         * modules/unilbrk/u8-width-linebreaks-tests: New file.
38154         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
38155
38156         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
38157         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
38158
38159         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
38160         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
38161
38162         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
38163         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
38164
38165         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
38166         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
38167
38168 2008-05-10  Bruno Haible  <bruno@clisp.org>
38169
38170         Split up 'linebreak' module.
38171         * lib/unilbrk.h: New file, based on lib/linebreak.h.
38172         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
38173         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
38174         modifications.
38175         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
38176         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
38177         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
38178         lib/linebreak.c.
38179         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
38180         lib/linebreak.c.
38181         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
38182         lib/linebreak.c.
38183         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
38184         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
38185         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
38186         lib/linebreak.c.
38187         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
38188         lib/linebreak.c.
38189         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
38190         lib/linebreak.c.
38191         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
38192         lib/linebreak.c.
38193         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
38194         lib/linebreak.c.
38195         * modules/unilbrk/base: New file.
38196         * modules/unilbrk/tables: New file.
38197         * modules/unilbrk/u8-possible-linebreaks: New file.
38198         * modules/unilbrk/u16-possible-linebreaks: New file.
38199         * modules/unilbrk/u32-possible-linebreaks: New file.
38200         * modules/unilbrk/ulc-common: New file.
38201         * modules/unilbrk/ulc-possible-linebreaks: New file.
38202         * modules/unilbrk/u8-width-linebreaks: New file.
38203         * modules/unilbrk/u16-width-linebreaks: New file.
38204         * modules/unilbrk/u32-width-linebreaks: New file.
38205         * modules/unilbrk/ulc-width-linebreaks: New file.
38206         * lib/linebreak.h: Remove file.
38207         * lib/linebreak.c: Remove file.
38208         * m4/linebreak.m4: Remove file.
38209         * modules/linebreak: Remove file.
38210         * NEWS: Mention the changes.
38211
38212 2008-05-09  Eric Blake  <ebb9@byu.net>
38213
38214         Add xmemdup0.
38215         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
38216         implementation.
38217         * lib/xmalloc.c (xmemdup0): New C implementation.
38218
38219 2008-05-08  Bruno Haible  <bruno@clisp.org>
38220
38221         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
38222
38223 2008-05-07  Eric Blake  <ebb9@byu.net>
38224
38225         Support cross-compilation of <wctype.h>.
38226         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
38227         AC_CACHE_CHECK.
38228
38229 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
38230
38231         * build-aux/vc-list-files: Add support for bzr.
38232
38233 2008-05-03  Jim Meyering  <meyering@redhat.com>
38234
38235         avoid failed assertion with tight malloc
38236         * tests/test-getndelim2.c: Correct an off-by-one assertion.
38237
38238 2008-05-03  Simon Josefsson  <simon@josefsson.org>
38239
38240         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
38241         are needed from arpa/inet.h.
38242         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
38243         Reported by Bruno Haible.
38244
38245 2008-05-02  Jim Meyering  <meyering@redhat.com>
38246
38247         avoid compilation error on FreeBSD 6
38248         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
38249
38250 2008-05-01  Jim Meyering  <meyering@redhat.com>
38251
38252         useless-if-before-free: correct --help's exit status description
38253         * build-aux/useless-if-before-free (usage): Like grep, exit 0
38254         for one or more matches, etc.  Reported by Bruno Haible.
38255
38256         vc-list-files: make the stand-alone gnulib test work
38257         * modules/vc-list-files-tests (configure.ac):
38258         Define and AC_SUBST abs_aux_dir.
38259         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
38260         $(abs_top_srcdir) to each script and having each of them
38261         duplicate the work of setting PATH, set PATH here, using
38262         the new variable, abs_aux_dir instead.
38263         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
38264         * tests/test-vc-list-files-git.sh: Likewise.
38265         Reported by Bruno Haible.
38266
38267 2008-05-01  Bruno Haible  <bruno@clisp.org>
38268
38269         * lib/getndelim2.c (getndelim2): Fix newsize computation during
38270         reallocation. Rename 'done' to 'found_delimiter'.
38271
38272 2008-05-01  Jim Meyering  <meyering@redhat.com>
38273
38274         vc-list-files: accommodate /bin/sh like the one from Solaris 10
38275         * build-aux/vc-list-files: Use `...`, not $(...).
38276
38277 2008-04-30  Jim Meyering  <meyering@redhat.com>
38278
38279         add tests for vc-list-files
38280         * modules/vc-list-files-tests: New module.
38281         * tests/test-vc-list-files-cvs.sh: New file.
38282         * tests/test-vc-list-files-git.sh: New file.
38283
38284         avoid a warning from gcc
38285         * lib/getndelim2.c (IF_LINT): Define.
38286         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
38287
38288         vc-list-files: work properly with build-aux/cvsu, too
38289         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
38290         to all cvs-based clauses.
38291
38292         vc-list-files: work properly in the CVS+awk case, too
38293         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
38294
38295         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
38296         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
38297         take more than one file argument, so .  Add quotes, just in case $dir
38298         ever contains a shell meta-character.  Prompted by Soren Hansen in
38299         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
38300
38301 2008-04-29  Eric Blake  <ebb9@byu.net>
38302
38303         Optimize getndelim2 to use block operations when possible.
38304         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
38305         freadseek, and memchr2.
38306         * lib/getndelim2.c (getndelim2): Use them for block reads.
38307
38308 2008-04-29  Bruno Haible  <bruno@clisp.org>
38309
38310         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
38311         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38312         * modules/inet_ntop (Depends-on): Add extensions.
38313         * modules/inet_pton (Depends-on): Likewise.
38314         Reported by Simon Josefsson.
38315
38316 2008-04-29  Jim Meyering  <meyering@redhat.com>
38317
38318         When the is more than one match in a block, match all of them.
38319         * build-aux/useless-if-before-free: Iterate through each block
38320         until there are no more matches.
38321
38322         Fix broken useless-if-before-free script.
38323         * build-aux/useless-if-before-free: Fix typo: missing "?" after
38324         the expression to match cast of argument to free-like function.
38325
38326 2008-04-29  Eric Blake  <ebb9@byu.net>
38327
38328         Use new header.
38329         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
38330
38331 2008-04-29  Jim Meyering  <meyering@redhat.com>
38332
38333         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
38334         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
38335         by gnulib to exist and to declare e.g., inet_ntop.
38336         Don't include "inet_ntop.h", now removed.
38337
38338         * m4/arpa_inet_h.m4: Remove trailing blanks.
38339
38340 2008-04-29  Eric Blake  <ebb9@byu.net>
38341
38342         Silence valgrind on safe reads beyond potential array bounds.
38343         * lib/rawmemchr.valgrind: New file.
38344         * lib/strchrnul.valgrind: Likewise.
38345         * modules/rawmemchr (Files): Distribute new file.
38346         * modules/strchrnul (Files): Likewise.
38347         Suggested by Bruno Haible.
38348
38349 2008-04-29  Bruno Haible  <bruno@clisp.org>
38350
38351         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
38352         (inet_ntop, inet_pton): Change portability warning's wording.
38353         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
38354         Invoke gl_CHECK_NEXT_HEADERS.
38355         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
38356         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
38357         set ARPA_INET_H.
38358         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38359         * modules/arpa_inet (Description): No longer only for systems that
38360         lack it.
38361         (Depends-on): Add include_next.
38362         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
38363         HAVE_ARPA_INET_H.
38364
38365 2008-04-29  Jim Meyering  <meyering@redhat.com>
38366
38367         * modules/mkdir (License): Re-license as LGPLv2+.
38368
38369 2008-04-29  Bruno Haible  <bruno@clisp.org>
38370
38371         * modules/rawmemchr (Maintainer): Set to Eric.
38372         * modules/strchrnul (Maintainer): Likewise.
38373
38374 2008-04-29  Simon Josefsson  <simon@josefsson.org>
38375
38376         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
38377         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
38378
38379         * modules/arpa_inet (arpa/inet.h): Use them.
38380
38381 2008-04-28  Eric Blake  <ebb9@byu.net>
38382
38383         Test getndelim2.
38384         * modules/getndelim2-tests: New file.
38385         * tests/test-getndelim2.c: Likewise.
38386         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
38387         stream.
38388         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
38389
38390         * MODULES.html.sh: Document new module.
38391
38392 2008-04-20  Bruno Haible  <bruno@clisp.org>
38393
38394         * lib/c-stack.c (die): Use raise.
38395         * modules/c-stack (Depends-on): Add raise.
38396
38397 2008-04-28  Bruno Haible  <bruno@clisp.org>
38398
38399         Expect rpmatch to be declared.
38400         * lib/yesno.c (rpmatch): Remove declaration.
38401
38402         Declare rpmatch.
38403         * lib/stdlib.in.h (rpmatch): New declaration.
38404         * lib/rpmatch.c: Include <stdlib.h> first.
38405         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
38406         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
38407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
38408         HAVE_RPMATCH.
38409         * modules/rpmatch (Depends-on): Add stdlib, extensions.
38410         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38411         (Include): Set to <stdlib.h>.
38412         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
38413         HAVE_RPMATCH.
38414         * NEWS: Document the change.
38415
38416 2008-04-28  Bruno Haible  <bruno@clisp.org>
38417
38418         Change rpmatch to use nl_langinfo when appropriate.
38419         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
38420         (N_): New macro.
38421         (localized_pattern): New function/macro.
38422         (try): Remove match, nomatch arguments. Copy the pattern into safe
38423         memory before caching it.
38424         (rpmatch): Use localized_pattern. Add translator comments.
38425         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
38426         Suggested by Eric Blake.
38427         * modules/rpmatch (Depends-on): Add stdbool.
38428
38429 2008-04-28  Eric Blake  <ebb9@byu.net>
38430
38431         Add rawmemchr module, matching glibc.
38432         * modules/string (Makefile.am): New indicator.
38433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
38434         * lib/string.in.h (rawmemchr): Declare when appropriate.
38435         * modules/rawmemchr: New file.
38436         * m4/rawmemchr.m4: Likewise.
38437         * lib/rawmemchr.c: Likewise.
38438         * modules/rawmemchr-tests: Likewise.
38439         * tests/test-rawmemchr.c: Likewise.
38440         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
38441         module.
38442         * modules/strchrnul (Depends-on): Add rawmemchr.
38443         * lib/strchrnul.c (strchrnul): Optimize a corner case.
38444
38445         Whitespace cleanup.
38446         * tests/test-strchrnul.c: Reindent.
38447         * lib/strchrnul.c: Likewise.
38448
38449         Optimize and test strchrnul.
38450         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
38451         * modules/strchrnul-tests: New file.
38452         * tests/test-strchrnul.c: Likewise.
38453
38454         Remove intprops dependency.
38455         * modules/memchr (Depends-on): Remove intprops.
38456         * modules/memrchr (Depends-on): Likewise.
38457         * modules/memchr2 (Depends-on): Likewise.
38458         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
38459         * lib/memrchr.c (__memrchr): Likewise.
38460         * lib/memrchr2.c (memchr2): Likewise.
38461         Reported by Simon Josefsson.
38462
38463 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38464
38465         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
38466         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38467
38468 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38469
38470         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
38471
38472         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
38473
38474         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
38475
38476         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
38477         declarations.
38478         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
38479
38480         * m4/inet_pton.m4: Don't check for header files.
38481
38482         * m4/inet_ntop.m4: Don't check for header files.
38483
38484 2008-04-28  Simon Josefsson  <simon@josefsson.org>
38485
38486         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
38487         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
38488         trigger for cygwin).
38489         Reported by Bruno Haible  <bruno@clisp.org>.
38490
38491 2008-04-28  Bruno Haible  <bruno@clisp.org>
38492
38493         * doc/posix-functions/strdup.texi: Mention mingw problem.
38494
38495 2008-04-27  Bruno Haible  <bruno@clisp.org>
38496
38497         * modules/stat-time-tests (Depends-on): Add sleep.
38498         * tests/test-stat-time.c (force_unlink): New function.
38499         (cleanup): Use it.
38500         (test_mtime): Remove the ctime related tests.
38501         (test_ctime): New function, containing the ctime related tests.
38502         (main): Call test_ctime, except on native Windows platforms.
38503
38504 2008-04-27  Bruno Haible  <bruno@clisp.org>
38505
38506         * lib/rpmatch.c (rpmatch): Add some comments.
38507         Reported by James Youngman <jay@gnu.org>.
38508
38509 2008-04-27  Bruno Haible  <bruno@clisp.org>
38510
38511         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
38512         quiet NaNs.
38513
38514 2008-04-27  Bruno Haible  <bruno@clisp.org>
38515
38516         Make test-yesno.sh work on mingw.
38517         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
38518         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
38519         (main): Set stdin to binary mode.
38520         * modules/yesno-tests (Depends-on): Add binary-io.
38521
38522 2008-04-27  Bruno Haible  <bruno@clisp.org>
38523
38524         Fix 'isfinite' on x86, x86_64, ia64 platforms.
38525         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
38526         argument that lie outside the IEEE 854 domain.
38527         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
38528         (gl_ISFINITE): Use it.
38529         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
38530
38531 2008-04-27  Bruno Haible  <bruno@clisp.org>
38532
38533         Allow local renaming in config.h.
38534         * lib/memrchr.c (memrchr): Don't undefine outside libc.
38535
38536 2008-04-27  Bruno Haible  <bruno@clisp.org>
38537
38538         * lib/memchr.c (__memchr): Change type of 'i'.
38539         * lib/memchr2.c (memchr2): Likewise.
38540
38541 2008-04-26  Eric Blake  <ebb9@byu.net>
38542         and Bruno Haible  <bruno@clisp.org>
38543
38544         Optimize and test memrchr.
38545         * modules/memrchr (Depends-on): Add intprops.
38546         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
38547         * modules/memrchr-tests: New file.
38548         * tests/test-memrchr.c: New file.
38549
38550 2008-04-26  Bruno Haible  <bruno@clisp.org>
38551
38552         Add tentative support for DragonFly BSD.
38553         * lib/stdio-impl.h: Add macros for DragonFly BSD.
38554         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
38555         fp.
38556         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38557         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
38558         * lib/fpurge.c (fpurge): Likewise.
38559         * lib/freadable.c (freaadable): Likewise.
38560         * lib/freadahead.c (freadahead): Likewise.
38561         * lib/freading.c (freading): Likewise.
38562         * lib/freadptr.c (freadptr): Likewise.
38563         * lib/freadseek.c (freadptrinc): Likewise.
38564         * lib/fseeko.c (fseeko): Likewise.
38565         * lib/fseterr.c (fseterr): Likewise.
38566         * lib/fwritable.c (fwritable): Likewise.
38567         * lib/fwriting.c (fwriting): Likewise.
38568
38569 2008-04-26  Bruno Haible  <bruno@clisp.org>
38570
38571         * lib/stdio-impl.h: New file.
38572         * lib/fbufmode.c: Include stdio-impl.h.
38573         (fbufmode): Use fp_, remove redundant #defines.
38574         * lib/fflush.c: Include stdio-impl.h.
38575         (clear_ungetc_buffer): Remove redundant #defines.
38576         * lib/fpurge.c: Include stdio-impl.h.
38577         (fpurge): Remove redundant #defines.
38578         * lib/freadable.c: Include stdio-impl.h.
38579         (freadable): Remove redundant #defines.
38580         * lib/freadahead.c: Include stdio-impl.h.
38581         (freadahead): Remove redundant #defines.
38582         * lib/freading.c: Include stdio-impl.h.
38583         (freading): Remove redundant #defines.
38584         * lib/freadptr.c: Include stdio-impl.h.
38585         (freadptr): Remove redundant #defines.
38586         * lib/freadseek.c: Include stdio-impl.h.
38587         (freadptrinc): Remove redundant #defines.
38588         * lib/fseeko.c: Include stdio-impl.h.
38589         (rpl_fseeko): Remove redundant #defines.
38590         * lib/fseterr.c: Include stdio-impl.h.
38591         (fseterr): Remove redundant #defines.
38592         * lib/fwritable.c: Include stdio-impl.h.
38593         (fwritable: Remove redundant #defines.
38594         * lib/fwriting.c: Include stdio-impl.h.
38595         (fwriting): Remove redundant #defines.
38596         * modules/fbufmode (Files): Add lib/stdio-impl.h.
38597         * modules/fflush (Files): Likewise.
38598         * modules/fpurge (Files): Likewise.
38599         * modules/freadable (Files): Likewise.
38600         * modules/freadahead (Files): Likewise.
38601         * modules/freading (Files): Likewise.
38602         * modules/freadptr (Files): Likewise.
38603         * modules/freadseek (Files): Likewise.
38604         * modules/fseeko (Files): Likewise.
38605         * modules/fseterr (Files): Likewise.
38606         * modules/fwritable (Files): Likewise.
38607         * modules/fwriting (Files): Likewise.
38608
38609 2008-04-26  Bruno Haible  <bruno@clisp.org>
38610
38611         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
38612         restore_seek_optimization, update_fpos_cache): New functions, extracted
38613         from rpl_fflush.
38614         (rpl_fflush): Use them.
38615         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
38616         (gl_REPLACE_FFLUSH): Use it.
38617
38618 2008-04-26  Bruno Haible  <bruno@clisp.org>
38619
38620         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
38621         on Solaris.
38622         * tests/test-xstrtoimax.sh: Likewise.
38623         * tests/test-xstrtoumax.sh: Likewise.
38624         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38625
38626 2008-04-26  Bruno Haible  <bruno@clisp.org>
38627
38628         * modules/memchr-tests: New file.
38629         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
38630
38631 2008-04-26  Eric Blake  <ebb9@byu.net>
38632             Bruno Haible  <bruno@clisp.org>
38633
38634         * lib/memchr.c: Include intprops.h.
38635         (__memchr): Optimize parallel detection of matching bytes. Rename local
38636         variables. Add explanatory comments.
38637
38638 2008-04-26  Bruno Haible  <bruno@clisp.org>
38639
38640         Fix module 'memchr', broken since 2000-10-28.
38641         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
38642
38643 2008-04-26  Bruno Haible  <bruno@clisp.org>
38644
38645         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
38646         comments.
38647
38648 2008-04-25  Eric Blake  <ebb9@byu.net>
38649
38650         Use native fstatat on cygwin 1.7.0.
38651         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
38652         first.
38653
38654 2008-04-23  Eric Blake  <ebb9@byu.net>
38655
38656         Improve memchr2 performance.
38657         * lib/memchr2.c (memchr2): Further optimize parallel detection of
38658         NUL bytes.
38659         * modules/memchr2 (Depends-on): Use intprops.h.
38660
38661 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38662
38663         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
38664         an inline function instead of a CPP macro.  Patch by Ben Pfaff
38665         <blp@cs.stanford.edu>.
38666
38667 2008-04-23  Simon Josefsson  <simon@josefsson.org>
38668
38669         * lib/arpa_inet.in.h: New file.
38670
38671         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
38672         (Makefile.am): Sed in substitute header file.
38673
38674         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
38675         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
38676
38677         * modules/inet_ntop (configure.ac): Use
38678         gl_ARPA_INET_MODULE_INDICATOR.
38679
38680         * modules/inet_pton (configure.ac): Use
38681         gl_ARPA_INET_MODULE_INDICATOR.
38682
38683 2008-04-22  Jim Meyering  <meyering@redhat.com>
38684
38685         * modules/verify (License): Re-license as LGPLv2+.
38686
38687 2008-04-22  Simon Josefsson  <simon@josefsson.org>
38688
38689         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
38690         parameter to void* as per POSIX standard (MinGW uses char*).
38691
38692 2008-04-21  Bruno Haible  <bruno@clisp.org>
38693
38694         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
38695         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
38696         Define to replacements if REPLACE_ISWCNTRL is 1.
38697         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
38698         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
38699         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
38700         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
38701         what it fixes.
38702         * doc/posix-functions/iswalpha.texi: Likewise.
38703         * doc/posix-functions/iswblank.texi: Likewise.
38704         * doc/posix-functions/iswcntrl.texi: Likewise.
38705         * doc/posix-functions/iswdigit.texi: Likewise.
38706         * doc/posix-functions/iswgraph.texi: Likewise.
38707         * doc/posix-functions/iswlower.texi: Likewise.
38708         * doc/posix-functions/iswprint.texi: Likewise.
38709         * doc/posix-functions/iswpunct.texi: Likewise.
38710         * doc/posix-functions/iswspace.texi: Likewise.
38711         * doc/posix-functions/iswupper.texi: Likewise.
38712         * doc/posix-functions/iswxdigit.texi: Likewise.
38713         Reported by Alain Guibert.
38714
38715 2008-04-21  Bruno Haible  <bruno@clisp.org>
38716
38717         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
38718         Patch by Alain Guibert.
38719
38720 2008-04-21  Bruno Haible  <bruno@clisp.org>
38721
38722         Fix test failures on mingw.
38723         * tests/test-xstrtol.c (print_no_progname): New function.
38724         (main): Install it in error_print_progname hook.
38725         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
38726         * tests/test-xstrtoimax.sh: Likewise.
38727         * tests/test-xstrtoumax.sh: Likewise.
38728
38729 2008-04-21  Bruno Haible  <bruno@clisp.org>
38730
38731         Fix test failure on mingw.
38732         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
38733
38734 2008-04-21  Bruno Haible  <bruno@clisp.org>
38735
38736         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
38737         Actually assign a value.
38738
38739 2008-04-20  Bruno Haible  <bruno@clisp.org>
38740
38741         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
38742         take 2.
38743         * lib/canonicalize.c (canonicalize_file_name): Elide if the
38744         'canonicalize-lgpl' module is also used.
38745         * lib/canonicalize-lgpl.c: Undo last change.
38746         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
38747
38748 2008-04-20  Bruno Haible  <bruno@clisp.org>
38749
38750         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
38751         config.h. Provide _mkdir based fallback for mingw.
38752         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
38753         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
38754         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
38755         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
38756         rather than defining mkdir in config.h.
38757         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
38758         (gl_SYS_STAT_H_DEFAULTS): New macro.
38759         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
38760         HAVE_IO_H any more.
38761         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
38762         HAVE_DECL_MKDIR and HAVE_IO_H.
38763
38764 2008-04-20  Bruno Haible  <bruno@clisp.org>
38765
38766         * lib/isapipe.c: Port to native Windows platforms.
38767
38768 2008-04-20  Bruno Haible  <bruno@clisp.org>
38769
38770         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38771
38772 2008-04-21  Eric Blake  <ebb9@byu.net>
38773
38774         Work around preprocessors that don't handle UINTMAX_MAX.
38775         * lib/memchr2.c (memchr2): Avoid embedded #if.
38776         Reported by Alain Guibert, fix suggested by Bruno Haible.
38777
38778 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38779
38780         * doc/posix-functions/strftime.texi (strftime): Explain better
38781         Windows incompatibility.  Suggested by Micah Cowan
38782         <micah@cowan.name>.
38783
38784 2008-04-20  Bruno Haible  <bruno@clisp.org>
38785
38786         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38787         unistr/u8-mblen.
38788
38789 2008-04-20  Bruno Haible  <bruno@clisp.org>
38790
38791         Fix test failure on platforms with non-GNU iconv.
38792         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38793         (U_TO_U8): Use it, rather than u16_to_u8.
38794         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38795         units at the end of the input string.
38796         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38797
38798 2008-04-20  Bruno Haible  <bruno@clisp.org>
38799
38800         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38801         when the resulting length is 0.
38802         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38803
38804 2008-04-20  Bruno Haible  <bruno@clisp.org>
38805
38806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38807         works.
38808         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38809
38810 2008-04-20  Bruno Haible  <bruno@clisp.org>
38811
38812         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38813         * modules/tsearch-tests (configure.ac): Test for initstate function.
38814
38815 2008-04-20  Bruno Haible  <bruno@clisp.org>
38816
38817         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38818         for nlink_t if missing.
38819         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38820
38821 2008-04-19  Bruno Haible  <bruno@clisp.org>
38822
38823         Work around snprintf bug on Linux libc5.
38824         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38825         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38826         gl_SNPRINTF_SIZE1.
38827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38828         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38829         that test failed.
38830         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38831         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38832         * modules/snprintf (Files): Add m4/printf.m4.
38833         * modules/vsnprintf (Files): Likewise.
38834         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38835         * doc/posix-functions/vsnprintf.texi: Likewise.
38836
38837 2008-04-19  Bruno Haible  <bruno@clisp.org>
38838
38839         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38840         from 0.0058 to less than 10^-7.
38841
38842 2008-04-19  Bruno Haible  <bruno@clisp.org>
38843
38844         Fix rounding when a precision is given.
38845         * lib/vasnprintf.c (is_borderline): New function.
38846         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38847         9...9x.
38848         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38849         %e, %g.
38850         * tests/test-vasprintf-posix.c (test_function): Likewise.
38851         * tests/test-snprintf-posix.h (test_function): Likewise.
38852         * tests/test-sprintf-posix.h (test_function): Likewise.
38853         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38854         * tests/test-printf-posix.h (test_function): Likewise.
38855         * tests/test-printf-posix.output: Update.
38856         Reported by John Darrington <john@darrington.wattle.id.au> via
38857         Ben Pfaff <blp@cs.stanford.edu>.
38858
38859 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38860
38861         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38862         Suggested by Bruno Haible <bruno@clisp.org>.
38863
38864 2008-04-17  Bruno Haible  <bruno@clisp.org>
38865
38866         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38867         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38868         implementation.
38869         Patch by Bruce Merry <bmerry@gmail.com>.
38870
38871 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38872
38873         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38874         doesn't work under Windows.
38875
38876 2008-04-16  Bruno Haible  <bruno@clisp.org>
38877
38878         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38879         New macros.
38880         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38881         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38882         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38883         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38884         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38885         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38886         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38887         macros.
38888         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38889         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38890         Northern Sotho, Uighur.
38891
38892 2008-04-16  Bruno Haible  <bruno@clisp.org>
38893
38894         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38895         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38896         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38897         Reported by Daniel Bergström <daniel@octocode.com>.
38898
38899 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38900             Bruno Haible  <bruno@clisp.org>
38901
38902         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38903         function.
38904         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38905         New functions, mostly extracted from gl_locale_name_default.
38906         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38907
38908 2008-04-16  Eric Blake  <ebb9@byu.net>
38909
38910         Adjust strtod detection to catch glibc 2.7 bug.
38911         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38912         Reported by John Gatewood Ham.
38913
38914 2008-04-16  Bruno Haible  <bruno@clisp.org>
38915
38916         Add tentative support for Linux libc5.
38917         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38918         * lib/fpurge.c (fpurge): Likewise.
38919         * lib/freadable.c (freadable): Likewise.
38920         * lib/freadahead.c (freadahead): Likewise.
38921         * lib/freading.c (freading): Likewise.
38922         * lib/freadptr.c (freadptr): Likewise.
38923         * lib/freadseek.c (freadptrinc): Likewise.
38924         * lib/fseeko.c (rpl_fseeko): Likewise.
38925         * lib/fseterr.c (fseterr): Likewise.
38926         * lib/fwritable.c (fwritable): Likewise.
38927         * lib/fwriting.c (fwriting): Likewise.
38928         Reported by Alain Guibert <alguibert+bts@free.fr>.
38929
38930 2008-04-15  Bruno Haible  <bruno@clisp.org>
38931
38932         * modules/mathl (configure.ac): Define module indicator.
38933
38934 2008-04-15  Bruno Haible  <bruno@clisp.org>
38935
38936         * lib/logl.c (logl): Remove unused variables.
38937
38938 2008-04-15  Bruno Haible  <bruno@clisp.org>
38939
38940         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38941         fails.
38942
38943 2008-04-15  Bruno Haible  <bruno@clisp.org>
38944
38945         * lib/trim.c (trim2): Fix argument of isspace() macro.
38946
38947 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38948
38949         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38950         to 0.
38951         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38952
38953 2008-04-14  Bruno Haible  <bruno@clisp.org>
38954
38955         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38956         AC_LANG_PROGRAM argument.
38957         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38958         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38959         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38960         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38961         * m4/math_h.m4 (gl_MATH_H): Likewise.
38962         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38963         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38964         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38965         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38966         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38967         * m4/regex.m4 (gl_REGEX): Likewise.
38968         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38969         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38970         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38971         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38972         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38973         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38974         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38975         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38976
38977 2008-04-14  Jim Meyering  <meyering@redhat.com>
38978
38979         test-strtod: fix typos: s/abs/fabs/
38980         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38981
38982 2008-04-13  Bruno Haible  <bruno@clisp.org>
38983
38984         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38985         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38986         module is also used and while not building the reloc-wrapper.
38987
38988 2008-04-13  Bruno Haible  <bruno@clisp.org>
38989
38990         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38991
38992 2008-04-13  Bruno Haible  <bruno@clisp.org>
38993
38994         Fix AIX compilation failure introduced on 2008-04-02.
38995         * tests/test-frexp.c (exp): Undefine before redefining.
38996         * tests/test-frexpl.c (exp): Likewise.
38997
38998 2008-04-13  Bruno Haible  <bruno@clisp.org>
38999
39000         Work around a HP-UX stdio bug.
39001         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
39002         * tests/test-ftello.c (main): Likewise.
39003         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
39004         * doc/posix-functions/ftello.texi: Likewise.
39005
39006 2008-04-13  Bruno Haible  <bruno@clisp.org>
39007
39008         Make test-signbit pass on HP-UX/hppa.
39009         * tests/test-signbit.c (minus_zerol): New variable.
39010         (test_signbitl): Use it.
39011
39012 2008-04-13  Bruno Haible  <bruno@clisp.org>
39013
39014         Make truncl work on OSF/1 4.0.
39015         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
39016         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39017         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
39019         HAVE_DECL_TRUNCL.
39020         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
39021         HAVE_DECL_TRUNCL.
39022         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
39023
39024 2008-04-13  Bruno Haible  <bruno@clisp.org>
39025
39026         * lib/unictype.h: Remove trailing comma from enumeration definitions.
39027
39028 2008-04-13  Bruno Haible  <bruno@clisp.org>
39029
39030         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
39031         expression, so as to avoid HP-UX 11 cc compiler bug.
39032
39033 2008-04-13  Bruno Haible  <bruno@clisp.org>
39034
39035         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
39036
39037 2008-04-13  Bruno Haible  <bruno@clisp.org>
39038
39039         * lib/git-merge-changelog.c: Remove empty declaration outside of
39040         functions.
39041
39042 2008-04-13  Bruno Haible  <bruno@clisp.org>
39043
39044         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
39045
39046 2008-04-13  Bruno Haible  <bruno@clisp.org>
39047
39048         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
39049         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
39050         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
39051         also if it exists but lacks definitions of the SHUT_* macros.
39052         * modules/sys_socket (Description): Update.
39053         Reported by Elbert Pol <e.pol@chello.nl>.
39054
39055 2008-04-13  Bruno Haible  <bruno@clisp.org>
39056
39057         * lib/localcharset.c (OS2): Don't redefine if already defined.
39058         Reported by Elbert Pol <e.pol@chello.nl>.
39059
39060 2008-04-13  Bruno Haible  <bruno@clisp.org>
39061
39062         * lib/binary-io.h [__EMX__]: Include <io.h>.
39063         Reported by Elbert Pol <e.pol@chello.nl>.
39064
39065 2008-04-12  Bruno Haible  <bruno@clisp.org>
39066
39067         * lib/fpucw.h: Enable the definitions also for x86_64.
39068         Needed for NetBSD/x86_64.
39069         Reported by Thomas Klausner <tk@giga.or.at>.
39070
39071 2008-04-12  Bruno Haible  <bruno@clisp.org>
39072
39073         * tests/test-strtod.c: Include isnand.h.
39074         (main): Use isnand instead of isnan.
39075         Reported by Jim Meyering.
39076
39077 2008-04-12  Bruno Haible  <bruno@clisp.org>
39078
39079         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
39080         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39081
39082 2008-04-12  Jim Meyering  <meyering@redhat.com>
39083
39084         * m4/math_h.m4 (gl_MATH_H): Fix typos.
39085
39086 2008-04-12  Bruno Haible  <bruno@clisp.org>
39087
39088         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
39089         Reported by Elbert Pol <e.pol@chello.nl>.
39090
39091 2008-04-12  Eric Blake  <ebb9@byu.net>
39092
39093         Work around Solaris 10 math.h bug.
39094         * m4/math_h.m4 (gl_MATH_H): Check for bug.
39095         (gl_MATH_H_DEFAULTS): Set up default.
39096         * modules/math (Makefile.am): Replace new indicators.
39097         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
39098         * tests/test-math.c (main): Test this.
39099         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
39100         * doc/posix-headers/math.texi (math.h): Mention bug.
39101         Reported by Nelson H. F. Beebe and Jim Meyering.
39102
39103 2008-04-11  Bruno Haible  <bruno@clisp.org>
39104
39105         Adapt to future versions of Apple GCC.
39106         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
39107         Reported by Peter O'Gorman <peter@pogma.com>.
39108
39109 2008-04-11  Bruno Haible  <bruno@clisp.org>
39110
39111         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
39112
39113 2008-04-11  Bruno Haible  <bruno@clisp.org>
39114
39115         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
39116
39117         * modules/getaddrinfo-tests (Makefile.am): Define
39118         test_getaddrinfo_LDADD.
39119
39120 2008-04-11  Bruno Haible  <bruno@clisp.org>
39121
39122         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
39123         (init): Fix syntax error.
39124         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
39125         is declared.
39126
39127 2008-04-11  Bruno Haible  <bruno@clisp.org>
39128
39129         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
39130         * modules/glob (Depends-on): Add stdbool.
39131
39132 2008-04-11  Bruno Haible  <bruno@clisp.org>
39133
39134         * lib/trim.c: Include <string.h>.
39135
39136 2008-04-11  Eric Blake  <ebb9@byu.net>
39137
39138         Avoid compile failure on OS/2.
39139         * lib/regex_internal.h (internal_function): Disable optimization
39140         on OS/2 (__EMX__), where it caused compiler error.
39141         Reported by Elbert Pol.
39142
39143 2008-04-11  Bruno Haible  <bruno@clisp.org>
39144
39145         Flush the standard error stream before aborting. Needed on mingw.
39146         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
39147         * tests/test-array_list.c (ASSERT): Likewise.
39148         * tests/test-array_oset.c (ASSERT): Likewise.
39149         * tests/test-avltree_list.c (ASSERT): Likewise.
39150         * tests/test-avltree_oset.c (ASSERT): Likewise.
39151         * tests/test-avltreehash_list.c (ASSERT): Likewise.
39152         * tests/test-binary-io.c (ASSERT): Likewise.
39153         * tests/test-byteswap.c (ASSERT): Likewise.
39154         * tests/test-c-ctype.c (ASSERT): Likewise.
39155         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
39156         * tests/test-c-strcasestr.c (ASSERT): Likewise.
39157         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
39158         * tests/test-c-strstr.c (ASSERT): Likewise.
39159         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
39160         * tests/test-canonicalize.c (ASSERT): Likewise.
39161         * tests/test-carray_list.c (ASSERT): Likewise.
39162         * tests/test-ceilf1.c (ASSERT): Likewise.
39163         * tests/test-ceilf2.c (ASSERT): Likewise.
39164         * tests/test-ceill.c (ASSERT): Likewise.
39165         * tests/test-count-one-bits.c (ASSERT): Likewise.
39166         * tests/test-fbufmode.c (ASSERT): Likewise.
39167         * tests/test-fflush2.c (ASSERT): Likewise.
39168         * tests/test-floorf1.c (ASSERT): Likewise.
39169         * tests/test-floorf2.c (ASSERT): Likewise.
39170         * tests/test-floorl.c (ASSERT): Likewise.
39171         * tests/test-fopen.c (ASSERT): Likewise.
39172         * tests/test-fpending.c (ASSERT): Likewise.
39173         * tests/test-fprintf-posix.c (ASSERT): Likewise.
39174         * tests/test-fpurge.c (ASSERT): Likewise.
39175         * tests/test-freadable.c (ASSERT): Likewise.
39176         * tests/test-freadahead.c (ASSERT): Likewise.
39177         * tests/test-freading.c (ASSERT): Likewise.
39178         * tests/test-freadptr.c (ASSERT): Likewise.
39179         * tests/test-freadptr2.c (ASSERT): Likewise.
39180         * tests/test-freadseek.c (ASSERT): Likewise.
39181         * tests/test-freopen.c (ASSERT): Likewise.
39182         * tests/test-frexp.c (ASSERT): Likewise.
39183         * tests/test-frexpl.c (ASSERT): Likewise.
39184         * tests/test-fseek.c (ASSERT): Likewise.
39185         * tests/test-fseeko.c (ASSERT): Likewise.
39186         * tests/test-fstrcmp.c (ASSERT): Likewise.
39187         * tests/test-ftell.c (ASSERT): Likewise.
39188         * tests/test-ftello.c (ASSERT): Likewise.
39189         * tests/test-func.c (ASSERT): Likewise.
39190         * tests/test-fwritable.c (ASSERT): Likewise.
39191         * tests/test-fwriting.c (ASSERT): Likewise.
39192         * tests/test-getdelim.c (ASSERT): Likewise.
39193         * tests/test-getline.c (ASSERT): Likewise.
39194         * tests/test-i-ring.c (ASSERT): Likewise.
39195         * tests/test-iconv-utf.c (ASSERT): Likewise.
39196         * tests/test-iconv.c (ASSERT): Likewise.
39197         * tests/test-isfinite.c (ASSERT): Likewise.
39198         * tests/test-isnand.c (ASSERT): Likewise.
39199         * tests/test-isnanf.c (ASSERT): Likewise.
39200         * tests/test-isnanl.h (ASSERT): Likewise.
39201         * tests/test-ldexpl.c (ASSERT): Likewise.
39202         * tests/test-linked_list.c (ASSERT): Likewise.
39203         * tests/test-linkedhash_list.c (ASSERT): Likewise.
39204         * tests/test-localename.c (ASSERT): Likewise.
39205         * tests/test-lseek.c (ASSERT): Likewise.
39206         * tests/test-mbscasecmp.c (ASSERT): Likewise.
39207         * tests/test-mbscasestr1.c (ASSERT): Likewise.
39208         * tests/test-mbscasestr2.c (ASSERT): Likewise.
39209         * tests/test-mbscasestr3.c (ASSERT): Likewise.
39210         * tests/test-mbscasestr4.c (ASSERT): Likewise.
39211         * tests/test-mbschr.c (ASSERT): Likewise.
39212         * tests/test-mbscspn.c (ASSERT): Likewise.
39213         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
39214         * tests/test-mbspbrk.c (ASSERT): Likewise.
39215         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
39216         * tests/test-mbsrchr.c (ASSERT): Likewise.
39217         * tests/test-mbsspn.c (ASSERT): Likewise.
39218         * tests/test-mbsstr1.c (ASSERT): Likewise.
39219         * tests/test-mbsstr2.c (ASSERT): Likewise.
39220         * tests/test-mbsstr3.c (ASSERT): Likewise.
39221         * tests/test-memchr2.c (ASSERT): Likewise.
39222         * tests/test-memmem.c (ASSERT): Likewise.
39223         * tests/test-open.c (ASSERT): Likewise.
39224         * tests/test-printf-frexp.c (ASSERT): Likewise.
39225         * tests/test-printf-frexpl.c (ASSERT): Likewise.
39226         * tests/test-printf-posix.c (ASSERT): Likewise.
39227         * tests/test-quotearg.c (ASSERT): Likewise.
39228         * tests/test-rbtree_list.c (ASSERT): Likewise.
39229         * tests/test-rbtree_oset.c (ASSERT): Likewise.
39230         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
39231         * tests/test-round1.c (ASSERT): Likewise.
39232         * tests/test-roundf1.c (ASSERT): Likewise.
39233         * tests/test-roundl.c (ASSERT): Likewise.
39234         * tests/test-signbit.c (ASSERT): Likewise.
39235         * tests/test-sleep.c (ASSERT): Likewise.
39236         * tests/test-snprintf-posix.c (ASSERT): Likewise.
39237         * tests/test-snprintf.c (ASSERT): Likewise.
39238         * tests/test-sprintf-posix.c (ASSERT): Likewise.
39239         * tests/test-stat-time.c (ASSERT): Likewise.
39240         * tests/test-strcasestr.c (ASSERT): Likewise.
39241         * tests/test-strerror.c (ASSERT): Likewise.
39242         * tests/test-striconv.c (ASSERT): Likewise.
39243         * tests/test-striconveh.c (ASSERT): Likewise.
39244         * tests/test-striconveha.c (ASSERT): Likewise.
39245         * tests/test-strsignal.c (ASSERT): Likewise.
39246         * tests/test-strstr.c (ASSERT): Likewise.
39247         * tests/test-strtod.c (ASSERT): Likewise.
39248         * tests/test-trunc1.c (ASSERT): Likewise.
39249         * tests/test-trunc2.c (ASSERT): Likewise.
39250         * tests/test-truncf1.c (ASSERT): Likewise.
39251         * tests/test-truncf2.c (ASSERT): Likewise.
39252         * tests/test-truncl.c (ASSERT): Likewise.
39253         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
39254         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
39255         * tests/test-vasnprintf.c (ASSERT): Likewise.
39256         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
39257         * tests/test-vasprintf.c (ASSERT): Likewise.
39258         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
39259         * tests/test-vprintf-posix.c (ASSERT): Likewise.
39260         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
39261         * tests/test-vsnprintf.c (ASSERT): Likewise.
39262         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
39263         * tests/test-wcwidth.c (ASSERT): Likewise.
39264         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
39265         * tests/test-xprintf-posix.c (ASSERT): Likewise.
39266         * tests/test-xvasprintf.c (ASSERT): Likewise.
39267         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
39268         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
39269         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
39270         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
39271         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
39272         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
39273         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
39274         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
39275         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
39276         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
39277         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
39278         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
39279         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
39280         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
39281         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
39282         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
39283         * tests/unictype/test-block_list.c (ASSERT): Likewise.
39284         * tests/unictype/test-block_of.c (ASSERT): Likewise.
39285         * tests/unictype/test-block_test.c (ASSERT): Likewise.
39286         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
39287         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
39288         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
39289         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
39290         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
39291         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
39292         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
39293         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
39294         * tests/unictype/test-combining.c (ASSERT): Likewise.
39295         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
39296         * tests/unictype/test-digit.c (ASSERT): Likewise.
39297         * tests/unictype/test-mirror.c (ASSERT): Likewise.
39298         * tests/unictype/test-numeric.c (ASSERT): Likewise.
39299         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
39300         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
39301         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
39302         * tests/unictype/test-scripts.c (ASSERT): Likewise.
39303         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
39304         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
39305         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
39306         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
39307         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
39308         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
39309         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
39310         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
39311         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
39312         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
39313         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
39314         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
39315         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
39316         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
39317         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
39318         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
39319         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
39320         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
39321         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
39322         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
39323         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
39324         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
39325         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
39326         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
39327         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
39328         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
39329         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
39330         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
39331         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
39332         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
39333         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
39334         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
39335         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
39336         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
39337         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
39338         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
39339         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
39340         Reported by Eric Blake.
39341
39342 2008-04-11  Bruno Haible  <bruno@clisp.org>
39343
39344         * lib/wchar.in.h: Tweak comment.
39345
39346 2008-04-11  Bruno Haible  <bruno@clisp.org>
39347
39348         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
39349         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
39350         gl_COMMON.
39351         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
39352
39353 2008-04-11  Bruno Haible  <bruno@clisp.org>
39354
39355         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
39356
39357 2008-04-11  Simon Josefsson  <simon@josefsson.org>
39358
39359         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
39360         of attempting to use non-existing /dev/*random.  Based on patch
39361         from Adam Strzelecki <ono@java.pl> in
39362         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
39363
39364 2008-04-08  Bruno Haible  <bruno@clisp.org>
39365
39366         Add tentative support for emx+gcc.
39367         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
39368         * lib/fpurge.c (fpurge): Likewise.
39369         * lib/freadable.c (freadable): Likewise.
39370         * lib/freadahead.c (freadahead): Likewise.
39371         * lib/freading.c (freading): Likewise.
39372         * lib/freadptr.c (freadptr): Likewise.
39373         * lib/freadseek.c (freadptrinc): Likewise.
39374         * lib/fseeko.c (rpl_fseeko): Likewise.
39375         * lib/fseterr.c (fseterr): Likewise.
39376         * lib/fwritable.c (fwritable): Likewise.
39377         * lib/fwriting.c (fwriting): Likewise.
39378         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
39379
39380 2008-04-09  Eric Blake  <ebb9@byu.net>
39381
39382         Avoid some autoconf warnings.
39383         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
39384         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
39385         * m4/afs.m4 (gl_AFS): Likewise.
39386         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
39387         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
39388         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39389         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
39390         (gl_INTEGER_TYPE_SUFFIX): Likewise.
39391         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
39392         (AC_CHECK_DECLS_ONCE): Likewise.
39393         Rename file...
39394         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
39395         gnulib-tool requires autoconf 2.59 or better.
39396         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
39397
39398 2008-04-08  Eric Blake  <ebb9@byu.net>
39399
39400         Use 'git describe --match' if present (added in git 1.5.5).
39401         * build-aux/git-version-gen: Limit result to tags that match 'v*'
39402         if possible.
39403
39404 2008-04-08  Bruno Haible  <bruno@clisp.org>
39405
39406         Add tentative support for OpenServer.
39407         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
39408         _ptr, _cnt.
39409         * lib/fpurge.c (fpurge): Likewise.
39410         * lib/freadable.c (freadable): Likewise.
39411         * lib/freadahead.c (freadahead): Likewise.
39412         * lib/freading.c (freading): Likewise.
39413         * lib/freadptr.c (freadptr): Likewise.
39414         * lib/freadseek.c (freadptrinc): Likewise.
39415         * lib/fseeko.c (rpl_fseeko): Likewise.
39416         * lib/fseterr.c (fseterr): Likewise.
39417         * lib/fwritable.c (fwritable): Likewise.
39418         * lib/fwriting.c (fwriting): Likewise.
39419         Reported by Roger Cornelius <rac@tenzing.org> and
39420         Brian K. White <brian@aljex.com>.
39421
39422 2008-04-06  Jim Meyering  <meyering@redhat.com>
39423
39424         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
39425
39426 2008-04-06  Bruno Haible  <bruno@clisp.org>
39427
39428         Avoid possible error with non-ASCII bytes in UTF-8 locales.
39429         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
39430         * tests/test-printf-posix.sh: Likewise.
39431         * tests/test-vfprintf-posix.sh: Likewise.
39432         * tests/test-vprintf-posix.sh: Likewise.
39433         * tests/test-xprintf-posix.sh: Likewise.
39434
39435 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39436
39437         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
39438         hide error from 'ls', needed on OS/2.
39439         Report by Elbert Pol <elbert.pol@gmail.com>.
39440
39441 2008-04-04  Eric Blake  <ebb9@byu.net>
39442
39443         Make test-fseeko.c failures meaningful.
39444         * tests/test-fseeko.c: Print line number on failure.
39445         * tests/test-fseek.c: Likewise.
39446         Reported by Nelson H. F. Beebe.
39447
39448         Improve strtod bug detection check.
39449         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
39450         required for Solaris 10.
39451         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
39452
39453 2008-04-04  Bruno Haible  <bruno@clisp.org>
39454
39455         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
39456         by m4/setenv.m4.
39457
39458 2008-04-03  Eric Blake  <ebb9@byu.net>
39459
39460         Ensure sane .version contents.
39461         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
39462         version string.
39463         * build-aux/git-version-gen: Improve documentation.
39464
39465         Make GNU make output nicer.
39466         * top/GNUmakefile [!_have-Makefile]: Add dependency on
39467         MAKECMDGOALS to enforce message for all command line targets.  Set
39468         srcdir for use in maint.mk.
39469
39470         Another maintainer tweak.
39471         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
39472         a target that regenerates version.
39473
39474 2008-04-03  Jim Meyering  <meyering@redhat.com>
39475
39476         vc-list-files: don't cause coreutils "make po-check" failure
39477         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
39478
39479 2008-04-03  Eric Blake  <ebb9@byu.net>
39480
39481         Allow VPATH usage of vc-list-files.
39482         * build-aux/vc-list-files (scriptversion): Add timestamp.
39483         (options): Add --help, --version, -C.
39484         (CVS): Support installed cvsu.
39485
39486 2008-04-02  Bruno Haible  <bruno@clisp.org>
39487
39488         Avoid some "statement with no effect" warnings from gcc.
39489         * tests/test-wctype.c (main): Explicitly ignore unused values.
39490         Reported by Jim Meyering.
39491
39492 2008-04-02  Jim Meyering  <meyering@redhat.com>
39493
39494         Avoid some warnings from "gcc -Wshadow".
39495         * tests/test-frexp.c (exp): Define to a different identifier.
39496         * tests/test-frexpl.c (exp): Likewise.
39497
39498 2008-04-03  Jim Meyering  <meyering@redhat.com>
39499
39500         bootstrap: remove dangling *.[ch] symlinks from lib
39501         * build-aux/bootstrap [dangling symlink removal]: Move find's
39502         -depth option to precede all others, to avoid a warning.
39503         Remove *.[ch] files too, and from "$source_base" (usually lib/).
39504
39505 2008-04-02  Bruno Haible  <bruno@clisp.org>
39506
39507         Avoid some warnings from "gcc -Wshadow".
39508         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
39509         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
39510         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
39511         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
39512         Reported by Jim Meyering.
39513
39514 2008-04-01  Bruno Haible  <bruno@clisp.org>
39515
39516         Fix test to work on IRIX 6.5 with cc.
39517         * tests/test-math.c (numeric_equal): New function.
39518         (main): Use it.
39519
39520 2008-04-01  Bruno Haible  <bruno@clisp.org>
39521
39522         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
39523
39524 2008-04-01  Bruno Haible  <bruno@clisp.org>
39525
39526         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
39527         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39528         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
39529         (Depends-on): Remove math.
39530
39531         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
39532         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39533         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
39534         (Depends-on): Remove math.
39535
39536         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
39537         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39538         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
39539         (Depends-on): Remove math.
39540         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
39541         (Depends-on): Remove math.
39542
39543         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
39544         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
39545         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
39546         (Depends-on): Remove math.
39547         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
39548         (Depends-on): Remove math.
39549
39550         * tests/test-round1.c: Include nan.h.
39551         (main): Use NaNd instead of NAN.
39552         * modules/round-tests (Files): Add tests/nan.h.
39553
39554         * tests/test-trunc1.c: Include nan.h.
39555         (main): Use NaNd instead of NAN.
39556         * modules/trunc-tests (Files): Add tests/nan.h.
39557
39558         * tests/test-roundf1.c: Include nan.h.
39559         (main): Use NaNf instead of NAN.
39560         * modules/roundf-tests (Files): Add tests/nan.h.
39561
39562         * tests/test-truncf1.c: Include nan.h.
39563         (main): Use NaNf instead of NAN.
39564         * modules/truncf-tests (Files): Add tests/nan.h.
39565
39566         * tests/test-ceilf1.c: Include nan.h.
39567         (main): Use NaNf instead of NAN.
39568         * modules/ceilf-tests (Files): Add tests/nan.h.
39569
39570         * tests/test-floorf1.c: Include nan.h.
39571         (main): Use NaNf instead of NAN.
39572         * modules/floorf-tests (Files): Add tests/nan.h.
39573
39574         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
39575         (main): Use NaNf instead of NAN.
39576         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
39577
39578         * tests/test-isnand.c: Include nan.h instead of <math.h>.
39579         (main): Use NaNd instead of NAN.
39580         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
39581
39582         * tests/test-frexp.c: Include nan.h.
39583         (main): Use NaNd instead of NAN.
39584         * modules/frexp-tests (Files): Add tests/nan.h.
39585
39586         * lib/isnan.c: Don't include <math.h>.
39587         (FUNC): Don't use NAN macro.
39588         * modules/isnand-nolibm (Depends-on): Remove math.
39589         * modules/isnanf-nolibm (Depends-on): Remove math.
39590         * modules/isnanl (Depends-on): Remove math.
39591         * modules/isnanl-nolibm (Depends-on): Remove math.
39592
39593         * tests/nan.h: New file.
39594
39595 2008-04-01  Eric Blake  <ebb9@byu.net>
39596
39597         Fix typos.
39598         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
39599         values to be the right type.
39600
39601         For now, cater to gnulib strtod inaccuracies.
39602         * tests/test-strtod.c (main): Allow 1-ulp error on expected
39603         fractional results.  While not as nice from a QoI perspective, it
39604         is a quicker patch than correctly implementing decimal to binary
39605         rounding.
39606
39607 2008-03-31  Eric Blake  <ebb9@byu.net>
39608
39609         Guarantee a definition of NAN.
39610         * lib/math.in.h (NAN): Define if missing.
39611         * tests/test-math.c (main): Test it.
39612         * doc/posix-headers/math.texi (math.h): Document this.
39613         * lib/isnan.c (rpl_isnand): Use it.
39614         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
39615         * tests/test-floorf1.c (NaN): Likewise.
39616         * tests/test-frexp.c (NaN): Likewise.
39617         * tests/test-isnand.c (NaN): Likewise.
39618         * tests/test-isnanf.c (NaN): Likewise.
39619         * tests/test-round1.c (NaN): Likewise.
39620         * tests/test-roundf1.c (NaN): Likewise.
39621         * tests/test-snprintf-posix.h (NaN): Likewise.
39622         * tests/test-sprintf-posix.h (NaN): Likewise.
39623         * tests/test-trunc1.c (NaN): Likewise.
39624         * tests/test-truncf1.c (NaN): Likewise.
39625         * tests/test-vasnprintf-posix.c (NaN): Likewise.
39626         * tests/test-vasprintf-posix.c (NaN): Likewise.
39627         * modules/isnand-nolibm (Depends-on): Add math.
39628         * modules/isnanf-nolibm (Depends-on): Likewise.
39629         * modules/isnanl (Depends-on): Likewise.
39630         * modules/isnanl-nolibm (Depends-on): Likewise.
39631         * modules/snprintf-posix-tests (Depends-on): Likewise.
39632         * modules/sprintf-posix-tests (Depends-on): Likewise.
39633         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
39634         * modules/vsprintf-posix-tests (Depends-on): Likewise.
39635         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
39636         * modules/vasprintf-posix-tests (Depends-on): Likewise.
39637
39638 2008-03-31  Bruno Haible  <bruno@clisp.org>
39639
39640         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
39641         * doc/posix-functions/strtod.texi: Likewise.
39642
39643 2008-03-31  Bruno Haible  <bruno@clisp.org>
39644
39645         * tests/test-strtod.c (main): Don't use C99 syntax.
39646
39647 2008-03-31  Bruno Haible  <bruno@clisp.org>
39648
39649         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
39650         Reported by Eric Blake.
39651
39652 2008-03-31  Jim Meyering  <meyering@redhat.com>
39653
39654         Don't compare actual signbit return values.
39655         * tests/test-strtod.c (main): Rather, compare only their
39656         zero/non-zero nature.
39657
39658 2008-03-31  Eric Blake  <ebb9@byu.net>
39659
39660         More strtod documentation.
39661         * doc/posix-functions/strtod.texi (strtod): Interpret more test
39662         failures as distinct bugs.
39663
39664 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39665
39666         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
39667         Problem reported by Erik Benada in
39668         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
39669
39670 2008-03-30  Bruno Haible  <bruno@clisp.org>
39671
39672         * tests/test-strtod.c: Add comments about which assertion fails on which
39673         platform.
39674         * doc/posix-functions/strtod.texi: Add info about many more platforms.
39675
39676 2008-03-30  Eric Blake  <ebb9@byu.net>
39677
39678         Test signbit behavior on zeros.
39679         * tests/test-signbit.c (test_signbitf): Add tests for zero.
39680         (test_signbitd, test_signbitl): Likewise.
39681
39682         More strtod touchups.
39683         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
39684         sign of negative underflow, for now.  Use .5, not .1.
39685         * doc/posix-functions/strtod.texi (strtod): Mention these
39686         limitations.
39687         Reported by Jim Meyering.
39688
39689 2008-03-30  Bruno Haible  <bruno@clisp.org>
39690
39691         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
39692         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
39693
39694 2008-03-30  Bruno Haible  <bruno@clisp.org>
39695
39696         Avoid failure when attempting to return empty iconv results on some
39697         platforms.
39698         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
39699         allocation, don't report ENOMEM when the resulting string is empty.
39700
39701 2008-03-30  Bruno Haible  <bruno@clisp.org>
39702
39703         Fix buffer overrun.
39704         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
39705         Don't consider the width for tmp_length. Check count against tmp_length
39706         before doing the padding. Ensure enough allocation during padding.
39707
39708 2008-03-30  Eric Blake  <ebb9@byu.net>
39709
39710         strtod touchups.
39711         * lib/strtod.c (strtod): Avoid compiler warnings.
39712         Reported by Jim Meyering.
39713
39714 2008-03-30  Bruno Haible  <bruno@clisp.org>
39715
39716         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
39717         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
39718         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
39719         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
39720         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
39721         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
39722         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
39723         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
39724
39725         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
39726         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
39727         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
39728         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
39729         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
39730         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
39731         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
39732         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
39733
39734         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
39735         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
39736         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
39737         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
39738         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
39739         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
39740         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
39741         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
39742
39743         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
39744         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
39745
39746         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
39747         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
39748
39749         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
39750         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
39751
39752         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
39753         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
39754         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
39755
39756         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
39757         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
39758         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
39759
39760         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
39761         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
39762         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
39763
39764         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39765         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39766         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39767
39768         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39769         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39770         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39771         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39772         (Depends-on): Add EOVERFLOW.
39773         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39774         (Depends-on): Add EOVERFLOW.
39775         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39776         (Depends-on): Add EOVERFLOW.
39777         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39778         (Depends-on): Add EOVERFLOW.
39779         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39780         (Depends-on): Add EOVERFLOW.
39781         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39782         (Depends-on): Add EOVERFLOW.
39783         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39784         (Depends-on): Add EOVERFLOW.
39785         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39786         (Depends-on): Add EOVERFLOW.
39787
39788         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39789         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39790         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39791
39792         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39793         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39794         * modules/snprintf (Depends-on): Add EOVERFLOW.
39795
39796         * lib/poll.c (EOVERFLOW): Remove fallback.
39797         * modules/poll (Depends-on): Add EOVERFLOW.
39798
39799         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39800         * modules/getugroups (Depends-on): Add EOVERFLOW.
39801
39802         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39803         * modules/getdelim (Depends-on): Add EOVERFLOW.
39804
39805         * lib/ftell.c (EOVERFLOW): Remove fallback.
39806         * modules/ftell (Depends-on): Add EOVERFLOW.
39807
39808         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39809         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39810         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39811
39812         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39813
39814         * modules/EOVERFLOW-tests: New file.
39815         * tests/test-EOVERFLOW.c: New file.
39816
39817         * modules/EOVERFLOW: New file.
39818         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39819
39820 2008-03-30  Bruno Haible  <bruno@clisp.org>
39821
39822         Fix bug introduced on 2007-06-10.
39823         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39824         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39825
39826 2008-03-30  Bruno Haible  <bruno@clisp.org>
39827
39828         Improve freadseek's efficiency after ungetc.
39829         * lib/freadseek.c: Include freadahead.h.
39830         (freadptrinc): New function, extracted from freadseek.
39831         (freadseek): Use it in a loop. Use freadahead to determine the number
39832         of loop iterations.
39833         * modules/freadseek (Depends-on): Add freadahead.
39834         (configure.ac): Require AC_C_INLINE.
39835
39836 2008-03-30  Bruno Haible  <bruno@clisp.org>
39837
39838         * lib/freadseek.c (freadseek): Don't ignore the return value of
39839         freadptr.
39840
39841 2008-03-29  Eric Blake  <ebb9@byu.net>
39842
39843         Add hex float support.
39844         * modules/strtod (Depends-on): Add c-ctype.
39845         (Link): Mention POW_LIB.
39846         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39847         whitespace between 'e' and exponent.
39848         * tests/test-strtod.c (main): Enable hex float tests.
39849         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39850         now provides.
39851
39852         Document various strtod bugs, with some fixes.
39853         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39854         "-0x", "inf", "nan", and hex constants.
39855         * doc/posix-functions/atof.texi (atof): Likewise.
39856         * modules/stdlib (Makefile.am): Support strtod.
39857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39858         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39859         detect additional strtod bugs.
39860         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39861         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39862         bool where appropriate.  Parse 'inf' and 'nan'.
39863         * tests/test-strtod.c: New file.
39864         * modules/strtod (Depends-on): Add stdbool, stdlib.
39865         (configure.ac): Turn on module indicator.
39866         * modules/strtod-tests: New module.
39867
39868 2008-03-29  Eric Blake  <ebb9@byu.net>
39869
39870         Fix ftell on mingw.
39871         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39872         * modules/ftell-tests (Depends-on): Add binary-io.
39873         * modules/ftello-tests (Depends-on): Likewise.
39874         * tests/test-ftell.c (main): Enhance test to cover behavior after
39875         ungetc.  Enforce binary mode.
39876         * tests/test-ftello.c (main): Likewise.
39877
39878         Pass test-freadseek on cygwin.
39879         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39880         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39881         ungetc buffer.
39882
39883         * tests/test-fflush2.c (main): Fix typo.
39884
39885 2008-03-29  Bruno Haible  <bruno@clisp.org>
39886
39887         * tests/test-fflush2.c (main): Temporarily disable the contents of
39888         this test.
39889         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39890         Reported by Eric Blake.
39891
39892 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39893
39894         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39895         (GC_SHA224_DIGEST_SIZE): Add.
39896
39897         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39898         (gc_hash_digest_length): Likewise.
39899         (gc_hash_buffer): Likewise.
39900
39901 2008-03-25  Bruno Haible  <bruno@clisp.org>
39902
39903         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39904         detail which gettext release to use.
39905         Reported by Simon Josefsson.
39906
39907 2008-03-26  Jim Meyering  <meyering@redhat.com>
39908
39909         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39910         * modules/gnumakefile (clean-GNUmakefile): Also, use
39911         test ... && ... || : syntax rather than if-then ... fi.
39912
39913         gnumakefile: Don't double-quote-expand $(VPATH) value.
39914         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39915
39916 2008-03-24  Eric Blake  <ebb9@byu.net>
39917
39918         Alter GNUmakefile to install into top directory.
39919         * modules/maintainer-makefile: Split, and add dependency...
39920         * modules/gnumakefile: to this new module.
39921         * build-aux/GNUmakefile: Move...
39922         * top/GNUmakefile: ...here.
39923         * build-aux/maint.mk: Move...
39924         * top/maint.mk: ...here.
39925         * MODULES.html.sh (Support for maintaining...): Document new
39926         module.
39927
39928 2008-03-23  Bruno Haible  <bruno@clisp.org>
39929
39930         * gnulib-tool: New options --vc-files, --no-vc-files.
39931         (func_usage): Document them.
39932         (vc_files): New variable.
39933         (func_import): Consider vc_files.
39934         (func_create_testdir): Set vc_files to empty.
39935         Suggested by Jim Meyering and Karl Berry.
39936
39937 2008-03-23  Bruno Haible  <bruno@clisp.org>
39938
39939         Fix regex compilation error on HP-UX 11.
39940         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39941         * modules/regex (Files): Add m4/mbstate_t.m4.
39942         Reported by Ton Voon <ton.voon@altinity.com>.
39943
39944 2008-03-23  Bruno Haible  <bruno@clisp.org>
39945
39946         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39947
39948 2008-03-23  Eric Blake  <ebb9@byu.net>
39949             Bruno Haible  <bruno@clisp.org>
39950
39951         Install files from top/ in the destination directory.
39952         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39953         augmentation also for the files from top/.
39954         (func_import, func_create_testdir): Rewrite file names:
39955         top/filename -> filename.
39956
39957 2008-03-23  Bruno Haible  <bruno@clisp.org>
39958
39959         Tweak "gnulib --version" output.
39960         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39961
39962 2008-03-23  Bruno Haible  <bruno@clisp.org>
39963
39964         Tweak "gnulib --version" output.
39965         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39966         rather than contents of ChangeLog, when possible.
39967
39968 2008-03-21  Eric Blake  <ebb9@byu.net>
39969
39970         More --version tweaks.
39971         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39972         date of last ChangeLog entry.
39973
39974 2008-03-21  Jim Meyering  <meyering@redhat.com>
39975
39976         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39977
39978 2008-03-20  Eric Blake  <ebb9@byu.net>
39979
39980         VPATH fix.
39981         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39982
39983 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39984
39985         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39986         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39987
39988 2008-03-20  Eric Blake  <ebb9@byu.net>
39989
39990         Sync GNUmakefile with coreutils.
39991         * build-aux/GNUmakefile (have-Makefile): Rename...
39992         (_have-Makefile): ...to this, for namespace consideration.
39993         (GNUmakefile.cfg): Include, if present.
39994         (_autoreconf): Define a default.
39995         (_is-dist-target): New rule for rebuilds to pick up intra-release
39996         version.
39997         (maint-cfg.mk): Rename...
39998         (cfg.mk): ...to this.
39999
40000 2008-03-18  Jim Meyering  <meyering@redhat.com>
40001
40002         New script and module: mktempd
40003         * MODULES.html.sh (maint+release support): Add mktempd.
40004         * build-aux/mktempd: New file.
40005         * modules/mktempd: New file.
40006
40007 2008-03-15  Jim Meyering  <meyering@redhat.com>
40008
40009         Undo last change.
40010         * lib/sha1.c, lib/md5.c: 63 != ~63.
40011         Reported by Andreas Schwab.
40012
40013         sha1.c, md5.c: Hoist a redundant expression.
40014         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
40015         "ctx->buflen" only once, before calling *_process_block.
40016         * lib/md5.c (md5_process_bytes): Likewise.
40017
40018 2008-03-14  Eric Blake  <ebb9@byu.net>
40019
40020         Bump copyright year in files generated by gnulib-tool.
40021         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
40022         gnulib-tool, rather than hard-coding it.
40023
40024         Fix 'gnulib-tool --version' output to work with git.
40025         * gnulib-tool (func_gnulib_dir): New function, extracted from...
40026         (startup): ...here.
40027         (func_version): Use it to invoke git-version-gen, rather than
40028         relying on CVS keyword expansion.  Modernize wording.
40029         (cvsdatestamp, last_checkin_date, version): Kill unused
40030         variables.
40031
40032 2008-03-12  Jim Meyering  <meyering@redhat.com>
40033
40034         Recognize optional cast of the argument to free.
40035         * build-aux/useless-if-before-free: Update regexps.
40036
40037         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
40038
40039 2008-03-11  Bruno Haible  <bruno@clisp.org>
40040
40041         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
40042         by a single package.
40043         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
40044         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
40045         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
40046         Reported by Sam Steingold <sds@gnu.org>.
40047
40048 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40049
40050         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
40051         repositories.
40052
40053 2008-03-11  Bruno Haible  <bruno@clisp.org>
40054
40055         Avoid conflicts between local macro definitions.
40056         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
40057         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
40058
40059 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
40060             Bruno Haible  <bruno@clisp.org>
40061
40062         Make va_copy work with some version of xlc on AIX 5.1.
40063         * lib/stdarg.in.h: New file.
40064         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
40065         On AIX, use a <stdarg.h> file substitute.
40066         * modules/stdarg (Files): Add lib/stdarg.in.h.
40067         (Depends-on): Add include_next.
40068         (Makefile.am): Build a stdarg.h substitute if requested.
40069         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
40070
40071 2008-03-10  Bruno Haible  <bruno@clisp.org>
40072
40073         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
40074         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40075         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40076
40077 2008-03-10  Bruno Haible  <bruno@clisp.org>
40078
40079         * modules/stdlib (Depends-on): Add include_next, remove
40080         absolute-header.
40081
40082 2008-03-09  Bruno Haible  <bruno@clisp.org>
40083
40084         * lib/freadahead.h (freadahead): Document more precisely.
40085         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
40086         the sum of both buffer sizes.
40087         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
40088         * NEWS: Document the change.
40089
40090 2008-03-09  Bruno Haible  <bruno@clisp.org>
40091
40092         Extend freadptr to return also the buffer size.
40093         * lib/freadptr.h (freadptr): Add sizep argument.
40094         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
40095         (freadptr): Add sizep argument. Determine buffer size like freadahead
40096         does.
40097         * tests/test-freadptr.c: Don't include freadahead.h.
40098         (main): Adapt for new calling convention of freadptr.
40099         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
40100         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
40101         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
40102         tests/test-freadptr2.sh.
40103         (Depends): Remove freadahead.
40104         (TESTS): Add test-freadptr2.sh.
40105         (check_PROGRAMS): Add test-freadptr2.
40106
40107 2008-03-09  Bruno Haible  <bruno@clisp.org>
40108
40109         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
40110         Report and solution by Simon Josefsson.
40111
40112 2008-03-06  Bruno Haible  <bruno@clisp.org>
40113
40114         Make fflush after ungetc work on BSD platforms.
40115         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
40116         * tests/test-fflush2.c: New file.
40117         * tests/test-fflush2.sh: New file.
40118         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
40119         tests/test-fflush2.c.
40120         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
40121         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
40122
40123 2008-03-06  Eric Blake  <ebb9@byu.net>
40124
40125         Likewise for ftello.
40126         * modules/ftello (Dependencies): Add extensions.
40127         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
40128
40129 2008-03-06  Bruno Haible  <bruno@clisp.org>
40130
40131         * modules/fseeko (Dependencies): Add extensions.
40132         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
40133         Needed on glibc systems.
40134
40135 2008-03-06  Bruno Haible  <bruno@clisp.org>
40136
40137         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
40138         email address.
40139         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40140
40141 2008-03-06  Bruno Haible  <bruno@clisp.org>
40142
40143         * users.txt: Add libgnupdf.
40144
40145 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40146
40147         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
40148         (Header File Substitutes, Function Substitutes,
40149         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
40150         (Build robot for gnulib): Fix typo.
40151
40152 2008-03-06  Bruno Haible  <bruno@clisp.org>
40153
40154         * doc/gnulib-tool.texi (VCS Issues): Small updates.
40155         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40156
40157 2008-03-06  Bruno Haible  <bruno@clisp.org>
40158
40159         * doc/func.texi: New file, extracted from doc/gnulib.texi.
40160         * doc/gnulib.texi: Include it.
40161
40162 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40163
40164         * modules/func (License): Change license to unlimited; there was
40165         no LGPL parts in the module anyway.
40166
40167 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40168
40169         * modules/__func__: Renamed to modules/func.
40170         * modules/__func__-tests: Renamed to modules/func-tests.
40171         * tests/test-__func__.c: Renamed to tests/test-func.c.
40172         * m4/__func__.m4: Renamed to m4/func.m4.
40173         * doc/gnulib.texi (__func__): Section renamed to func.
40174         Suggested by Eric Blake <ebb9@byu.net>.
40175
40176 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40177
40178         * doc/gnulib.texi (__func__): Use C99 terminology when talking
40179         about __func__.  Make example self-contained.  Suggested by Eric
40180         Blake <ebb9@byu.net>.
40181
40182         * tests/test-__func__.c (main): Avoid extraneous () around __func.
40183         Suggested by Eric Blake <ebb9@byu.net>.
40184
40185 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40186
40187         * modules/__func__: New file.
40188         * modules/__func__-tests: New file.
40189         * tests/test-__func__.c: New file.
40190         * m4/__func__.m4: New file.
40191         * doc/gnulib.texi (__func__): Document __func__ module.
40192
40193 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40194
40195         * modules/byteswap (License): Re-license as LGPLv2+.
40196
40197 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40198
40199         * doc/Makefile: Add pdf target.
40200
40201 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40202
40203         * modules/inline (License): Use 'unlimited', since there are only
40204         *.m4 files in this module.
40205
40206 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40207             Bruno Haible  <bruno@clisp.org>
40208
40209         Add support for HP C 7.1 on OpenVMS 8.3.
40210         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
40211
40212 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40213
40214         Update VMS specifics.
40215         * lib/getopt.c [VMS]: Remove include of unixlib.h.
40216
40217 2008-03-02  Jim Meyering  <meyering@redhat.com>
40218
40219         Remove the last dependency on the "free" module.
40220         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
40221         Reported by Bob Proulx.
40222
40223         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
40224
40225         Remove useless "if" tests before free.  Deprecate "free" module.
40226         * doc/posix-functions/free.texi: Mention that this
40227         module is no longer useful.
40228         * modules/free (Notice): Say this module is obsolete.
40229         * modules/readutmp (Depends-on): Remove free.
40230         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
40231         * lib/putenv.c (putenv): Likewise.
40232         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
40233         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
40234         * tests/test-c-strcasestr.c (main): Likewise.
40235         * tests/test-c-strstr.c (main): Likewise.
40236         * tests/test-mbscasestr1.c (main): Likewise.
40237         * tests/test-mbscasestr2.c (main): Likewise.
40238         * tests/test-mbsstr1.c (main): Likewise.
40239         * tests/test-mbsstr2.c (main): Likewise.
40240         * tests/test-memmem.c (main): Likewise.
40241         * tests/test-strcasestr.c (main): Likewise.
40242         * tests/test-striconv.c (main): Likewise.
40243         * tests/test-striconveh.c (main): Likewise.
40244         * tests/test-striconveha.c (main): Likewise.
40245         * tests/test-strstr.c (main): Likewise.
40246
40247         * build-aux/git-version-gen: Adjust a comment and the Usage string.
40248
40249         bootstrap: sync from coreutils again
40250         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
40251
40252 2008-03-01  Jim Meyering  <meyering@redhat.com>
40253
40254         bootstrap: sync from coreutils
40255         * build-aux/bootstrap (update_po_files): Copy a .po file into place
40256         also when the target doesn't exist.
40257
40258 2008-03-01  Eric Blake  <ebb9@byu.net>
40259
40260         Fix bugs in last patch.
40261         * lib/memchr2.c (memchr2): Fix typo.
40262         * tests/test-memchr2.c: Test previous bug, and don't use GNU
40263         extension.
40264         Reported by Bruce Korb.
40265
40266         New module 'memchr2'.
40267         * modules/memchr2: New file.
40268         * modules/memchr2-tests: Likewise.
40269         * lib/memchr2.h: Likewise.
40270         * lib/memchr2.c: Likewise, based on memchr.c.
40271         * tests/test-memchr2.c: New test.
40272         * MODULES.html.sh (String handling): Add memchr2.
40273
40274 2008-02-29  Bruno Haible  <bruno@clisp.org>
40275
40276         * modules/freadseek-tests: New file.
40277         * tests/test-freadseek.sh: New file.
40278         * tests/test-freadseek.c: New file.
40279
40280         New module 'freadseek'.
40281         * modules/freadseek: New file.
40282         * lib/freadseek.h: New file.
40283         * lib/freadseek.c: New file.
40284         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
40285
40286 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40287
40288         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
40289         wydawca.
40290
40291         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
40292         program_invocation_name and program_invocation_short_name are
40293         present.
40294
40295 2008-02-28  Bruno Haible  <bruno@clisp.org>
40296
40297         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
40298         * tests/test-freadptr.sh: Also test non-seekable stdin.
40299
40300 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
40301
40302         * build-aux/bootstrap (source_base, m4_base)
40303         (doc_base, tests_base): New variables.
40304         (gnulib_tool_options): Do not hardcode base directories, use
40305         the above variables instead.
40306
40307 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
40308
40309         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
40310
40311 2008-02-28  Bruno Haible  <bruno@clisp.org>
40312
40313         * modules/freadptr-tests: New file.
40314         * tests/test-freadptr.sh: New file.
40315         * tests/test-freadptr.c: New file.
40316
40317         New module 'freadptr'.
40318         * modules/freadptr: New file.
40319         * lib/freadptr.h: New file.
40320         * lib/freadptr.c: New file.
40321         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
40322
40323 2008-02-26  Karl Berry  <karl@freefriends.org>
40324
40325         Sync from Libtool:
40326         * libltdl/argz.c (argz_add, argz_count): New functions.
40327         * libltdl/argz.in.h: Declare them.
40328         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
40329
40330 2008-02-22  Bruno Haible  <bruno@clisp.org>
40331
40332         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
40333         is a pointer type.  Needed for HP-UX 10.
40334         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
40335         * doc/posix-functions/gmtime_r.texi: Likewise.
40336         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40337
40338 2008-02-24  Bruno Haible  <bruno@clisp.org>
40339
40340         * modules/environ-tests: New file.
40341         * tests/test-environ.c: New file.
40342
40343         New module 'environ'.
40344         * modules/environ: New file.
40345         * lib/unistd.in.h (environ): New declaration.
40346         * m4/environ.m4: New file.
40347         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
40348         after use.
40349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
40350         HAVE_DECL_ENVIRON.
40351         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
40352         HAVE_DECL_ENVIRON.
40353         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
40354         wrong claim that 'environ' is missing on some systems.
40355         * modules/execute (Depends-on): Add environ.
40356         * lib/execute.c (environ): Remove fallback declaration.
40357         * modules/pipe (Depends-on): Add environ.
40358         * lib/pipe.c (environ): Remove fallback declaration.
40359         * modules/setenv (Depends-on): Add environ.
40360         * lib/setenv.c (environ): Remove fallback declaration.
40361         * modules/unsetenv (Depends-on): Add environ.
40362         * lib/unsetenv.c (environ): Remove fallback declaration.
40363         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
40364         m4/environ.m4.
40365         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
40366         (gl_PREREQ_UNSETENV): Likewise.
40367
40368 2008-02-24  Bruno Haible  <bruno@clisp.org>
40369
40370         * doc/posix-functions/environ.texi: Document the MacOS X problem.
40371
40372 2008-02-20  Bob Proulx  <bob@proulx.com>
40373
40374         Enable use of older two part flavor 'git describe'.
40375         * build-aux/git-version-gen: If using the older two part flavor of
40376         git version then recreate the third part now present in the
40377         newer three part flavor of git describe.
40378
40379 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
40380
40381         * lib/fts.c (fts_build): Typo correction to comment.
40382
40383 2008-02-17  Bruno Haible  <bruno@clisp.org>
40384
40385         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
40386         generating no-op conflicts.
40387
40388 2008-02-17  Bruno Haible  <bruno@clisp.org>
40389
40390         Speed up by 10%.
40391         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
40392         result_entries, rather than an index-based loop.
40393
40394 2008-02-17  Bruno Haible  <bruno@clisp.org>
40395
40396         Speed up by 25%.
40397         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
40398         'hashcode_cached'.
40399         (entry_create): New function.
40400         (entry_hashcode): Use the cached hashcode if possible.
40401         (read_changelog_file, try_split_merged_entry): Use entry_create.
40402
40403 2008-02-17  Bruno Haible  <bruno@clisp.org>
40404
40405         Speed up from O(n^2) to O(n) for long ChangeLog files.
40406         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
40407         (read_changelog_file): Change implementation of entries_reversed list
40408         to rbtreehash.
40409         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
40410
40411 2008-02-17  Bruno Haible  <bruno@clisp.org>
40412
40413         New option --split-merged-entry.
40414         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
40415         (find_paragraph_end, try_split_merged_entry): New functions.
40416         (long_options): Add option --split-merged-entry.
40417         (usage): Document option --split-merged-entry.
40418         (main): Implement option --split-merged-entry.
40419         Reported by Eric Blake.
40420
40421 2008-02-17  Bruno Haible  <bruno@clisp.org>
40422
40423         * lib/git-merge-changelog.c: Include c-strstr.h.
40424         (main): Support the "git pull --rebase" situation.
40425         * modules/git-merge-changelog (Depends-on): Add c-strstr.
40426         Reported by Eric Blake.
40427
40428 2008-02-16  Eric Blake  <ebb9@byu.net>
40429
40430         Avoid doubling \ in common case of "c-maybe" quoting style.
40431         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
40432         eliding outer quotes.
40433         * lib/quotearg.h: Document this.
40434         * tests/test-quotearg.c (result_strings, inputs, results_g)
40435         (flag_results, locale_results): Test it by adding a new string to
40436         each test group.
40437         (compare_strings): Test new string.
40438
40439 2008-02-13  Eric Blake  <ebb9@byu.net>
40440
40441         Avoid trigraph quoting in default output.
40442         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
40443         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
40444         unless explicitly requested.
40445         * tests/test-quotearg.c (flag_results, main): Add additional tests.
40446
40447 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
40448
40449         Don't rely on signed integer overflowing to negative value.
40450         * lib/getugroups.c (getugroups): Include <limits.h>.
40451         Instead, compare against INT_MAX, and increment only if the test passes.
40452
40453 2008-02-13  Jim Meyering  <meyering@redhat.com>
40454         and Eric Blake  <ebb9@byu.net>
40455
40456         Avoid shadowing warning and compile errors on Linux.
40457         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
40458         forwarding macros on Linux.
40459         (dcgettext): Define a stub, for Linux.
40460         (results_g, main): Avoid warnings.
40461
40462 2008-02-12  Eric Blake  <ebb9@byu.net>
40463
40464         Silence warning in last patch.
40465         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
40466
40467         Quotearg part 4: add tests, fix c-maybe colon quoting.
40468         * lib/quotearg.h: Improve documentation.
40469         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
40470         escapes when adding outer quotes.  When quoting trigraphs, use
40471         valid C notation.  When quoting NUL, omit extra characters if next
40472         character is not digit.  Alter prototype.
40473         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
40474         callers.
40475         * modules/quotearg-tests: New module.
40476         * tests/test-quotearg.c: New test.
40477
40478 2008-02-07  Eric Blake  <ebb9@byu.net>
40479
40480         Quotearg part 3: add flag to control outer quote elision.
40481         * lib/quotearg.h (c_maybe_quoting_style): New style.
40482         (enum quoting_flags): Better documentation of flags.
40483         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
40484         c-maybe style.
40485         (quotearg_buffer_restyled): Handle new flag to elide outer
40486         quotes.
40487
40488         Quotearg part 2: add flag that can control NUL elision.
40489         * lib/quotearg.h (set_quoting_flags): New prototype.
40490         * lib/quotearg.c (struct quoting_options): Add flag field.
40491         (set_quoting_flags): New function.
40492         (quotearg_buffer_restyled): Add flags parameter.
40493         (quotearg_alloc_mem): Set the flag if length cannot be returned.
40494         (quotearg_n_options): Set the flag, since length cannot be
40495         returned.
40496         (quoting_options_from_style): Default flags correctly.
40497
40498         Quotearg part 1: more wrappers, restore quotearg_char state.
40499         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
40500         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
40501         (quotearg_colon_mem): New wrappers.
40502         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
40503         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
40504         functions.
40505         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
40506         (quotearg_colon_mem): New functions.
40507
40508 2008-02-11  Bruno Haible  <bruno@clisp.org>
40509
40510         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
40511         library in the current directory: it does not work with parallel make.
40512         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40513
40514 2008-02-11  Bruno Haible  <bruno@clisp.org>
40515
40516         * .gitattributes: New file.
40517
40518 2008-02-11  Jim Meyering  <meyering@redhat.com>
40519
40520         useless-if-before-free: Fix reversed exit values.
40521         * build-aux/useless-if-before-free: Use correct values
40522         for EXIT_MATCH and EXIT_NO_MATCH.
40523
40524         * build-aux/useless-if-before-free: Close stdout carefully.
40525
40526 2008-02-10  Bruno Haible  <bruno@clisp.org>
40527
40528         New module 'git-merge-changelog'.
40529         * modules/git-merge-changelog: New file.
40530         * lib/git-merge-changelog.c: New file.
40531
40532 2008-02-10  Jim Meyering  <meyering@redhat.com>
40533
40534         useless-if-before-free: New option: --list (-l).
40535
40536         useless-if-before-free: Don't exit immediately upon open failure.
40537         * build-aux/useless-if-before-free: Exit 2 for errors.
40538         Upon failure to open a file, don't exit immediately.
40539         Rather, just warn and continue with any remaining files.
40540
40541 2008-02-10  Bruno Haible  <bruno@clisp.org>
40542
40543         New abstract list operation 'node_set_value'.
40544         * lib/gl_list.h (gl_list_node_set_value): New function.
40545         (struct gl_list_implementation): New field node_set_value.
40546         * lib/gl_list.c (gl_list_node_set_value): New function.
40547         * lib/gl_array_list.c (gl_array_node_set_value): New function.
40548         (gl_array_list_implementation): Update.
40549         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
40550         (gl_carray_list_implementation): Update.
40551         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
40552         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
40553         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
40554         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
40555         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
40556         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
40557         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
40558         Update.
40559         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
40560         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
40561         (gl_sublist_list_implementation): Update.
40562
40563 2008-02-10  Bruno Haible  <bruno@clisp.org>
40564
40565         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
40566         Needed when ELEMENT is #defined to 'some_type *'.
40567
40568 2008-02-10  Jim Meyering  <meyering@redhat.com>
40569
40570         New script and module: useless-if-before-free
40571         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
40572         * build-aux/useless-if-before-free: New file.
40573         * modules/useless-if-before-free: New file.
40574
40575         * build-aux/gitlog-to-changelog: Use committer date, not author date.
40576
40577         xstrtol_error: Fix typo.
40578         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
40579         s/exit_failure/exit_status/.
40580
40581 2008-02-09  Jim Meyering  <meyering@redhat.com>
40582
40583         New script and module: gitlog-to-changelog
40584         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
40585         * modules/gitlog-to-changelog: New file.
40586         * build-aux/gitlog-to-changelog: New file.
40587
40588 2008-02-08  Jim Meyering  <meyering@redhat.com>
40589
40590         Avoid two "parameter unused" warnings.
40591         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
40592         Mark "st" as used.
40593
40594         Use "git COMMAND", not "git-COMMAND".
40595         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
40596         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
40597         * build-aux/git-version-gen: Use "git status", not "git-status".
40598
40599 2008-02-07  Bruno Haible  <bruno@clisp.org>
40600
40601         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
40602         Avoids a crash on Windows Vista.
40603         Reported by Adam Strzelecki <ono@java.pl> via
40604         Simon Josefsson <simon@josefsson.org>.
40605
40606 2008-02-06  Bruno Haible  <bruno@clisp.org>
40607
40608         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
40609         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
40610         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
40611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
40612         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40613         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40614         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
40615         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
40616         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40617         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40618         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40619         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40620         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40621         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40622         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40623         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
40624         left-adjust flag.
40625         * tests/test-snprintf-posix.h (test_function): Likewise.
40626         * tests/test-sprintf-posix.h (test_function): Likewise.
40627         * tests/test-vasprintf-posix.c (test_function): Likewise.
40628         * doc/posix-functions/fprintf.texi: Update.
40629         * doc/posix-functions/printf.texi: Update.
40630         * doc/posix-functions/snprintf.texi: Update.
40631         * doc/posix-functions/sprintf.texi: Update.
40632         * doc/posix-functions/vfprintf.texi: Update.
40633         * doc/posix-functions/vprintf.texi: Update.
40634         * doc/posix-functions/vsnprintf.texi: Update.
40635         * doc/posix-functions/vsprintf.texi: Update.
40636         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40637
40638 2008-02-06  Bruno Haible  <bruno@clisp.org>
40639
40640         Fix bug introduced on 2008-01-26.
40641         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
40642
40643 2008-02-06  Bruno Haible  <bruno@clisp.org>
40644
40645         Fix bug introduced on 2007-06-10.
40646         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
40647         !NEED_PRINTF_FLAG_ZERO.
40648
40649 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
40650
40651         getloadavg: use libperfstat on AIX5
40652         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
40653
40654 2008-02-03  Bruno Haible  <bruno@clisp.org>
40655
40656         * lib/diffseq.h: Add comments about required #includes.
40657         Reported by Michael Biggs <gnulib@doubleplum.net>.
40658
40659 2008-02-01  Bruno Haible  <bruno@clisp.org>
40660
40661         * users.txt: Add gnuit.
40662
40663 2008-01-31  Bruno Haible  <bruno@clisp.org>
40664
40665         * lib/md4.c (set_uint32): Mark as inline.
40666         * lib/md5.c (set_uint32): Likewise.
40667         * lib/sha1.c (set_uint32): Likewise.
40668         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
40669         * m4/md5.m4 (gl_MD5): Likewise.
40670         * m4/sha1.m4 (gl_SHA1): Likewise.
40671
40672 2008-01-31  Jim Meyering  <meyering@redhat.com>
40673
40674         Use "sizeof VAR", rather than a literal "4".
40675         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
40676         * lib/md4.c (md4_read_ctx): Likewise.
40677         * lib/sha1.c (sha1_read_ctx): Likewise.
40678
40679 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40680
40681         * tests/test-sha1.c: New file, based on test-md5.c.
40682
40683         * modules/crypto/sha1-tests: New file.
40684
40685 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40686
40687         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
40688
40689 2008-01-31  Jim Meyering  <meyering@redhat.com>
40690
40691         Prefer "sizeof v" over the equivalent "4".
40692         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
40693         * lib/md5.c (set_uint32): Likewise.
40694         * lib/sha1.c (set_uint32): Likewise.
40695
40696 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40697
40698         * lib/sha1.c (set_uint32): Mark function as static.
40699
40700 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40701
40702         md2: clarify comments to say that alignment is not required.
40703         * lib/md2.h: Remove warning about alignment in comment.
40704         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
40705         never been required.
40706
40707 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40708
40709         md4: adapt alignment constraint fix from sha1.
40710         * lib/md4.c (set_uint32): New function, from sha1.c
40711         (md4_read_ctx): Use it.
40712         (md4_finish_ctx): Doc fix.
40713         * lib/md4.h: Doc fix.
40714
40715 2008-01-31  Simon Josefsson  <simon@josefsson.org>
40716
40717         md5: adapt alignment constraint fix from sha1.
40718         * lib/md5.c (set_uint32): New function, from sha1.c
40719         (md5_read_ctx): Use it.
40720         (md5_finish_ctx): Doc fix.
40721         * lib/md5.h: Doc fix.
40722
40723 2008-01-30  Peter Palfrader  <weasel@debian.org>
40724
40725         sha1: remove the result buffer alignment constraint
40726         * lib/sha1.c (set_uint32): New function.
40727         (sha1_read_ctx): Rewrite to remove the result buffer alignment
40728         constraint.
40729         (sha1_finish_ctx): Remove comment warning about alignment constraint.
40730         * lib/sha1.h: Likewise.
40731
40732 2008-01-30  Andreas Schwab  <schwab@suse.de>
40733             Bruno Haible  <bruno@clisp.org>
40734
40735         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
40736         correct definition of LDBL_MIN_EXP.
40737
40738 2008-01-30  Karl Berry  <karl@gnu.org>
40739
40740         * config/srclist-update: try to preserve x bit on updates.
40741         * config/srclistvars.sh: update for karl.
40742
40743 2008-01-29  Jim Meyering  <meyering@redhat.com>
40744
40745         vasnprintf.c: Avoid warning about unused label
40746         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
40747         "overflow" label definition and associated code with the
40748         same cpp condition that guards the sole use of that label.
40749
40750 2008-01-26  Bruno Haible  <bruno@clisp.org>
40751
40752         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
40753         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
40754         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
40755         * lib/isnanl-nolibm.h (isnanl): Likewise.
40756         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40757
40758 2008-01-26  Bruno Haible  <bruno@clisp.org>
40759
40760         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
40761         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
40762
40763 2008-01-26  Bruno Haible  <bruno@clisp.org>
40764
40765         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40766         GCC >= 4.0 built-in.
40767         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40768
40769 2008-01-26  Bruno Haible  <bruno@clisp.org>
40770
40771         Rename isnan, applicable to 'double' only, to isnand.
40772         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40773         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40774         (configure.ac): Update.
40775         (Include): Replace "isnan.h" with "isnand.h".
40776         * m4/isnand.m4: Renamed from m4/isnan.m4.
40777         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40778         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40779         instead of isnan.c.
40780         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40781         instead of HAVE_ISNAN_IN_LIBC.
40782         (isnand): Renamed from isnan.
40783         * lib/isnand.c: New file.
40784         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40785         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40786         (Makefile.am): Update.
40787         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40788         Include isnand.h instead of isnan.h.
40789         (main): Test isnand instead of isnan.
40790         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40791         isnan-nolibm.
40792         * modules/frexp (Depends-on): Likewise.
40793         * modules/frexp-tests (Depends-on): Likewise.
40794         * modules/frexp-nolibm (Depends-on): Likewise.
40795         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40796         * modules/isfinite (Depends-on): Likewise.
40797         * modules/round-tests (Depends-on): Likewise.
40798         * modules/signbit (Depends-on): Likewise.
40799         * modules/signbit-tests (Depends-on): Likewise.
40800         * modules/snprintf-posix (Depends-on): Likewise.
40801         * modules/sprintf-posix (Depends-on): Likewise.
40802         * modules/trunc-tests (Depends-on): Likewise.
40803         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40804         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40805         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40806         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40807         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40808         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40809         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40810         * modules/vasnprintf-posix (Depends-on): Likewise.
40811         * modules/vasprintf-posix (Depends-on): Likewise.
40812         * modules/vfprintf-posix (Depends-on): Likewise.
40813         * modules/vsnprintf-posix (Depends-on): Likewise.
40814         * modules/vsprintf-posix (Depends-on): Likewise.
40815         * lib/frexp.c: Include isnand.h instead of isnan.h.
40816         (ISNAN): Set to isnand instead of isnan.
40817         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40818         (gl_isfinited): Use isnand instead of isnan.
40819         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40820         (gl_signbitd): Use isnand instead of isnan.
40821         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40822         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40823         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40824         (main): Use isnand instead of isnan.
40825         * tests/test-round1.c: Include isnand.h.
40826         (main): Use isnand instead of isnan.
40827         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40828         (ISNAN): Set to isnand instead of isnan.
40829         * tests/test-trunc1.c: Include isnand.h.
40830         (main): Use isnand instead of isnan.
40831         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40832         (equal): Use isnand instead of isnan.
40833         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40834         isnand-nolibm.
40835         * NEWS: Mention the change.
40836
40837 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40838             Bruno Haible  <bruno@clisp.org>
40839
40840         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40841         the GCC builtins for signbits are present and set
40842         REPLACE_SIGNBIT_USING_GCC if so.
40843         * lib/math.in.h (signbit): Define using GCC builtins if
40844         REPLACE_SIGNBIT_USING_GCC is set.
40845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40846         REPLACE_SIGNBIT_USING_GCC.
40847         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40848
40849 2008-01-25  Jim Meyering  <meyering@redhat.com>
40850
40851         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40852         * lib/poll.c: Include <config.h>, not "config.h".
40853         * tests/test-getaddrinfo.c: Likewise.
40854
40855 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40856
40857         * modules/sockets-tests: New file.
40858
40859 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40860
40861         * modules/sockets: New module, can be used to call WSA_Startup and
40862         WSA_Cleanup when needed.
40863
40864         * lib/sockets.h, lib/sockets.c: New files.
40865
40866         * m4/sockets.m4: New file.
40867
40868         * tests/test-sockets.c: New file.
40869
40870 2008-01-19  Bruno Haible  <bruno@clisp.org>
40871
40872         * doc/posix-headers: Renamed from doc/headers.
40873         * doc/posix-functions: Renamed from doc/functions.
40874         * doc/gnulib.texi: Update.
40875
40876 2008-01-19  Bruno Haible  <bruno@clisp.org>
40877
40878         * doc/glibc-functions/strcasestr.texi: Include contents of
40879         doc/functions/strcasestr.texi, fixing the list of platforms.
40880         * doc/functions/strcasestr.texi: Remove file.
40881
40882 2008-01-19  Bruno Haible  <bruno@clisp.org>
40883
40884         * doc/glibc-functions/memmem.texi: Include contents of
40885         doc/functions/memmem.texi.
40886         * doc/functions/memmem.texi: Remove file.
40887
40888 2008-01-18  Bruno Haible  <bruno@clisp.org>
40889
40890         * doc/glibc-functions/*.texi: New files.
40891         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40892         to use the new files.
40893
40894 2008-01-17  Bruno Haible  <bruno@clisp.org>
40895
40896         * tests/test-gethostname.c (main): Fix printf statement.
40897
40898 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40899
40900         * modules/gethostname-tests: New file.
40901
40902         * tests/test-gethostname.c: New file.
40903
40904 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40905
40906         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40907         used by the UNAME case.  Reported by Bruno Haible
40908         <bruno@clisp.org>.
40909
40910 2008-01-17  Eric Blake  <ebb9@byu.net>
40911
40912         Convert c-strcasestr to be more efficient.
40913         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40914         (Depends-on): Add c-strcase, remove malloca, strnlen.
40915         * tests/test-c-strcasestr.c (main): Enhance test.
40916         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40917
40918 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40919
40920         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40921         Use it in creating po/Makevars.
40922
40923 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40924
40925         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40926         Applications that requires it should initialize libgcrypt
40927         manually.
40928
40929 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40930
40931         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40932
40933 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40934
40935         Fix problem with getdate on mingw32 reported by Simon Josefsson
40936         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40937         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40938         tzname", when deciding whether to declare tzname.
40939         * lib/strftime.c (tzname): Likewise.
40940
40941 2008-01-15  Bruno Haible  <bruno@clisp.org>
40942
40943         Work around a MacOS X 10.5 bug in frexpl().
40944         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40945         * doc/functions/frexpl.texi: Document the bug.
40946         Reported by Elias Pipping <pipping@gentoo.org>.
40947
40948 2008-01-14  Eric Blake  <ebb9@byu.net>
40949
40950         Touch up previous patch.
40951         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40952         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40953
40954         Convert strcasestr module to use Two-Way algorithm.
40955         * modules/strcasestr-simple: New module, based on the old
40956         strcasestr, but with Two-Way rather than KMP.
40957         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40958         * lib/string.in.h (rpl_strcasestr): Declare.
40959         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40960         performance.
40961         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40962         * modules/string (Makefile.am): Support strcasestr.
40963         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40964         * modules/strcasestr-tests (Depends-on): Check for alarm.
40965         * tests/test-strcasestr.c: Augment test.
40966         * lib/str-two-way.h: Clean up stray macro.
40967         * NEWS: Document new module.
40968         * MODULES.html.sh (string handling): Likewise.
40969         * doc/functions/strcasestr.texi: New file.
40970         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40971         here, since it is not a POSIX function.
40972
40973 2008-01-14  Colin Watson  <cjwatson@debian.org>
40974             Bruno Haible  <bruno@clisp.org>
40975
40976         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40977         works fine; if not, set REPLACE_STRSIGNAL.
40978         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40979         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40980         REPLACE_STRSIGNAL.
40981         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40982         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40983         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40984
40985 2008-01-14  Bruno Haible  <bruno@clisp.org>
40986
40987         * modules/strsignal (Include): Change to <string.h>.
40988
40989 2008-01-14  Colin Watson  <cjwatson@debian.org>
40990
40991         * modules/argp (Notice): Add a notice recommending to change
40992         XGETTEXT_OPTIONS.
40993         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40994
40995 2008-01-13  Colin Watson  <cjwatson@debian.org>
40996
40997         * modules/strsignal-tests: New file.
40998         * tests/test-strsignal.c: New file.
40999
41000         * lib/strsignal.c: New file, from glibc with modifications.
41001         * lib/siglist.h: New file, from glibc with modifications.
41002         * lib/string.in.h (strsignal): New declaration.
41003         * m4/strsignal.m4: New file.
41004         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41005         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
41006         * modules/strsignal: New file.
41007         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
41008         HAVE_DECL_STRSIGNAL.
41009
41010 2008-01-13  Bruno Haible  <bruno@clisp.org>
41011
41012         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
41013         locale encoding is not ASCII. Needed for OpenBSD 4.0.
41014         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41015         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41016
41017 2008-01-13  Bruno Haible  <bruno@clisp.org>
41018
41019         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
41020         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
41021         * lib/argp.h (__attribute__): Likewise.
41022         * lib/c-stack.c (__attribute__): Likewise.
41023         * lib/error.h (__attribute__): Likewise.
41024         * lib/fts.c (__attribute__): Likewise.
41025         * lib/openat.h (__attribute__): Likewise.
41026         * lib/stdio.in.h (__attribute__): Likewise.
41027         * lib/string.in.h (__attribute__): Likewise.
41028         * lib/utimens.c (__attribute__): Likewise.
41029         * lib/vasnprintf.h (__attribute__): Likewise.
41030         * lib/xalloc.h (__attribute__): Likewise.
41031         * lib/xprintf.h (__attribute__): Likewise.
41032         * lib/xstrtol.h (__attribute__): Likewise.
41033         * lib/xvasprintf.h (__attribute__): Likewise.
41034
41035 2008-01-12  Bruno Haible  <bruno@clisp.org>
41036
41037         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
41038         * doc/glibc-headers/a.out.texi: New file.
41039         * doc/glibc-headers/aliases.texi: New file.
41040         * doc/glibc-headers/alloca.texi: New file.
41041         * doc/glibc-headers/ar.texi: New file.
41042         * doc/glibc-headers/argp.texi: New file.
41043         * doc/glibc-headers/argz.texi: New file.
41044         * doc/glibc-headers/byteswap.texi: New file.
41045         * doc/glibc-headers/crypt.texi: New file.
41046         * doc/glibc-headers/endian.texi: New file.
41047         * doc/glibc-headers/envz.texi: New file.
41048         * doc/glibc-headers/err.texi: New file.
41049         * doc/glibc-headers/error.texi: New file.
41050         * doc/glibc-headers/execinfo.texi: New file.
41051         * doc/glibc-headers/fpu_control.texi: New file.
41052         * doc/glibc-headers/fstab.texi: New file.
41053         * doc/glibc-headers/fts.texi: New file.
41054         * doc/glibc-headers/getopt.texi: New file.
41055         * doc/glibc-headers/ieee754.texi: New file.
41056         * doc/glibc-headers/ifaddrs.texi: New file.
41057         * doc/glibc-headers/libintl.texi: New file.
41058         * doc/glibc-headers/mcheck.texi: New file.
41059         * doc/glibc-headers/mntent.texi: New file.
41060         * doc/glibc-headers/obstack.texi: New file.
41061         * doc/glibc-headers/paths.texi: New file.
41062         * doc/glibc-headers/printf.texi: New file.
41063         * doc/glibc-headers/pty.texi: New file.
41064         * doc/glibc-headers/resolv.texi: New file.
41065         * doc/glibc-headers/shadow.texi: New file.
41066         * doc/glibc-headers/sysexits.texi: New file.
41067         * doc/glibc-headers/ttyent.texi: New file.
41068
41069 2008-01-12  Jim Meyering  <meyering@redhat.com>
41070
41071         announce-gen: emit Gnulib's git-based version string.
41072         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
41073         New option --gnulib-version=V, where V is expected to be
41074         the output of running git describe in the gnulib directory.
41075         (get_tool_versions): Request feedback on xdelta.  I suspect it's
41076         not useful, and plan to stop publishing an xdelta file with each
41077         coreutils release.
41078
41079         * build-aux/announce-gen: Also check for lzma-compressed files.
41080
41081 2008-01-11  Bruno Haible  <bruno@clisp.org>
41082
41083         * tests/test-memmem.c (main): Increase maximum allowed time.
41084         * tests/test-strstr.c (main): Likewise.
41085
41086 2008-01-11  Bruno Haible  <bruno@clisp.org>
41087
41088         * doc/functions/memmem.texi: Add more precisions about platforms.
41089         * doc/functions/strstr.texi: Likewise.
41090
41091 2008-01-10  Eric Blake  <ebb9@byu.net>
41092
41093         * m4/strstr.m4: Delete cruft from copy-n-paste.
41094         Reported by Bruno Haible.
41095
41096 2008-01-10  Bruno Haible  <bruno@clisp.org>
41097
41098         Make c-strstr rely on strstr.
41099         * lib/c-strstr.c: Don't include str-kmp.h.
41100         (c_strstr): Define in terms of strstr.
41101         * modules/c-strstr (Files): Remove lib/str-kmp.h.
41102         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
41103
41104 2008-01-10  Bruno Haible  <bruno@clisp.org>
41105
41106         * doc/gnulib.texi (String Functions in C Locale): New section.
41107         * doc/c-ctype.texi: New file.
41108         * doc/c-strcase.texi: New file.
41109         * doc/c-strcaseeq.texi: New file.
41110         * doc/c-strcasestr.texi: New file.
41111         * doc/c-strstr.texi: New file.
41112         * doc/c-strtod.texi: New file.
41113         * doc/c-strtold.texi: New file.
41114
41115 2008-01-10  Eric Blake  <ebb9@byu.net>
41116
41117         * lib/relocatable.h: Fix a comment.
41118
41119 2008-01-10  Eric Blake  <ebb9@byu.net>
41120
41121         Share two-way algorithm.
41122         * lib/str-two-way.h: New file, merged from...
41123         * lib/memmem.c: ...here...
41124         * lib/strstr.c: ...and here.
41125         * modules/memmem (Files): Use it.
41126         * modules/strstr (Files): Likewise.
41127
41128         Avoid quadratic strstr implementations.
41129         * lib/strstr.c: New file.
41130         * m4/strstr.m4: Likewise.
41131         * modules/strstr: Likewise.
41132         * modules/strstr-tests: Likewise.
41133         * tests/test-strstr.c: Likewise.
41134         * lib/string.in.h (rpl_strstr): Declare.
41135         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
41136         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
41137         * modules/string (Makefile.am): Likewise.
41138         * MODULES.html.sh (string handling): Mention new module.
41139         * doc/functions/strstr.texi (strstr): Document the bug.
41140
41141 2008-01-10  Bruno Haible  <bruno@clisp.org>
41142
41143         * lib/relocatable.h (relocate): State whether result is freshly
41144         allocated or not.
41145         * lib/relocatable.c (relocate): Return a freshly allocated string
41146         instead of a pointer to a privately held string.
41147         Reported by Sylvain Beucler <beuc@gnu.org>.
41148
41149 2008-01-10  Colin Watson  <cjwatson@debian.org>
41150
41151         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
41152         s/S_ISNLK/S_ISLNK/.
41153
41154 2008-01-09  Bruno Haible  <bruno@clisp.org>
41155
41156         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
41157         and other files.
41158         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
41159         if it's only a guess.
41160         * modules/memmem: Simplify by depending on memmem-simple.
41161
41162 2008-01-09  Bruno Haible  <bruno@clisp.org>
41163
41164         Work around OpenBSD 4.0 tdelete() bug.
41165         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
41166         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
41167         macros and don't redefine the enum values.
41168         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
41169         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
41170         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
41171
41172 2008-01-09  Bruno Haible  <bruno@clisp.org>
41173
41174         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
41175         (main): Don't perform the tests if setlocale did not install a UTF-8
41176         locale. Needed on OpenBSD 4.0.
41177         * modules/wcwidth-tests (Depends-on): Add localcharset.
41178
41179 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
41180
41181         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
41182         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
41183         * NEWS: announce this.
41184         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
41185
41186 2008-01-09  Simon Josefsson  <simon@josefsson.org>
41187         and Eric Blake  <ebb9@byu.net>
41188
41189         Add memmem-simple module.
41190         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
41191         (gl_FUNC_MEMMEM): Separate performance from presence checks.
41192         * modules/memmem-simple: New file.
41193         * modules/memmem (Description): Tweak.
41194         * MODULES.html.sh (string handling): Mention new module.
41195         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
41196         addressed by memmem-simple.
41197         * NEWS: Document the difference.
41198
41199 2008-01-09  Eric Blake  <ebb9@byu.net>
41200
41201         Give gcc some memmem optimization hints.
41202         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
41203         (strcasestr): Declare as pure.
41204         * modules/memmem (Maintainer): Claim my implementation.
41205
41206 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41207
41208         Support AIX 6.1 and higher.
41209         * build-aux/config.libpath: Likewise.
41210         * build-aux/config.rpath: Likewise.
41211
41212 2008-01-08  Jim Meyering  <meyering@redhat.com>
41213             Bruno Haible  <bruno@clisp.org>
41214
41215         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
41216         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
41217         Reported by Peter Fales in
41218         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
41219
41220 2008-01-08  Bruno Haible  <bruno@clisp.org>
41221
41222         * modules/unictype/category-of (Depends-on): Add
41223         unictype/category-none.
41224         * modules/unictype/category-and-tests (Depends-on): Add
41225         unictype/category-{L,N,Lu,Nd}.
41226         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
41227         * modules/unictype/category-or-tests (Depends-on): Add
41228         unictype/category-{L,N}.
41229         * modules/unictype/category-name-tests (Depends-on): Add
41230         unictype/category-{Z,Nl}.
41231         Reported by Simon Josefsson.
41232
41233 2008-01-08  Bruno Haible  <bruno@clisp.org>
41234
41235         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
41236         convention better.
41237         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
41238         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
41239         Reported by Peter Miller <millerp@canb.auug.org.au>.
41240
41241 2008-01-08  Eric Blake  <ebb9@byu.net>
41242
41243         Rewrite memmem to guarantee linear complexity without malloc.
41244         * lib/memmem.c (memmem): Use Two-Way rather than
41245         Knuth-Morris-Pratt, to allow O(1) space usage.
41246         (critical_factorization, two_way_short_needle)
41247         (two_way_long_needle): New functions.
41248         (knuth_morris_pratt): Delete.
41249         * modules/memmem (Depends-on): No longer need malloca or stdbool.
41250         Add stdint.
41251         * tests/test-memmem.c (main): Add tests for periodic needle and
41252         sublinear performance.
41253         * doc/functions/memmem.texi (memmem): Document other deficiencies
41254         in cygwin and older glibc.
41255
41256 2008-01-08  Bruno Haible  <bruno@clisp.org>
41257
41258         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
41259         augmentation.
41260
41261 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
41262
41263         Add a configure time option: --disable-acl.
41264         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
41265         AC_ARG_ENABLE(acl).
41266
41267 2008-01-06  Simon Josefsson  <simon@josefsson.org>
41268
41269         * tests/test-localename.c: Don't include obsolete "setenv.h".
41270
41271         * modules/localename-tests (Depends-on): Need unsetenv.
41272
41273 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41274
41275         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
41276
41277 2008-01-06  Colin Watson  <cjwatson@debian.org>
41278
41279         * users.txt: Add man-db.
41280
41281 2008-01-07  Bruno Haible  <bruno@clisp.org>
41282
41283         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
41284         previous section name.
41285
41286 2008-01-07  Bruno Haible  <bruno@clisp.org>
41287
41288         * lib/progname.c (set_program_name): Don't strip off a leading
41289         "lt-" prefix outside a .libs directory.
41290         Suggested by Paul Eggert.
41291
41292 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
41293             Bruno Haible  <bruno@clisp.org>
41294
41295         Improve memory cleanup in 'relocatable' module.
41296         * lib/relocatable.h (compute_curr_prefix): Change return type to
41297         'char *'.
41298         * lib/relocatable.c (compute_curr_prefix): Change return type to
41299         'char *'. Free curr_installdir after use.
41300         (relocate): Free curr_prefix_better after use.
41301         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
41302
41303 2008-01-01  Bruno Haible  <bruno@clisp.org>
41304
41305         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
41306         failure on older glibc systems.
41307         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41308
41309 2008-01-05  Eric Blake  <ebb9@byu.net>
41310
41311         Avoid quadratic system memmem.
41312         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
41313         Reported by Ralf Wildenhues.
41314
41315         Fix memmem test for mingw.
41316         * modules/memmem-tests (configure.ac): Check for alarm.
41317         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
41318         it.
41319         * doc/functions/memmem.texi: New file.
41320         * doc/gnulib.texi (Function Substitutes): Add memmem.
41321         Reported by Bruno Haible.
41322
41323 2008-01-04  Bruno Haible  <bruno@clisp.org>
41324
41325         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
41326         Require gl_HEADER_STRINGS_H_DEFAULTS, not
41327         gl_HEADER_STRING_H_DEFAULTS.
41328
41329 2008-01-04  Eric Blake  <ebb9@byu.net>
41330
41331         Shorten duration of memmem test.
41332         * tests/test-memmem.c (main): Use alarm to declare failure if test
41333         is taking too long.
41334         Reported by Ralf Wildenhues.
41335
41336 2007-12-21  Simon Josefsson  <simon@josefsson.org>
41337
41338         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
41339         string, needed by strerror.
41340
41341 2008-01-03  Colin Watson  <cjwatson@debian.org>
41342             Bruno Haible  <bruno@clisp.org>
41343
41344         * doc/gnulib-tool.texi (Localization): New section.
41345
41346 2008-01-02  Bruno Haible  <bruno@clisp.org>
41347
41348         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
41349         variables to 'unsigned char *' type.
41350         Reported by Paul Eggert.
41351
41352 2008-01-02  Jim Meyering  <jim@meyering.net>
41353
41354         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
41355
41356 2007-12-31  Jim Meyering  <jim@meyering.net>
41357
41358         Avoid use of private FTS type name.
41359         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
41360
41361 2007-12-30  Karl Berry  <karl@gnu.org>
41362
41363         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
41364         work around defect in Texinfo and/or the standalone Info browser.
41365
41366 2007-12-30  Bruno Haible  <bruno@clisp.org>
41367
41368         Unify 5 copies of the KMP code.
41369         * lib/str-kmp.h: New file.
41370         * lib/c-strcasestr.c: Include str-kmp.h.
41371         (knuth_morris_pratt): Remove function.
41372         (c_strcasestr): Update.
41373         * lib/c-strstr.c: Include str-kmp.h.
41374         (knuth_morris_pratt): Remove function.
41375         (c_strcasestr): Update.
41376         * lib/mbscasestr.c: Include str-kmp.h.
41377         (knuth_morris_pratt_unibyte): Remove function.
41378         * lib/mbsstr.c: Include str-kmp.h.
41379         (knuth_morris_pratt_unibyte): Remove function.
41380         * lib/strcasestr.c: Include str-kmp.h.
41381         (knuth_morris_pratt): Remove function.
41382         (strcasestr): Update.
41383         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
41384         * modules/c-strstr (Files): Likewise.
41385         * modules/mbscasestr (Files): Likewise.
41386         * modules/mbsstr (Files): Likewise.
41387         * modules/strcasestr (Files): Likewise.
41388         Suggested by Paul Eggert.
41389
41390 2007-12-30  Bruno Haible  <bruno@clisp.org>
41391
41392         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
41393         defined.
41394
41395 2007-12-30  Bruno Haible  <bruno@clisp.org>
41396
41397         * lib/xmalloca.h: Include xalloc.h.
41398         (xnmalloca): New macro.
41399
41400 2007-12-30  Bruno Haible  <bruno@clisp.org>
41401
41402         * lib/malloca.h (nmalloca): New macro.
41403         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
41404         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
41405         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
41406         knuth_morris_pratt_multibyte): Likewise.
41407         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
41408         knuth_morris_pratt_multibyte): Likewise.
41409         * lib/memmem.c (knuth_morris_pratt): Likewise.
41410         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
41411
41412 2007-12-25  Bruno Haible  <bruno@clisp.org>
41413
41414         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
41415         * lib/glob.c: Don't include openat.h.
41416         (link_exists2_p): Add back the code that deals with the
41417         !GLOB_ALTDIRFUNC case.
41418         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
41419         let it do the filename concatenation.
41420         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
41421         * modules/glob (Depends-on): Remove openat.
41422
41423 2007-12-31  Bruno Haible  <bruno@clisp.org>
41424
41425         * modules/dirfd (License): Change to LGPLv2+.
41426         Approved by Jim Meyering.
41427
41428 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
41429
41430         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
41431         when multiplying M by sizeof (size_t).
41432
41433 2007-12-10  Martin Lambers  <marlam@marlam.de>
41434
41435         Override getpagesize on mingw.
41436         * lib/getpagesize.c: New file.
41437         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
41438         * modules/getpagesize (Files): Add lib/getpagesize.c.
41439         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
41440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41441         REPLACE_GETPAGESIZE.
41442         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
41443
41444 2007-12-25  Bruno Haible  <bruno@clisp.org>
41445
41446         * modules/localcharset (Notice): New field.
41447         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
41448         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
41449
41450 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41451             Bruno Haible  <bruno@clisp.org>
41452
41453         Avoid using the syntax symbol() in formatted documentation.
41454         * MODULES.html.sh (func_module): When replacing symbol() with a
41455         hyperlink, remove the parentheses. Show an error if some remain.
41456         Recognize and render the '...' syntax.
41457         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
41458         Rework. Add paragraph about GCC's inlining.
41459         * doc/alloca.texi: Likewise.
41460         * doc/error.texi: Remove parentheses from symbol reference.
41461         * doc/gnulib-intro.texi: Likewise.
41462         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
41463         * modules/fnmatch (Description): Reword to say "the ... function".
41464         * modules/full-read (Description): Likewise.
41465         * modules/full-write (Description): Likewise.
41466         * modules/safe-read (Description): Likewise.
41467         * modules/safe-write (Description): Likewise.
41468         * modules/strchrnul (Description): Likewise.
41469         * modules/trim (Description): Likewise.
41470         * modules/error (Description): Remove parentheses from symbol
41471         references.
41472         * modules/verror (Description): Likewise.
41473         Reported by Karl Berry.
41474
41475 2007-12-25  Bruno Haible  <bruno@clisp.org>
41476
41477         Fixup after 2007-10-16 commit.
41478         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
41479
41480 2007-12-24  Bruno Haible  <bruno@clisp.org>
41481
41482         Make --enable-relocatable work with DESTDIR.
41483         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
41484         to compute installdir from destprog.
41485         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
41486         also set the RELOC_DESTDIR variable.
41487         Reported by Левашев Иван <octagram@bluebottle.com>.
41488
41489 2007-12-24  Bruno Haible  <bruno@clisp.org>
41490
41491         Fix link error due to xalloc_die().
41492         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
41493         of xreadlink.
41494         * lib/relocwrapper.c: Update comments.
41495         * build-aux/install-reloc: Remove xreadlink.c from file list.
41496         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
41497         xreadlink.c.
41498         Reported by Левашев Иван <octagram@bluebottle.com>.
41499
41500 2007-12-24  Bruno Haible  <bruno@clisp.org>
41501
41502         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
41503         * lib/setenv.h: Remove file.
41504         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
41505         lib/setenv.h.
41506         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
41507         (Depends-on): Add stdlib.
41508         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
41509         gl_FUNC_UNSETENV.
41510         (Include): Replace setenv.h with <stdlib.h>.
41511         * modules/unsetenv: New file.
41512         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
41513         * lib/unsetenv.c: Include <stdlib.h> first.
41514         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
41515         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
41516         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
41517         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
41518         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
41519         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
41521         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
41522         * doc/functions/unsetenv.texi: Update.
41523         * modules/xsetenv (Depends-on): Add unsetenv.
41524         * modules/getdate (Depends-on): Likewise.
41525         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
41526         * lib/xsetenv.c: Don't include setenv.h.
41527         * lib/getdate.y: Likewise.
41528         * lib/relocwrapper.c: Likewise.
41529         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
41530         (Depends-on): Add stdlib.
41531         * NEWS: Mention the changes.
41532         Reported by Левашев Иван <octagram@bluebottle.com>.
41533
41534 2007-12-23  Bruno Haible  <bruno@clisp.org>
41535
41536         * lib/memmem.c (memmem): Use lowercase variable names. Tab
41537         indentation.
41538
41539 2007-12-23  Bruno Haible  <bruno@clisp.org>
41540
41541         * lib/c-strcasestr.c: Add more comments.
41542         * lib/c-strstr.c: Likewise.
41543         * lib/mbscasestr.c: Likewise.
41544         * lib/mbsstr.c: Likewise.
41545         * lib/strcasestr.c: Likewise.
41546         * lib/memmem.c: Likewise.
41547
41548 2007-12-23  Bruno Haible  <bruno@clisp.org>
41549
41550         * tests/test-memmem.c: Include <string.h> first.
41551
41552 2007-12-22  Bruno Haible  <bruno@clisp.org>
41553
41554         * gnulib-tool (func_create_testdir): Change $auxdir while generating
41555         the contents of $testsbase.
41556         Reported by Ralf Wildenhues.
41557
41558 2007-12-22  Bruno Haible  <bruno@clisp.org>
41559
41560         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
41561         two variables local_ldadd_before, local_ldadd_last.
41562
41563 2007-12-20  Eric Blake  <ebb9@byu.net>
41564
41565         Work around circular library issue when cross-compiling.
41566         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
41567         that progname.o does not need to pull in rpl_memcmp.
41568
41569 2007-12-19  Eric Blake  <ebb9@byu.net>
41570
41571         Fix memmem to avoid O(n^2) worst-case complexity.
41572         * lib/memmem.c (knuth_morris_pratt): New function.
41573         (memmem): Use it if first few naive iterations fail.
41574         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
41575         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
41576         * modules/memchr (License): Likewise.
41577         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
41578         malloca.
41579         * tests/test-memmem.c: Rewrite, borrowing ideas from
41580         test-mbsstr1.c; the old version wouldn't even compile!
41581         * modules/memmem-tests: New file.
41582         * lib/string.in.h (rpl_memmem): Add declaration.
41583         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
41584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
41585         REPLACE_MEMMEM.
41586
41587 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41588
41589         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
41590         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
41591         before any system include files, and undef after them all.  This
41592         should fix a problem on VMS reported by John E. Malmberg in
41593         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
41594
41595 2007-12-17  Eric Blake  <ebb9@byu.net>
41596
41597         Revert addition of verify, for BSD/OS.
41598         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
41599         can't handle large files, for the sake of obsolete platforms.
41600         * modules/fseeko (Depends-on): Remove verify.
41601         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
41602         * doc/functions/ftello.texi (ftello): Likewise.
41603         * doc/functions/fgetpos.texi (fgetpos): Likewise.
41604         Reported by Larry Jones.
41605
41606 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
41607
41608         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
41609         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
41610
41611 2007-12-17  Jim Meyering  <meyering@redhat.com>
41612
41613         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
41614         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
41615         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
41616         * modules/getcwd (Depends-on): Add openat.
41617         Reported by Petr Salinger.
41618
41619 2007-12-17  Bruno Haible  <bruno@clisp.org>
41620
41621         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
41622         avoid a segmentation fault of the configure test on x86_64 systems.
41623
41624 2007-12-15  Jim Meyering  <meyering@redhat.com>
41625
41626         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
41627
41628 2007-12-13  Eric Blake  <ebb9@byu.net>
41629
41630         Another fseek test.
41631         * tests/test-fseek.c (main): Also test ungetc handling.
41632         * tests/test-fseeko.c (main): Likewise.
41633         * modules/fseeko (Depends-on): Add verify.
41634         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
41635         large.
41636         Reported by Larry Jones.
41637
41638         Fix fseeko on mingw.
41639         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
41640         seek.
41641
41642         Beef up fseek tests.
41643         * tests/test-fseek.c (main): Also test eof handling.
41644         * tests/test-fseeko.c (main): Likewise.
41645         Reported by Larry Jones.
41646
41647 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
41648
41649         Fix fseeko on BSD-based platforms.
41650         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
41651         successful seek.
41652
41653 2007-12-12  Eric Blake  <ebb9@byu.net>
41654
41655         Allow circular dependency of separate libtests.a
41656         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
41657         when use_libtests.
41658
41659 2007-12-11  Eric Blake  <ebb9@byu.net>
41660
41661         Fix bug with -0.0L in previous patch.
41662         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
41663         * tests/test-isnan.c (main): Also test on zeroes.
41664         * tests/test-isnanf.c (main): Likewise.
41665         * tests/test-isnanl.h (main): Likewise.
41666
41667         Detect pseudo-denormals on x86 even when cross-compiling.
41668         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
41669         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
41670         invalid bit patterns that happen to satisfy ==.
41671
41672         Avoid link failures with separate libtests.a.
41673         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
41674         last, to satisfy circular dependencies.
41675
41676 2007-12-11  Eric Blake  <ebb9@byu.net>
41677         and Bruno Haible  <bruno@clisp.org>
41678
41679         Fix OpenBSD 4.0 <float.h> handling of long double.
41680         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
41681         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
41682         * doc/headers/float.texi (float.h): Document OpenBSD bug.
41683
41684 2007-12-11  Jim Meyering  <meyering@redhat.com>
41685
41686         * users.txt: Add libvirt.
41687
41688         Support versions of autoconf prior to 2.59c.
41689         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
41690         if it is not already defined.
41691
41692 2007-12-09  Bruno Haible  <bruno@clisp.org>
41693
41694         Let 'gnulib-tool --import' collect sources needed for the tests in
41695         tests/ rather than in lib/.
41696         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
41697         argument. If true, add rules to generate libtests.a, and put libtests.a
41698         into $(LDADD). Consider source files in subdirectories and set
41699         uses_subdirs.
41700         (func_emit_initmacro_start, func_emit_initmacro_end,
41701         func_emit_initmacro_done): Pass all arguments explicitly.
41702         (func_import): Determine two module lists main_modules,
41703         testsrelated_modules. Determine use_libtests. Determine two variables
41704         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
41705         instead of just sed_transform_lib_file. Determine two variables
41706         main_files and testsrelated_files. Compute 'files' as the union of
41707         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
41708         func_add_or_update. In the generated gnulib-comp.m4, collect the
41709         object files for tests/ in different variables than those for lib/.
41710         Substitute LIBTESTS_LIBDEPS.
41711         (func_create_testdir): Combine the uses_subdirs results from
41712         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
41713
41714 2007-12-09  Bruno Haible  <bruno@clisp.org>
41715
41716         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
41717         the build-aux directory.
41718
41719 2007-12-09  Bruno Haible  <bruno@clisp.org>
41720
41721         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
41722         introduced on 2006-09-09.
41723
41724 2007-12-07  Jim Meyering  <meyering@redhat.com>
41725
41726         Let these macros work also with autoconf-2.59.
41727         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
41728         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
41729         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41730
41731 2007-12-06  Jim Meyering  <meyering@redhat.com>
41732
41733         Avoid a configure-time syntax error in gl_FUNC_ACL.
41734         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
41735         function in each branch, before testing the cache variable.
41736
41737 2007-12-04  Eric Blake  <ebb9@byu.net>
41738
41739         Make scripts executable.
41740         * build-aux/config.guess: Add execute permissions.
41741         * build-aux/config.sub: Likewise.
41742         * build-aux/gendocs.sh: Likewise.
41743
41744         Fix frexp on mingw.
41745         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
41746         cross-compiling.
41747         * doc/functions/frexp.texi (frexp): Document the bug.
41748
41749         Make cygwin fseeko check more reliable.
41750         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
41751         version numbers, rather than unrelated feature check.
41752         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
41753         * doc/functions/ftello.texi (ftello): Likewise.
41754         Reported by Bruno Haible.
41755
41756         * m4/strerror.m4: Bump version number.
41757
41758 2007-12-03  Bruno Haible  <bruno@clisp.org>
41759
41760         * doc/functions/mprotect.texi: Mention the mingw problem.
41761
41762 2007-12-03  Eric Blake  <ebb9@byu.net>
41763
41764         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41765         REPLACE_STRERROR is initialized before this macro.
41766
41767 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41768
41769         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41770         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41771         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41772         put -lsec in even for programs other than 'ls'.  This fixes a problem
41773         for gettext reported by Bruno Haible in
41774         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41775         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41776         Add support for Solaris 10.  This isn't efficient, but should get the
41777         job done for now.
41778
41779 2007-12-03  James Youngman  <jay@gnu.org>
41780
41781         * doc/regexprops-generic.texi: change "an close-group" to "a
41782         close-group" and "illegal" to "not allowed".
41783
41784 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41785
41786         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41787         pr_byname.h. Needed for the rare case when the maintainer has done
41788         "make maintainer-clean" in the source directory and then attempts a
41789         build outside the source directory.
41790         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41791         scripts_byname.h.
41792
41793 2007-12-02  Martin Lambers <marlam@marlam.de>
41794             Bruno Haible  <bruno@clisp.org>
41795
41796         * lib/getpagesize.h: Remove file.
41797         * lib/unistd.in.h: Include declaration of getpagesize here.
41798         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41799         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41800         HAVE_SYS_PARAM_H.
41801         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41802         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41803         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41804         (Depends-on): Add unistd.
41805         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41806         (Include): Use <unistd.h> instead of getpagesize.h.
41807         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41808         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41809         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41810         gl_GETPAGESIZE invocation, already handled by module dependency.
41811         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41812
41813 2007-12-02  Bruno Haible  <bruno@clisp.org>
41814
41815         * modules/strings-tests: New file.
41816         * tests/test-strings.c: New file.
41817
41818         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41819         * lib/strings.in.h: New file.
41820         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41821         * m4/strings_h.m4: New file.
41822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41823         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41824         * modules/strings: New file.
41825         * modules/string (Makefile.am): Update.
41826         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41827         Reported by Karl Berry.
41828
41829 2007-12-01  Eric Blake  <ebb9@byu.net>
41830
41831         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41832         accomodate fix in cygwin 1.5.25.
41833
41834 2007-12-01  Jim Meyering  <meyering@redhat.com>
41835
41836         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41837         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41838         that would inhibit utf8-optimization of a regexp containing line-
41839         or buffer-anchors, e.g., `^', `$'.
41840
41841 2007-11-30  Bruno Haible  <bruno@clisp.org>
41842
41843         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41844         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41845         glthread_recursive_lock_init.
41846         * lib/lock.c (glthread_recursive_lock_init)
41847         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41848         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41849
41850 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41851
41852         New function qset_acl, like set_acl but with syscall semantics.
41853         * lib/acl.h (qset_acl): New decl.
41854         * lib/acl.c (qset_acl): New function.
41855         (set_acl): Use new function.  Use more-consistent diagnostics.
41856
41857 2007-11-28  Jim Meyering  <meyering@redhat.com>
41858
41859         * modules/physmem (License): Change from GPL to LGPLv2+.
41860
41861 2007-11-26  Bruno Haible  <bruno@clisp.org>
41862
41863         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41864         'long double' type has excess precision.
41865         Reported by Jim Meyering in
41866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41867
41868 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41869
41870         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41871         Sync from <http://gnu.org/licenses>.
41872         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41873         with license text from same location.
41874         * doc/maintain.texi, doc/standards.texi:  Sync from
41875         <http://savannah.gnu.org/projects/gnustandards>.
41876
41877 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
41878         and Jim Meyering  <meyering@redhat.com>
41879
41880         Adjust getdate' grammar to accept a slightly more regular language.
41881         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41882         Before, the former was rejected.
41883         * lib/getdate.y (digits_to_date_time): New function, factored
41884         out of ...
41885         (number): ...here.  Just call digits_to_date_time.
41886         (hybrid): New non-terminal to handle an <unsigned number,
41887         signed relative offset> sequence consistently.
41888
41889 2007-11-18  Jim Meyering  <meyering@redhat.com>
41890
41891         Pull my changes from coreutils:
41892         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41893         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41894         use of $gnulib_tool_option_extras, so that it's separated from the
41895         preceding argument.
41896
41897         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41898         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41899         parent destination directories before copying a file into place.
41900
41901 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41902
41903         bootstrap: work also with 4-argument variant of AC_INIT
41904         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41905
41906 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41907
41908         Port test-getaddrinfo to Solaris.
41909         Problem reported by Bruno Haible in
41910         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41911         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41912         explanation of setting 'hints'.
41913         Don't reject an implementation merely because it returns EAI_SERVICE.
41914         (EAI_SERVICE): Define to 0 if not defined.
41915
41916 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41917
41918         The license of gnu-make and posix-shell is now "GPLed build tool".
41919         * modules/gnu-make (License): Likewise.
41920         * modules/posix-shell (License): Likewise.
41921
41922         New module posix-shell, for determining a POSIX shell
41923         or perhaps something that is close enough to a POSIX shell.
41924         * m4/posix-shell.m4: New file.
41925         * modules/posix-shell: New file.
41926
41927         * MODULES.html.sh: Mention new module.
41928
41929         New module gnu-make, for determining whether we're using GNU Make.
41930         * m4/gnu-make.m4: New file.
41931         * modules/gnu-make: New file.
41932         * MODULES.html.sh: Mention new module.
41933
41934 2007-11-14  Jim Meyering  <meyering@redhat.com>
41935
41936         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41937         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41938         use this macro to create a function _definition_.
41939         Remove useless "#undef ARGMATCH_DIE".
41940
41941 2007-11-14  Bruno Haible  <bruno@clisp.org>
41942
41943         * lib/config.charset: Update for OpenBSD 4.1.
41944         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41945
41946 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41947
41948         Document 64-bit #if problems in stdint.texi.
41949         * doc/headers/stdint.texi (stdint.h): Mention problems with
41950         64-bit-#if, and how to work around them.
41951
41952         Don't insist on 'long long int' support in the preprocessor.  It
41953         breaks too many things.  For example, PRIdMAX still uses a 'long
41954         long int' format with the latest Sun compiler, even though
41955         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41956         preprocessor problem.  This causes the latest coreutils to dump
41957         core on Solaris 10 sparc with the Sun C compiler.
41958         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41959         the troublesome expressions at configure-time, not at #if-time.
41960         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41961         preprocessor.
41962         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41963         compile-time C checks, done at 'configure'-time.
41964         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41965         * modules/inttypes (Makefile): Substitute the new symbols that
41966         gl_INTTYPES_H now generates.
41967         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41968
41969 2007-11-12  Bruno Haible  <bruno@clisp.org>
41970
41971         Tests for Unicode character classification functions.
41972
41973         * modules/unictype/bidicategory-byname-tests: New file.
41974         * modules/unictype/bidicategory-name-tests: New file.
41975         * modules/unictype/bidicategory-of-tests: New file.
41976         * modules/unictype/bidicategory-test-tests: New file.
41977         * modules/unictype/block-list-tests: New file.
41978         * modules/unictype/block-of-tests: New file.
41979         * modules/unictype/block-test-tests: New file.
41980         * modules/unictype/category-C-tests: New file.
41981         * modules/unictype/category-Cc-tests: New file.
41982         * modules/unictype/category-Cf-tests: New file.
41983         * modules/unictype/category-Cn-tests: New file.
41984         * modules/unictype/category-Co-tests: New file.
41985         * modules/unictype/category-Cs-tests: New file.
41986         * modules/unictype/category-L-tests: New file.
41987         * modules/unictype/category-Ll-tests: New file.
41988         * modules/unictype/category-Lm-tests: New file.
41989         * modules/unictype/category-Lo-tests: New file.
41990         * modules/unictype/category-Lt-tests: New file.
41991         * modules/unictype/category-Lu-tests: New file.
41992         * modules/unictype/category-M-tests: New file.
41993         * modules/unictype/category-Mc-tests: New file.
41994         * modules/unictype/category-Me-tests: New file.
41995         * modules/unictype/category-Mn-tests: New file.
41996         * modules/unictype/category-N-tests: New file.
41997         * modules/unictype/category-Nd-tests: New file.
41998         * modules/unictype/category-Nl-tests: New file.
41999         * modules/unictype/category-No-tests: New file.
42000         * modules/unictype/category-P-tests: New file.
42001         * modules/unictype/category-Pc-tests: New file.
42002         * modules/unictype/category-Pd-tests: New file.
42003         * modules/unictype/category-Pe-tests: New file.
42004         * modules/unictype/category-Pf-tests: New file.
42005         * modules/unictype/category-Pi-tests: New file.
42006         * modules/unictype/category-Po-tests: New file.
42007         * modules/unictype/category-Ps-tests: New file.
42008         * modules/unictype/category-S-tests: New file.
42009         * modules/unictype/category-Sc-tests: New file.
42010         * modules/unictype/category-Sk-tests: New file.
42011         * modules/unictype/category-Sm-tests: New file.
42012         * modules/unictype/category-So-tests: New file.
42013         * modules/unictype/category-Z-tests: New file.
42014         * modules/unictype/category-Zl-tests: New file.
42015         * modules/unictype/category-Zp-tests: New file.
42016         * modules/unictype/category-Zs-tests: New file.
42017         * modules/unictype/category-and-not-tests: New file.
42018         * modules/unictype/category-and-tests: New file.
42019         * modules/unictype/category-byname-tests: New file.
42020         * modules/unictype/category-name-tests: New file.
42021         * modules/unictype/category-none-tests: New file.
42022         * modules/unictype/category-of-tests: New file.
42023         * modules/unictype/category-or-tests: New file.
42024         * modules/unictype/category-test-withtable-tests: New file.
42025         * modules/unictype/combining-class-tests: New file.
42026         * modules/unictype/ctype-alnum-tests: New file.
42027         * modules/unictype/ctype-alpha-tests: New file.
42028         * modules/unictype/ctype-blank-tests: New file.
42029         * modules/unictype/ctype-cntrl-tests: New file.
42030         * modules/unictype/ctype-digit-tests: New file.
42031         * modules/unictype/ctype-graph-tests: New file.
42032         * modules/unictype/ctype-lower-tests: New file.
42033         * modules/unictype/ctype-print-tests: New file.
42034         * modules/unictype/ctype-punct-tests: New file.
42035         * modules/unictype/ctype-space-tests: New file.
42036         * modules/unictype/ctype-upper-tests: New file.
42037         * modules/unictype/ctype-xdigit-tests: New file.
42038         * modules/unictype/decimal-digit-tests: New file.
42039         * modules/unictype/digit-tests: New file.
42040         * modules/unictype/mirror-tests: New file.
42041         * modules/unictype/numeric-tests: New file.
42042         * modules/unictype/property-alphabetic-tests: New file.
42043         * modules/unictype/property-ascii-hex-digit-tests: New file.
42044         * modules/unictype/property-bidi-arabic-digit-tests: New file.
42045         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
42046         * modules/unictype/property-bidi-block-separator-tests: New file.
42047         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
42048         * modules/unictype/property-bidi-common-separator-tests: New file.
42049         * modules/unictype/property-bidi-control-tests: New file.
42050         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
42051         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
42052         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
42053         * modules/unictype/property-bidi-european-digit-tests: New file.
42054         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
42055         * modules/unictype/property-bidi-left-to-right-tests: New file.
42056         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
42057         * modules/unictype/property-bidi-other-neutral-tests: New file.
42058         * modules/unictype/property-bidi-pdf-tests: New file.
42059         * modules/unictype/property-bidi-segment-separator-tests: New file.
42060         * modules/unictype/property-bidi-whitespace-tests: New file.
42061         * modules/unictype/property-byname-tests: New file.
42062         * modules/unictype/property-combining-tests: New file.
42063         * modules/unictype/property-composite-tests: New file.
42064         * modules/unictype/property-currency-symbol-tests: New file.
42065         * modules/unictype/property-dash-tests: New file.
42066         * modules/unictype/property-decimal-digit-tests: New file.
42067         * modules/unictype/property-default-ignorable-code-point-tests: New file.
42068         * modules/unictype/property-deprecated-tests: New file.
42069         * modules/unictype/property-diacritic-tests: New file.
42070         * modules/unictype/property-extender-tests: New file.
42071         * modules/unictype/property-format-control-tests: New file.
42072         * modules/unictype/property-grapheme-base-tests: New file.
42073         * modules/unictype/property-grapheme-extend-tests: New file.
42074         * modules/unictype/property-grapheme-link-tests: New file.
42075         * modules/unictype/property-hex-digit-tests: New file.
42076         * modules/unictype/property-hyphen-tests: New file.
42077         * modules/unictype/property-id-continue-tests: New file.
42078         * modules/unictype/property-id-start-tests: New file.
42079         * modules/unictype/property-ideographic-tests: New file.
42080         * modules/unictype/property-ids-binary-operator-tests: New file.
42081         * modules/unictype/property-ids-trinary-operator-tests: New file.
42082         * modules/unictype/property-ignorable-control-tests: New file.
42083         * modules/unictype/property-iso-control-tests: New file.
42084         * modules/unictype/property-join-control-tests: New file.
42085         * modules/unictype/property-left-of-pair-tests: New file.
42086         * modules/unictype/property-line-separator-tests: New file.
42087         * modules/unictype/property-logical-order-exception-tests: New file.
42088         * modules/unictype/property-lowercase-tests: New file.
42089         * modules/unictype/property-math-tests: New file.
42090         * modules/unictype/property-non-break-tests: New file.
42091         * modules/unictype/property-not-a-character-tests: New file.
42092         * modules/unictype/property-numeric-tests: New file.
42093         * modules/unictype/property-other-alphabetic-tests: New file.
42094         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
42095         * modules/unictype/property-other-grapheme-extend-tests: New file.
42096         * modules/unictype/property-other-id-continue-tests: New file.
42097         * modules/unictype/property-other-id-start-tests: New file.
42098         * modules/unictype/property-other-lowercase-tests: New file.
42099         * modules/unictype/property-other-math-tests: New file.
42100         * modules/unictype/property-other-uppercase-tests: New file.
42101         * modules/unictype/property-paired-punctuation-tests: New file.
42102         * modules/unictype/property-paragraph-separator-tests: New file.
42103         * modules/unictype/property-pattern-syntax-tests: New file.
42104         * modules/unictype/property-pattern-white-space-tests: New file.
42105         * modules/unictype/property-private-use-tests: New file.
42106         * modules/unictype/property-punctuation-tests: New file.
42107         * modules/unictype/property-quotation-mark-tests: New file.
42108         * modules/unictype/property-radical-tests: New file.
42109         * modules/unictype/property-sentence-terminal-tests: New file.
42110         * modules/unictype/property-soft-dotted-tests: New file.
42111         * modules/unictype/property-space-tests: New file.
42112         * modules/unictype/property-terminal-punctuation-tests: New file.
42113         * modules/unictype/property-test-tests: New file.
42114         * modules/unictype/property-titlecase-tests: New file.
42115         * modules/unictype/property-unassigned-code-value-tests: New file.
42116         * modules/unictype/property-unified-ideograph-tests: New file.
42117         * modules/unictype/property-uppercase-tests: New file.
42118         * modules/unictype/property-variation-selector-tests: New file.
42119         * modules/unictype/property-white-space-tests: New file.
42120         * modules/unictype/property-xid-continue-tests: New file.
42121         * modules/unictype/property-xid-start-tests: New file.
42122         * modules/unictype/property-zero-width-tests: New file.
42123         * modules/unictype/scripts-tests: New file.
42124         * modules/unictype/syntax-c-ident-tests: New file.
42125         * modules/unictype/syntax-c-whitespace-tests: New file.
42126         * modules/unictype/syntax-java-ident-tests: New file.
42127         * modules/unictype/syntax-java-whitespace-tests: New file.
42128         * tests/unictype/test-bidi_byname.c: New file.
42129         * tests/unictype/test-bidi_name.c: New file.
42130         * tests/unictype/test-bidi_of.c: New file.
42131         * tests/unictype/test-bidi_test.c: New file.
42132         * tests/unictype/test-block_list.c: New file.
42133         * tests/unictype/test-block_of.c: New file.
42134         * tests/unictype/test-block_test.c: New file.
42135         * tests/unictype/test-categ_and.c: New file.
42136         * tests/unictype/test-categ_and_not.c: New file.
42137         * tests/unictype/test-categ_byname.c: New file.
42138         * tests/unictype/test-categ_name.c: New file.
42139         * tests/unictype/test-categ_none.c: New file.
42140         * tests/unictype/test-categ_of.c: New file.
42141         * tests/unictype/test-categ_or.c: New file.
42142         * tests/unictype/test-categ_test_withtable.c: New file.
42143         * tests/unictype/test-combining.c: New file.
42144         * tests/unictype/test-decdigit.c: New file.
42145         * tests/unictype/test-digit.c: New file.
42146         * tests/unictype/test-mirror.c: New file.
42147         * tests/unictype/test-numeric.c: New file.
42148         * tests/unictype/test-pr_byname.c: New file.
42149         * tests/unictype/test-pr_test.c: New file.
42150         * tests/unictype/test-predicate-part1.h: New file.
42151         * tests/unictype/test-predicate-part2.h: New file.
42152         * tests/unictype/test-scripts.c: New file.
42153         * tests/unictype/test-sy_c_ident.c: New file.
42154         * tests/unictype/test-sy_java_ident.c: New file.
42155
42156         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
42157         for Unicode 5.0.0.
42158         * tests/unictype/test-categ_Cc.c: Likewise.
42159         * tests/unictype/test-categ_Cf.c: Likewise.
42160         * tests/unictype/test-categ_Cn.c: Likewise.
42161         * tests/unictype/test-categ_Co.c: Likewise.
42162         * tests/unictype/test-categ_Cs.c: Likewise.
42163         * tests/unictype/test-categ_L.c: Likewise.
42164         * tests/unictype/test-categ_Ll.c: Likewise.
42165         * tests/unictype/test-categ_Lm.c: Likewise.
42166         * tests/unictype/test-categ_Lo.c: Likewise.
42167         * tests/unictype/test-categ_Lt.c: Likewise.
42168         * tests/unictype/test-categ_Lu.c: Likewise.
42169         * tests/unictype/test-categ_M.c: Likewise.
42170         * tests/unictype/test-categ_Mc.c: Likewise.
42171         * tests/unictype/test-categ_Me.c: Likewise.
42172         * tests/unictype/test-categ_Mn.c: Likewise.
42173         * tests/unictype/test-categ_N.c: Likewise.
42174         * tests/unictype/test-categ_Nd.c: Likewise.
42175         * tests/unictype/test-categ_Nl.c: Likewise.
42176         * tests/unictype/test-categ_No.c: Likewise.
42177         * tests/unictype/test-categ_P.c: Likewise.
42178         * tests/unictype/test-categ_Pc.c: Likewise.
42179         * tests/unictype/test-categ_Pd.c: Likewise.
42180         * tests/unictype/test-categ_Pe.c: Likewise.
42181         * tests/unictype/test-categ_Pf.c: Likewise.
42182         * tests/unictype/test-categ_Pi.c: Likewise.
42183         * tests/unictype/test-categ_Po.c: Likewise.
42184         * tests/unictype/test-categ_Ps.c: Likewise.
42185         * tests/unictype/test-categ_S.c: Likewise.
42186         * tests/unictype/test-categ_Sc.c: Likewise.
42187         * tests/unictype/test-categ_Sk.c: Likewise.
42188         * tests/unictype/test-categ_Sm.c: Likewise.
42189         * tests/unictype/test-categ_So.c: Likewise.
42190         * tests/unictype/test-categ_Z.c: Likewise.
42191         * tests/unictype/test-categ_Zl.c: Likewise.
42192         * tests/unictype/test-categ_Zp.c: Likewise.
42193         * tests/unictype/test-categ_Zs.c: Likewise.
42194         * tests/unictype/test-ctype_alnum.c: Likewise.
42195         * tests/unictype/test-ctype_alpha.c: Likewise.
42196         * tests/unictype/test-ctype_blank.c: Likewise.
42197         * tests/unictype/test-ctype_cntrl.c: Likewise.
42198         * tests/unictype/test-ctype_digit.c: Likewise.
42199         * tests/unictype/test-ctype_graph.c: Likewise.
42200         * tests/unictype/test-ctype_lower.c: Likewise.
42201         * tests/unictype/test-ctype_print.c: Likewise.
42202         * tests/unictype/test-ctype_punct.c: Likewise.
42203         * tests/unictype/test-ctype_space.c: Likewise.
42204         * tests/unictype/test-ctype_upper.c: Likewise.
42205         * tests/unictype/test-ctype_xdigit.c: Likewise.
42206         * tests/unictype/test-decdigit.h: Likewise.
42207         * tests/unictype/test-digit.h: Likewise.
42208         * tests/unictype/test-numeric.h: Likewise.
42209         * tests/unictype/test-pr_alphabetic.c: Likewise.
42210         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
42211         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42212         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42213         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
42214         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42215         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
42216         * tests/unictype/test-pr_bidi_control.c: Likewise.
42217         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
42218         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
42219         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42220         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42221         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42222         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42223         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42224         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42225         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
42226         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
42227         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
42228         * tests/unictype/test-pr_combining.c: Likewise.
42229         * tests/unictype/test-pr_composite.c: Likewise.
42230         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42231         * tests/unictype/test-pr_dash.c: Likewise.
42232         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42233         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
42234         * tests/unictype/test-pr_deprecated.c: Likewise.
42235         * tests/unictype/test-pr_diacritic.c: Likewise.
42236         * tests/unictype/test-pr_extender.c: Likewise.
42237         * tests/unictype/test-pr_format_control.c: Likewise.
42238         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42239         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42240         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42241         * tests/unictype/test-pr_hex_digit.c: Likewise.
42242         * tests/unictype/test-pr_hyphen.c: Likewise.
42243         * tests/unictype/test-pr_id_continue.c: Likewise.
42244         * tests/unictype/test-pr_id_start.c: Likewise.
42245         * tests/unictype/test-pr_ideographic.c: Likewise.
42246         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
42247         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
42248         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42249         * tests/unictype/test-pr_iso_control.c: Likewise.
42250         * tests/unictype/test-pr_join_control.c: Likewise.
42251         * tests/unictype/test-pr_left_of_pair.c: Likewise.
42252         * tests/unictype/test-pr_line_separator.c: Likewise.
42253         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42254         * tests/unictype/test-pr_lowercase.c: Likewise.
42255         * tests/unictype/test-pr_math.c: Likewise.
42256         * tests/unictype/test-pr_non_break.c: Likewise.
42257         * tests/unictype/test-pr_not_a_character.c: Likewise.
42258         * tests/unictype/test-pr_numeric.c: Likewise.
42259         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42260         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
42261         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
42262         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42263         * tests/unictype/test-pr_other_id_start.c: Likewise.
42264         * tests/unictype/test-pr_other_lowercase.c: Likewise.
42265         * tests/unictype/test-pr_other_math.c: Likewise.
42266         * tests/unictype/test-pr_other_uppercase.c: Likewise.
42267         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
42268         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
42269         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
42270         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
42271         * tests/unictype/test-pr_private_use.c: Likewise.
42272         * tests/unictype/test-pr_punctuation.c: Likewise.
42273         * tests/unictype/test-pr_quotation_mark.c: Likewise.
42274         * tests/unictype/test-pr_radical.c: Likewise.
42275         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42276         * tests/unictype/test-pr_soft_dotted.c: Likewise.
42277         * tests/unictype/test-pr_space.c: Likewise.
42278         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42279         * tests/unictype/test-pr_titlecase.c: Likewise.
42280         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42281         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42282         * tests/unictype/test-pr_uppercase.c: Likewise.
42283         * tests/unictype/test-pr_variation_selector.c: Likewise.
42284         * tests/unictype/test-pr_white_space.c: Likewise.
42285         * tests/unictype/test-pr_xid_continue.c: Likewise.
42286         * tests/unictype/test-pr_xid_start.c: Likewise.
42287         * tests/unictype/test-pr_zero_width.c: Likewise.
42288         * tests/unictype/test-sy_c_whitespace.c: Likewise.
42289         * tests/unictype/test-sy_java_whitespace.c: Likewise.
42290
42291 2007-11-12  Bruno Haible  <bruno@clisp.org>
42292
42293         Unicode character classification functions.
42294         * lib/unictype.h: New file.
42295         * modules/unictype/base: New file.
42296         * modules/unictype/category-L: New file.
42297         * modules/unictype/category-Lu: New file.
42298         * modules/unictype/category-Ll: New file.
42299         * modules/unictype/category-Lt: New file.
42300         * modules/unictype/category-Lm: New file.
42301         * modules/unictype/category-Lo: New file.
42302         * modules/unictype/category-M: New file.
42303         * modules/unictype/category-Mn: New file.
42304         * modules/unictype/category-Mc: New file.
42305         * modules/unictype/category-Me: New file.
42306         * modules/unictype/category-N: New file.
42307         * modules/unictype/category-Nd: New file.
42308         * modules/unictype/category-Nl: New file.
42309         * modules/unictype/category-No: New file.
42310         * modules/unictype/category-P: New file.
42311         * modules/unictype/category-Pc: New file.
42312         * modules/unictype/category-Pd: New file.
42313         * modules/unictype/category-Ps: New file.
42314         * modules/unictype/category-Pe: New file.
42315         * modules/unictype/category-Pi: New file.
42316         * modules/unictype/category-Pf: New file.
42317         * modules/unictype/category-Po: New file.
42318         * modules/unictype/category-S: New file.
42319         * modules/unictype/category-Sm: New file.
42320         * modules/unictype/category-Sc: New file.
42321         * modules/unictype/category-Sk: New file.
42322         * modules/unictype/category-So: New file.
42323         * modules/unictype/category-Z: New file.
42324         * modules/unictype/category-Zs: New file.
42325         * modules/unictype/category-Zl: New file.
42326         * modules/unictype/category-Zp: New file.
42327         * modules/unictype/category-C: New file.
42328         * modules/unictype/category-Cc: New file.
42329         * modules/unictype/category-Cf: New file.
42330         * modules/unictype/category-Cs: New file.
42331         * modules/unictype/category-Co: New file.
42332         * modules/unictype/category-Cn: New file.
42333         * modules/unictype/category-or: New file.
42334         * modules/unictype/category-of: New file.
42335         * modules/unictype/category-test: New file.
42336         * modules/unictype/category-test-withtable: New file.
42337         * modules/unictype/category-byname: New file.
42338         * modules/unictype/category-none: New file.
42339         * modules/unictype/category-and: New file.
42340         * modules/unictype/category-and-not: New file.
42341         * modules/unictype/category-name: New file.
42342         * modules/unictype/combining-class: New file.
42343         * modules/unictype/category-all: New file.
42344         * modules/unictype/bidicategory-all: New file.
42345         * modules/unictype/bidicategory-byname: New file.
42346         * modules/unictype/bidicategory-name: New file.
42347         * modules/unictype/bidicategory-of: New file.
42348         * modules/unictype/bidicategory-test: New file.
42349         * modules/unictype/decimal-digit: New file.
42350         * modules/unictype/digit: New file.
42351         * modules/unictype/numeric: New file.
42352         * modules/unictype/mirror: New file.
42353         * modules/unictype/property-white-space: New file.
42354         * modules/unictype/property-alphabetic: New file.
42355         * modules/unictype/property-other-alphabetic: New file.
42356         * modules/unictype/property-not-a-character: New file.
42357         * modules/unictype/property-default-ignorable-code-point: New file.
42358         * modules/unictype/property-other-default-ignorable-code-point: New
42359         file.
42360         * modules/unictype/property-deprecated: New file.
42361         * modules/unictype/property-logical-order-exception: New file.
42362         * modules/unictype/property-variation-selector: New file.
42363         * modules/unictype/property-private-use: New file.
42364         * modules/unictype/property-unassigned-code-value: New file.
42365         * modules/unictype/property-uppercase: New file.
42366         * modules/unictype/property-other-uppercase: New file.
42367         * modules/unictype/property-lowercase: New file.
42368         * modules/unictype/property-other-lowercase: New file.
42369         * modules/unictype/property-titlecase: New file.
42370         * modules/unictype/property-soft-dotted: New file.
42371         * modules/unictype/property-id-start: New file.
42372         * modules/unictype/property-other-id-start: New file.
42373         * modules/unictype/property-id-continue: New file.
42374         * modules/unictype/property-other-id-continue: New file.
42375         * modules/unictype/property-xid-start: New file.
42376         * modules/unictype/property-xid-continue: New file.
42377         * modules/unictype/property-pattern-white-space: New file.
42378         * modules/unictype/property-pattern-syntax: New file.
42379         * modules/unictype/property-join-control: New file.
42380         * modules/unictype/property-grapheme-base: New file.
42381         * modules/unictype/property-grapheme-extend: New file.
42382         * modules/unictype/property-other-grapheme-extend: New file.
42383         * modules/unictype/property-grapheme-link: New file.
42384         * modules/unictype/property-bidi-control: New file.
42385         * modules/unictype/property-bidi-left-to-right: New file.
42386         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
42387         * modules/unictype/property-bidi-arabic-right-to-left: New file.
42388         * modules/unictype/property-bidi-european-digit: New file.
42389         * modules/unictype/property-bidi-eur-num-separator: New file.
42390         * modules/unictype/property-bidi-eur-num-terminator: New file.
42391         * modules/unictype/property-bidi-arabic-digit: New file.
42392         * modules/unictype/property-bidi-common-separator: New file.
42393         * modules/unictype/property-bidi-block-separator: New file.
42394         * modules/unictype/property-bidi-segment-separator: New file.
42395         * modules/unictype/property-bidi-whitespace: New file.
42396         * modules/unictype/property-bidi-non-spacing-mark: New file.
42397         * modules/unictype/property-bidi-boundary-neutral: New file.
42398         * modules/unictype/property-bidi-pdf: New file.
42399         * modules/unictype/property-bidi-embedding-or-override: New file.
42400         * modules/unictype/property-bidi-other-neutral: New file.
42401         * modules/unictype/property-hex-digit: New file.
42402         * modules/unictype/property-ascii-hex-digit: New file.
42403         * modules/unictype/property-ideographic: New file.
42404         * modules/unictype/property-unified-ideograph: New file.
42405         * modules/unictype/property-radical: New file.
42406         * modules/unictype/property-ids-binary-operator: New file.
42407         * modules/unictype/property-ids-trinary-operator: New file.
42408         * modules/unictype/property-zero-width: New file.
42409         * modules/unictype/property-space: New file.
42410         * modules/unictype/property-non-break: New file.
42411         * modules/unictype/property-iso-control: New file.
42412         * modules/unictype/property-format-control: New file.
42413         * modules/unictype/property-dash: New file.
42414         * modules/unictype/property-hyphen: New file.
42415         * modules/unictype/property-punctuation: New file.
42416         * modules/unictype/property-line-separator: New file.
42417         * modules/unictype/property-paragraph-separator: New file.
42418         * modules/unictype/property-quotation-mark: New file.
42419         * modules/unictype/property-sentence-terminal: New file.
42420         * modules/unictype/property-terminal-punctuation: New file.
42421         * modules/unictype/property-currency-symbol: New file.
42422         * modules/unictype/property-math: New file.
42423         * modules/unictype/property-other-math: New file.
42424         * modules/unictype/property-paired-punctuation: New file.
42425         * modules/unictype/property-left-of-pair: New file.
42426         * modules/unictype/property-combining: New file.
42427         * modules/unictype/property-composite: New file.
42428         * modules/unictype/property-decimal-digit: New file.
42429         * modules/unictype/property-numeric: New file.
42430         * modules/unictype/property-diacritic: New file.
42431         * modules/unictype/property-extender: New file.
42432         * modules/unictype/property-ignorable-control: New file.
42433         * modules/unictype/property-test: New file.
42434         * modules/unictype/property-byname: New file.
42435         * modules/unictype/property-all: New file.
42436         * modules/unictype/scripts: New file.
42437         * modules/unictype/scripts-all: New file.
42438         * modules/unictype/block-of: New file.
42439         * modules/unictype/block-test: New file.
42440         * modules/unictype/block-list: New file.
42441         * modules/unictype/block-all: New file.
42442         * modules/unictype/syntax-c-whitespace: New file.
42443         * modules/unictype/syntax-java-whitespace: New file.
42444         * modules/unictype/syntax-c-ident: New file.
42445         * modules/unictype/syntax-java-ident: New file.
42446         * modules/unictype/ctype-alnum: New file.
42447         * modules/unictype/ctype-alpha: New file.
42448         * modules/unictype/ctype-cntrl: New file.
42449         * modules/unictype/ctype-digit: New file.
42450         * modules/unictype/ctype-graph: New file.
42451         * modules/unictype/ctype-lower: New file.
42452         * modules/unictype/ctype-print: New file.
42453         * modules/unictype/ctype-punct: New file.
42454         * modules/unictype/ctype-space: New file.
42455         * modules/unictype/ctype-upper: New file.
42456         * modules/unictype/ctype-xdigit: New file.
42457         * modules/unictype/ctype-blank: New file.
42458         * lib/unictype/bidi_byname.c: New file.
42459         * lib/unictype/bidi_name.c: New file.
42460         * lib/unictype/bidi_of.c: New file.
42461         * lib/unictype/bidi_test.c: New file.
42462         * lib/unictype/bitmap.h: New file.
42463         * lib/unictype/block_test.c: New file.
42464         * lib/unictype/blocks.c: New file.
42465         * lib/unictype/categ_C.c: New file.
42466         * lib/unictype/categ_Cc.c: New file.
42467         * lib/unictype/categ_Cf.c: New file.
42468         * lib/unictype/categ_Cn.c: New file.
42469         * lib/unictype/categ_Co.c: New file.
42470         * lib/unictype/categ_Cs.c: New file.
42471         * lib/unictype/categ_L.c: New file.
42472         * lib/unictype/categ_Ll.c: New file.
42473         * lib/unictype/categ_Lm.c: New file.
42474         * lib/unictype/categ_Lo.c: New file.
42475         * lib/unictype/categ_Lt.c: New file.
42476         * lib/unictype/categ_Lu.c: New file.
42477         * lib/unictype/categ_M.c: New file.
42478         * lib/unictype/categ_Mc.c: New file.
42479         * lib/unictype/categ_Me.c: New file.
42480         * lib/unictype/categ_Mn.c: New file.
42481         * lib/unictype/categ_N.c: New file.
42482         * lib/unictype/categ_Nd.c: New file.
42483         * lib/unictype/categ_Nl.c: New file.
42484         * lib/unictype/categ_No.c: New file.
42485         * lib/unictype/categ_P.c: New file.
42486         * lib/unictype/categ_Pc.c: New file.
42487         * lib/unictype/categ_Pd.c: New file.
42488         * lib/unictype/categ_Pe.c: New file.
42489         * lib/unictype/categ_Pf.c: New file.
42490         * lib/unictype/categ_Pi.c: New file.
42491         * lib/unictype/categ_Po.c: New file.
42492         * lib/unictype/categ_Ps.c: New file.
42493         * lib/unictype/categ_S.c: New file.
42494         * lib/unictype/categ_Sc.c: New file.
42495         * lib/unictype/categ_Sk.c: New file.
42496         * lib/unictype/categ_Sm.c: New file.
42497         * lib/unictype/categ_So.c: New file.
42498         * lib/unictype/categ_Z.c: New file.
42499         * lib/unictype/categ_Zl.c: New file.
42500         * lib/unictype/categ_Zp.c: New file.
42501         * lib/unictype/categ_Zs.c: New file.
42502         * lib/unictype/categ_and.c: New file.
42503         * lib/unictype/categ_and_not.c: New file.
42504         * lib/unictype/categ_byname.c: New file.
42505         * lib/unictype/categ_name.c: New file.
42506         * lib/unictype/categ_none.c: New file.
42507         * lib/unictype/categ_of.c: New file.
42508         * lib/unictype/categ_or.c: New file.
42509         * lib/unictype/categ_test.c: New file.
42510         * lib/unictype/combining.c: New file.
42511         * lib/unictype/ctype_alnum.c: New file.
42512         * lib/unictype/ctype_alpha.c: New file.
42513         * lib/unictype/ctype_blank.c: New file.
42514         * lib/unictype/ctype_cntrl.c: New file.
42515         * lib/unictype/ctype_digit.c: New file.
42516         * lib/unictype/ctype_graph.c: New file.
42517         * lib/unictype/ctype_lower.c: New file.
42518         * lib/unictype/ctype_print.c: New file.
42519         * lib/unictype/ctype_punct.c: New file.
42520         * lib/unictype/ctype_space.c: New file.
42521         * lib/unictype/ctype_upper.c: New file.
42522         * lib/unictype/ctype_xdigit.c: New file.
42523         * lib/unictype/decdigit.c: New file.
42524         * lib/unictype/digit.c: New file.
42525         * lib/unictype/identsyntaxmap.h: New file.
42526         * lib/unictype/mirror.c: New file.
42527         * lib/unictype/numeric.c: New file.
42528         * lib/unictype/pr_alphabetic.c: New file.
42529         * lib/unictype/pr_ascii_hex_digit.c: New file.
42530         * lib/unictype/pr_bidi_arabic_digit.c: New file.
42531         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
42532         * lib/unictype/pr_bidi_block_separator.c: New file.
42533         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
42534         * lib/unictype/pr_bidi_common_separator.c: New file.
42535         * lib/unictype/pr_bidi_control.c: New file.
42536         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
42537         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
42538         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
42539         * lib/unictype/pr_bidi_european_digit.c: New file.
42540         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
42541         * lib/unictype/pr_bidi_left_to_right.c: New file.
42542         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
42543         * lib/unictype/pr_bidi_other_neutral.c: New file.
42544         * lib/unictype/pr_bidi_pdf.c: New file.
42545         * lib/unictype/pr_bidi_segment_separator.c: New file.
42546         * lib/unictype/pr_bidi_whitespace.c: New file.
42547         * lib/unictype/pr_byname.c: New file.
42548         * lib/unictype/pr_byname.gperf: New file.
42549         * lib/unictype/pr_combining.c: New file.
42550         * lib/unictype/pr_composite.c: New file.
42551         * lib/unictype/pr_currency_symbol.c: New file.
42552         * lib/unictype/pr_dash.c: New file.
42553         * lib/unictype/pr_decimal_digit.c: New file.
42554         * lib/unictype/pr_default_ignorable_code_point.c: New file.
42555         * lib/unictype/pr_deprecated.c: New file.
42556         * lib/unictype/pr_diacritic.c: New file.
42557         * lib/unictype/pr_extender.c: New file.
42558         * lib/unictype/pr_format_control.c: New file.
42559         * lib/unictype/pr_grapheme_base.c: New file.
42560         * lib/unictype/pr_grapheme_extend.c: New file.
42561         * lib/unictype/pr_grapheme_link.c: New file.
42562         * lib/unictype/pr_hex_digit.c: New file.
42563         * lib/unictype/pr_hyphen.c: New file.
42564         * lib/unictype/pr_id_continue.c: New file.
42565         * lib/unictype/pr_id_start.c: New file.
42566         * lib/unictype/pr_ideographic.c: New file.
42567         * lib/unictype/pr_ids_binary_operator.c: New file.
42568         * lib/unictype/pr_ids_trinary_operator.c: New file.
42569         * lib/unictype/pr_ignorable_control.c: New file.
42570         * lib/unictype/pr_iso_control.c: New file.
42571         * lib/unictype/pr_join_control.c: New file.
42572         * lib/unictype/pr_left_of_pair.c: New file.
42573         * lib/unictype/pr_line_separator.c: New file.
42574         * lib/unictype/pr_logical_order_exception.c: New file.
42575         * lib/unictype/pr_lowercase.c: New file.
42576         * lib/unictype/pr_math.c: New file.
42577         * lib/unictype/pr_non_break.c: New file.
42578         * lib/unictype/pr_not_a_character.c: New file.
42579         * lib/unictype/pr_numeric.c: New file.
42580         * lib/unictype/pr_other_alphabetic.c: New file.
42581         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
42582         * lib/unictype/pr_other_grapheme_extend.c: New file.
42583         * lib/unictype/pr_other_id_continue.c: New file.
42584         * lib/unictype/pr_other_id_start.c: New file.
42585         * lib/unictype/pr_other_lowercase.c: New file.
42586         * lib/unictype/pr_other_math.c: New file.
42587         * lib/unictype/pr_other_uppercase.c: New file.
42588         * lib/unictype/pr_paired_punctuation.c: New file.
42589         * lib/unictype/pr_paragraph_separator.c: New file.
42590         * lib/unictype/pr_pattern_syntax.c: New file.
42591         * lib/unictype/pr_pattern_white_space.c: New file.
42592         * lib/unictype/pr_private_use.c: New file.
42593         * lib/unictype/pr_punctuation.c: New file.
42594         * lib/unictype/pr_quotation_mark.c: New file.
42595         * lib/unictype/pr_radical.c: New file.
42596         * lib/unictype/pr_sentence_terminal.c: New file.
42597         * lib/unictype/pr_soft_dotted.c: New file.
42598         * lib/unictype/pr_space.c: New file.
42599         * lib/unictype/pr_terminal_punctuation.c: New file.
42600         * lib/unictype/pr_test.c: New file.
42601         * lib/unictype/pr_titlecase.c: New file.
42602         * lib/unictype/pr_unassigned_code_value.c: New file.
42603         * lib/unictype/pr_unified_ideograph.c: New file.
42604         * lib/unictype/pr_uppercase.c: New file.
42605         * lib/unictype/pr_variation_selector.c: New file.
42606         * lib/unictype/pr_white_space.c: New file.
42607         * lib/unictype/pr_xid_continue.c: New file.
42608         * lib/unictype/pr_xid_start.c: New file.
42609         * lib/unictype/pr_zero_width.c: New file.
42610         * lib/unictype/scripts.c: New file.
42611         * lib/unictype/sy_c_ident.c: New file.
42612         * lib/unictype/sy_c_whitespace.c: New file.
42613         * lib/unictype/sy_java_ident.c: New file.
42614         * lib/unictype/sy_java_whitespace.c: New file.
42615
42616         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
42617         Unicode 5.0.0.
42618         * lib/unictype/blocks.h: Likewise.
42619         * lib/unictype/categ_C.h: Likewise.
42620         * lib/unictype/categ_Cc.h: Likewise.
42621         * lib/unictype/categ_Cf.h: Likewise.
42622         * lib/unictype/categ_Cn.h: Likewise.
42623         * lib/unictype/categ_Co.h: Likewise.
42624         * lib/unictype/categ_Cs.h: Likewise.
42625         * lib/unictype/categ_L.h: Likewise.
42626         * lib/unictype/categ_Ll.h: Likewise.
42627         * lib/unictype/categ_Lm.h: Likewise.
42628         * lib/unictype/categ_Lo.h: Likewise.
42629         * lib/unictype/categ_Lt.h: Likewise.
42630         * lib/unictype/categ_Lu.h: Likewise.
42631         * lib/unictype/categ_M.h: Likewise.
42632         * lib/unictype/categ_Mc.h: Likewise.
42633         * lib/unictype/categ_Me.h: Likewise.
42634         * lib/unictype/categ_Mn.h: Likewise.
42635         * lib/unictype/categ_N.h: Likewise.
42636         * lib/unictype/categ_Nd.h: Likewise.
42637         * lib/unictype/categ_Nl.h: Likewise.
42638         * lib/unictype/categ_No.h: Likewise.
42639         * lib/unictype/categ_P.h: Likewise.
42640         * lib/unictype/categ_Pc.h: Likewise.
42641         * lib/unictype/categ_Pd.h: Likewise.
42642         * lib/unictype/categ_Pe.h: Likewise.
42643         * lib/unictype/categ_Pf.h: Likewise.
42644         * lib/unictype/categ_Pi.h: Likewise.
42645         * lib/unictype/categ_Po.h: Likewise.
42646         * lib/unictype/categ_Ps.h: Likewise.
42647         * lib/unictype/categ_S.h: Likewise.
42648         * lib/unictype/categ_Sc.h: Likewise.
42649         * lib/unictype/categ_Sk.h: Likewise.
42650         * lib/unictype/categ_Sm.h: Likewise.
42651         * lib/unictype/categ_So.h: Likewise.
42652         * lib/unictype/categ_Z.h: Likewise.
42653         * lib/unictype/categ_Zl.h: Likewise.
42654         * lib/unictype/categ_Zp.h: Likewise.
42655         * lib/unictype/categ_Zs.h: Likewise.
42656         * lib/unictype/categ_of.h: Likewise.
42657         * lib/unictype/combining.h: Likewise.
42658         * lib/unictype/ctype_alnum.h: Likewise.
42659         * lib/unictype/ctype_alpha.h: Likewise.
42660         * lib/unictype/ctype_blank.h: Likewise.
42661         * lib/unictype/ctype_cntrl.h: Likewise.
42662         * lib/unictype/ctype_digit.h: Likewise.
42663         * lib/unictype/ctype_graph.h: Likewise.
42664         * lib/unictype/ctype_lower.h: Likewise.
42665         * lib/unictype/ctype_print.h: Likewise.
42666         * lib/unictype/ctype_punct.h: Likewise.
42667         * lib/unictype/ctype_space.h: Likewise.
42668         * lib/unictype/ctype_upper.h: Likewise.
42669         * lib/unictype/ctype_xdigit.h: Likewise.
42670         * lib/unictype/decdigit.h: Likewise.
42671         * lib/unictype/digit.h: Likewise.
42672         * lib/unictype/mirror.h: Likewise.
42673         * lib/unictype/numeric.h: Likewise.
42674         * lib/unictype/pr_alphabetic.h: Likewise.
42675         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
42676         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
42677         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
42678         * lib/unictype/pr_bidi_block_separator.h: Likewise.
42679         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
42680         * lib/unictype/pr_bidi_common_separator.h: Likewise.
42681         * lib/unictype/pr_bidi_control.h: Likewise.
42682         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
42683         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
42684         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
42685         * lib/unictype/pr_bidi_european_digit.h: Likewise.
42686         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
42687         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
42688         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
42689         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
42690         * lib/unictype/pr_bidi_pdf.h: Likewise.
42691         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
42692         * lib/unictype/pr_bidi_whitespace.h: Likewise.
42693         * lib/unictype/pr_combining.h: Likewise.
42694         * lib/unictype/pr_composite.h: Likewise.
42695         * lib/unictype/pr_currency_symbol.h: Likewise.
42696         * lib/unictype/pr_dash.h: Likewise.
42697         * lib/unictype/pr_decimal_digit.h: Likewise.
42698         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
42699         * lib/unictype/pr_deprecated.h: Likewise.
42700         * lib/unictype/pr_diacritic.h: Likewise.
42701         * lib/unictype/pr_extender.h: Likewise.
42702         * lib/unictype/pr_format_control.h: Likewise.
42703         * lib/unictype/pr_grapheme_base.h: Likewise.
42704         * lib/unictype/pr_grapheme_extend.h: Likewise.
42705         * lib/unictype/pr_grapheme_link.h: Likewise.
42706         * lib/unictype/pr_hex_digit.h: Likewise.
42707         * lib/unictype/pr_hyphen.h: Likewise.
42708         * lib/unictype/pr_id_continue.h: Likewise.
42709         * lib/unictype/pr_id_start.h: Likewise.
42710         * lib/unictype/pr_ideographic.h: Likewise.
42711         * lib/unictype/pr_ids_binary_operator.h: Likewise.
42712         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
42713         * lib/unictype/pr_ignorable_control.h: Likewise.
42714         * lib/unictype/pr_iso_control.h: Likewise.
42715         * lib/unictype/pr_join_control.h: Likewise.
42716         * lib/unictype/pr_left_of_pair.h: Likewise.
42717         * lib/unictype/pr_line_separator.h: Likewise.
42718         * lib/unictype/pr_logical_order_exception.h: Likewise.
42719         * lib/unictype/pr_lowercase.h: Likewise.
42720         * lib/unictype/pr_math.h: Likewise.
42721         * lib/unictype/pr_non_break.h: Likewise.
42722         * lib/unictype/pr_not_a_character.h: Likewise.
42723         * lib/unictype/pr_numeric.h: Likewise.
42724         * lib/unictype/pr_other_alphabetic.h: Likewise.
42725         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
42726         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
42727         * lib/unictype/pr_other_id_continue.h: Likewise.
42728         * lib/unictype/pr_other_id_start.h: Likewise.
42729         * lib/unictype/pr_other_lowercase.h: Likewise.
42730         * lib/unictype/pr_other_math.h: Likewise.
42731         * lib/unictype/pr_other_uppercase.h: Likewise.
42732         * lib/unictype/pr_paired_punctuation.h: Likewise.
42733         * lib/unictype/pr_paragraph_separator.h: Likewise.
42734         * lib/unictype/pr_pattern_syntax.h: Likewise.
42735         * lib/unictype/pr_pattern_white_space.h: Likewise.
42736         * lib/unictype/pr_private_use.h: Likewise.
42737         * lib/unictype/pr_punctuation.h: Likewise.
42738         * lib/unictype/pr_quotation_mark.h: Likewise.
42739         * lib/unictype/pr_radical.h: Likewise.
42740         * lib/unictype/pr_sentence_terminal.h: Likewise.
42741         * lib/unictype/pr_soft_dotted.h: Likewise.
42742         * lib/unictype/pr_space.h: Likewise.
42743         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42744         * lib/unictype/pr_titlecase.h: Likewise.
42745         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42746         * lib/unictype/pr_unified_ideograph.h: Likewise.
42747         * lib/unictype/pr_uppercase.h: Likewise.
42748         * lib/unictype/pr_variation_selector.h: Likewise.
42749         * lib/unictype/pr_white_space.h: Likewise.
42750         * lib/unictype/pr_xid_continue.h: Likewise.
42751         * lib/unictype/pr_xid_start.h: Likewise.
42752         * lib/unictype/pr_zero_width.h: Likewise.
42753         * lib/unictype/scripts.h: Likewise.
42754         * lib/unictype/scripts_byname.gperf: Likewise.
42755         * lib/unictype/sy_c_ident.h: Likewise.
42756         * lib/unictype/sy_c_whitespace.h: Likewise.
42757         * lib/unictype/sy_java_ident.h: Likewise.
42758         * lib/unictype/sy_java_whitespace.h: Likewise.
42759
42760         * lib/unictype/Makefile: New file.
42761         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
42762         glibc.
42763         * lib/unictype/3level.h: New file, copied from glibc.
42764         * lib/unictype/3levelbit.h: New file.
42765
42766 2007-11-11  Bruno Haible  <bruno@clisp.org>
42767
42768         * modules/gperf: New file.
42769         * modules/iconv_open (Depends-on): Add it.
42770         (Makefile.am): Remove the GPERF definition.
42771
42772 2007-11-11  Bruno Haible  <bruno@clisp.org>
42773
42774         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42775         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42776
42777 2007-11-11  Bruno Haible  <bruno@clisp.org>
42778
42779         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42780         (usage): Remove function.
42781
42782 2007-11-11  Bruno Haible  <bruno@clisp.org>
42783
42784         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42785         gl_FUNC_CEILF_LIBS.
42786         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42787         gl_FUNC_CEIL_LIBS.
42788         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42789         gl_FUNC_CEILL_LIBS.
42790         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42791         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42792         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42793
42794 2007-11-11  Bruno Haible  <bruno@clisp.org>
42795
42796         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42797         roundf were declared but do not exist on functions.
42798         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42799         roundl were declared but do not exist on functions.
42800         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42801         HAVE_FLOORL_AND_CEILL, respectively.
42802         Needed for Sun C on Solaris 10.
42803
42804 2007-11-11  Bruno Haible  <bruno@clisp.org>
42805
42806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42807         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42808         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42809         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42810         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42811         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42812         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42813         HAVE_DECL_ROUNDF.
42814         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42815         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42816         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42817         of HAVE_DECL_ROUND*.
42818         * modules/math (Makefile.am): Update.
42819
42820 2007-11-10  Bruno Haible  <bruno@clisp.org>
42821
42822         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42823         ptrdiff_t as m4/intl.m4.
42824
42825 2007-11-10  Jim Meyering  <meyering@redhat.com>
42826
42827         Avoid link failure for the argmatch test.
42828         * tests/test-argmatch.c (usage): Define function to avoid a link
42829         failure: argmatch_die requires a usage function.
42830
42831 2007-11-09  Bruno Haible  <bruno@clisp.org>
42832
42833         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42834         * doc/functions/vsnprintf.texi: Likewise.
42835         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42836         with a size argument < 2.
42837
42838 2007-11-09  Bruno Haible  <bruno@clisp.org>
42839
42840         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42841         buffer. Fixes an inefficiency introduced on 2007-11-03.
42842
42843 2007-11-09  Bruno Haible  <bruno@clisp.org>
42844
42845         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42846         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42847
42848 2007-11-08  Jim Meyering  <meyering@redhat.com>
42849
42850         Change cache variable name prefix "jm_" to "gl_" everywhere.
42851         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42852         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42853         * m4/uptime.m4: s/gl_/jm_/
42854
42855 2007-11-07  Bruno Haible  <bruno@clisp.org>
42856
42857         Update to GNU gettext 0.17.
42858         * m4/intl.m4: Update to GNU gettext 0.17.
42859         * m4/po.m4: Likewise.
42860         * modules/gettext (Files): Remove m4/ulonglong.m4.
42861         (configure.ac): Require gettext infrastructure from version 0.17.
42862
42863 2007-11-06  Bruno Haible  <bruno@clisp.org>
42864
42865         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42866         symbolic values are not defined in a public header.
42867         * lib/freadable.c (freadable) [QNX]: Likewise.
42868         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42869         * lib/freading.c (freading) [QNX]: Likewise.
42870         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42871         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42872         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42873         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42874         Reported by Alain Magloire.
42875
42876         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42877
42878 2007-11-05  Bruno Haible  <bruno@clisp.org>
42879
42880         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42881         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42882         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42883         Reported by Eric Blake.
42884
42885 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42886             Bruno Haible  <bruno@clisp.org>
42887
42888         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42889         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42890         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42891         (malloc): Undefine also before including <stdlib.h>.
42892         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42893         Needed on OSF/1 4.0.
42894
42895 2007-11-05  Jim Meyering  <meyering@redhat.com>
42896
42897         git-version-gen: sync from coreutils.
42898         * build-aux/git-version-gen: Add comments.
42899         Change the first '-' to '.' in the snapshot version string,
42900         e.g., 6.9-377-08144 -> 6.9.377-08144
42901         Remove first parameter.
42902         Don't declare a version "-dirty" merely because a time
42903         stamp has changed.
42904
42905 2007-11-04  Bruno Haible  <bruno@clisp.org>
42906
42907         * lib/lock.h: Protect all macro definitions containing an 'if'
42908         statement through a "do { ... } while (0)".
42909         * lib/tls.h: Likewise.
42910
42911 2007-11-04  Bruno Haible  <bruno@clisp.org>
42912
42913         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42914
42915 2007-11-04  Bruno Haible  <bruno@clisp.org>
42916
42917         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42918         * modules/fprintf-posix (Depends-on): Add nocrash.
42919         * modules/snprintf-posix (Depends-on): Likewise.
42920         * modules/sprintf-posix (Depends-on): Likewise.
42921         * modules/vasnprintf-posix (Depends-on): Likewise.
42922         * modules/vasprintf-posix (Depends-on): Likewise.
42923         * modules/vfprintf-posix (Depends-on): Likewise.
42924         * modules/vsnprintf-posix (Depends-on): Likewise.
42925         * modules/vsprintf-posix (Depends-on): Likewise.
42926         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42927         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42928         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42929         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42930         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42931         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42932         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42933
42934 2007-11-04  Bruno Haible  <bruno@clisp.org>
42935
42936         * modules/nocrash: New file.
42937         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42938         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42939
42940 2007-11-04  Bruno Haible  <bruno@clisp.org>
42941
42942         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42943         precision handling.
42944         * tests/test-vasprintf-posix.c (test_function): Likewise.
42945         * tests/test-snprintf-posix.h (test_function): Likewise.
42946         * tests/test-sprintf-posix.h (test_function): Likewise.
42947
42948         Fix *printf behaviour for large precisions on mingw and BeOS.
42949         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42950         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42951         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42952         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42953         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42954         gl_PRINTF_PRECISION and test its result. Invoke
42955         gl_PREREQ_VASNPRINTF_PRECISION.
42956         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42957         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42958         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42959         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42960         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42961         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42962         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42963         * doc/functions/fprintf.texi: Update.
42964         * doc/functions/printf.texi: Update.
42965         * doc/functions/snprintf.texi: Update.
42966         * doc/functions/sprintf.texi: Update.
42967         * doc/functions/vfprintf.texi: Update.
42968         * doc/functions/vprintf.texi: Update.
42969         * doc/functions/vsnprintf.texi: Update.
42970         * doc/functions/vsprintf.texi: Update.
42971
42972 2007-11-04  Bruno Haible  <bruno@clisp.org>
42973
42974         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42975
42976 2007-11-04  Bruno Haible  <bruno@clisp.org>
42977
42978         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42979         Reported by Sylvain Beucler <beuc@gnu.org>.
42980
42981 2007-11-03  Bruno Haible  <bruno@clisp.org>
42982
42983         * tests/test-fprintf-posix2.sh: New file.
42984         * tests/test-fprintf-posix2.c: New file.
42985         * modules/fprintf-posix-tests (Files): Add them.
42986         (TESTS): Add test-fprintf-posix2.sh.
42987         (configure.ac): Check for getrlimit and setrlimit.
42988         (check_PROGRAMS): Add test-fprintf-posix2.
42989
42990         * tests/test-printf-posix2.sh: New file.
42991         * tests/test-printf-posix2.c: New file.
42992         * modules/printf-posix-tests (Files): Add them.
42993         (TESTS): Add test-printf-posix2.sh.
42994         (configure.ac): Check for getrlimit and setrlimit.
42995         (check_PROGRAMS): Add test-printf-posix2.
42996
42997         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42998         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42999         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
43000         (decode_double): New function, copied from decode_long_double.
43001         (scale10_round_decimal_decoded): New function, extracted from
43002         scale10_round_decimal_long_double.
43003         (scale10_round_decimal_long_double): Use it.
43004         (scale10_round_decimal_double): New function.
43005         (floorlog10): New function.
43006         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
43007         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
43008         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43009         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43010         gl_PRINTF_ENOMEM and test its result. Invoke
43011         gl_PREREQ_VASNPRINTF_ENOMEM.
43012         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43013         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43014         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43015         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43016         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43017         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43018         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43019         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
43020         * modules/snprintf-posix (Depends-on): Likewise.
43021         * modules/sprintf-posix (Depends-on): Likewise.
43022         * modules/vasnprintf-posix (Depends-on): Likewise.
43023         * modules/vasprintf-posix (Depends-on): Likewise.
43024         * modules/vfprintf-posix (Depends-on): Likewise.
43025         * modules/vsnprintf-posix (Depends-on): Likewise.
43026         * modules/vsprintf-posix (Depends-on): Likewise.
43027         * doc/functions/fprintf.texi: Update.
43028         * doc/functions/printf.texi: Update.
43029         * doc/functions/snprintf.texi: Update.
43030         * doc/functions/sprintf.texi: Update.
43031         * doc/functions/vfprintf.texi: Update.
43032         * doc/functions/vprintf.texi: Update.
43033         * doc/functions/vsnprintf.texi: Update.
43034         * doc/functions/vsprintf.texi: Update.
43035
43036 2007-11-03  Bruno Haible  <bruno@clisp.org>
43037
43038         * modules/frexp-nolibm-tests: New file.
43039
43040         * modules/frexp-nolibm: New file.
43041         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
43042
43043 2007-11-03  Bruno Haible  <bruno@clisp.org>
43044
43045         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
43046         value is C99 compliant.
43047         Needed for OSF/1 5.1.
43048
43049 2007-11-03  Bruno Haible  <bruno@clisp.org>
43050
43051         Fix out-of-memory handling of vasnprintf.
43052         * lib/printf-parse.c: Include <errno.h>.
43053         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
43054         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
43055         is already set.
43056
43057 2007-11-02  Eric Blake  <ebb9@byu.net>
43058
43059         Fix tests on cygwin.
43060         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
43061
43062 2007-11-01  Bruno Haible  <bruno@clisp.org>
43063
43064         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
43065         warning.
43066         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
43067         needed for POSIX compatibility.
43068
43069 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
43070
43071         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
43072         for compatibility with GNU.
43073
43074 2007-11-01  Bruno Haible  <bruno@clisp.org>
43075
43076         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
43077         (putenv): Renamed from rpl_putenv. Change argument type from
43078         'const char *' to 'char *'.
43079         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
43080         of defining putenv in config.h, just set REPLACE_PUTENV.
43081         * modules/putenv (Depends-on): Add stdlib.
43082         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43083         (Include): Use <stdlib.h>.
43084         * lib/stdlib.in.h (putenv): New declaration.
43085         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
43086         REPLACE_PUTENV.
43087         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
43088         REPLACE_PUTENV.
43089         Needed for MacOS X 10.5.0.
43090         Reported by Peter O'Gorman <peter@pogma.com>.
43091
43092 2007-11-01  Jim Meyering  <meyering@redhat.com>
43093
43094         Treat an empty date string exactly like "0".
43095         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
43096         if the remaining date string (to be parsed) is empty, use "0".
43097         Reported by Mischa Molhoek and discussed in this thread:
43098         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
43099
43100 2007-10-31  Bruno Haible  <bruno@clisp.org>
43101
43102         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
43103         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
43104         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
43105         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
43106         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
43107         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
43108
43109 2007-10-31  Bruno Haible  <bruno@clisp.org>
43110
43111         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
43112         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
43113         (AC_TYPE_LONG_LONG_INT): Use it.
43114         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
43115         it as well.
43116         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
43117         to m4/longlong.m4.
43118         * modules/stdint (Files): Remove m4/ulonglong.m4.
43119         * modules/strtoull (Files): Use m4/longlong.m4 instead of
43120         m4/ulonglong.m4.
43121         * modules/strtoumax (Files): Likewise.
43122
43123 2007-10-30  Bruno Haible  <bruno@clisp.org>
43124
43125         * modules/xvasprintf-posix: New file.
43126         Suggested by Eric Blake.
43127
43128 2007-10-30  Bruno Haible  <bruno@clisp.org>
43129
43130         * modules/xprintf-posix-tests: New file.
43131         * tests/test-xprintf-posix.sh: New file.
43132         * tests/test-xprintf-posix.c: New file.
43133         * tests/test-xfprintf-posix.c: New file.
43134
43135         * modules/xprintf-posix: New file.
43136
43137 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43138
43139         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
43140         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
43141         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
43142
43143 2007-10-29  Bruno Haible  <bruno@clisp.org>
43144
43145         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
43146         contain the special marker '_cv_'.
43147         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43148         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43149         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43150         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
43151         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43152         Reported by Ralf Wildenhues.
43153
43154 2007-10-29  Bruno Haible  <bruno@clisp.org>
43155
43156         * gnulib-tool (func_import): When --lgpl is not specified, set
43157         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
43158         GPLv3.
43159         Reported by Simon Josefsson.
43160
43161 2007-10-28  Bruno Haible  <bruno@clisp.org>
43162
43163         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
43164         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
43165         HAVE_DECL_ISFINITE.
43166         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43167         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
43168         HAVE_DECL_ISFINITE.
43169
43170 2007-10-28  Bruno Haible  <bruno@clisp.org>
43171
43172         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
43173         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
43174
43175 2007-10-28  Bruno Haible  <bruno@clisp.org>
43176
43177         Fix link errors with Sun C 5.0 on Solaris 10.
43178         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
43179         function is declared but not present in the compiler's libm.
43180         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
43181         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
43182         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
43183         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
43184         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
43185         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
43186         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
43187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43188         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
43189         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
43190         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
43191         HAVE_DECL_FLOORL.
43192
43193 2007-10-28  Bruno Haible  <bruno@clisp.org>
43194
43195         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
43196         gl_FUNC_FLOORL. Cache the result.
43197         (gl_FUNC_FLOORL): Use it.
43198         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
43199         gl_FUNC_CEILL. Cache the result.
43200         (gl_FUNC_CEILL): Use it.
43201
43202         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
43203         gl_FUNC_FLOOR. Cache the result.
43204         (gl_FUNC_FLOOR): Use it.
43205         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
43206         gl_FUNC_CEIL. Cache the result.
43207         (gl_FUNC_CEIL): Use it.
43208
43209         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
43210         gl_FUNC_FLOORF. Cache the result.
43211         (gl_FUNC_FLOORF): Use it.
43212         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
43213         gl_FUNC_CEILF. Cache the result.
43214         (gl_FUNC_CEILF): Use it.
43215
43216 2007-10-28  Bruno Haible  <bruno@clisp.org>
43217
43218         * gnulib-tool: Allow specifying the LGPL version number through
43219         --lgpl=2 or --lgpl=3.
43220         (func_usage): Document --lgpl with argument.
43221         Handle --lgpl=... arguments.
43222         (func_import): Recognize also gl_LGPL calls with an argument. When
43223         --lgpl=2 is used and the module's license is just LGPL, report an
43224         error. Set sed_transform_lib_file according to the lgpl variable. In
43225         the generated files, use --lgpl or gl_LGPL invocations with argument,
43226         if necessary.
43227         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
43228         an LGPv2+ license.
43229         * doc/gnulib-tool.texi (Modified imports): Update explanation of
43230         gl_LGPL macro.
43231
43232 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43233             Bruno Haible  <bruno@clisp.org>
43234
43235         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
43236         (u16_uctomb_aux): Likewise.
43237         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
43238         !HAVE_INLINE.
43239         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
43240
43241 2007-10-28  Bruno Haible  <bruno@clisp.org>
43242
43243         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
43244         Invoke AM_GETTEXT_OPTION if it exists.
43245         * modules/vasprintf: Likewise.
43246         * modules/verror: Likewise.
43247         * modules/xprintf: Likewise.
43248         * modules/xvasprintf: Likewise.
43249
43250 2007-10-27  Ben Pfaff  <blp@gnu.org>
43251
43252         * lib/math.in.h: Define isfinite macro and prototypes for
43253         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
43254         implementations.
43255         * m4/math_h.m4: New substitutions for isfinite module.
43256         * lib/isfinite.c: New file.
43257         * m4/isfinite.m4: New file.
43258         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
43259         * modules/isfinite: New file.
43260         * modules/isfinite-tests: New file.
43261         * tests/tests-isfinite.c: New file.
43262         * doc/functions/isfinite.texi: Mention isfinite module.
43263         * MODULES.html.sh: Mention new module.
43264
43265 2007-10-27  Ben Pfaff  <blp@gnu.org>
43266
43267         Ralf Wildenhues reported that Tru64 4.0D declares the round
43268         functions but does not have definitions.
43269         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
43270         cannot be found in any library, set the output variable to
43271         "missing" instead of "".
43272         * m4/round.m4: Also use our substitute if we cannot find round in
43273         any library, even if it is declared.
43274         * m4/roundf.m4: Likewise for roundf.
43275         * m4/roundl.m4: Likewise for roundl.
43276         * lib/math.in.h: Undefine roundf, round, roundl before defining
43277         their replacements, to allow for hypothetical systems where these
43278         may be defined as macros but not available in libraries.
43279
43280 2007-10-27  Bruno Haible  <bruno@clisp.org>
43281
43282         * doc/gnulib.texi: Invoke @firstparagraphindent.
43283         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
43284         changes in gnulib.
43285         (Source changes): New section.
43286
43287 2007-10-26  Bruno Haible  <bruno@clisp.org>
43288
43289         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
43290         borrowed from autoconf.
43291
43292 2007-10-26  Bruno Haible  <bruno@clisp.org>
43293
43294         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
43295         strerror returned the empty string. Needed on HP-UX 11.00.
43296
43297 2007-10-24  Micah Cowan  <micah@cowan.name>
43298
43299         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
43300         * build-aux/bootstrap: Remove support for now-unnecessary option,
43301         --cvs-user, and envvars CVS_USER, CVS_RSH.
43302
43303 2007-10-24  Jim Meyering  <meyering@redhat.com>
43304
43305         Avoid diagnostics from sha1sum when there is no cached checksum.
43306         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
43307         if the po.s1 file hasn't been created yet.
43308
43309         * build-aux/bootstrap: Sync from coreutils:
43310         2007-10-24  Jim Meyering  <meyering@redhat.com>
43311         Get gnulib from the git repository, not from an obsolete cvs one.
43312         * build-aux/bootstrap: Suggestion from Micah Cowan.
43313         2007-10-04  Jim Meyering  <jim@meyering.net>
43314         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
43315         (update_po_files): Work also when there are no .po files in po/.
43316
43317 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43318
43319         * README: Append ".git" to git and cg examples.
43320         Problem reported by Benoit Sigoure.
43321
43322 2007-10-23  Micah Cowan  <micah@cowan.name>
43323
43324         * users.txt: Add wget.
43325
43326 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43327
43328         Fix linking of some unistdio tests on FreeBSD.
43329         * modules/unistdio/u16-vsnprintf-tests
43330         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
43331         * modules/unistdio/u16-vsprintf-tests
43332         (test_u16_vsnprintf1_LDADD): Likewise.
43333         * modules/unistdio/u32-vsnprintf-tests
43334         (test_u32_vsnprintf1_LDADD): Likewise.
43335         * modules/unistdio/u32-vsprintf-tests
43336         (test_u32_vsprintf1_LDADD): Likewise.
43337         * modules/unistdio/u8-vsnprintf-tests
43338         (test_u8_vsnprintf1_LDADD): Likewise.
43339         * modules/unistdio/u8-vsprintf-tests
43340         (test_u8_vsprintf1_LDADD): Likewise.
43341         * modules/unistdio/ulc-vsnprintf-tests
43342         (test_ulc_vsnprintf1_LDADD): Likewise.
43343         * modules/unistdio/ulc-vsprintf-tests
43344         (test_ulc_vsprintf1_LDADD): Likewise.
43345
43346         Fix linking of some uniconv tests on FreeBSD.
43347         * modules/uniconv/u16-conv-from-enc-tests
43348         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
43349         * modules/uniconv/u16-conv-to-enc-tests
43350         (test_u16_conv_to_enc_LDADD): Likewise.
43351         * modules/uniconv/u16-strconv-from-enc-tests
43352         (test_u16_strconv_from_enc_LDADD): Likewise.
43353         * modules/uniconv/u16-strconv-to-enc-tests
43354         (test_u16_strconv_to_enc_LDADD): Likewise.
43355         * modules/uniconv/u32-conv-from-enc-tests
43356         (test_u32_conv_from_enc_LDADD): Likewise.
43357         * modules/uniconv/u32-conv-to-enc-tests
43358         (test_u32_conv_to_enc_LDADD): Likewise.
43359         * modules/uniconv/u32-strconv-from-enc-tests
43360         (test_u32_strconv_from_enc_LDADD): Likewise.
43361         * modules/uniconv/u32-strconv-to-enc-tests
43362         (test_u32_strconv_to_enc_LDADD): Likewise.
43363         * modules/uniconv/u8-conv-from-enc-tests
43364         (test_u8_conv_from_enc_LDADD): Likewise.
43365         * modules/uniconv/u8-conv-to-enc-tests
43366         (test_u8_conv_to_enc_LDADD): Likewise.
43367         * modules/uniconv/u8-strconv-from-enc-tests
43368         (test_u8_strconv_from_enc_LDADD): Likewise.
43369         * modules/uniconv/u8-strconv-to-enc-tests
43370         (test_u8_strconv_to_enc_LDADD): Likewise.
43371
43372 2007-10-22  Bruno Haible  <bruno@clisp.org>
43373
43374         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
43375         size.
43376
43377 2007-10-22  Eric Blake  <ebb9@byu.net>
43378
43379         Tweak x*printf documentation.
43380         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
43381         variable name and comments.
43382         Suggested by Bruno Haible.
43383
43384 2007-10-22  Bruno Haible  <bruno@clisp.org>
43385
43386         * lib/acl.c (copy_acl): Fix file name in comment.
43387
43388 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43389
43390         Fix Tru64 problem with stdbool.h.
43391         * lib/stdbool.in.h (false, true):
43392         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
43393         Don't declare as an enum in this situation; it runs afoul of Tru64.
43394         Problem reported by Steven M. Schweda in
43395         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
43396
43397 2007-10-22  Eric Blake  <ebb9@byu.net>
43398
43399         Also wrap vf?printf.
43400         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
43401         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
43402         (xvprintf, xvfprintf): New functions.
43403
43404 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43405
43406         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
43407         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
43408
43409         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
43410         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
43411
43412 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
43413
43414         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
43415         by Bruno Haible.
43416
43417 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43418
43419         * lib/getloadavg.c
43420         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
43421         Undef `sys' after including sys/table.h, for Tru64 4.0D.
43422
43423         * tests/test-i-ring.c: Work for C89.
43424
43425 2007-10-22  Bruno Haible  <bruno@clisp.org>
43426
43427         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
43428         -1u, in preprocessor expression, so that we don't test for the bug
43429         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
43430         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
43431
43432 2007-10-22  Eric Blake  <ebb9@byu.net>
43433
43434         * tests/test-yesno.sh: Silence stderr during test.
43435
43436 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43437
43438         * modules/crypto/gc-camellia: New file.
43439
43440         * m4/gc-camellia.m4: New file.
43441
43442         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
43443
43444         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
43445
43446 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43447
43448         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
43449         --help to stdout.  Reported by sms@antinode.org (Steven
43450         M. Schweda).
43451
43452 2007-10-22  Simon Josefsson  <simon@josefsson.org>
43453
43454         * users.txt: Fix link to libksba.
43455
43456 2007-10-21  Ben Pfaff  <blp@gnu.org>
43457
43458         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
43459         round.c roundf implementation that depends on floorf and ceilf to
43460         be tested unconditionally.
43461
43462 2007-10-21  Ben Pfaff  <blp@gnu.org>
43463
43464         * m4/check-libm-func.m4: Removed.
43465         * m4/check-math-lib.m4: New file.
43466         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
43467         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
43468         definition and lack of AC_LIBOBJ([roundf]).
43469         * m4/roundl.m4: Ditto, and similarly for roundl.
43470         * modules/round: Reference new m4 file.
43471         * modules/roundf: Ditto.
43472         * modules/roundl: Ditto.
43473         * tests/test-round2.c (main): Use ROUND instead of round.
43474         Bug report from Bruno Haible.
43475
43476 2007-10-21  Bruno Haible  <bruno@clisp.org>
43477
43478         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
43479         context.
43480
43481 2007-10-21  Bruno Haible  <bruno@clisp.org>
43482
43483         * tests/test-wcwidth.c (main): Allow negative result for some control
43484         characters.
43485
43486         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
43487         Needed on OSF/1 5.1.
43488
43489 2007-10-21  Bruno Haible  <bruno@clisp.org>
43490
43491         * tests/test-floorf1.c: Include isnanf.h.
43492         (main): Use isnanf() instead of isnan().
43493         * tests/test-ceilf1.c: Include isnanf.h.
43494         (main): Use isnanf() instead of isnan().
43495         * tests/test-truncf1.c: Include isnanf.h.
43496         (main): Use isnanf() instead of isnan().
43497         * tests/test-roundf1.c: Include isnanf.h.
43498         (main): Use isnanf() instead of isnan().
43499
43500 2007-10-21  Eric Blake  <ebb9@byu.net>
43501
43502         * users.txt: Update URL for m4.
43503
43504 2007-10-21  Bruno Haible  <bruno@clisp.org>
43505
43506         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
43507
43508 2007-10-21  Bruno Haible  <bruno@clisp.org>
43509
43510         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
43511         Git's management files if the CVS files are not present.
43512
43513 2007-10-20  Bruno Haible  <bruno@clisp.org>
43514
43515         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
43516         gcc-3.4.x.
43517
43518 2007-10-20  Ben Pfaff  <blp@gnu.org>
43519
43520         * lib/math.in.h: Declare round, roundf, roundl if we are providing
43521         implementations.
43522         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
43523         * lib/round.c: New file.
43524         * lib/roundf.c: New file.
43525         * lib/roundl.c: New file.
43526         * m4/round.m4: New file.
43527         * m4/roundf.m4: New file.
43528         * m4/roundl.m4: New file.
43529         * m4/check-libm-func-m4: New file.
43530         * modules/math: Replace round, roundf, roundl related @VARS@ in
43531         math.in.h.
43532         * modules/round: New file.
43533         * modules/round-tests: New file.
43534         * modules/roundf: New file.
43535         * modules/roundf-tests: New file.
43536         * modules/roundl: New file.
43537         * modules/roundl-tests: New file.
43538         * tests/test-round1.c: New file.
43539         * tests/test-round2.c: New file.
43540         * tests/test-roundf1.c: New file.
43541         * tests/test-roundf2.c: New file.
43542         * tests/test-roundl.c: New file.
43543         * doc/functions/round.texi: Mention round module.
43544         * doc/functions/roundf.texi: Mention roundf module.
43545         * doc/functions/roundl.texi: Mention roundl module.
43546         * MODULES.html.sh: Mention new modules.
43547         Thanks to Bruno Haible for suggestions.
43548
43549 2007-10-20  Jim Meyering  <meyering@redhat.com>
43550
43551         * lib/xprintf.c: Include <config.h> unconditionally.
43552
43553         Change xprintf's license to GPL.
43554         * modules/xprintf (License): s/LGPL/GPL/, since this module
43555         depends on modules (exit and exitfail) which are GPL.
43556         Suggestion from Bruno Haible.
43557
43558         xprintf fixes.
43559         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
43560         Use a clearer diagnostic.
43561         Patch from Bruno Haible.
43562
43563 2007-10-20  Bruno Haible  <bruno@clisp.org>
43564
43565         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
43566         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
43567         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43568
43569 2007-10-20  Bruno Haible  <bruno@clisp.org>
43570
43571         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
43572         precision in the comparison result > x - 1 or similar.
43573         * tests/test-ceilf2.c (correct_result_p): Likewise.
43574         * tests/test-truncf2.c (correct_result_p): Likewise.
43575         * tests/test-trunc2.c (correct_result_p): Likewise.
43576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43577
43578 2007-10-20  Bruno Haible  <bruno@clisp.org>
43579
43580         * modules/ceil: New file.
43581         * m4/ceil.m4: New file.
43582         * doc/functions/ceil.texi: Mention the 'ceil' module.
43583
43584 2007-10-20  Bruno Haible  <bruno@clisp.org>
43585
43586         * modules/floor: New file.
43587         * m4/floor.m4: New file.
43588         * doc/functions/floor.texi: Mention the 'floor' module.
43589
43590 2007-10-20  Bruno Haible  <bruno@clisp.org>
43591
43592         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
43593         of %a.
43594         * modules/floorf-tests (Depends-on): Likewise.
43595         * modules/truncf-tests (Depends-on): Likewise.
43596         * modules/trunc-tests (Depends-on): Likewise.
43597         Reported by Ben Pfaff.
43598
43599 2007-10-19  Jim Meyering  <meyering@redhat.com>
43600
43601         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
43602         Don't bother testing specific errno values.  Just test ferror.
43603
43604         New module: xprintf
43605         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
43606
43607 2007-10-19  Bruno Haible  <bruno@clisp.org>
43608
43609         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
43610         syntax.
43611         * modules/javaexec (Makefile.am): Likewise.
43612         * modules/relocatable-prog (Makefile.am): Likewise.
43613         Suggested by Jim Meyering.
43614
43615 2007-10-18  Bruno Haible  <bruno@clisp.org>
43616
43617         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
43618         Reported by Jim Meyering.
43619
43620 2007-10-18  Eric Blake  <ebb9@byu.net>
43621
43622         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
43623
43624 2007-10-18  Bruno Haible  <bruno@clisp.org>
43625
43626         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
43627         the format string into writable memory. Needed in Fortify conditions.
43628
43629 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
43630             Bruno Haible  <bruno@clisp.org>
43631
43632         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
43633         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
43634         * modules/trim (Depends-on): Add mbchar.
43635         (configure.ac): Add gl_FUNC_MBRTOWC.
43636         (Makefile.am): Augment lib_SOURCES.
43637
43638 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
43639
43640         Modify glob.c to use fstatat and dirfd, to simplify it.
43641         Suggested by Eric Blake.
43642         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
43643         Don't include <stdbool.h>; not used.
43644         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
43645         (link_exists_p): Simplify implementation, since we can now assume
43646         dirfd and fstatat.
43647         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
43648
43649 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43650
43651         * gnulib-tool (func_get_dependencies): Fix sed script to
43652         match only tests.
43653
43654 2007-10-17  Bruno Haible  <bruno@clisp.org>
43655
43656         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
43657         allow locale names without encoding suffix.
43658         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43659         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43660
43661 2007-10-16  Bruno Haible  <bruno@clisp.org>
43662
43663         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
43664         * lib/getgroups.c (getgroups): Likewise.
43665         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
43666
43667 2007-10-16  Bruno Haible  <bruno@clisp.org>
43668
43669         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
43670         * modules/malloc-posix (License): Likewise.
43671         * modules/realloc-posix (License): Likewise.
43672         * modules/calloc-posix (License): Likewise.
43673         * modules/intprops (License): Change from GPL to LGPL, with
43674         Paul Eggert's approval.
43675
43676 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43677
43678         Merge glibc changes into lib/glob.c.
43679
43680         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
43681         2007-10-15 04:59:03 UTC.  Here are the changes:
43682
43683         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
43684
43685         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
43686
43687         * lib/glob.c: Add some branch prediction throughout.
43688
43689         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
43690
43691         [BZ #5103]
43692         * lib/glob.c (glob): Recognize patterns starting \/.
43693
43694         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
43695
43696         [BZ #3996]
43697         * lib/glob.c (attribute_hidden): Define if not defined.
43698         (glob): Unescape dirname, filename or username when needed and not
43699         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
43700         is NULL.  Handle unescaped [ in pattern without closing ].
43701         Don't pass GLOB_CHECK down to recursive glob for directories.
43702         (__glob_pattern_type): New function.
43703         (__glob_pattern_p): Implement using __glob_pattern_type.
43704         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
43705         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
43706         Remove unreachable code.
43707
43708         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
43709
43710         * lib/glob.c (glob_in_dir): Add some comments and asserts to
43711         explain why there are no leaks.
43712
43713         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
43714
43715         [BZ #3253]
43716         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
43717         time, rather allocate increasingly bigger arrays of pointers, if
43718         possible with alloca, if too large with malloc.
43719
43720 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
43721
43722         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
43723         Problem reported by H.Merijn Brand in
43724         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
43725         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
43726         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
43727
43728 2007-10-15  Bruno Haible  <bruno@clisp.org>
43729
43730         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
43731         with explicit rpl_ prefix.
43732         * lib/fopen.c (fopen): Likewise.
43733         * lib/freopen.c (freopen): Likewise.
43734         * lib/iconv.c (iconv): Likewise.
43735         * lib/iconv_close.c (iconv_close): Likewise.
43736
43737 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43738
43739         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
43740
43741 2007-10-15  Bruno Haible  <bruno@clisp.org>
43742
43743         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
43744         <stddef.h> instead of <stdlib.h> since we only need NULL.
43745         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43746
43747 2007-10-15  Bruno Haible  <bruno@clisp.org>
43748
43749         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
43750         Replace paragraph talking about LIBOBJS.
43751         Reported by Colin Watson <cjwatson@debian.org>.
43752
43753 2007-10-15  Bruno Haible  <bruno@clisp.org>
43754
43755         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
43756         <stdlib.h> before using NULL.
43757
43758 2007-10-15  Simon Josefsson  <simon@josefsson.org>
43759
43760         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
43761         Reported by Albert Chin <china@thewrittenword.com>.
43762
43763 2007-10-14  Bruno Haible  <bruno@clisp.org>
43764
43765         * modules/iconv_open-utf-tests: New file.
43766         * tests/test-iconv-utf.c: New file.
43767
43768         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43769         * modules/iconv_open-utf: New file.
43770         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43771         (iconv, iconv_close): New declarations.
43772         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43773         be defined.
43774         (iconv_open): Add special handling of conversion between UTF-8 and
43775         UTF-{16,32}{BE,LE}.
43776         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43777         * lib/iconv_close.c: New file.
43778         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43779         gl_FUNC_ICONV_OPEN.
43780         (gl_FUNC_ICONV_OPEN): Use it.
43781         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43782         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43783         and REPLACE_ICONV_UTF.
43784         * modules/iconv_open (Depends-on): Add c-strcase.
43785         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43786         ICONV_CONST.
43787         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43788
43789 2007-10-13  Albert Chin  <china@thewrittenword.com>
43790             Bruno Haible  <bruno@clisp.org>
43791
43792         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43793         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43794
43795 2007-10-13  Bruno Haible  <bruno@clisp.org>
43796
43797         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43798         defined, use the ISO C99 inline semantics.
43799         * lib/argp.h (ARGP_EI): Likewise.
43800
43801 2007-10-13  Bruno Haible  <bruno@clisp.org>
43802
43803         Handle 'inline' change in gcc 4.3.0.
43804         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43805         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43806         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43807         argp_fmtstream_point): Disable 'extern' declaration if the function
43808         definition is going to be provided inline.
43809         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43810         semantics, not the ISO C99 inline semantics.
43811         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43812         'extern' declaration if the function definition is going to be provided
43813         inline.
43814         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43815         the GNU C inline semantics, not the ISO C99 inline semantics. With
43816         GCC 4.2, avoid a warning.
43817
43818 2007-10-13  Bruno Haible  <bruno@clisp.org>
43819
43820         * lib/freading.h (freading): Enable the use of __freading for
43821         glibc >= 2.7.
43822         * lib/freading.c (freading): Likewise.
43823
43824 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43825
43826         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43827         "warning: C99 inline functions are not supported; using GNU89".
43828
43829 2007-10-12  Bruno Haible  <bruno@clisp.org>
43830
43831         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43832         of 2.
43833         * tests/test-ceilf2.c: New file.
43834         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43835
43836         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43837         * modules/ceilf-tests: Update.
43838
43839 2007-10-12  Bruno Haible  <bruno@clisp.org>
43840
43841         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43842         of 2.
43843         * tests/test-floorf2.c: New file.
43844         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43845
43846         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43847         * modules/floorf-tests: Update.
43848
43849 2007-10-12  Bruno Haible  <bruno@clisp.org>
43850
43851         * tests/test-trunc2.c: New file.
43852         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43853
43854         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43855         * modules/trunc-tests: Update.
43856
43857 2007-10-12  Bruno Haible  <bruno@clisp.org>
43858
43859         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43860         of 2.
43861         * tests/test-truncf2.c: New file.
43862         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43863
43864         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43865         * modules/truncf-tests: Update.
43866
43867 2007-10-11  Eric Blake  <ebb9@byu.net>
43868
43869         Don't claim strerror is broken on Interix.
43870         * doc/functions/strerror.texi (strerror): Known broken systems are
43871         now Solaris 8, and not Interix.
43872         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43873         Interix on cross-compile.
43874         Reported by Martin Koeppe in
43875         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43876
43877 2007-10-11  Bruno Haible  <bruno@clisp.org>
43878
43879         * modules/i-ring-tests: New file.
43880         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43881         instead of assert.
43882
43883 2007-10-11  Bruno Haible  <bruno@clisp.org>
43884
43885         * modules/filenamecat-tests: New file.
43886         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43887         * lib/filenamecat.c: Remove test code.
43888
43889 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43890
43891         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43892
43893         * lib/strerror.c: Include <string.h> always, to test interface,
43894         and to remove the need for the dummy.
43895         Include intprops.h to compute width instead of doing it ourselves
43896         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43897         (strerror): Define it to return NULL if there's no system strerror.
43898         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43899         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43900         ancient pre-strerror Unix systems well any more.  Saying "unknown
43901         system error" is enough.
43902         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43903         simpler strerror.c implementation.
43904         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43905         Simplify the tests to reflect the simpler strerror implementation.
43906         * modules/strerror (Depends-on): Add intprops.
43907
43908 2007-10-09  Eric Blake  <ebb9@byu.net>
43909
43910         Silence test-fpending.
43911         * modules/fpending-tests (Files): Add wrapper script.
43912         * tests/test-fpending.sh: New file.
43913
43914 2007-10-09  Bruno Haible  <bruno@clisp.org>
43915
43916         * MODULES.html.sh (func_module): Don't create a hyperlink for
43917         function names like 'printf_frexp'.
43918         (Misc): Add crc, memxor.
43919         (Characteristics of floating types): New section.
43920         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43921         isnanf-nolibm, signbit, trunc, truncf, truncl.
43922         (Enhancements for ISO C 99 functions): New subsection Input/output.
43923         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43924         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43925         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43926         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43927         (Enhancements for POSIX:2001 functions): Add chdir-long.
43928         (File system functions): Add areadlink, chdir-safer, read-file.
43929         Remove cycle-check.
43930         (File system as inode set): New section.
43931         (Date and time): Add gethrxtime.
43932         (Multithreading): Add openmp.
43933         (Internationalization functions): Add localename.
43934         (Unicode string functions): Add unistr/u*-mbsnlen.
43935         (Support for maintaining and releasing projects): Add git-version-gen.
43936         (Lone files): Remove directories.
43937
43938 2007-10-08  Ben Pfaff  <blp@gnu.org>
43939
43940         * lib/xmalloca.h: Fix typo in comment.
43941
43942 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43943
43944         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43945         when avoiding problems with integer overflow.  Use a portable test
43946         instead.
43947
43948 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43949
43950         * modules/dummy (License): Change to LGPLv2+.
43951         * modules/float (License): Likewise
43952         * modules/realloc (License): Likewise
43953         * modules/stdlib (License): Likewise
43954
43955 2007-10-07  Bruno Haible  <bruno@clisp.org>
43956
43957         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43958         * floor.c (TWO_MANT_DIG): Likewise.
43959         * ceil.c (TWO_MANT_DIG): Likewise.
43960         Reported by Ben Pfaff.
43961
43962 2007-10-07  Bruno Haible  <bruno@clisp.org>
43963
43964         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43965         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43966         * lib/frexp.c (FUNC): Likewise.
43967         * lib/printf-frexp.h (printf_frexp): Likewise.
43968         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43969         * lib/printf-frexp.c (FUNC): Likewise.
43970         Suggested by Jim Meyering.
43971
43972 2007-10-07  Jim Meyering  <meyering@redhat.com>
43973
43974         Make xnanosleep's integer overflow test more robust.
43975         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43976         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43977
43978 2007-10-07  Bruno Haible  <bruno@clisp.org>
43979
43980         * NEWS: Mention the license change.
43981
43982         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43983         abbreviations in the modules files.
43984
43985         Change copyright notice from GPLv2+ to GPLv3+.
43986         * README: Change copyright notice.
43987         * MODULES.html.sh: Likewise.
43988         * build-aux/bootstrap.conf: Likewise.
43989         * build-aux/config.libpath: Likewise.
43990         * build-aux/csharpcomp.sh.in: Likewise.
43991         * build-aux/csharpexec.sh.in: Likewise.
43992         * build-aux/install-reloc: Likewise.
43993         * build-aux/javacomp.sh.in: Likewise.
43994         * build-aux/javaexec.sh.in: Likewise.
43995         * build-aux/ldd.sh.in: Likewise.
43996         * build-aux/reloc-ldflags: Likewise.
43997         * build-aux/relocatable.sh.in: Likewise.
43998         * build-aux/x-to-1.in: Likewise.
43999         * check-module: Likewise.
44000         * config/srclistvars.sh: Likewise.
44001         * gnulib-tool: Likewise.
44002         * lib/acl-internal.h: Likewise.
44003         * lib/acl.c: Likewise.
44004         * lib/acl.h: Likewise.
44005         * lib/acl_entries.c: Likewise.
44006         * lib/areadlink-with-size.c: Likewise.
44007         * lib/areadlink.c: Likewise.
44008         * lib/areadlink.h: Likewise.
44009         * lib/argmatch.c: Likewise.
44010         * lib/argmatch.h: Likewise.
44011         * lib/argp-ba.c: Likewise.
44012         * lib/argp-eexst.c: Likewise.
44013         * lib/argp-fmtstream.c: Likewise.
44014         * lib/argp-fmtstream.h: Likewise.
44015         * lib/argp-fs-xinl.c: Likewise.
44016         * lib/argp-help.c: Likewise.
44017         * lib/argp-namefrob.h: Likewise.
44018         * lib/argp-parse.c: Likewise.
44019         * lib/argp-pin.c: Likewise.
44020         * lib/argp-pv.c: Likewise.
44021         * lib/argp-pvh.c: Likewise.
44022         * lib/argp-xinl.c: Likewise.
44023         * lib/argp.h: Likewise.
44024         * lib/at-func.c: Likewise.
44025         * lib/atanl.c: Likewise.
44026         * lib/backupfile.c: Likewise.
44027         * lib/backupfile.h: Likewise.
44028         * lib/basename.c: Likewise.
44029         * lib/binary-io.h: Likewise.
44030         * lib/byteswap.in.h: Likewise.
44031         * lib/c-stack.c: Likewise.
44032         * lib/c-stack.h: Likewise.
44033         * lib/c-strcasestr.c: Likewise.
44034         * lib/c-strcasestr.h: Likewise.
44035         * lib/c-strstr.c: Likewise.
44036         * lib/c-strstr.h: Likewise.
44037         * lib/c-strtod.c: Likewise.
44038         * lib/calloc.c: Likewise.
44039         * lib/canon-host.c: Likewise.
44040         * lib/canon-host.h: Likewise.
44041         * lib/canonicalize-lgpl.c: Likewise.
44042         * lib/canonicalize.c: Likewise.
44043         * lib/canonicalize.h: Likewise.
44044         * lib/ceil.c: Likewise.
44045         * lib/ceilf.c: Likewise.
44046         * lib/ceill.c: Likewise.
44047         * lib/chdir-long.c: Likewise.
44048         * lib/chdir-long.h: Likewise.
44049         * lib/chdir-safer.c: Likewise.
44050         * lib/chdir-safer.h: Likewise.
44051         * lib/chown.c: Likewise.
44052         * lib/classpath.c: Likewise.
44053         * lib/classpath.h: Likewise.
44054         * lib/clean-temp.c: Likewise.
44055         * lib/clean-temp.h: Likewise.
44056         * lib/cloexec.c: Likewise.
44057         * lib/close-stream.c: Likewise.
44058         * lib/closein.c: Likewise.
44059         * lib/closein.h: Likewise.
44060         * lib/closeout.c: Likewise.
44061         * lib/closeout.h: Likewise.
44062         * lib/concat-filename.c: Likewise.
44063         * lib/copy-file.c: Likewise.
44064         * lib/copy-file.h: Likewise.
44065         * lib/count-one-bits.h: Likewise.
44066         * lib/crc.c: Likewise.
44067         * lib/crc.h: Likewise.
44068         * lib/creat-safer.c: Likewise.
44069         * lib/csharpcomp.c: Likewise.
44070         * lib/csharpcomp.h: Likewise.
44071         * lib/csharpexec.c: Likewise.
44072         * lib/csharpexec.h: Likewise.
44073         * lib/cycle-check.c: Likewise.
44074         * lib/cycle-check.h: Likewise.
44075         * lib/diacrit.c: Likewise.
44076         * lib/diacrit.h: Likewise.
44077         * lib/diffseq.h: Likewise.
44078         * lib/dirchownmod.c: Likewise.
44079         * lib/dirent.in.h: Likewise.
44080         * lib/dirfd.c: Likewise.
44081         * lib/dirfd.h: Likewise.
44082         * lib/dirname.c: Likewise.
44083         * lib/dirname.h: Likewise.
44084         * lib/dummy.c: Likewise.
44085         * lib/dup-safer.c: Likewise.
44086         * lib/dup2.c: Likewise.
44087         * lib/eealloc.h: Likewise.
44088         * lib/error.c: Likewise.
44089         * lib/error.h: Likewise.
44090         * lib/euidaccess.c: Likewise.
44091         * lib/exclude.c: Likewise.
44092         * lib/exclude.h: Likewise.
44093         * lib/execute.c: Likewise.
44094         * lib/execute.h: Likewise.
44095         * lib/exitfail.c: Likewise.
44096         * lib/exitfail.h: Likewise.
44097         * lib/expl.c: Likewise.
44098         * lib/fatal-signal.c: Likewise.
44099         * lib/fatal-signal.h: Likewise.
44100         * lib/fbufmode.c: Likewise.
44101         * lib/fbufmode.h: Likewise.
44102         * lib/fchdir.c: Likewise.
44103         * lib/fchmodat.c: Likewise.
44104         * lib/fchownat.c: Likewise.
44105         * lib/fcntl--.h: Likewise.
44106         * lib/fcntl-safer.h: Likewise.
44107         * lib/fcntl.in.h: Likewise.
44108         * lib/fd-safer.c: Likewise.
44109         * lib/fflush.c: Likewise.
44110         * lib/file-has-acl.c: Likewise.
44111         * lib/file-set.c: Likewise.
44112         * lib/file-type.c: Likewise.
44113         * lib/file-type.h: Likewise.
44114         * lib/fileblocks.c: Likewise.
44115         * lib/filemode.c: Likewise.
44116         * lib/filemode.h: Likewise.
44117         * lib/filename.h: Likewise.
44118         * lib/filenamecat.c: Likewise.
44119         * lib/filenamecat.h: Likewise.
44120         * lib/findprog.c: Likewise.
44121         * lib/findprog.h: Likewise.
44122         * lib/float.in.h: Likewise.
44123         * lib/floor.c: Likewise.
44124         * lib/floorf.c: Likewise.
44125         * lib/floorl.c: Likewise.
44126         * lib/fopen-safer.c: Likewise.
44127         * lib/fopen.c: Likewise.
44128         * lib/fpending.c: Likewise.
44129         * lib/fpending.h: Likewise.
44130         * lib/fprintf.c: Likewise.
44131         * lib/fprintftime.h: Likewise.
44132         * lib/fpucw.h: Likewise.
44133         * lib/fpurge.c: Likewise.
44134         * lib/fpurge.h: Likewise.
44135         * lib/freadable.c: Likewise.
44136         * lib/freadable.h: Likewise.
44137         * lib/freadahead.c: Likewise.
44138         * lib/freadahead.h: Likewise.
44139         * lib/freading.c: Likewise.
44140         * lib/freading.h: Likewise.
44141         * lib/free.c: Likewise.
44142         * lib/freopen.c: Likewise.
44143         * lib/frexp.c: Likewise.
44144         * lib/frexpl.c: Likewise.
44145         * lib/fseek.c: Likewise.
44146         * lib/fseterr.c: Likewise.
44147         * lib/fseterr.h: Likewise.
44148         * lib/fstatat.c: Likewise.
44149         * lib/fstrcmp.c: Likewise.
44150         * lib/fstrcmp.h: Likewise.
44151         * lib/fsusage.c: Likewise.
44152         * lib/fsusage.h: Likewise.
44153         * lib/ftell.c: Likewise.
44154         * lib/ftello.c: Likewise.
44155         * lib/fts-cycle.c: Likewise.
44156         * lib/fts.c: Likewise.
44157         * lib/fts_.h: Likewise.
44158         * lib/full-read.c: Likewise.
44159         * lib/full-read.h: Likewise.
44160         * lib/full-write.c: Likewise.
44161         * lib/full-write.h: Likewise.
44162         * lib/fwritable.c: Likewise.
44163         * lib/fwritable.h: Likewise.
44164         * lib/fwriteerror.c: Likewise.
44165         * lib/fwriteerror.h: Likewise.
44166         * lib/fwriting.c: Likewise.
44167         * lib/fwriting.h: Likewise.
44168         * lib/gcd.c: Likewise.
44169         * lib/gcd.h: Likewise.
44170         * lib/getcwd.c: Likewise.
44171         * lib/getdate.h: Likewise.
44172         * lib/getdate.y: Likewise.
44173         * lib/getdomainname.c: Likewise.
44174         * lib/getdomainname.h: Likewise.
44175         * lib/getgroups.c: Likewise.
44176         * lib/gethostname.c: Likewise.
44177         * lib/gethrxtime.c: Likewise.
44178         * lib/gethrxtime.h: Likewise.
44179         * lib/getloadavg.c: Likewise.
44180         * lib/getndelim2.c: Likewise.
44181         * lib/getndelim2.h: Likewise.
44182         * lib/getnline.c: Likewise.
44183         * lib/getnline.h: Likewise.
44184         * lib/getopt.c: Likewise.
44185         * lib/getopt.in.h: Likewise.
44186         * lib/getopt1.c: Likewise.
44187         * lib/getopt_int.h: Likewise.
44188         * lib/getpagesize.h: Likewise.
44189         * lib/getsubopt.c: Likewise.
44190         * lib/gettime.c: Likewise.
44191         * lib/getugroups.c: Likewise.
44192         * lib/getugroups.h: Likewise.
44193         * lib/getusershell.c: Likewise.
44194         * lib/gl_anyavltree_list1.h: Likewise.
44195         * lib/gl_anyavltree_list2.h: Likewise.
44196         * lib/gl_anyhash_list1.h: Likewise.
44197         * lib/gl_anyhash_list2.h: Likewise.
44198         * lib/gl_anylinked_list1.h: Likewise.
44199         * lib/gl_anylinked_list2.h: Likewise.
44200         * lib/gl_anyrbtree_list1.h: Likewise.
44201         * lib/gl_anyrbtree_list2.h: Likewise.
44202         * lib/gl_anytree_list1.h: Likewise.
44203         * lib/gl_anytree_list2.h: Likewise.
44204         * lib/gl_anytree_oset.h: Likewise.
44205         * lib/gl_anytreehash_list1.h: Likewise.
44206         * lib/gl_anytreehash_list2.h: Likewise.
44207         * lib/gl_array_list.c: Likewise.
44208         * lib/gl_array_list.h: Likewise.
44209         * lib/gl_array_oset.c: Likewise.
44210         * lib/gl_array_oset.h: Likewise.
44211         * lib/gl_avltree_list.c: Likewise.
44212         * lib/gl_avltree_list.h: Likewise.
44213         * lib/gl_avltree_oset.c: Likewise.
44214         * lib/gl_avltree_oset.h: Likewise.
44215         * lib/gl_avltreehash_list.c: Likewise.
44216         * lib/gl_avltreehash_list.h: Likewise.
44217         * lib/gl_carray_list.c: Likewise.
44218         * lib/gl_carray_list.h: Likewise.
44219         * lib/gl_linked_list.c: Likewise.
44220         * lib/gl_linked_list.h: Likewise.
44221         * lib/gl_linkedhash_list.c: Likewise.
44222         * lib/gl_linkedhash_list.h: Likewise.
44223         * lib/gl_list.c: Likewise.
44224         * lib/gl_list.h: Likewise.
44225         * lib/gl_oset.c: Likewise.
44226         * lib/gl_oset.h: Likewise.
44227         * lib/gl_rbtree_list.c: Likewise.
44228         * lib/gl_rbtree_list.h: Likewise.
44229         * lib/gl_rbtree_oset.c: Likewise.
44230         * lib/gl_rbtree_oset.h: Likewise.
44231         * lib/gl_rbtreehash_list.c: Likewise.
44232         * lib/gl_rbtreehash_list.h: Likewise.
44233         * lib/gl_sublist.c: Likewise.
44234         * lib/gl_sublist.h: Likewise.
44235         * lib/group-member.c: Likewise.
44236         * lib/group-member.h: Likewise.
44237         * lib/hard-locale.c: Likewise.
44238         * lib/hard-locale.h: Likewise.
44239         * lib/hash-pjw.c: Likewise.
44240         * lib/hash-pjw.h: Likewise.
44241         * lib/hash-triple.c: Likewise.
44242         * lib/hash.c: Likewise.
44243         * lib/hash.h: Likewise.
44244         * lib/human.c: Likewise.
44245         * lib/human.h: Likewise.
44246         * lib/i-ring.c: Likewise.
44247         * lib/i-ring.h: Likewise.
44248         * lib/idcache.c: Likewise.
44249         * lib/imaxabs.c: Likewise.
44250         * lib/imaxdiv.c: Likewise.
44251         * lib/inet_pton.c: Likewise.
44252         * lib/inet_pton.h: Likewise.
44253         * lib/intprops.h: Likewise.
44254         * lib/inttostr.c: Likewise.
44255         * lib/inttostr.h: Likewise.
44256         * lib/inttypes.in.h: Likewise.
44257         * lib/isapipe.c: Likewise.
44258         * lib/isdir.c: Likewise.
44259         * lib/isnan.c: Likewise.
44260         * lib/isnan.h: Likewise.
44261         * lib/isnanf.c: Likewise.
44262         * lib/isnanf.h: Likewise.
44263         * lib/isnanl-nolibm.h: Likewise.
44264         * lib/isnanl.c: Likewise.
44265         * lib/isnanl.h: Likewise.
44266         * lib/javacomp.c: Likewise.
44267         * lib/javacomp.h: Likewise.
44268         * lib/javaexec.c: Likewise.
44269         * lib/javaexec.h: Likewise.
44270         * lib/javaversion.c: Likewise.
44271         * lib/javaversion.h: Likewise.
44272         * lib/javaversion.java: Likewise.
44273         * lib/lbrkprop.h: Likewise.
44274         * lib/lchmod.h: Likewise.
44275         * lib/lchown.c: Likewise.
44276         * lib/ldexpl.c: Likewise.
44277         * lib/linebreak.c: Likewise.
44278         * lib/linebreak.h: Likewise.
44279         * lib/linebuffer.c: Likewise.
44280         * lib/linebuffer.h: Likewise.
44281         * lib/locale.in.h: Likewise.
44282         * lib/logl.c: Likewise.
44283         * lib/long-options.c: Likewise.
44284         * lib/long-options.h: Likewise.
44285         * lib/lstat.c: Likewise.
44286         * lib/lstat.h: Likewise.
44287         * lib/math.in.h: Likewise.
44288         * lib/mbchar.c: Likewise.
44289         * lib/mbchar.h: Likewise.
44290         * lib/mbfile.h: Likewise.
44291         * lib/mbiter.h: Likewise.
44292         * lib/mbscasecmp.c: Likewise.
44293         * lib/mbscasestr.c: Likewise.
44294         * lib/mbschr.c: Likewise.
44295         * lib/mbscspn.c: Likewise.
44296         * lib/mbslen.c: Likewise.
44297         * lib/mbsncasecmp.c: Likewise.
44298         * lib/mbsnlen.c: Likewise.
44299         * lib/mbspbrk.c: Likewise.
44300         * lib/mbspcasecmp.c: Likewise.
44301         * lib/mbsrchr.c: Likewise.
44302         * lib/mbssep.c: Likewise.
44303         * lib/mbsspn.c: Likewise.
44304         * lib/mbsstr.c: Likewise.
44305         * lib/mbstok_r.c: Likewise.
44306         * lib/mbswidth.c: Likewise.
44307         * lib/mbswidth.h: Likewise.
44308         * lib/mbuiter.h: Likewise.
44309         * lib/memcasecmp.c: Likewise.
44310         * lib/memcasecmp.h: Likewise.
44311         * lib/memchr.c: Likewise.
44312         * lib/memcmp.c: Likewise.
44313         * lib/memcoll.c: Likewise.
44314         * lib/memcoll.h: Likewise.
44315         * lib/memcpy.c: Likewise.
44316         * lib/memrchr.c: Likewise.
44317         * lib/mkancesdirs.c: Likewise.
44318         * lib/mkdir-p.c: Likewise.
44319         * lib/mkdir-p.h: Likewise.
44320         * lib/mkdir.c: Likewise.
44321         * lib/mkdirat.c: Likewise.
44322         * lib/mkdtemp.c: Likewise.
44323         * lib/mkstemp-safer.c: Likewise.
44324         * lib/mkstemp.c: Likewise.
44325         * lib/modechange.c: Likewise.
44326         * lib/modechange.h: Likewise.
44327         * lib/mountlist.c: Likewise.
44328         * lib/mountlist.h: Likewise.
44329         * lib/mpsort.c: Likewise.
44330         * lib/nanosleep.c: Likewise.
44331         * lib/obstack.c: Likewise.
44332         * lib/obstack.h: Likewise.
44333         * lib/open-safer.c: Likewise.
44334         * lib/open.c: Likewise.
44335         * lib/openat-die.c: Likewise.
44336         * lib/openat-priv.h: Likewise.
44337         * lib/openat-proc.c: Likewise.
44338         * lib/openat.c: Likewise.
44339         * lib/openat.h: Likewise.
44340         * lib/pagealign_alloc.c: Likewise.
44341         * lib/pagealign_alloc.h: Likewise.
44342         * lib/physmem.c: Likewise.
44343         * lib/physmem.h: Likewise.
44344         * lib/pipe-safer.c: Likewise.
44345         * lib/pipe.c: Likewise.
44346         * lib/pipe.h: Likewise.
44347         * lib/posixtm.c: Likewise.
44348         * lib/posixtm.h: Likewise.
44349         * lib/posixver.c: Likewise.
44350         * lib/printf-frexp.c: Likewise.
44351         * lib/printf-frexp.h: Likewise.
44352         * lib/printf-frexpl.c: Likewise.
44353         * lib/printf-frexpl.h: Likewise.
44354         * lib/printf.c: Likewise.
44355         * lib/progname.c: Likewise.
44356         * lib/progname.h: Likewise.
44357         * lib/progreloc.c: Likewise.
44358         * lib/putenv.c: Likewise.
44359         * lib/quote.c: Likewise.
44360         * lib/quote.h: Likewise.
44361         * lib/quotearg.c: Likewise.
44362         * lib/quotearg.h: Likewise.
44363         * lib/raise.c: Likewise.
44364         * lib/readline.c: Likewise.
44365         * lib/readline.h: Likewise.
44366         * lib/readlink.c: Likewise.
44367         * lib/readtokens.c: Likewise.
44368         * lib/readtokens.h: Likewise.
44369         * lib/readtokens0.c: Likewise.
44370         * lib/readtokens0.h: Likewise.
44371         * lib/readutmp.c: Likewise.
44372         * lib/readutmp.h: Likewise.
44373         * lib/realloc.c: Likewise.
44374         * lib/relocwrapper.c: Likewise.
44375         * lib/rename-dest-slash.c: Likewise.
44376         * lib/rename.c: Likewise.
44377         * lib/rmdir.c: Likewise.
44378         * lib/rpmatch.c: Likewise.
44379         * lib/safe-read.c: Likewise.
44380         * lib/safe-read.h: Likewise.
44381         * lib/safe-write.c: Likewise.
44382         * lib/safe-write.h: Likewise.
44383         * lib/same-inode.h: Likewise.
44384         * lib/same.c: Likewise.
44385         * lib/same.h: Likewise.
44386         * lib/save-cwd.c: Likewise.
44387         * lib/save-cwd.h: Likewise.
44388         * lib/savedir.c: Likewise.
44389         * lib/savedir.h: Likewise.
44390         * lib/savewd.c: Likewise.
44391         * lib/savewd.h: Likewise.
44392         * lib/search.in.h: Likewise.
44393         * lib/setenv.c: Likewise.
44394         * lib/setenv.h: Likewise.
44395         * lib/settime.c: Likewise.
44396         * lib/sh-quote.c: Likewise.
44397         * lib/sh-quote.h: Likewise.
44398         * lib/sig2str.c: Likewise.
44399         * lib/sig2str.h: Likewise.
44400         * lib/signal.in.h: Likewise.
44401         * lib/signbitd.c: Likewise.
44402         * lib/signbitf.c: Likewise.
44403         * lib/signbitl.c: Likewise.
44404         * lib/sigprocmask.c: Likewise.
44405         * lib/sincosl.c: Likewise.
44406         * lib/sleep.c: Likewise.
44407         * lib/sprintf.c: Likewise.
44408         * lib/sqrtl.c: Likewise.
44409         * lib/stat-time.h: Likewise.
44410         * lib/stdio--.h: Likewise.
44411         * lib/stdio-safer.h: Likewise.
44412         * lib/stdlib--.h: Likewise.
44413         * lib/stdlib-safer.h: Likewise.
44414         * lib/stdlib.in.h: Likewise.
44415         * lib/stpcpy.c: Likewise.
44416         * lib/stpncpy.c: Likewise.
44417         * lib/strchrnul.c: Likewise.
44418         * lib/strcspn.c: Likewise.
44419         * lib/strerror.c: Likewise.
44420         * lib/strftime.c: Likewise.
44421         * lib/strftime.h: Likewise.
44422         * lib/striconveh.c: Likewise.
44423         * lib/striconveh.h: Likewise.
44424         * lib/striconveha.c: Likewise.
44425         * lib/striconveha.h: Likewise.
44426         * lib/stripslash.c: Likewise.
44427         * lib/strnlen1.c: Likewise.
44428         * lib/strnlen1.h: Likewise.
44429         * lib/strtod.c: Likewise.
44430         * lib/strtoimax.c: Likewise.
44431         * lib/strtok_r.c: Likewise.
44432         * lib/strtol.c: Likewise.
44433         * lib/strtoll.c: Likewise.
44434         * lib/strtoul.c: Likewise.
44435         * lib/strtoull.c: Likewise.
44436         * lib/sysexits.in.h: Likewise.
44437         * lib/tempname.c: Likewise.
44438         * lib/tempname.h: Likewise.
44439         * lib/timespec.h: Likewise.
44440         * lib/tls.c: Likewise.
44441         * lib/tls.h: Likewise.
44442         * lib/tmpdir.c: Likewise.
44443         * lib/tmpdir.h: Likewise.
44444         * lib/tmpfile-safer.c: Likewise.
44445         * lib/tmpfile.c: Likewise.
44446         * lib/trigl.c: Likewise.
44447         * lib/trigl.h: Likewise.
44448         * lib/trim.c: Likewise.
44449         * lib/trim.h: Likewise.
44450         * lib/trunc.c: Likewise.
44451         * lib/truncf.c: Likewise.
44452         * lib/truncl.c: Likewise.
44453         * lib/tsearch.c: Likewise.
44454         * lib/unicodeio.c: Likewise.
44455         * lib/unicodeio.h: Likewise.
44456         * lib/unistd--.h: Likewise.
44457         * lib/unistd-safer.h: Likewise.
44458         * lib/unistdio/ulc-fprintf.c: Likewise.
44459         * lib/unistdio/ulc-vfprintf.c: Likewise.
44460         * lib/unlinkdir.c: Likewise.
44461         * lib/unlinkdir.h: Likewise.
44462         * lib/unlocked-io.h: Likewise.
44463         * lib/unsetenv.c: Likewise.
44464         * lib/userspec.c: Likewise.
44465         * lib/utime.c: Likewise.
44466         * lib/utimecmp.c: Likewise.
44467         * lib/utimecmp.h: Likewise.
44468         * lib/utimens.c: Likewise.
44469         * lib/verify.h: Likewise.
44470         * lib/verror.c: Likewise.
44471         * lib/verror.h: Likewise.
44472         * lib/version-etc-fsf.c: Likewise.
44473         * lib/version-etc.c: Likewise.
44474         * lib/version-etc.h: Likewise.
44475         * lib/vfprintf.c: Likewise.
44476         * lib/vprintf.c: Likewise.
44477         * lib/vsprintf.c: Likewise.
44478         * lib/w32spawn.h: Likewise.
44479         * lib/wait-process.c: Likewise.
44480         * lib/wait-process.h: Likewise.
44481         * lib/wcwidth.c: Likewise.
44482         * lib/write-any-file.c: Likewise.
44483         * lib/xalloc-die.c: Likewise.
44484         * lib/xalloc.h: Likewise.
44485         * lib/xasprintf.c: Likewise.
44486         * lib/xgetcwd.c: Likewise.
44487         * lib/xgetcwd.h: Likewise.
44488         * lib/xgetdomainname.c: Likewise.
44489         * lib/xgetdomainname.h: Likewise.
44490         * lib/xgethostname.c: Likewise.
44491         * lib/xmalloc.c: Likewise.
44492         * lib/xmalloca.c: Likewise.
44493         * lib/xmalloca.h: Likewise.
44494         * lib/xmemcoll.c: Likewise.
44495         * lib/xnanosleep.c: Likewise.
44496         * lib/xreadlink.c: Likewise.
44497         * lib/xreadlink.h: Likewise.
44498         * lib/xsetenv.c: Likewise.
44499         * lib/xsetenv.h: Likewise.
44500         * lib/xstriconv.c: Likewise.
44501         * lib/xstriconv.h: Likewise.
44502         * lib/xstrndup.c: Likewise.
44503         * lib/xstrndup.h: Likewise.
44504         * lib/xstrtod.c: Likewise.
44505         * lib/xstrtod.h: Likewise.
44506         * lib/xstrtol-error.c: Likewise.
44507         * lib/xstrtol.c: Likewise.
44508         * lib/xstrtol.h: Likewise.
44509         * lib/xtime.h: Likewise.
44510         * lib/xvasprintf.c: Likewise.
44511         * lib/xvasprintf.h: Likewise.
44512         * lib/yesno.c: Likewise.
44513         * lib/yesno.h: Likewise.
44514         * posix-modules: Likewise.
44515         * tests/test-alloca-opt.c: Likewise.
44516         * tests/test-arcfour.c: Likewise.
44517         * tests/test-arctwo.c: Likewise.
44518         * tests/test-argmatch.c: Likewise.
44519         * tests/test-argp-2.sh: Likewise.
44520         * tests/test-argp.c: Likewise.
44521         * tests/test-arpa_inet.c: Likewise.
44522         * tests/test-array_list.c: Likewise.
44523         * tests/test-array_oset.c: Likewise.
44524         * tests/test-atexit.c: Likewise.
44525         * tests/test-avltree_list.c: Likewise.
44526         * tests/test-avltree_oset.c: Likewise.
44527         * tests/test-avltreehash_list.c: Likewise.
44528         * tests/test-base64.c: Likewise.
44529         * tests/test-binary-io.c: Likewise.
44530         * tests/test-byteswap.c: Likewise.
44531         * tests/test-c-ctype.c: Likewise.
44532         * tests/test-c-strcasecmp.c: Likewise.
44533         * tests/test-c-strcasestr.c: Likewise.
44534         * tests/test-c-strncasecmp.c: Likewise.
44535         * tests/test-c-strstr.c: Likewise.
44536         * tests/test-canonicalize-lgpl.c: Likewise.
44537         * tests/test-canonicalize.c: Likewise.
44538         * tests/test-carray_list.c: Likewise.
44539         * tests/test-ceilf.c: Likewise.
44540         * tests/test-ceill.c: Likewise.
44541         * tests/test-count-one-bits.c: Likewise.
44542         * tests/test-crc.c: Likewise.
44543         * tests/test-dirname.c: Likewise.
44544         * tests/test-fbufmode.c: Likewise.
44545         * tests/test-fcntl.c: Likewise.
44546         * tests/test-fflush.c: Likewise.
44547         * tests/test-floorf.c: Likewise.
44548         * tests/test-floorl.c: Likewise.
44549         * tests/test-fopen.c: Likewise.
44550         * tests/test-fprintf-posix.c: Likewise.
44551         * tests/test-fprintf-posix.h: Likewise.
44552         * tests/test-fpurge.c: Likewise.
44553         * tests/test-freadable.c: Likewise.
44554         * tests/test-freadahead.c: Likewise.
44555         * tests/test-freading.c: Likewise.
44556         * tests/test-freopen.c: Likewise.
44557         * tests/test-frexp.c: Likewise.
44558         * tests/test-frexpl.c: Likewise.
44559         * tests/test-fseek.c: Likewise.
44560         * tests/test-fseeko.c: Likewise.
44561         * tests/test-fseterr.c: Likewise.
44562         * tests/test-fstrcmp.c: Likewise.
44563         * tests/test-ftell.c: Likewise.
44564         * tests/test-ftello.c: Likewise.
44565         * tests/test-fwritable.c: Likewise.
44566         * tests/test-fwriting.c: Likewise.
44567         * tests/test-getaddrinfo.c: Likewise.
44568         * tests/test-getpass.c: Likewise.
44569         * tests/test-gettimeofday.c: Likewise.
44570         * tests/test-hmac-md5.c: Likewise.
44571         * tests/test-hmac-sha1.c: Likewise.
44572         * tests/test-iconv.c: Likewise.
44573         * tests/test-iconvme.c: Likewise.
44574         * tests/test-inttypes.c: Likewise.
44575         * tests/test-isnan.c: Likewise.
44576         * tests/test-isnanf.c: Likewise.
44577         * tests/test-isnanl-nolibm.c: Likewise.
44578         * tests/test-isnanl.c: Likewise.
44579         * tests/test-isnanl.h: Likewise.
44580         * tests/test-ldexpl.c: Likewise.
44581         * tests/test-linked_list.c: Likewise.
44582         * tests/test-linkedhash_list.c: Likewise.
44583         * tests/test-locale.c: Likewise.
44584         * tests/test-localename.c: Likewise.
44585         * tests/test-lock.c: Likewise.
44586         * tests/test-lseek.c: Likewise.
44587         * tests/test-malloca.c: Likewise.
44588         * tests/test-math.c: Likewise.
44589         * tests/test-mbscasecmp.c: Likewise.
44590         * tests/test-mbscasestr1.c: Likewise.
44591         * tests/test-mbscasestr2.c: Likewise.
44592         * tests/test-mbscasestr3.c: Likewise.
44593         * tests/test-mbscasestr4.c: Likewise.
44594         * tests/test-mbschr.c: Likewise.
44595         * tests/test-mbscspn.c: Likewise.
44596         * tests/test-mbsncasecmp.c: Likewise.
44597         * tests/test-mbspbrk.c: Likewise.
44598         * tests/test-mbspcasecmp.c: Likewise.
44599         * tests/test-mbsrchr.c: Likewise.
44600         * tests/test-mbsspn.c: Likewise.
44601         * tests/test-mbsstr1.c: Likewise.
44602         * tests/test-mbsstr2.c: Likewise.
44603         * tests/test-mbsstr3.c: Likewise.
44604         * tests/test-md5.c: Likewise.
44605         * tests/test-memmem.c: Likewise.
44606         * tests/test-netinet_in.c: Likewise.
44607         * tests/test-open.c: Likewise.
44608         * tests/test-printf-frexp.c: Likewise.
44609         * tests/test-printf-frexpl.c: Likewise.
44610         * tests/test-printf-posix.c: Likewise.
44611         * tests/test-printf-posix.h: Likewise.
44612         * tests/test-rbtree_list.c: Likewise.
44613         * tests/test-rbtree_oset.c: Likewise.
44614         * tests/test-rbtreehash_list.c: Likewise.
44615         * tests/test-read-file.c: Likewise.
44616         * tests/test-rijndael.c: Likewise.
44617         * tests/test-search.c: Likewise.
44618         * tests/test-signbit.c: Likewise.
44619         * tests/test-sleep.c: Likewise.
44620         * tests/test-snprintf-posix.c: Likewise.
44621         * tests/test-snprintf-posix.h: Likewise.
44622         * tests/test-snprintf.c: Likewise.
44623         * tests/test-sprintf-posix.c: Likewise.
44624         * tests/test-sprintf-posix.h: Likewise.
44625         * tests/test-stat-time.c: Likewise.
44626         * tests/test-stdbool.c: Likewise.
44627         * tests/test-stdint.c: Likewise.
44628         * tests/test-stdio.c: Likewise.
44629         * tests/test-stdlib.c: Likewise.
44630         * tests/test-stpncpy.c: Likewise.
44631         * tests/test-strcasestr.c: Likewise.
44632         * tests/test-striconv.c: Likewise.
44633         * tests/test-striconveh.c: Likewise.
44634         * tests/test-striconveha.c: Likewise.
44635         * tests/test-string.c: Likewise.
44636         * tests/test-sys_select.c: Likewise.
44637         * tests/test-sys_socket.c: Likewise.
44638         * tests/test-sys_stat.c: Likewise.
44639         * tests/test-sys_time.c: Likewise.
44640         * tests/test-sysexits.c: Likewise.
44641         * tests/test-time.c: Likewise.
44642         * tests/test-tls.c: Likewise.
44643         * tests/test-trunc.c: Likewise.
44644         * tests/test-truncf.c: Likewise.
44645         * tests/test-truncl.c: Likewise.
44646         * tests/test-unistd.c: Likewise.
44647         * tests/test-vasnprintf-posix.c: Likewise.
44648         * tests/test-vasnprintf-posix2.c: Likewise.
44649         * tests/test-vasnprintf.c: Likewise.
44650         * tests/test-vasprintf-posix.c: Likewise.
44651         * tests/test-vasprintf.c: Likewise.
44652         * tests/test-verify.c: Likewise.
44653         * tests/test-vfprintf-posix.c: Likewise.
44654         * tests/test-vprintf-posix.c: Likewise.
44655         * tests/test-vsnprintf-posix.c: Likewise.
44656         * tests/test-vsnprintf.c: Likewise.
44657         * tests/test-vsprintf-posix.c: Likewise.
44658         * tests/test-wchar.c: Likewise.
44659         * tests/test-wctype.c: Likewise.
44660         * tests/test-wcwidth.c: Likewise.
44661         * tests/test-xstrtol.c: Likewise.
44662         * tests/test-xvasprintf.c: Likewise.
44663         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
44664         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
44665         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
44666         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
44667         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
44668         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
44669         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
44670         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
44671         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
44672         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
44673         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
44674         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
44675         * tests/uniname/test-uninames.c: Likewise.
44676         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
44677         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
44678         * tests/unistdio/test-u16-printf1.h: Likewise.
44679         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
44680         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
44681         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
44682         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
44683         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
44684         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
44685         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
44686         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
44687         * tests/unistdio/test-u32-printf1.h: Likewise.
44688         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
44689         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
44690         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
44691         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
44692         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
44693         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
44694         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
44695         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
44696         * tests/unistdio/test-u8-printf1.h: Likewise.
44697         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
44698         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
44699         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
44700         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
44701         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
44702         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
44703         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
44704         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
44705         * tests/unistdio/test-ulc-printf1.h: Likewise.
44706         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
44707         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
44708         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
44709         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
44710         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
44711         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
44712         * tests/uniwidth/test-u16-strwidth.c: Likewise.
44713         * tests/uniwidth/test-u16-width.c: Likewise.
44714         * tests/uniwidth/test-u32-strwidth.c: Likewise.
44715         * tests/uniwidth/test-u32-width.c: Likewise.
44716         * tests/uniwidth/test-u8-strwidth.c: Likewise.
44717         * tests/uniwidth/test-u8-width.c: Likewise.
44718         * tests/uniwidth/test-uc_width.c: Likewise.
44719         * config/srclist-update: Likewise.
44720         (fixlicense): Update to GPLv3+.
44721
44722         Change copyright notice from LGPLv2.1+ to LGPLv3+.
44723         * tests/test-tsearch.c: Change copyright notice.
44724
44725         Change copyright notice from LGPLv2.0+ to LGPLv3+.
44726         * lib/c-strcaseeq.h: Change copyright notice.
44727         * lib/streq.h: Likewise.
44728         * lib/uniconv.h: Likewise.
44729         * lib/uniconv/u-conv-from-enc.h: Likewise.
44730         * lib/uniconv/u-conv-to-enc.h: Likewise.
44731         * lib/uniconv/u-strconv-from-enc.h: Likewise.
44732         * lib/uniconv/u-strconv-to-enc.h: Likewise.
44733         * lib/uniconv/u16-conv-from-enc.c: Likewise.
44734         * lib/uniconv/u16-conv-to-enc.c: Likewise.
44735         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
44736         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
44737         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
44738         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
44739         * lib/uniconv/u32-conv-from-enc.c: Likewise.
44740         * lib/uniconv/u32-conv-to-enc.c: Likewise.
44741         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
44742         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
44743         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
44744         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
44745         * lib/uniconv/u8-conv-from-enc.c: Likewise.
44746         * lib/uniconv/u8-conv-to-enc.c: Likewise.
44747         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
44748         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
44749         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
44750         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
44751         * lib/uniname.h: Likewise.
44752         * lib/uniname/uniname.c: Likewise.
44753         * lib/unistdio.h: Likewise.
44754         * lib/unistdio/u-asnprintf.h: Likewise.
44755         * lib/unistdio/u-asprintf.h: Likewise.
44756         * lib/unistdio/u-printf-args.c: Likewise.
44757         * lib/unistdio/u-printf-args.h: Likewise.
44758         * lib/unistdio/u-printf-parse.h: Likewise.
44759         * lib/unistdio/u-snprintf.h: Likewise.
44760         * lib/unistdio/u-sprintf.h: Likewise.
44761         * lib/unistdio/u-vasprintf.h: Likewise.
44762         * lib/unistdio/u-vsnprintf.h: Likewise.
44763         * lib/unistdio/u-vsprintf.h: Likewise.
44764         * lib/unistdio/u16-asnprintf.c: Likewise.
44765         * lib/unistdio/u16-asprintf.c: Likewise.
44766         * lib/unistdio/u16-printf-parse.c: Likewise.
44767         * lib/unistdio/u16-snprintf.c: Likewise.
44768         * lib/unistdio/u16-sprintf.c: Likewise.
44769         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44770         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44771         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44772         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44773         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44774         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44775         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44776         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44777         * lib/unistdio/u16-vasnprintf.c: Likewise.
44778         * lib/unistdio/u16-vasprintf.c: Likewise.
44779         * lib/unistdio/u16-vsnprintf.c: Likewise.
44780         * lib/unistdio/u16-vsprintf.c: Likewise.
44781         * lib/unistdio/u32-asnprintf.c: Likewise.
44782         * lib/unistdio/u32-asprintf.c: Likewise.
44783         * lib/unistdio/u32-printf-parse.c: Likewise.
44784         * lib/unistdio/u32-snprintf.c: Likewise.
44785         * lib/unistdio/u32-sprintf.c: Likewise.
44786         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44787         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44788         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44789         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44790         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44791         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44792         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44793         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44794         * lib/unistdio/u32-vasnprintf.c: Likewise.
44795         * lib/unistdio/u32-vasprintf.c: Likewise.
44796         * lib/unistdio/u32-vsnprintf.c: Likewise.
44797         * lib/unistdio/u32-vsprintf.c: Likewise.
44798         * lib/unistdio/u8-asnprintf.c: Likewise.
44799         * lib/unistdio/u8-asprintf.c: Likewise.
44800         * lib/unistdio/u8-printf-parse.c: Likewise.
44801         * lib/unistdio/u8-snprintf.c: Likewise.
44802         * lib/unistdio/u8-sprintf.c: Likewise.
44803         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44804         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44805         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44806         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44807         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44808         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44809         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44810         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44811         * lib/unistdio/u8-vasnprintf.c: Likewise.
44812         * lib/unistdio/u8-vasprintf.c: Likewise.
44813         * lib/unistdio/u8-vsnprintf.c: Likewise.
44814         * lib/unistdio/u8-vsprintf.c: Likewise.
44815         * lib/unistdio/ulc-asnprintf.c: Likewise.
44816         * lib/unistdio/ulc-asprintf.c: Likewise.
44817         * lib/unistdio/ulc-printf-parse.c: Likewise.
44818         * lib/unistdio/ulc-snprintf.c: Likewise.
44819         * lib/unistdio/ulc-sprintf.c: Likewise.
44820         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44821         * lib/unistdio/ulc-vasprintf.c: Likewise.
44822         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44823         * lib/unistdio/ulc-vsprintf.c: Likewise.
44824         * lib/unistr.h: Likewise.
44825         * lib/unistr/u-cpy-alloc.h: Likewise.
44826         * lib/unistr/u-cpy.h: Likewise.
44827         * lib/unistr/u-endswith.h: Likewise.
44828         * lib/unistr/u-move.h: Likewise.
44829         * lib/unistr/u-set.h: Likewise.
44830         * lib/unistr/u-startswith.h: Likewise.
44831         * lib/unistr/u-stpcpy.h: Likewise.
44832         * lib/unistr/u-stpncpy.h: Likewise.
44833         * lib/unistr/u-strcat.h: Likewise.
44834         * lib/unistr/u-strcpy.h: Likewise.
44835         * lib/unistr/u-strcspn.h: Likewise.
44836         * lib/unistr/u-strdup.h: Likewise.
44837         * lib/unistr/u-strlen.h: Likewise.
44838         * lib/unistr/u-strncat.h: Likewise.
44839         * lib/unistr/u-strncpy.h: Likewise.
44840         * lib/unistr/u-strnlen.h: Likewise.
44841         * lib/unistr/u-strpbrk.h: Likewise.
44842         * lib/unistr/u-strspn.h: Likewise.
44843         * lib/unistr/u-strstr.h: Likewise.
44844         * lib/unistr/u-strtok.h: Likewise.
44845         * lib/unistr/u16-check.c: Likewise.
44846         * lib/unistr/u16-chr.c: Likewise.
44847         * lib/unistr/u16-cmp.c: Likewise.
44848         * lib/unistr/u16-cpy-alloc.c: Likewise.
44849         * lib/unistr/u16-cpy.c: Likewise.
44850         * lib/unistr/u16-endswith.c: Likewise.
44851         * lib/unistr/u16-mblen.c: Likewise.
44852         * lib/unistr/u16-mbsnlen.c: Likewise.
44853         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44854         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44855         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44856         * lib/unistr/u16-mbtouc.c: Likewise.
44857         * lib/unistr/u16-mbtoucr.c: Likewise.
44858         * lib/unistr/u16-move.c: Likewise.
44859         * lib/unistr/u16-next.c: Likewise.
44860         * lib/unistr/u16-prev.c: Likewise.
44861         * lib/unistr/u16-set.c: Likewise.
44862         * lib/unistr/u16-startswith.c: Likewise.
44863         * lib/unistr/u16-stpcpy.c: Likewise.
44864         * lib/unistr/u16-stpncpy.c: Likewise.
44865         * lib/unistr/u16-strcat.c: Likewise.
44866         * lib/unistr/u16-strchr.c: Likewise.
44867         * lib/unistr/u16-strcmp.c: Likewise.
44868         * lib/unistr/u16-strcpy.c: Likewise.
44869         * lib/unistr/u16-strcspn.c: Likewise.
44870         * lib/unistr/u16-strdup.c: Likewise.
44871         * lib/unistr/u16-strlen.c: Likewise.
44872         * lib/unistr/u16-strmblen.c: Likewise.
44873         * lib/unistr/u16-strmbtouc.c: Likewise.
44874         * lib/unistr/u16-strncat.c: Likewise.
44875         * lib/unistr/u16-strncmp.c: Likewise.
44876         * lib/unistr/u16-strncpy.c: Likewise.
44877         * lib/unistr/u16-strnlen.c: Likewise.
44878         * lib/unistr/u16-strpbrk.c: Likewise.
44879         * lib/unistr/u16-strrchr.c: Likewise.
44880         * lib/unistr/u16-strspn.c: Likewise.
44881         * lib/unistr/u16-strstr.c: Likewise.
44882         * lib/unistr/u16-strtok.c: Likewise.
44883         * lib/unistr/u16-to-u32.c: Likewise.
44884         * lib/unistr/u16-to-u8.c: Likewise.
44885         * lib/unistr/u16-uctomb-aux.c: Likewise.
44886         * lib/unistr/u16-uctomb.c: Likewise.
44887         * lib/unistr/u32-check.c: Likewise.
44888         * lib/unistr/u32-chr.c: Likewise.
44889         * lib/unistr/u32-cmp.c: Likewise.
44890         * lib/unistr/u32-cpy-alloc.c: Likewise.
44891         * lib/unistr/u32-cpy.c: Likewise.
44892         * lib/unistr/u32-endswith.c: Likewise.
44893         * lib/unistr/u32-mblen.c: Likewise.
44894         * lib/unistr/u32-mbsnlen.c: Likewise.
44895         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44896         * lib/unistr/u32-mbtouc.c: Likewise.
44897         * lib/unistr/u32-mbtoucr.c: Likewise.
44898         * lib/unistr/u32-move.c: Likewise.
44899         * lib/unistr/u32-next.c: Likewise.
44900         * lib/unistr/u32-prev.c: Likewise.
44901         * lib/unistr/u32-set.c: Likewise.
44902         * lib/unistr/u32-startswith.c: Likewise.
44903         * lib/unistr/u32-stpcpy.c: Likewise.
44904         * lib/unistr/u32-stpncpy.c: Likewise.
44905         * lib/unistr/u32-strcat.c: Likewise.
44906         * lib/unistr/u32-strchr.c: Likewise.
44907         * lib/unistr/u32-strcmp.c: Likewise.
44908         * lib/unistr/u32-strcpy.c: Likewise.
44909         * lib/unistr/u32-strcspn.c: Likewise.
44910         * lib/unistr/u32-strdup.c: Likewise.
44911         * lib/unistr/u32-strlen.c: Likewise.
44912         * lib/unistr/u32-strmblen.c: Likewise.
44913         * lib/unistr/u32-strmbtouc.c: Likewise.
44914         * lib/unistr/u32-strncat.c: Likewise.
44915         * lib/unistr/u32-strncmp.c: Likewise.
44916         * lib/unistr/u32-strncpy.c: Likewise.
44917         * lib/unistr/u32-strnlen.c: Likewise.
44918         * lib/unistr/u32-strpbrk.c: Likewise.
44919         * lib/unistr/u32-strrchr.c: Likewise.
44920         * lib/unistr/u32-strspn.c: Likewise.
44921         * lib/unistr/u32-strstr.c: Likewise.
44922         * lib/unistr/u32-strtok.c: Likewise.
44923         * lib/unistr/u32-to-u16.c: Likewise.
44924         * lib/unistr/u32-to-u8.c: Likewise.
44925         * lib/unistr/u32-uctomb.c: Likewise.
44926         * lib/unistr/u8-check.c: Likewise.
44927         * lib/unistr/u8-chr.c: Likewise.
44928         * lib/unistr/u8-cmp.c: Likewise.
44929         * lib/unistr/u8-cpy-alloc.c: Likewise.
44930         * lib/unistr/u8-cpy.c: Likewise.
44931         * lib/unistr/u8-endswith.c: Likewise.
44932         * lib/unistr/u8-mblen.c: Likewise.
44933         * lib/unistr/u8-mbsnlen.c: Likewise.
44934         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44935         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44936         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44937         * lib/unistr/u8-mbtouc.c: Likewise.
44938         * lib/unistr/u8-mbtoucr.c: Likewise.
44939         * lib/unistr/u8-move.c: Likewise.
44940         * lib/unistr/u8-next.c: Likewise.
44941         * lib/unistr/u8-prev.c: Likewise.
44942         * lib/unistr/u8-set.c: Likewise.
44943         * lib/unistr/u8-startswith.c: Likewise.
44944         * lib/unistr/u8-stpcpy.c: Likewise.
44945         * lib/unistr/u8-stpncpy.c: Likewise.
44946         * lib/unistr/u8-strcat.c: Likewise.
44947         * lib/unistr/u8-strchr.c: Likewise.
44948         * lib/unistr/u8-strcmp.c: Likewise.
44949         * lib/unistr/u8-strcpy.c: Likewise.
44950         * lib/unistr/u8-strcspn.c: Likewise.
44951         * lib/unistr/u8-strdup.c: Likewise.
44952         * lib/unistr/u8-strlen.c: Likewise.
44953         * lib/unistr/u8-strmblen.c: Likewise.
44954         * lib/unistr/u8-strmbtouc.c: Likewise.
44955         * lib/unistr/u8-strncat.c: Likewise.
44956         * lib/unistr/u8-strncmp.c: Likewise.
44957         * lib/unistr/u8-strncpy.c: Likewise.
44958         * lib/unistr/u8-strnlen.c: Likewise.
44959         * lib/unistr/u8-strpbrk.c: Likewise.
44960         * lib/unistr/u8-strrchr.c: Likewise.
44961         * lib/unistr/u8-strspn.c: Likewise.
44962         * lib/unistr/u8-strstr.c: Likewise.
44963         * lib/unistr/u8-strtok.c: Likewise.
44964         * lib/unistr/u8-to-u16.c: Likewise.
44965         * lib/unistr/u8-to-u32.c: Likewise.
44966         * lib/unistr/u8-uctomb-aux.c: Likewise.
44967         * lib/unistr/u8-uctomb.c: Likewise.
44968         * lib/unitypes.h: Likewise.
44969         * lib/uniwidth.h: Likewise.
44970         * lib/uniwidth/cjk.h: Likewise.
44971         * lib/uniwidth/u16-strwidth.c: Likewise.
44972         * lib/uniwidth/u16-width.c: Likewise.
44973         * lib/uniwidth/u32-strwidth.c: Likewise.
44974         * lib/uniwidth/u32-width.c: Likewise.
44975         * lib/uniwidth/u8-strwidth.c: Likewise.
44976         * lib/uniwidth/u8-width.c: Likewise.
44977         * lib/uniwidth/width.c: Likewise.
44978
44979 2007-10-07  Bruno Haible  <bruno@clisp.org>
44980
44981         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44982         The file is still under LGPL (see modules/inttypes).
44983
44984 2007-10-06  Bruno Haible  <bruno@clisp.org>
44985
44986         * modules/trunc (Dependencies): Add 'extensions'.
44987         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44988         Reported by Ben Pfaff <blp@gnu.org>.
44989
44990 2007-10-06  Bruno Haible  <bruno@clisp.org>
44991
44992         * modules/freopen-tests: New file.
44993         * tests/test-freopen.c: New file.
44994
44995         * modules/fopen-tests: New file.
44996         * tests/test-fopen.c: New file.
44997
44998         * modules/fopen: New file.
44999         * lib/fopen.c: New file.
45000         * m4/fopen.m4: New file.
45001         * modules/freopen: New file.
45002         * lib/freopen.c: New file.
45003         * m4/freopen.m4: New file.
45004         * lib/stdio.in.h (fopen, freopen): New declarations.
45005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
45006         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45007         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
45008         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45009         * doc/functions/fopen.texi: Mention the 'fopen' module.
45010         * doc/functions/freopen.texi: Mention the 'freopen' module.
45011
45012 2007-10-06  Bruno Haible  <bruno@clisp.org>
45013
45014         * modules/open-tests: New file.
45015         * tests/test-open.c: New file.
45016
45017         * modules/open: New file.
45018         * lib/open.c: New file.
45019         * m4/open.m4: New file.
45020         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
45021         lib/open.c does.
45022         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
45023         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
45024         macros.
45025         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
45026         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
45027         REPLACE_OPEN.
45028         * doc/functions/open.texi: Mention the 'open' module.
45029
45030 2007-10-04  Bruno Haible  <bruno@clisp.org>
45031
45032         * modules/ceill-tests: New file.
45033         * tests/test-ceill.c: New file.
45034
45035         * modules/ceill: New file.
45036         * lib/ceill.c: Replace entire file.
45037         * m4/ceill.m4: New file.
45038         * lib/math.in.h (ceill): Replace declaration.
45039         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
45040         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
45041         * doc/functions/ceill.texi: Mention the 'ceill' module.
45042         * modules/mathl (Files): Remove lib/ceill.c.
45043         (Depends-on): Add ceill.
45044
45045 2007-10-04  Bruno Haible  <bruno@clisp.org>
45046
45047         * modules/ceilf-tests: New file.
45048         * tests/test-ceilf.c: New file.
45049
45050         * modules/ceilf: New file.
45051         * lib/ceil.c: New file.
45052         * lib/ceilf.c: New file.
45053         * m4/ceilf.m4: New file.
45054         * lib/math.in.h (ceilf): New declaration.
45055         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
45056         HAVE_DECL_CEILF.
45057         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
45058         HAVE_DECL_CEILF.
45059         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
45060
45061 2007-10-04  Bruno Haible  <bruno@clisp.org>
45062
45063         * modules/floorl-tests: New file.
45064         * tests/test-floorl.c: New file.
45065
45066         * modules/floorl: New file.
45067         * lib/floorl.c: Replace entire file.
45068         * m4/floorl.m4: New file.
45069         * lib/math.in.h (floorl): Replace declaration.
45070         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
45071         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
45072         * doc/functions/floorl.texi: Mention the 'floorl' module.
45073         * modules/mathl (Files): Remove lib/floorl.c.
45074         (Depends-on): Add floorl.
45075
45076 2007-10-04  Bruno Haible  <bruno@clisp.org>
45077
45078         * modules/floorf-tests: New file.
45079         * tests/test-floorf.c: New file.
45080
45081         * modules/floorf: New file.
45082         * lib/floor.c: New file.
45083         * lib/floorf.c: New file.
45084         * m4/floorf.m4: New file.
45085         * lib/math.in.h (floorf): New declaration.
45086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
45087         HAVE_DECL_FLOORF.
45088         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
45089         HAVE_DECL_FLOORF.
45090         * doc/functions/floorf.texi: Mention the 'floorf' module.
45091
45092 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
45093             Bruno Haible  <bruno@clisp.org>
45094
45095         Advertise for the Git server instead of the CVS server.
45096         * doc/gnulib-intro.texi (Steady Development): Mention the Git
45097         repository instead of the CVS one.
45098         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
45099         about all VCS systems generically.
45100         * doc/gnulib.texi (Introduction): Capitalize `Git'.
45101
45102 2007-10-04  Bruno Haible  <bruno@clisp.org>
45103
45104         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
45105         means.
45106         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
45107
45108 2007-10-04  Bruno Haible  <bruno@clisp.org>
45109
45110         * modules/truncl-tests: New file.
45111         * tests/test-truncl.c: New file.
45112
45113         * modules/truncl: New file.
45114         * lib/truncl.c: New file.
45115         * m4/truncl.m4: New file.
45116         * lib/math.in.h (truncl): New declaration.
45117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
45118         HAVE_DECL_TRUNCL.
45119         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
45120         HAVE_DECL_TRUNCL.
45121         * doc/functions/truncl.texi: Mention the 'truncl' module.
45122
45123 2007-10-04  Bruno Haible  <bruno@clisp.org>
45124
45125         * modules/truncf-tests: New file.
45126         * tests/test-truncf.c: New file.
45127
45128         * modules/truncf: New file.
45129         * lib/trunc.c: Make paramerizable through USE_* macros.
45130         * lib/truncf.c: New file.
45131         * m4/truncf.m4: New file.
45132         * lib/math.in.h (truncf): New declaration.
45133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
45134         HAVE_DECL_TRUNCF.
45135         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
45136         HAVE_DECL_TRUNCF.
45137         * doc/functions/truncf.texi: Mention the 'truncf' module.
45138
45139 2007-10-03  Bruno Haible  <bruno@clisp.org>
45140
45141         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45142         augmentation also for tests modules.
45143         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
45144         * modules/atexit-tests (Makefile.am): Likewise.
45145         * modules/binary-io-tests (Makefile.am): Likewise.
45146         * modules/c-strcase-tests (Makefile.am): Likewise.
45147         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
45148         * modules/canonicalize-tests (Makefile.am): Likewise.
45149         * modules/closein-tests (Makefile.am): Likewise.
45150         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45151         * modules/freadahead-tests (Makefile.am): Likewise.
45152         * modules/fseek-tests (Makefile.am): Likewise.
45153         * modules/fseeko-tests (Makefile.am): Likewise.
45154         * modules/ftell-tests (Makefile.am): Likewise.
45155         * modules/ftello-tests (Makefile.am): Likewise.
45156         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
45157         * modules/isnanl-tests (Makefile.am): Likewise.
45158         * modules/lseek-tests (Makefile.am): Likewise.
45159         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45160         * modules/mbscasestr-tests (Makefile.am): Likewise.
45161         * modules/mbschr-tests (Makefile.am): Likewise.
45162         * modules/mbscspn-tests (Makefile.am): Likewise.
45163         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45164         * modules/mbspbrk-tests (Makefile.am): Likewise.
45165         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45166         * modules/mbsrchr-tests (Makefile.am): Likewise.
45167         * modules/mbsspn-tests (Makefile.am): Likewise.
45168         * modules/mbsstr-tests (Makefile.am): Likewise.
45169         * modules/printf-posix-tests (Makefile.am): Likewise.
45170         * modules/snprintf-posix-tests (Makefile.am): Likewise.
45171         * modules/sprintf-posix-tests (Makefile.am): Likewise.
45172         * modules/tsearch-tests (Makefile.am): Likewise.
45173         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45174         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45175         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45176         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45177         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45178         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45179         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45180         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45181         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
45182         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
45183         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45184         * modules/xstrtol-tests (Makefile.am): Likewise.
45185         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45186         * modules/yesno-tests (Makefile.am): Likewise.
45187
45188 2007-10-03  Bruno Haible  <bruno@clisp.org>
45189
45190         * modules/trunc-tests: New file.
45191         * tests/test-trunc.c: New file.
45192
45193         * modules/trunc: New file.
45194         * lib/trunc.c: New file.
45195         * m4/trunc.m4: New file.
45196         * lib/math.in.h (trunc): New declaration.
45197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
45198         HAVE_DECL_TRUNC.
45199         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
45200         HAVE_DECL_TRUNC.
45201         * doc/functions/trunc.texi: Mention the 'trunc' module.
45202
45203 2007-10-03  Bruno Haible  <bruno@clisp.org>
45204
45205         * tests/test-fpending.c: New file, mostly copied
45206         from coreutils/lib/t-fpending.c.
45207         * modules/fpending-tests: New file.
45208
45209 2007-10-03  Bruno Haible  <bruno@clisp.org>
45210
45211         Port the stdio extensions to QNX (untested).
45212         * lib/fseterr.c (fseterr): Add support for QNX.
45213         * lib/fbufmode.c (fbufmode): Likewise.
45214         * lib/freadable.c (freadable): Likewise.
45215         * lib/fwritable.c (fwritable): Likewise.
45216         * lib/freading.c (freading): Likewise.
45217         * lib/fwriting.c (fwriting): Likewise.
45218         * lib/freadahead.c (freadahed): Likewise.
45219         * lib/fpurge.c (fpurge): Likewise.
45220         * lib/fseeko.c (rpl_fseeko): Likewise.
45221
45222 2007-10-03  Bruno Haible  <bruno@clisp.org>
45223             Jim Meyering  <jim@meyering.net>
45224             Eric Blake  <ebb9@byu.net>
45225
45226         * doc/relocatable.texi: Use @command instead of @program.
45227
45228 2007-10-02  Jim Meyering  <jim@meyering.net>
45229
45230         Perform one more "_.h" -> ".in.h" substitution.
45231         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
45232         instead of unistd_.h here, too.
45233
45234 2007-10-01  Bruno Haible  <bruno@clisp.org>
45235
45236         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
45237         Needed for the alloca-opt module.
45238
45239 2007-09-30  Bruno Haible  <bruno@clisp.org>
45240
45241         * lib/alloca.in.h: Renamed from lib/alloca_.h.
45242         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
45243         alloca_.h.
45244         * lib/argz.in.h: Renamed from lib/argz_.h.
45245         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
45246         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
45247         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
45248         byteswap_.h.
45249         * lib/dirent.in.h: Renamed from lib/dirent_.h.
45250         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
45251         dirent_.h.
45252         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
45253         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
45254         fcntl_.h.
45255         * lib/float.in.h: Renamed from lib/float_.h.
45256         * modules/float (Files, Makefile.am): Use float.in.h instead of
45257         float_.h.
45258         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
45259         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
45260         fnmatch_.h.
45261         * lib/getopt.in.h: Renamed from lib/getopt_.h.
45262         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
45263         getopt_.h.
45264         * lib/glob.in.h: Renamed from lib/glob_.h.
45265         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
45266         * lib/iconv.in.h: Renamed from lib/iconv_.h.
45267         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
45268         iconv_.h.
45269         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
45270         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
45271         inttypes_.h.
45272         * lib/locale.in.h: Renamed from lib/locale_.h.
45273         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
45274         locale_.h.
45275         * lib/math.in.h: Renamed from lib/math_.h.
45276         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
45277         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
45278         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
45279         of netinet_in_.h. Add dependency.
45280         * lib/poll.in.h: Renamed from lib/poll_.h.
45281         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
45282         * lib/search.in.h: Renamed from lib/search_.h.
45283         * modules/search (Files, Makefile.am): Use search.in.h instead of
45284         search_.h.
45285         * lib/signal.in.h: Renamed from lib/signal_.h.
45286         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
45287         _signal.h.
45288         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
45289         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
45290         stdbool_.h.
45291         * lib/stdint.in.h: Renamed from lib/stdint_.h.
45292         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
45293         stdint_.h.
45294         * lib/stdio.in.h: Renamed from lib/stdio_.h.
45295         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
45296         stdio_.h.
45297         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
45298         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
45299         stdlib_.h.
45300         * lib/string.in.h: Renamed from lib/string_.h.
45301         * modules/string (Files, Makefile.am): Use string.in.h instead of
45302         string_.h.
45303         * doc/gnulib-tool.texi (Initial import): Update.
45304         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
45305         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
45306         of sys_select_.h. Add dependency.
45307         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
45308         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
45309         of sys_socket_.h.
45310         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
45311         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
45312         sys_stat_.h.
45313         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
45314         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
45315         sys_time_.h.
45316         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
45317         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
45318         sysexits_.h.
45319         * lib/time.in.h: Renamed from lib/time_.h.
45320         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
45321         * lib/unistd.in.h: Renamed from lib/unistd_.h.
45322         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
45323         unistd_.h.
45324         * lib/wchar.in.h: Renamed from lib/wchar_.h.
45325         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
45326         wchar_.h.
45327         * lib/wctype.in.h: Renamed from lib/wctype_.h.
45328         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
45329         wctype_.h.
45330         * build-aux/bootstrap (slurp): Update.
45331         * lib/.cppi-disable: Update.
45332
45333 2007-09-30  Bruno Haible  <bruno@clisp.org>
45334
45335         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
45336         Needed on BeOS.
45337
45338 2007-09-30  Bruno Haible  <bruno@clisp.org>
45339
45340         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
45341
45342 2007-09-29  Bruno Haible  <bruno@clisp.org>
45343
45344         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
45345
45346 2007-09-29  Bruno Haible  <bruno@clisp.org>
45347
45348         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
45349         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
45350         * build-aux/install-reloc: Compile also areadlink.c.
45351         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
45352
45353 2007-09-29  Bruno Haible  <bruno@clisp.org>
45354
45355         * gnulib-tool (func_emit_initmacro_done): Indentation.
45356
45357 2007-09-29  Bruno Haible  <bruno@clisp.org>
45358
45359         * README: Add CVS checkout update instructions.
45360         Info from Bob Proulx <bob@proulx.com>.
45361
45362 2007-09-28  Eric Blake  <ebb9@byu.net>
45363
45364         Provide move-if-change.
45365         * build-aux/move-if-change: New file, based on best practice
45366         rather than any canonical upstream location.
45367
45368 2007-09-28  Jim Meyering  <jim@meyering.net>
45369
45370         Fix canonicalize loop-detection corner case.
45371         Do not attempt to stat the symlink values stored via seen_triple.
45372         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
45373         on linux-2.6.18, (but not 2.6.22).
45374         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
45375         triple_compare.  The former compares dev,ino,filename, while the latter
45376         would actually stat dirname(filename) when dev and ino were equal.
45377         * lib/hash-triple.c: Install <string.h>.
45378         (STREQ): Define.
45379         (triple_compare_ino_str): New function.
45380         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
45381
45382 2007-09-28  Eric Blake  <ebb9@byu.net>
45383
45384         Enforce that AC_REPLACE_FUNCS files exist.
45385         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
45386         override check for typos.
45387
45388         Fix test-closein on Solaris 10.
45389         * tests/test-closein.c (main): Don't assume stdin can be inherited
45390         closed on all systems.
45391         * tests/test-closein.sh: Likewise.
45392         Reported by Piotr Tarnowski.
45393
45394 2007-09-28  Jim Meyering  <jim@meyering.net>
45395
45396         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
45397
45398 2007-09-27  Jim Meyering  <jim@meyering.net>
45399
45400         canonicalize: Avoid a false-positive cycle failure.
45401         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
45402         Sort.  Remove cycle-check.
45403         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
45404         not cycle-check.h.
45405         (seen_triple): New function.
45406         (canonicalize_filename_mode): Use it instead of cycle-check.
45407         * tests/test-canonicalize.c: Add a test for this bug.
45408         * tests/test-canonicalize.sh: Set up and run the test.
45409
45410         New module, file-set, from coreutils.
45411         * modules/file-set: Define it.
45412         * lib/file-set.c, lib/file-set.h: Implement.
45413
45414         New module, hash-triple, from coreutils.
45415         * modules/hash-triple: Define it.
45416         * lib/hash-triple.c, lib/hash-triple.h: Implement.
45417
45418 2007-09-25  Eric Blake  <ebb9@byu.net>
45419
45420         Fix strerror on Interix.
45421         * lib/string_.h (strerror): Declare replacement.
45422         * doc/functions/strerror.texi (strerror): Document the Interix
45423         shortcoming.
45424         * modules/string (Makefile.am): Support new hooks.
45425         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
45426         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
45427         gl_FUNC_STRERROR_SEPARATE.
45428         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
45429         * lib/strerror.c (rpl_strerror): Provide replacement.
45430         * modules/strerror (Depends-on): Add string.
45431         (configure.ac): Detect use of module.
45432         * tests/test-strerror.c: New file.
45433         * modules/strerror-tests: New test module.
45434         * modules/argp (Depends-on): Add strerror.
45435         * modules/error (Depends-on): Likewise.
45436         Reported by Martin Koeppe.
45437
45438 2007-09-24  Bruno Haible  <bruno@clisp.org>
45439
45440         * README: Update git instructions.
45441
45442 2007-09-24  Eric Blake  <ebb9@byu.net>
45443
45444         Revert fpending breakage from 2007-09-08.
45445         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
45446         __fpending.c.
45447
45448 2007-09-24  Jim Meyering  <jim@meyering.net>
45449
45450         filenamecat.c: Add a test.
45451         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
45452         showing how the function works when DIR is the empty string.
45453
45454 2007-09-21  Simon Josefsson  <simon@josefsson.org>
45455
45456         * tests/test-canonicalize.sh: Turn on executable bit.
45457
45458 2007-09-19  Eric Blake  <ebb9@byu.net>
45459
45460         * README: Update CVS instructions.
45461
45462 2007-09-18  Bruno Haible  <bruno@clisp.org>
45463
45464         * modules/areadlink: New file.
45465         * lib/areadlink.h (areadlink): New declaration.
45466         * lib/areadlink.c: New file, based on lib/xreadlink.c.
45467
45468 2007-09-17  Jim Meyering  <jim@meyering.net>
45469
45470         * lib/savewd.c (ESTALE) [!defined]: Define.
45471         Reported to be required on Interix by Martin Koeppe.
45472
45473 2007-09-17  Bruno Haible  <bruno@clisp.org>
45474
45475         * gnulib-tool (func_version): Use $version.
45476
45477 2007-09-16  Bruno Haible  <bruno@clisp.org>
45478
45479         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
45480         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
45481         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
45482         Reported by Greg Schafer <gschafer@zip.com.au>.
45483
45484 2007-09-15  Bruno Haible  <bruno@clisp.org>
45485
45486         * gnulib-tool (sed): Try a little harder to make bash understand the
45487         alias.
45488         Reported by Bruce Korb <bruce.korb@gmail.com>.
45489
45490 2007-09-13  Eric Blake  <ebb9@byu.net>
45491
45492         * ChangeLog: Remove conflict markers.
45493
45494 2007-09-13  Simon Josefsson  <simon@josefsson.org>
45495
45496         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
45497         Reported by Bruno Haible <bruno@clisp.org>.
45498
45499 2007-09-12  Bruno Haible  <bruno@clisp.org>
45500
45501         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
45502         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
45503         is not defined.
45504
45505 2007-09-12  Eric Blake  <ebb9@byu.net>
45506
45507         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
45508         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
45509         Autoconf definition.
45510         * modules/euidaccess (Depends-on): Add extensions, for
45511         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
45512         * modules/fnmatch (Depends-on): Likewise.
45513         * modules/getaddrinfo (Depends-on): Likewise.
45514         * modules/getdelim (Depends-on): Likewise.
45515         * modules/getline (Depends-on): Likewise.
45516         * modules/getsubopt (Depends-on): Likewise.
45517         * modules/gettext (Depends-on): Likewise.
45518         * modules/group-member (Depends-on): Likewise.
45519         * modules/mbchar (Depends-on): Likewise.
45520         * modules/memmem (Depends-on): Likewise.
45521         * modules/mempcpy (Depends-on): Likewise.
45522         * modules/memrchr (Depends-on): Likewise.
45523         * modules/pagealign_alloc (Depends-on): Likewise.
45524         * modules/readutmp (Depends-on): Likewise.
45525         * modules/stpcpy (Depends-on): Likewise.
45526         * modules/stpncpy (Depends-on): Likewise.
45527         * modules/strchrnul (Depends-on): Likewise.
45528         * modules/strndup (Depends-on): Likewise.
45529         * modules/strsep (Depends-on): Likewise.
45530         * modules/strverscmp (Depends-on): Likewise.
45531         * modules/vasprintf (Depends-on): Likewise.
45532         * modules/wcwidth (Depends-on): Likewise.
45533         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
45534         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
45535         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
45536         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
45537         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45538         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45539         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
45540         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
45541         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
45542         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
45543         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45544         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45545         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45546         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
45547         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
45548         * m4/readutmp.m4 (gl_READUTMP): Likewise.
45549         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
45550         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45551         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45552         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45553         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45554         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45555         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45556         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
45557         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
45558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45559         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
45560         so that lock.m4 can be used in gettext without extensions module.
45561
45562 2007-09-11  Bruno Haible  <bruno@clisp.org>
45563
45564         * m4/isc-posix.m4: Remove file.
45565         Suggested by Eric Blake.
45566
45567 2007-09-11  Eric Blake  <ebb9@byu.net>
45568
45569         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
45570
45571 2007-09-10  Bruno Haible  <bruno@clisp.org>
45572
45573         * posix-modules: Fix typo in error message.
45574         Reported by Matt <mkraai@beckman.com>.
45575
45576 2007-09-09  Bruno Haible  <bruno@clisp.org>
45577
45578         * doc/functions/getdelim.texi: Update list of platforms lacking the
45579         function.
45580         * doc/functions/getline.texi: Likewise.
45581
45582 2007-09-09  Jim Meyering  <jim@meyering.net>
45583
45584         * lib/hash.c (hash_initialize): Detect calloc failure.
45585         Reported by Bruno Haible.
45586
45587 2007-09-09  Bruno Haible  <bruno@clisp.org>
45588
45589         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
45590         malloc or realloc fails.
45591
45592 2007-09-09  Bruno Haible  <bruno@clisp.org>
45593
45594         * modules/getcwd (Depends-on): Add malloc-posix.
45595         * modules/glob (Depends-on): Likewise.
45596         * modules/putenv (Depends-on): Likewise.
45597         * modules/strdup (Depends-on): Likewise.
45598         * modules/getdelim (Depends-on): Add realloc-posix.
45599         * modules/read-file (Depends-on): Likewise.
45600
45601 2007-09-09  Bruno Haible  <bruno@clisp.org>
45602
45603         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
45604         (gl_FUNC_MALLOC_POSIX): Require it.
45605         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
45606         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
45607         * modules/realloc (Files): Add m4/malloc.m4.
45608         * modules/calloc (Files): Likewise.
45609
45610 2007-09-09  Bruno Haible  <bruno@clisp.org>
45611
45612         * modules/malloc-posix: New file.
45613         * modules/malloc (Depends-on): Add malloc-posix.
45614         * lib/malloc.c: Include errno.h.
45615         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
45616         and a POSIX-compatible malloc into a single function. Set ENOMEM
45617         when returning NULL.
45618         * m4/malloc.m4: New file.
45619         * doc/functions/malloc.texi: Mention the malloc-posix module.
45620         * lib/stdlib_.h (malloc): New declaration.
45621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45622         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
45623         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
45624         and HAVE_MALLOC_POSIX.
45625
45626 2007-09-09  Bruno Haible  <bruno@clisp.org>
45627
45628         * modules/realloc-posix: New file.
45629         * modules/realloc (Depends-on): Add realloc-posix.
45630         * lib/realloc.c: Include errno.h.
45631         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
45632         and a POSIX-compatible realloc into a single function. Set ENOMEM
45633         when returning NULL.
45634         * m4/realloc.m4: New file.
45635         * doc/functions/realloc.texi: Mention the realloc-posix module.
45636         * lib/stdlib_.h (realloc): New declaration.
45637         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45638         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
45639         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
45640         and HAVE_REALLOC_POSIX.
45641
45642 2007-09-09  Bruno Haible  <bruno@clisp.org>
45643
45644         * modules/calloc-posix: New file.
45645         * modules/calloc (Depends-on): Add calloc-posix.
45646         * lib/calloc.c: Include errno.h.
45647         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
45648         and a POSIX-compatible calloc into a single function. Set ENOMEM
45649         when returning NULL.
45650         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
45651         * doc/functions/calloc.texi: Mention the calloc-posix module.
45652         * lib/stdlib_.h (calloc): New declaration.
45653         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
45654         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
45655         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
45656         and HAVE_CALLOC_POSIX.
45657
45658 2007-09-09  Bruno Haible  <bruno@clisp.org>
45659
45660         Allow for modules to show an arbitrary notice.
45661         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
45662         * gnulib-tool: New option --extract-notice.
45663         (func_usage): Document it.
45664         (sed_extract_prog): Update.
45665         (func_get_notice): New function.
45666         (func_modules_notice): New function.
45667         (func_import, func_create_testdir): Invoke it.
45668         Suggested by Jim Meyering.
45669
45670 2007-09-09  Bruno Haible  <bruno@clisp.org>
45671
45672         * gnulib-tool: New options --verbose, --quiet.
45673         (func_usage): Document them.
45674         (verbose): New variable.
45675         (func_execute_command): New function.
45676         (func_import): Don't show the module list and the file list if
45677         $verbose < 0.
45678         (func_create_testdir): Likewise. Use func_execute_command.
45679         (func_create_megatestdir): Use func_execute_command.
45680
45681 2007-09-08  Bruno Haible  <bruno@clisp.org>
45682
45683         * gnulib-tool (func_import): Prefer rsync over wget when available,
45684         for fetching the PO files.
45685
45686 2007-09-08  Bruno Haible  <bruno@clisp.org>
45687
45688         * posix-modules: New file. Portions copied from gnulib-tool.
45689         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
45690
45691 2007-09-08  Jim Meyering  <jim@meyering.net>
45692
45693         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
45694         * lib/fpending.h: Rename from __fpending.h.
45695         * lib/fpending.c: Rename from __fpending.c.
45696         Include "fpending.h", not "__fpending.h".
45697         * lib/__fpending.h, lib/__fpending.c: Remove files.
45698         * modules/fpending (Files): Reflect new file names.
45699         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
45700
45701 2007-09-08  Bruno Haible  <bruno@clisp.org>
45702
45703         * m4/inttypes-h.m4: Remove stub file.
45704
45705 2007-09-07  Simon Josefsson  <simon@josefsson.org>
45706
45707         * doc/headers/stdint.texi: Discuss #include_next issue.
45708
45709 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
45710
45711         * build-aux/bootstrap: Remove obsolete comment about wget --help.
45712
45713 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45714
45715         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
45716         in variable name.
45717
45718 2007-09-03  Jim Meyering  <jim@meyering.net>
45719
45720         New module: git-version-gen.
45721         * modules/git-version-gen: New file.
45722
45723         Import changes from coreutils for bootstrap script.
45724
45725         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
45726
45727         bootstrap: uses rsync to download the .po files
45728         * build-aux/bootstrap (po_download_command_format): New global.
45729         (download_po_files): Use rsync.
45730         (update_po_files): Don't remove .po files after download,
45731         so future rsync runs can take advantage of the copies.
45732
45733         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
45734
45735         Solve the unnecessary-.po-file-regeneration problem once and for all.
45736         * build-aux/bootstrap (download_po_files): New function, renamed from
45737         get_translations.  Now, downloads, but doesn't update LINGUAS.
45738         (update_po_files): New function.
45739
45740         bootstrap: Ignore more.
45741         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
45742         uniwidth to e.g., lib/.gitignore.
45743         (slurp): Handle the sys_stat_.h -> sys mapping, too.
45744
45745         * build-aux/bootstrap: New setting: vc_ignore.
45746         (insert_sorted_if_absent): Create $file if absent.
45747         Adapt to new, possibly empty, list: $vc_ignore.
45748
45749         bootstrap: generate more ignorable names
45750         * build-aux/bootstrap (slurp): When generating ignorable names,
45751         also map .sin to .sed, .gperf to .c, and .y to .c.
45752
45753 2007-09-03  Jim Meyering  <jim@meyering.net>
45754
45755         * build-aux/git-version-gen: New file, from coreutils.  For details, see
45756         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
45757
45758 2007-09-02  Bruno Haible  <bruno@clisp.org>
45759
45760         Fix mis-recognition of 'mcs' on QNX 6.
45761         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
45762         output contains the string "Mono".
45763         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
45764         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45765
45766 2007-09-01  Bruno Haible  <bruno@clisp.org>
45767
45768         Fix collision between uniwidth/* and linebreak modules.
45769         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45770         u32_width): Remove declarations.
45771         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45772         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45773         streq3, streq2, streq1, streq0): Remove functions.
45774         (STREQ): Remove macro.
45775         (is_cjk_encoding): Remove function.
45776         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45777         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45778         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45779         * NEWS: Document the change.
45780
45781 2007-09-01  Bruno Haible  <bruno@clisp.org>
45782
45783         * lib/streq.h: Add double-inclusion guard.
45784
45785 2007-09-01  Karl Berry  <karl@gnu.org>
45786
45787         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45788
45789 2007-08-28  Jim Meyering  <jim@meyering.net>
45790
45791         Rename mreadlink_with_size to areadlink_with_size.
45792         * NEWS: Document the change.
45793         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45794         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45795         * lib/mreadlink.h: Rename this to...
45796         * lib/areadlink.h: ...this.
45797         * modules/mreadlink-with-size: Rename this to...
45798         * modules/areadlink-with-size: ...this.
45799         * lib/canonicalize.c: Reflect the renaming.
45800         * modules/canonicalize: Likewise.
45801
45802 2007-08-26  Bruno Haible  <bruno@clisp.org>
45803
45804         * gnulib-tool (func_import): When deciding which files to remove,
45805         consider also dangling symbolic links.
45806         Reported by Eric Blake.
45807
45808 2007-08-26  Bruno Haible  <bruno@clisp.org>
45809
45810         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45811
45812 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45813
45814         * lib/readline.c: Don't include getline.h, the prototype is now
45815         found in stdio.h.
45816
45817 2007-08-23  Jim Meyering  <jim@meyering.net>
45818
45819         Getdelim touchup.
45820         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45821         around the funlockfile call, since funlockfile never sets errno.
45822         Don't set errno upon failed realloc.
45823
45824 2007-08-22  Eric Blake  <ebb9@byu.net>
45825
45826         Getline touchups.
45827         * lib/getdelim.c (getdelim): Revert regression that required *n to
45828         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45829         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45830         getdelim, rather than whether implementation is missing.
45831         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45832         * lib/stdio_.h (getline): Also declare if replacement is
45833         required.
45834         * doc/functions/getdelim.texi: New file.
45835         * doc/functions/getline.texi: Likewise.
45836         * doc/gnulib.texi (Function Substitutes): Add new files.
45837         Reported by Bruno Haible.
45838
45839 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45840
45841         * users.txt: Add Guile.
45842
45843 2007-08-22  Eric Blake  <ebb9@byu.net>
45844
45845         * tests/test-getdelim.c (main): Use remove, not unlink.
45846         * tests/test-getline.c (main): Likewise.
45847
45848         Move getline and getdelim into stdio.h, per POSIX 200x.
45849         * modules/getline (Files): Remove getline.h.
45850         (Depends-on): Add stdio.
45851         (configure.ac): Add module indicator.
45852         * modules/getdelim (Files): Remove getdelim.h.
45853         (Depends-on): Add stdio.
45854         (configure.ac): Add module indicator.
45855         * modules/stdio (Makefile.am): Work with new indicators.
45856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45857         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45858         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45859         * lib/getdelim.h: Delete.
45860         * lib/getline.h: Delete.
45861         * lib/stdio_.h (getdelim, getline): Declare.
45862         * modules/getdelim-tests: New module.
45863         * modules/getline-tests: Likewise.
45864         * tests/test-getdelim.c: New file.
45865         * tests/test-getline.c: Likewise.
45866         * NEWS: Document the change.
45867         * lib/getline.c: Update choice of header.
45868         * lib/csharpcomp.c: Likewise.
45869         * lib/getpass.c: Likewise.
45870         * lib/javacomp.c: Likewise.
45871         * lib/javaversion.c: Likewise.
45872         * lib/yesno.c: Likewise.
45873         * lib/getdelim.c: Likewise.
45874         (getdelim): Set errno on failure, and avoid memory leak.
45875
45876 2007-08-19  Bruno Haible  <bruno@clisp.org>
45877
45878         * modules/closein (Depends-on): Add freadahead.
45879         * lib/closein.c: Include freadahead.h.
45880         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45881         is zero.
45882
45883 2007-08-19  Bruno Haible  <bruno@clisp.org>
45884
45885         * modules/freadahead-tests: New file.
45886         * tests/test-freadahead.sh: New file.
45887         * tests/test-freadahead.c: New file.
45888
45889         * modules/freadahead: New file.
45890         * lib/freadahead.h: New file.
45891         * lib/freadahead.c: New file.
45892         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45893         fbufmode, fpurge, freadable, fwritable.
45894
45895 2007-08-19  Eric Blake  <ebb9@byu.net>
45896
45897         Test yesno in combination with closein.
45898         * lib/yesno.c (yesno): Document use of stdin.
45899         * modules/yesno-tests (Files): New module.
45900         * tests/test-yesno.c (main): New file.
45901         * tests/test-yesno.sh: Likewise.
45902
45903 2007-08-19  Bruno Haible  <bruno@clisp.org>
45904
45905         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45906         * lib/fseeko.c (rpl_fseeko): Likewise.
45907         * lib/fseterr.c (fseterr): Likewise.
45908
45909 2007-08-19  Bruno Haible  <bruno@clisp.org>
45910
45911         * tests/test-lseek.c (main): Disable a test for BeOS.
45912         * doc/functions/lseek.texi: Document the BeOS bug.
45913
45914 2007-08-19  Bruno Haible  <bruno@clisp.org>
45915             Eric Blake  <ebb9@byu.net>
45916
45917         * lib/lseek.c: Include <sys/stat.h>.
45918         (rpl_lseek): Add workaround code also for Unix platforms.
45919         Needed for BeOS.
45920         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45921         * doc/functions/lseek.texi: Document BeOS definiency.
45922
45923 2007-08-18  Bruno Haible  <bruno@clisp.org>
45924
45925         * modules/fstrcmp-tests: New file.
45926         * tests/test-fstrcmp.c: New file.
45927
45928 2007-08-18  Bruno Haible  <bruno@clisp.org>
45929
45930         * modules/fstrcmp: New file, from GNU gettext with modifications.
45931         * lib/fstrcmp.h: New file, from GNU gettext.
45932         * lib/fstrcmp.c: New file, from GNU gettext.
45933         * MODULES.html.sh (String handling): Add fstrcmp.
45934
45935 2007-08-18  Bruno Haible  <bruno@clisp.org>
45936
45937         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45938         'bool'.
45939         (diag, compareseq): Remove const from the ctxt argument.
45940         (USE_HEURISTIC): Undefine at the end.
45941
45942 2007-08-18  Jim Meyering  <jim@meyering.net>
45943
45944         New file: lib/idcache.h
45945         * NEWS: Mention the addition.
45946         * modules/idcache (Files): Add lib/idcache.h
45947         * lib/idcache.c: Include "idcache.h".
45948         Don't include <sys/types.h>.
45949         Add a FIXME comment.
45950         Move file-scoped "static" declarations to the top.
45951         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45952
45953 2007-08-17  Bruno Haible  <bruno@clisp.org>
45954         and Paul Eggert  <eggert@cs.ucla.edu>
45955
45956         * MODULES.html.sh: Add diffseq.
45957         * modules/diffseq: New file.
45958         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45959         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45960
45961 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45962
45963         Import changes from coreutils for bootstrap script.
45964
45965         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45966
45967         * build-aux/bootstrap (slurp): Work even in environments where
45968         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45969         current code does not slurp files whose names start with ".", and
45970         this looks like it might be a troublesome area.
45971
45972         2007-07-11  Jim Meyering  <jim@meyering.net>
45973
45974         If there's a GPL vN copyright comment, require that N == 3.
45975
45976         2007-07-08  Jim Meyering  <jim@meyering.net>
45977
45978         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45979         * build-aux/bootstrap (mam_template): Move definition out of loop.
45980
45981         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45982
45983         * build-aux/bootstrap (symlink_to_dir): Rename function from
45984         symlink_to_gnulib.  Add a directory parameter.  Update all
45985         callers.
45986         (cp_mark_as_generated): Also check for -- and link to -- files in
45987         gl/.
45988
45989         2007-07-08  Jim Meyering  <jim@meyering.net>
45990
45991         Adapt to deeper hierarchy in gnulib.
45992         * build-aux/bootstrap (symlink_to_dir): If the destination
45993         directory doesn't exist, create it. This is required at least for
45994         "lib/uniwidth/cjk.h".
45995
45996         2007-05-15  Jim Meyering  <jim@meyering.net>
45997
45998         * build-aux/bootstrap: Now that generated Makefile.am files
45999         are no longer under version control, they must be created at
46000         bootstrap time.
46001
46002 2007-08-14  Ben Pfaff  <blp@gnu.org>
46003
46004         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
46005
46006 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46007
46008         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
46009         given the changes below.
46010         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
46011         even on hosts that have padding bits beyond the supported 64.
46012
46013 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46014
46015         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
46016         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
46017         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
46018         depends on it.
46019         (xstrtol_error): Remove.
46020         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
46021         but with a different signature.
46022         (ATTRIBUTE_NORETURN, __attribute__): New macros.
46023         * lib/xstrtol-error.c: Include exitfail.h.
46024         (xstrtol_fatal): New function, with a different signature from the
46025         old xstrtol_error, so that the caller need not worry about passing
46026         in an exit status, or about storage management of the option argument.
46027         (xstrtol_error): Now a static function.  Redo signature to
46028         implement xstrtol_fatal.  Output the correct number of hyphens in
46029         front of the option so that the caller need not worry about
46030         storage management.
46031         (N_): New macro.
46032         (_): Remove; not used now.
46033         * modules/xstrtol: Depend on getopt.
46034         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
46035         of old STRTOL_FATAL_ERROR macro.
46036         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
46037         of test program.
46038         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
46039         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
46040
46041 2007-08-08  Eric Blake  <ebb9@byu.net>
46042
46043         * lib/xstrtol-error.c: Add missing include.
46044
46045         Move xstrtol messages into gnulib domain, when --pobase is used.
46046         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
46047         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
46048         * modules/xstrtol (Files): Distribute new file.
46049         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
46050         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
46051         * tests/test-xstrtol.c: ...into new file.
46052         * tests/test-xstrtoul.c: Also test xstrtoul.
46053         * tests/test-xstrtoimax.c: Also test xstrtoimax.
46054         * tests/test-xstrtoumax.c: Also test xstrtoumax.
46055         * tests/test-xstrtol.sh: Drive the tests.
46056         * tests/test-xstrtoimax.sh: Likewise.
46057         * tests/test-xstrtoumax.sh: Likewise.
46058         * modules/xstrtol-tests: New module.
46059         * modules/xstrtoimax-tests: Likewise.
46060         * modules/xstrtoumax-tests: Likewise.
46061
46062 2007-08-08  Jim Meyering  <jim@meyering.net>
46063
46064         New function: mfile_name_concat.
46065         * lib/filenamecat.c (mfile_name_concat): New function, just like
46066         file_name_concat, but return NULL upon failure rather than exiting
46067         with a diagnostic.
46068         * lib/filenamecat.h: Declare it.
46069
46070 2007-08-07  Bruno Haible  <bruno@clisp.org>
46071
46072         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
46073         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
46074         warning from gcc.
46075         Reported by Eric Blake.
46076
46077 2007-08-07  Simon Josefsson  <simon@josefsson.org>
46078
46079         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
46080         * modules/crypto/arcfour (License): Likewise.
46081         * modules/crypto/des-tests (License): Likewise.
46082         * modules/crypto/gc-arctwo-tests (License): Likewise.
46083         * modules/crypto/gc-des-tests (License): Likewise.
46084         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
46085         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
46086         * modules/crypto/gc-md2-tests (License): Likewise.
46087         * modules/crypto/gc-md4-tests (License): Likewise.
46088         * modules/crypto/gc-md5-tests (License): Likewise.
46089         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
46090         * modules/crypto/gc-rijndael-tests (License): Likewise.
46091         * modules/crypto/gc-sha1-tests (License): Likewise.
46092         * modules/crypto/gc-tests (License): Likewise.
46093         * modules/crypto/hmac-md5 (License): Likewise.
46094         * modules/crypto/hmac-sha1 (License): Likewise.
46095         * modules/crypto/md2-tests (License): Likewise.
46096         * modules/crypto/md4-tests (License): Likewise.
46097         * modules/crypto/md5 (License): Likewise.
46098         * modules/crypto/rijndael (License): Likewise.
46099         * modules/crypto/sha1 (License): Likewise.
46100         * modules/memxor (License): Likewise.
46101
46102 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46103         and Bruno Haible  <bruno@clisp.org>
46104
46105         * NEWS: Describe interface changes to human, xstrtol.
46106         * lib/human.h: Include <xstrtol.h>.
46107         (human_options): Return enum strtol_error, not int.  Remove
46108         bool arg; take int * instead.
46109         * lib/human.c: Don't include "gettext.h".
46110         (_): Remove; no longer used.
46111         Don't include <xstrtol.h>, since human.h does it.
46112         (human_options): Adjust to abovementioned interface changes.
46113         Do not report error to stderr; that's now the caller's
46114         responsibility.
46115         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
46116         interface change.
46117         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
46118         Str, Argument_type_string.  All uses changed.  Put " argument"
46119         in diagnostics to make them clearer.  Change wording of suffix
46120         message for clarity.
46121         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
46122         Argument_type_string.
46123         (STRTOL_FATAL_WARN): Remove; no longer used.
46124         * modules/human (Depends-on): Remove gettext-h.
46125
46126 2007-08-06  Simon Josefsson  <simon@josefsson.org>
46127
46128         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
46129
46130 2007-07-31  Bruno Haible  <bruno@clisp.org>
46131
46132         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
46133         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
46134         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
46135
46136 2007-07-31  Bruno Haible  <bruno@clisp.org>
46137
46138         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
46139         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
46140
46141 2007-07-30  Bruno Haible  <bruno@clisp.org>
46142
46143         * modules/base64 (License): Use the synonymous term "LGPLv2+".
46144         * modules/c-ctype (License): Likewise.
46145         * modules/c-strcase (License): Likewise.
46146         * modules/check-version (License): Likewise.
46147         * modules/iconv (License): Likewise.
46148         * modules/iconv_open (License): Likewise.
46149         * modules/read-file (License): Likewise.
46150         * modules/striconv (License): Likewise.
46151         * modules/strverscmp (License): Likewise.
46152         * modules/vasprintf (License): Likewise.
46153         * modules/crypto/des (License): Likewise.
46154         * modules/crypto/gc (License): Likewise.
46155         * modules/crypto/gc-arcfour (License): Likewise.
46156         * modules/crypto/gc-arctwo (License): Likewise.
46157         * modules/crypto/gc-des (License): Likewise.
46158         * modules/crypto/gc-hmac-md5 (License): Likewise.
46159         * modules/crypto/gc-hmac-sha1 (License): Likewise.
46160         * modules/crypto/gc-md2 (License): Likewise.
46161         * modules/crypto/gc-md4 (License): Likewise.
46162         * modules/crypto/gc-md5 (License): Likewise.
46163         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
46164         * modules/crypto/gc-random (License): Likewise.
46165         * modules/crypto/gc-rijndael (License): Likewise.
46166         * modules/crypto/gc-sha1 (License): Likewise.
46167         * modules/crypto/md2 (License): Likewise.
46168         * modules/crypto/md4 (License): Likewise.
46169
46170 2007-07-30  Jim Meyering  <jim@meyering.net>
46171
46172         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
46173         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
46174         it has valid stat data.  This bug would cause du not to count the
46175         sizes of inaccessible directories.
46176         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
46177         in <http://bugzilla.redhat.com/250077>.
46178
46179 2007-07-25  Peter O'Gorman  <peter@pogma.com>
46180             Bruno Haible  <bruno@clisp.org>
46181
46182         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
46183         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
46184         #include_next, gives a diagnostic about it, but reports no error in
46185         the exit code.
46186         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46187
46188 2007-07-24  Ben Pfaff  <blp@gnu.org>
46189
46190         Improve name: "count-one-bits" is better than "popcount".
46191         * MODULES.html.sh: Update name.
46192         * lib/popcount.h: Renamed lib/count-one-bits.h.
46193         (popcount): Renamed count_one_bits.
46194         (popcountl): Renamed count_one_bits_l.
46195         (popcountll): Renamed count_one_bits_ll.
46196         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
46197         * modules/popcount: Renamed module/count-one-bits.
46198         * modules/popcount-tests: Renamed module/count-one-bits-tests.
46199         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
46200
46201 2007-07-23  Ben Pfaff  <blp@gnu.org>
46202
46203         * lib/popcount.h (popcount32): Reduce size of constants, to allow
46204         better code generation, and add U to large constants to avoid
46205         warnings, in non-GCC case.
46206         Suggested by Bruno Haible.
46207
46208 2007-07-23  Ben Pfaff  <blp@gnu.org>
46209
46210         * lib/popcount.h: Use verify_true instead of if...abort.
46211         * modules/popcount: Depend on verify module.
46212         Suggested by Jim Meyering.
46213
46214 2007-07-23  Bruno Haible  <bruno@clisp.org>
46215
46216         * gnulib-tool (func_import): Create a .cvsignore file also when the
46217         directory is not yet in CVS but the toplevel directory is. When
46218         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
46219         Reported by Karl Berry.
46220
46221 2007-07-22  Ben Pfaff  <blp@gnu.org>
46222
46223         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
46224         case.
46225         Suggested by Eric Blake.
46226
46227 2007-07-22  Ben Pfaff  <blp@gnu.org>
46228
46229         New module: popcount.
46230         * MODULES.html.sh: Add popcount.
46231         * modules/popcount: New file.
46232         * modules/popcount-tests: New file.
46233         * tests/test-popcount.c: New file.
46234         * lib/popcount.h: New file.
46235         * m4/popcount.m4: New file.
46236
46237 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46238
46239         * build-aux/announce-gen: Update to GPLv3.
46240
46241         * build-aux/config.guess: Update from config.
46242
46243 2007-07-21  Bruno Haible  <bruno@clisp.org>
46244
46245         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
46246         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
46247
46248 2007-07-20  Jim Meyering  <jim@meyering.net>
46249
46250         * check-module: Diagnose a self-dependency.
46251
46252 2007-07-19  Bruno Haible  <bruno@clisp.org>
46253
46254         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
46255         empty.
46256         Reported by Eric Blake.
46257
46258 2007-07-18  Bruno Haible  <bruno@clisp.org>
46259
46260         * gnulib-tool: New options --po-base, --po-domain.
46261         (func_usage): Document them.
46262         (pobase, po_domain): New variables.
46263         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
46264         DEFAULT_TEXT_DOMAIN.
46265         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
46266         (func_import): Consider pobase and po_domain. Create a po/ directory.
46267         (func_create_testdir): Set pobase and po_domain to empty.
46268         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
46269         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
46270
46271 2007-07-18  Bruno Haible  <bruno@clisp.org>
46272
46273         * gnulib-tool (func_get_automake_snippet): Synthesize also an
46274         EXTRA_DIST augmentation for files in build-aux/.
46275
46276 2007-07-16  Bruno Haible  <bruno@clisp.org>
46277
46278         * modules/lseek (License): Use the synonymous term "LGPLv2+".
46279         * modules/getdelim (License): Likewise.
46280
46281 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46282
46283         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
46284         * modules/d-type (License): Likewise.
46285         * modules/extensions (License): Likewise.
46286         * modules/fnmatch (License): Likewise.
46287         * modules/fseeko (License): Likewise.
46288         * modules/getaddrinfo (License): Likewise.
46289         * modules/getline (License): Likewise.
46290         * modules/getlogin_r (License): Likewise.
46291         * modules/getpass (License): Likewise.
46292         * modules/gettimeofday (License): Likewise.
46293         * modules/glob (License): Likewise.
46294         * modules/inet_ntop (License): Likewise.
46295         * modules/malloc (License): Likewise.
46296         * modules/malloca (License): Likewise.
46297         * modules/memmem (License): Likewise.
46298         * modules/mempcpy (License): Likewise.
46299         * modules/memset (License): Likewise.
46300         * modules/minmax (License): Likewise.
46301         * modules/mktime (License): Likewise.
46302         * modules/netinet_in (License): Likewise.
46303         * modules/pathmax (License): Likewise.
46304         * modules/poll (License): Likewise.
46305         * modules/regex (License): Likewise.
46306         * modules/snprintf (License): Likewise.
46307         * modules/stdbool (License): Likewise.
46308         * modules/stdint (License): Likewise.
46309         * modules/stdio (License): Likewise.
46310         * modules/strcase (License): Likewise.
46311         * modules/strcasestr (License): Likewise.
46312         * modules/strdup (License): Likewise.
46313         * modules/string (License): Likewise.
46314         * modules/strndup (License): Likewise.
46315         * modules/strnlen (License): Likewise.
46316         * modules/strpbrk (License): Likewise.
46317         * modules/strptime (License): Likewise.
46318         * modules/strsep (License): Likewise.
46319         * modules/sys_select (License): Likewise.
46320         * modules/sys_socket (License): Likewise.
46321         * modules/sys_stat (License): Likewise.
46322         * modules/sys_time (License): Likewise.
46323         * modules/time (License): Likewise.
46324         * modules/time_r (License): Likewise.
46325         * modules/timegm (License): Likewise.
46326         * modules/unistd (License): Likewise.
46327         * modules/vsnprintf (License): Likewise.
46328         * modules/wctype (License): Likewise.
46329
46330 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46331
46332         * modules/argz (License): LGPLv2+.
46333
46334 2007-07-15  Karl Berry  <karl@gnu.org>
46335
46336         * doc/gnulib.texi: revise node structure per new fdl.texi.
46337
46338 2007-07-14  Bruno Haible  <bruno@clisp.org>
46339
46340         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
46341         the output file.
46342         * lib/uniname/uninames.h: Regenerated.
46343
46344 2007-07-14  Karl Berry  <karl@gnu.org>
46345
46346         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
46347         omitting sectioning and index commands.
46348
46349 2007-07-13  Bruno Haible  <bruno@clisp.org>
46350
46351         New gnulib-tool option --more-symlinks.
46352         * gnulib-tool (func_usage): Document --more-symlinks.
46353         (do_copyrights): New variable.
46354         Recognize option --more-symlinks.
46355         (func_import): Don't add a copyright notice transform to
46356         sed_transform_lib_file if do_copyrights is empty.
46357
46358 2007-07-13  Bruno Haible  <bruno@clisp.org>
46359
46360         * lib/vasnprintf.c (decimal_point_char): Define also if
46361         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
46362         && !NEED_PRINTF_DIRECTIVE_A.
46363         Reported by Clemens Koller <clemens.koller@anagramm.de> via
46364         Gary V. Vaughan <gary@gnu.org>.
46365
46366 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46367
46368         * lib/inttypes_.h: Undo previous change, since it was fixed
46369         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
46370
46371 2007-07-13  Bruno Haible  <bruno@clisp.org>
46372
46373         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
46374         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
46375
46376 2007-07-13  Jim Meyering  <jim@meyering.net>
46377
46378         df: Don't fail for Tru64's "file-on-file mount".
46379         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
46380         so we fall through and use statfs instead.  Details here:
46381         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
46382         Reported by Albert Chin.
46383
46384 2007-07-13  Bruno Haible  <bruno@clisp.org>
46385
46386         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
46387         * modules/configmake (License): Likewise.
46388         * modules/gettext (License): Likewise.
46389         * modules/gettext-h (License): Likewise.
46390         * modules/include_next (License): Likewise.
46391         * modules/link-warning (License): Likewise.
46392         * modules/localcharset (License): Likewise.
46393         * modules/localename (License): Likewise.
46394         * modules/lock (License): Likewise.
46395         * modules/relocatable-lib-lgpl (License): Likewise.
46396         * modules/size_max (License): Likewise.
46397         * modules/vasnprintf (License): Likewise.
46398         * modules/wchar (License): Likewise.
46399         * modules/xsize (License): Likewise.
46400
46401 2007-07-13  Bruno Haible  <bruno@clisp.org>
46402
46403         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
46404         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
46405
46406 2007-07-12  Bruno Haible  <bruno@clisp.org>
46407
46408         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
46409         in the modules files.
46410
46411 2007-07-11  Karl Berry  <karl@gnu.org>
46412
46413         * MODULES.html.sh (func_module): use
46414          sed -e '\|^'"${includefile}"'$|d'
46415          instead of /.../d, to avoid errors on $includefile's containing /.
46416
46417 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46418
46419         * gnulib-tool (func_import): Avoid duplication of --avoid
46420         statements
46421         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
46422         names to `_' in variable names.
46423
46424 2007-07-10  Eric Blake  <ebb9@byu.net>
46425
46426         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
46427         * NEWS: Document this change.
46428
46429 2007-07-08  Bruno Haible  <bruno@clisp.org>
46430
46431         Update to Unicode 5.0.
46432         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
46433         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
46434         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
46435         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
46436         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
46437         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
46438         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
46439         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
46440         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
46441         U+10A3F, U+1D242..U+1D244.
46442         (nonspacing_table_ind): Update.
46443         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
46444         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
46445
46446 2007-07-08  Bruno Haible  <bruno@clisp.org>
46447
46448         Update to Unicode 5.0.
46449         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
46450         code transform. Extend the name index field of unicode_name_to_code and
46451         unicode_code_to_name from 16 to 24 bits.
46452         * lib/uniname/uniname.c (unicode_character_name,
46453         unicode_name_character): Add the range 0x12xxx to the code transform.
46454         * lib/uniname/uninames.h: Regenerated.
46455         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
46456
46457 2007-07-07  Bruno Haible  <bruno@clisp.org>
46458
46459         * modules/wcwidth-tests: New file.
46460         * tests/test-wcwidth.c: New file.
46461
46462         Work around MacOS X wcwidth() bug.
46463         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
46464         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
46465         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
46466         original wcwidth in non-UTF-8 locales.
46467         * modules/wcwidth (Depends-on): Add localcharset, streq,
46468         uniwidth/width.
46469         * doc/functions/wcwidth.texi: Update.
46470
46471 2007-07-07  Bruno Haible  <bruno@clisp.org>
46472
46473         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
46474         (wcwidth): New declaration.
46475         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
46476         macros.
46477         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
46478         here. Prepare for creating <wchar.h> unconditionally.
46479         * modules/wchar (Depends-on): Add link-warning.
46480         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
46481         REPLACE_WCWIDTH, and GL_LINK_WARNING.
46482         * lib/wcwidth.h: Remove file.
46483         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
46484         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
46485         * modules/wcwidth (Files): Remove lib/wcwidth.h.
46486         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
46487         (Include): Replace wcwidth.h with <wchar.h>.
46488         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
46489         * lib/mbchar.h: Don't include wcwidth.h.
46490         * lib/mbswidth.c: Likewise.
46491         * NEWS: Mention the change.
46492
46493 2007-07-07  Bruno Haible  <bruno@clisp.org>
46494
46495         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
46496         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
46497         definition with an external declaration.
46498         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
46499         defined as a function. Remove AC_C_INLINE requirement.
46500         * modules/wcwidth (Files): Add lib/wcwidth.c.
46501         (Makefile.am): Remove redundant statement.
46502
46503 2007-07-07  Bruno Haible  <bruno@clisp.org>
46504
46505         * MODULES.html.sh (Unicode string functions): Add the new modules.
46506
46507         * tests/uniwidth/test-u32-strwidth.c: New file.
46508         * modules/uniwidth/u32-strwidth-tests: New file.
46509
46510         * lib/uniwidth/u32-strwidth.c: New file.
46511         * modules/uniwidth/u32-strwidth: New file.
46512
46513         * tests/uniwidth/test-u16-strwidth.c: New file.
46514         * modules/uniwidth/u16-strwidth-tests: New file.
46515
46516         * lib/uniwidth/u16-strwidth.c: New file.
46517         * modules/uniwidth/u16-strwidth: New file.
46518
46519         * tests/uniwidth/test-u8-strwidth.c: New file.
46520         * modules/uniwidth/u8-strwidth-tests: New file.
46521
46522         * lib/uniwidth/u8-strwidth.c: New file.
46523         * modules/uniwidth/u8-strwidth: New file.
46524
46525         * tests/uniwidth/test-u32-width.c: New file.
46526         * modules/uniwidth/u32-width-tests: New file.
46527
46528         * lib/uniwidth/u32-width.c: New file.
46529         * modules/uniwidth/u32-width: New file.
46530
46531         * tests/uniwidth/test-u16-width.c: New file.
46532         * modules/uniwidth/u16-width-tests: New file.
46533
46534         * lib/uniwidth/u16-width.c: New file.
46535         * modules/uniwidth/u16-width: New file.
46536
46537         * tests/uniwidth/test-u8-width.c: New file.
46538         * modules/uniwidth/u8-width-tests: New file.
46539
46540         * lib/uniwidth/u8-width.c: New file.
46541         * modules/uniwidth/u8-width: New file.
46542
46543         * tests/uniwidth/test-uc_width.c: New file.
46544         * modules/uniwidth/width-tests: New file.
46545
46546         * lib/uniwidth/width.c: New file, from GNU libiconv.
46547         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
46548         * modules/uniwidth/width: New file.
46549
46550         * lib/uniwidth.h: New file, from GNU libiconv.
46551         * modules/uniwidth/base: New file.
46552
46553 2007-07-07  Bruno Haible  <bruno@clisp.org>
46554
46555         * lib/uniname.h: New file, from GNU gettext.
46556         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
46557         * lib/uniname/uninames.h: New file, from GNU gettext.
46558         * lib/uniname/uniname.c: New file, from GNU gettext.
46559         * tests/uniname/test-uninames.sh: New file.
46560         * tests/uniname/test-uninames.c: New file, from GNU gettext.
46561         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
46562         * modules/uniname/base: New file.
46563         * modules/uniname/uniname: New file.
46564         * modules/uniname/uniname-tests: New file.
46565         * MODULES.html.sh (Unicode string functions): Add the new modules.
46566
46567 2007-07-06  Bruno Haible  <bruno@clisp.org>
46568
46569         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
46570
46571 2007-07-06  Bruno Haible  <bruno@clisp.org>
46572
46573         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
46574         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
46575         includes <cygwin/sys_time.h> which includes <sys/select.h> which
46576         include <sys/time.h>.
46577         Reported by Eric Blake.
46578
46579 2007-07-06  Eric Blake  <ebb9@byu.net>
46580
46581         Fix testing canonicalize on cygwin.
46582         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46583         Revert patch from 2007-06-19.
46584         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
46585         canonicalize module is also in use.
46586         * tests/test-canonicalize.c: New file.
46587         * tests/test-canonicalize.sh: Likewise.
46588         * modules/canonicalize-tests: Likewise.
46589
46590 2007-07-06  Jim Meyering  <jim@meyering.net>
46591
46592         * lib/getugroups.c (getugroups): Detect getgrent failure.
46593         Adjust comment to reflect reality: this function may return -1.
46594
46595 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
46596
46597         * build-aux/bootstrap (TP_URL,get_translations): Update to use
46598         the new TP address.
46599         (usage): Fix typo
46600         (gnulib_mk): New variable.
46601
46602 2007-07-05  Jim Meyering  <jim@meyering.net>
46603
46604         Don't let endgrent clobber errno, no matter how improbable.
46605         * lib/getugroups.c (getugroups): Save and restore errno around
46606         endgrent call.
46607
46608         Close the group DB even when failing with 2^31 or more members.
46609         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
46610
46611 2007-07-04  Jim Meyering  <jim@meyering.net>
46612
46613         * lib/getugroups.h: New file.
46614         * lib/getugroups.c: Include "getugroups.h".
46615         Remove uses of "register" keyword.
46616         Move local variable, "cp", down into scope where used.
46617         Give "username" parameter the "const" attribute.
46618         * modules/getugroups (Files): Add lib/getugroups.h
46619
46620 2007-07-04  Karl Berry  <karl@gnu.org>
46621
46622         * MODULES.html.sh (func_all_modules): Complete rename of
46623         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
46624
46625 2007-07-02  Bruno Haible  <bruno@clisp.org>
46626
46627         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
46628         mode, when inttypes.h comes from gnulib.
46629         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
46630
46631 2007-07-02  Simon Josefsson  <simon@josefsson.org>
46632
46633         * NEWS: Mention lgpl module name change.
46634
46635         * modules/lgpl-2.1: Renamed from lgpl.
46636
46637         * NEWS: Mention gpl module name change.
46638
46639         * modules/gpl-3.0: New file, based on gpl-2.0.
46640
46641         * modules/gpl-2.0: Renamed from gpl.
46642
46643         * modules/gpl: Fix filename, doc/gpl.texi is now found at
46644         doc/gpl-2.0.texi.
46645
46646 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
46647
46648         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
46649         #define __STDC_LIMIT_MACROS temporarily while including
46650         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
46651         Problem reported by Joel E. Denny in
46652         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
46653
46654 2007-07-01  Bruno Haible  <bruno@clisp.org>
46655
46656         * lib/unistdio.h: New file.
46657         * lib/unistdio/u-asnprintf.h: New file.
46658         * lib/unistdio/u-asprintf.h: New file.
46659         * lib/unistdio/u-printf-args.c: New file.
46660         * lib/unistdio/u-printf-args.h: New file.
46661         * lib/unistdio/u-printf-parse.h: New file.
46662         * lib/unistdio/u-snprintf.h: New file.
46663         * lib/unistdio/u-sprintf.h: New file.
46664         * lib/unistdio/u-vasprintf.h: New file.
46665         * lib/unistdio/u-vsnprintf.h: New file.
46666         * lib/unistdio/u-vsprintf.h: New file.
46667         * lib/unistdio/ulc-asnprintf.c: New file.
46668         * lib/unistdio/ulc-asprintf.c: New file.
46669         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
46670         * lib/unistdio/ulc-printf-parse.c: New file.
46671         * lib/unistdio/ulc-snprintf.c: New file.
46672         * lib/unistdio/ulc-sprintf.c: New file.
46673         * lib/unistdio/ulc-vasnprintf.c: New file.
46674         * lib/unistdio/ulc-vasprintf.c: New file.
46675         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
46676         * lib/unistdio/ulc-vsnprintf.c: New file.
46677         * lib/unistdio/ulc-vsprintf.c: New file.
46678         * lib/unistdio/u8-asnprintf.c: New file.
46679         * lib/unistdio/u8-asprintf.c: New file.
46680         * lib/unistdio/u8-printf-parse.c: New file.
46681         * lib/unistdio/u8-snprintf.c: New file.
46682         * lib/unistdio/u8-sprintf.c: New file.
46683         * lib/unistdio/u8-vasnprintf.c: New file.
46684         * lib/unistdio/u8-vasprintf.c: New file.
46685         * lib/unistdio/u8-vsnprintf.c: New file.
46686         * lib/unistdio/u8-vsprintf.c: New file.
46687         * lib/unistdio/u8-u8-asnprintf.c: New file.
46688         * lib/unistdio/u8-u8-asprintf.c: New file.
46689         * lib/unistdio/u8-u8-snprintf.c: New file.
46690         * lib/unistdio/u8-u8-sprintf.c: New file.
46691         * lib/unistdio/u8-u8-vasnprintf.c: New file.
46692         * lib/unistdio/u8-u8-vasprintf.c: New file.
46693         * lib/unistdio/u8-u8-vsnprintf.c: New file.
46694         * lib/unistdio/u8-u8-vsprintf.c: New file.
46695         * lib/unistdio/u16-asnprintf.c: New file.
46696         * lib/unistdio/u16-asprintf.c: New file.
46697         * lib/unistdio/u16-printf-parse.c: New file.
46698         * lib/unistdio/u16-snprintf.c: New file.
46699         * lib/unistdio/u16-sprintf.c: New file.
46700         * lib/unistdio/u16-vasnprintf.c: New file.
46701         * lib/unistdio/u16-vasprintf.c: New file.
46702         * lib/unistdio/u16-vsnprintf.c: New file.
46703         * lib/unistdio/u16-vsprintf.c: New file.
46704         * lib/unistdio/u16-u16-asnprintf.c: New file.
46705         * lib/unistdio/u16-u16-asprintf.c: New file.
46706         * lib/unistdio/u16-u16-snprintf.c: New file.
46707         * lib/unistdio/u16-u16-sprintf.c: New file.
46708         * lib/unistdio/u16-u16-vasnprintf.c: New file.
46709         * lib/unistdio/u16-u16-vasprintf.c: New file.
46710         * lib/unistdio/u16-u16-vsnprintf.c: New file.
46711         * lib/unistdio/u16-u16-vsprintf.c: New file.
46712         * lib/unistdio/u32-asnprintf.c: New file.
46713         * lib/unistdio/u32-asprintf.c: New file.
46714         * lib/unistdio/u32-printf-parse.c: New file.
46715         * lib/unistdio/u32-snprintf.c: New file.
46716         * lib/unistdio/u32-sprintf.c: New file.
46717         * lib/unistdio/u32-vasnprintf.c: New file.
46718         * lib/unistdio/u32-vasprintf.c: New file.
46719         * lib/unistdio/u32-vsnprintf.c: New file.
46720         * lib/unistdio/u32-vsprintf.c: New file.
46721         * lib/unistdio/u32-u32-asnprintf.c: New file.
46722         * lib/unistdio/u32-u32-asprintf.c: New file.
46723         * lib/unistdio/u32-u32-snprintf.c: New file.
46724         * lib/unistdio/u32-u32-sprintf.c: New file.
46725         * lib/unistdio/u32-u32-vasnprintf.c: New file.
46726         * lib/unistdio/u32-u32-vasprintf.c: New file.
46727         * lib/unistdio/u32-u32-vsnprintf.c: New file.
46728         * lib/unistdio/u32-u32-vsprintf.c: New file.
46729         * tests/unistdio/test-ulc-asnprintf1.c: New file.
46730         * tests/unistdio/test-ulc-asnprintf1.h: New file.
46731         * tests/unistdio/test-ulc-printf1.h: New file.
46732         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
46733         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
46734         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
46735         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
46736         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
46737         * tests/unistdio/test-ulc-vasprintf1.c: New file.
46738         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
46739         * tests/unistdio/test-ulc-vsprintf1.c: New file.
46740         * tests/unistdio/test-u8-asnprintf1.c: New file.
46741         * tests/unistdio/test-u8-asnprintf1.h: New file.
46742         * tests/unistdio/test-u8-printf1.h: New file.
46743         * tests/unistdio/test-u8-vasnprintf1.c: New file.
46744         * tests/unistdio/test-u8-vasnprintf2.c: New file.
46745         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
46746         * tests/unistdio/test-u8-vasnprintf3.c: New file.
46747         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
46748         * tests/unistdio/test-u8-vasprintf1.c: New file.
46749         * tests/unistdio/test-u8-vsnprintf1.c: New file.
46750         * tests/unistdio/test-u8-vsprintf1.c: New file.
46751         * tests/unistdio/test-u16-asnprintf1.c: New file.
46752         * tests/unistdio/test-u16-asnprintf1.h: New file.
46753         * tests/unistdio/test-u16-printf1.h: New file.
46754         * tests/unistdio/test-u16-vasnprintf1.c: New file.
46755         * tests/unistdio/test-u16-vasnprintf2.c: New file.
46756         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
46757         * tests/unistdio/test-u16-vasnprintf3.c: New file.
46758         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
46759         * tests/unistdio/test-u16-vasprintf1.c: New file.
46760         * tests/unistdio/test-u16-vsnprintf1.c: New file.
46761         * tests/unistdio/test-u16-vsprintf1.c: New file.
46762         * tests/unistdio/test-u32-asnprintf1.c: New file.
46763         * tests/unistdio/test-u32-asnprintf1.h: New file.
46764         * tests/unistdio/test-u32-printf1.h: New file.
46765         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46766         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46767         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46768         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46769         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46770         * tests/unistdio/test-u32-vasprintf1.c: New file.
46771         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46772         * tests/unistdio/test-u32-vsprintf1.c: New file.
46773         * modules/unistdio/base: New file.
46774         * modules/unistdio/u-printf-args: New file.
46775         * modules/unistdio/ulc-asnprintf: New file.
46776         * modules/unistdio/ulc-asprintf: New file.
46777         * modules/unistdio/ulc-fprintf: New file.
46778         * modules/unistdio/ulc-printf-parse: New file.
46779         * modules/unistdio/ulc-snprintf: New file.
46780         * modules/unistdio/ulc-sprintf: New file.
46781         * modules/unistdio/ulc-vasnprintf: New file.
46782         * modules/unistdio/ulc-vasprintf: New file.
46783         * modules/unistdio/ulc-vfprintf: New file.
46784         * modules/unistdio/ulc-vsnprintf: New file.
46785         * modules/unistdio/ulc-vsprintf: New file.
46786         * modules/unistdio/u8-asnprintf: New file.
46787         * modules/unistdio/u8-asprintf: New file.
46788         * modules/unistdio/u8-printf-parse: New file.
46789         * modules/unistdio/u8-snprintf: New file.
46790         * modules/unistdio/u8-sprintf: New file.
46791         * modules/unistdio/u8-vasnprintf: New file.
46792         * modules/unistdio/u8-vasprintf: New file.
46793         * modules/unistdio/u8-vsnprintf: New file.
46794         * modules/unistdio/u8-vsprintf: New file.
46795         * modules/unistdio/u8-u8-asnprintf: New file.
46796         * modules/unistdio/u8-u8-asprintf: New file.
46797         * modules/unistdio/u8-u8-snprintf: New file.
46798         * modules/unistdio/u8-u8-sprintf: New file.
46799         * modules/unistdio/u8-u8-vasnprintf: New file.
46800         * modules/unistdio/u8-u8-vasprintf: New file.
46801         * modules/unistdio/u8-u8-vsnprintf: New file.
46802         * modules/unistdio/u8-u8-vsprintf: New file.
46803         * modules/unistdio/u16-asnprintf: New file.
46804         * modules/unistdio/u16-asprintf: New file.
46805         * modules/unistdio/u16-printf-parse: New file.
46806         * modules/unistdio/u16-snprintf: New file.
46807         * modules/unistdio/u16-sprintf: New file.
46808         * modules/unistdio/u16-vasnprintf: New file.
46809         * modules/unistdio/u16-vasprintf: New file.
46810         * modules/unistdio/u16-vsnprintf: New file.
46811         * modules/unistdio/u16-vsprintf: New file.
46812         * modules/unistdio/u16-u16-asnprintf: New file.
46813         * modules/unistdio/u16-u16-asprintf: New file.
46814         * modules/unistdio/u16-u16-snprintf: New file.
46815         * modules/unistdio/u16-u16-sprintf: New file.
46816         * modules/unistdio/u16-u16-vasnprintf: New file.
46817         * modules/unistdio/u16-u16-vasprintf: New file.
46818         * modules/unistdio/u16-u16-vsnprintf: New file.
46819         * modules/unistdio/u16-u16-vsprintf: New file.
46820         * modules/unistdio/u32-asnprintf: New file.
46821         * modules/unistdio/u32-asprintf: New file.
46822         * modules/unistdio/u32-printf-parse: New file.
46823         * modules/unistdio/u32-snprintf: New file.
46824         * modules/unistdio/u32-sprintf: New file.
46825         * modules/unistdio/u32-vasnprintf: New file.
46826         * modules/unistdio/u32-vasprintf: New file.
46827         * modules/unistdio/u32-vsnprintf: New file.
46828         * modules/unistdio/u32-vsprintf: New file.
46829         * modules/unistdio/u32-u32-asnprintf: New file.
46830         * modules/unistdio/u32-u32-asprintf: New file.
46831         * modules/unistdio/u32-u32-snprintf: New file.
46832         * modules/unistdio/u32-u32-sprintf: New file.
46833         * modules/unistdio/u32-u32-vasnprintf: New file.
46834         * modules/unistdio/u32-u32-vasprintf: New file.
46835         * modules/unistdio/u32-u32-vsnprintf: New file.
46836         * modules/unistdio/u32-u32-vsprintf: New file.
46837         * modules/unistdio/ulc-asnprintf-tests: New file.
46838         * modules/unistdio/ulc-vasnprintf-tests: New file.
46839         * modules/unistdio/ulc-vasprintf-tests: New file.
46840         * modules/unistdio/ulc-vsnprintf-tests: New file.
46841         * modules/unistdio/ulc-vsprintf-tests: New file.
46842         * modules/unistdio/u8-asnprintf-tests: New file.
46843         * modules/unistdio/u8-vasnprintf-tests: New file.
46844         * modules/unistdio/u8-vasprintf-tests: New file.
46845         * modules/unistdio/u8-vsnprintf-tests: New file.
46846         * modules/unistdio/u8-vsprintf-tests: New file.
46847         * modules/unistdio/u16-asnprintf-tests: New file.
46848         * modules/unistdio/u16-vasnprintf-tests: New file.
46849         * modules/unistdio/u16-vasprintf-tests: New file.
46850         * modules/unistdio/u16-vsnprintf-tests: New file.
46851         * modules/unistdio/u16-vsprintf-tests: New file.
46852         * modules/unistdio/u32-asnprintf-tests: New file.
46853         * modules/unistdio/u32-vasnprintf-tests: New file.
46854         * modules/unistdio/u32-vasprintf-tests: New file.
46855         * modules/unistdio/u32-vsnprintf-tests: New file.
46856         * modules/unistdio/u32-vsprintf-tests: New file.
46857         * MODULES.html.sh (Unicode string functions): Add the new modules.
46858
46859 2007-07-01  Bruno Haible  <bruno@clisp.org>
46860
46861         * lib/sprintf.c (sprintf): Limit the available length estimation,
46862         to avoid address wraparound.
46863         * lib/vsprintf.c (vsprintf): Likewise.
46864         * modules/sprintf-posix (Dependencies): Add stdint.
46865         * modules/vsprintf-posix (Dependencies): Likewise.
46866
46867 2007-07-01  Bruno Haible  <bruno@clisp.org>
46868
46869         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46870         Windows PATH as well. Conservative double-quoting. Comments.
46871
46872 2007-07-01  Bruno Haible  <bruno@clisp.org>
46873             Eric Blake  <ebb9@byu.net>
46874             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46875
46876         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46877         empty components in $PATH, denoting '.'.
46878
46879 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46880
46881         * gnulib-tool: Fix indentation.
46882         (func_create_megatestdir): Likewise.
46883         Report by Bruno Haible.
46884
46885 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46886
46887         Sync from Automake.
46888         * build-aux/gnupload: Fix shell portability issues with for loops.
46889         Report by Karl Berry.
46890
46891 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46892
46893         * build-aux/maint.mk (POURL): Use translationproject.org.
46894
46895 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46896             Bruno Haible  <bruno@clisp.org>
46897
46898         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46899         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46900         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46901         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46902         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46903
46904 2007-06-27  Bruno Haible  <bruno@clisp.org>
46905
46906         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46907         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46908
46909 2007-06-26  Karl Berry  <karl@gnu.org>
46910
46911         * MODULES.html.sh: remove xreadlink-with-size.
46912
46913 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46914
46915         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46916         method that I hope also handles the double-include problem noted
46917         by Bruno Haible in
46918         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46919
46920 2007-06-23  Bruno Haible  <bruno@clisp.org>
46921
46922         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46923         Don't let the 'mostlyclean' target fail if the last subdirectory could
46924         not be removed.
46925         Reported by Karl Berry.
46926
46927 2007-06-23  Bruno Haible  <bruno@clisp.org>
46928
46929         * gnulib-tool (echo): Add a speedier workaround for ksh.
46930         * tests/test-echo.sh: Likewise.
46931
46932 2007-06-23  Bruno Haible  <bruno@clisp.org>
46933
46934         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46935         * tests/test-echo.sh: Likewise.
46936
46937 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46938
46939         * gnulib-tool (IFS): Initialize early, so we don't set it to
46940         empty later.
46941         (self_abspathname): Rewrite algorithm to set it, reindent.
46942         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46943         (func_create_megatestdir): Merge some sed scripts.
46944
46945 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46946
46947         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46948         exposed by Sun Studio 11 cc on Solaris 8.
46949
46950 2007-06-22  Bruno Haible  <bruno@clisp.org>
46951
46952         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46953         backslashes.
46954         * tests/test-echo.sh: New file.
46955
46956 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46957
46958         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46959         simplify `sed_replace_build_aux' scripts, they are portable but
46960         echoing them with `echo' is not.
46961         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46962
46963 2007-06-21  Karl Berry  <karl@gnu.org>
46964
46965         * config/srclist.txt: guess we can't handle the licenses via
46966         srclist at the moment.
46967
46968 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46969
46970         * MODULES.html.sh: Add include_next.
46971         * modules/include_next: New file.
46972
46973 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46974
46975         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46976         INCLUDE_NEXT.
46977         (gl_CHECK_NEXT_HEADERS): New macro.
46978         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46979         the obsolescent gl_ABSOLUTE_HEADER.
46980         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46981         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46982         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46983         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46984         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46985         * m4/math_h.m4 (gl_MATH_H): Likewise.
46986         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46987         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46988         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46989         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46990         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46991         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46992         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46993         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46994         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46995         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46996         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46997         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46998         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46999         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
47000         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47001         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
47002         * m4/inttypes.m4 (gl_INTTYPES_H): Define
47003         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
47004         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
47005         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
47006         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
47007         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
47008         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
47009         * lib/float_.h: Likewise.
47010         * lib/inttypes_.h: Likewise.
47011         * lib/math_.h: Likewise.
47012         * lib/search_.h: Likewise.
47013         * lib/signal_.h: Likewise.
47014         * lib/stdint_.h: Likewise.
47015         * lib/stdio_.h: Likewise.
47016         * lib/stdlib_.h: Likewise.
47017         * lib/string_.h: Likewise.
47018         * lib/sys_stat_.h: Likewise.
47019         * lib/sys_time_.h: Likewise.
47020         * lib/time_.h: Likewise.
47021         * lib/unistd_.h: Likewise.
47022         * lib/wchar_.h: Likewise.
47023         * lib/wctype_.h: Likewise.
47024         * lib/dirent_.h: Likewise.
47025         * lib/iconv_.h: Likewise.
47026         * lib/locale_.h: Likewise.
47027         * lib/netinet_in_.h: Likewise.
47028         * lib/sys_select_.h: Likewise.
47029         * lib/sys_socket_.h: Likewise.
47030         * lib/sysexits_.h: Likewise.
47031         * modules/fcntl (Depends-on): Depend on include_next, not
47032         absolute_header.
47033         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
47034         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
47035         * modules/fchdir: Likewise.
47036         * modules/float: Likewise.
47037         * modules/iconv_open: Likewise.
47038         * modules/inttypes: Likewise.
47039         * modules/locale: Likewise.
47040         * modules/math: Likewise.
47041         * modules/netinet_in: Likewise.
47042         * modules/search: Likewise.
47043         * modules/signal: Likewise.
47044         * modules/stdint: Likewise.
47045         * modules/stdio: Likewise.
47046         * modules/stdlib: Likewise.
47047         * modules/string: Likewise.
47048         * modules/sys_select: Likewise.
47049         * modules/sys_socket: Likewise.
47050         * modules/sys_stat: Likewise.
47051         * modules/sys_time: Likewise.
47052         * modules/sysexits: Likewise.
47053         * modules/time: Likewise.
47054         * modules/unistd: Likewise.
47055         * modules/wchar: Likewise.
47056         * modules/wctype: Likewise.
47057         * modules/sys_stat: Change maintainer to "all".
47058         * modules/unistd: Likewise.
47059
47060 2007-06-20  Karl Berry  <karl@gnu.org>
47061
47062         * config/srclist.txt: track www changes in license files.
47063
47064 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
47065
47066         * build-aux/bootstrap: Remove stray dot.
47067         Make sure build_aux settings are honored when linking
47068         gnulib_extra_files.
47069
47070 2007-06-19  Eric Blake  <ebb9@byu.net>
47071
47072         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47073         Allow compilation on cygwin.
47074
47075 2007-06-19  Jim Meyering  <jim@meyering.net>
47076
47077         xreadlink-with-size: Remove module.  No longer used.
47078         Ex-callers now use xreadlink or mreadlink-with-size.
47079         * modules/xreadlink-with-size: Remove module.
47080         * lib/xreadlink-with-size.c: Remove file.
47081         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
47082         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
47083         just before the function definition *is* accurate.
47084
47085         Eliminate one way canonicalize_filename_mode could exit.
47086         * lib/canonicalize.c (canonicalize_filename_mode):
47087         Use mreadlink_with_size, not xreadlink_with_size.
47088
47089 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
47090
47091         Detect porting problems to FreeBSD/arm, which has time_t wider than
47092         long int.  Original problem reported for GNU diff by Xin Li in
47093         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
47094         * modules/getdate (Depends-on): Add intprops, verify.
47095         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
47096         is an integer type no wider than long int.
47097
47098 2007-06-18  Jim Meyering  <jim@meyering.net>
47099
47100         New module: mreadlink-with-size.
47101         * MODULES.html.sh: Add mreadlink-with-size.
47102         * modules/mreadlink-with-size: New module
47103         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
47104         not xreadlink-with-size.
47105         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
47106
47107 2007-06-16  Bruno Haible  <bruno@clisp.org>
47108
47109         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
47110         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
47111         Reported by Gary V. Vaughan <gary@gnu.org>.
47112
47113 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
47114
47115         Revamp lchown so that it lives in unistd.h where it belongs.
47116         * lib/lchown.h: Remove.
47117         * lib/dirchownmod.c: Don't include lib/lchown.h.
47118         * lib/fchownat.c: Likewise.
47119         * lib/openat.c: Likewise.
47120         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
47121         does not follow symlinks.
47122         (EOPNOTSUPP): Define if not defined.
47123         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
47124         is defined to 0.
47125         (lchown): New decl.
47126         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
47127         Do not check for lchown decl.
47128         Set REPLACE_LCHOWN.
47129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
47130         REPLACE_LCHOWN.
47131         * modules/chown: Make it clear it follows symlinks.
47132         * modules/lchown: Make it clear it doesn't follow symlinks.
47133         (Files): Remove lib/lchown.h
47134         (Depends-on): Add unistd.
47135         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
47136         (Include): Include <unistd.h>, not "lchown.h".
47137         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
47138         REPLACE_LCHOWN.
47139
47140 2007-06-15  Jim Meyering  <jim@meyering.net>
47141
47142         Change license (GPL to LGPL) of fsusage and dependents.
47143         * modules/fsusage (License): Change to LGPL.
47144         * modules/full-read (License): Likewise.
47145         * modules/full-write (License): Likewise.
47146         * modules/safe-read (License): Likewise.
47147         * modules/safe-write (License): Likewise.
47148
47149 2007-06-14  Ben Pfaff  <blp@gnu.org>
47150
47151         Missing part of allocsa -> malloca transition.
47152         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
47153         gl_MALLOCA.
47154
47155 2007-06-12  Bruno Haible  <bruno@clisp.org>
47156
47157         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
47158         to ia64, x86_64, i386.
47159         Reported by Eric Blake.
47160
47161 2007-06-12  Bruno Haible  <bruno@clisp.org>
47162
47163         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
47164         cross-compiling to x86_64.
47165
47166 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
47167
47168         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
47169         glitch reported by Ralf Wildenhues in
47170         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
47171
47172         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
47173         Vin Shelton.
47174
47175 2007-06-11  Bruno Haible  <bruno@clisp.org>
47176
47177         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
47178         replacement string.
47179         Reported by Eric Blake.
47180
47181 2007-06-10  Bruno Haible  <bruno@clisp.org>
47182
47183         Prepare vasnprintf code for use with Unicode strings.
47184         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
47185         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
47186         TYPE_U32_STRING.
47187         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
47188         a_u32_string variants.
47189         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47190         * lib/printf-args.c: Don't include config.h and the specification
47191         header if PRINTF_FETCHARGS is already defined.
47192         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47193         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
47194         TYPE_U16_STRING, TYPE_U32_STRING.
47195         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
47196         u16_directive, u16_directives, u32_directive, u32_directives): New
47197         types.
47198         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
47199         New declarations.
47200         * lib/printf-parse.c: Don't include config.h and the specification
47201         header if PRINTF_PARSE is already defined. Eliminate the set of
47202         parameters for WIDE_CHAR_VERSION; the user of this file must provide
47203         them now. Include c-ctype.h.
47204         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
47205         directive and CHAR_T_ONLY_ASCII.
47206         * lib/vasnprintf.c: Don't include config.h and the specification header
47207         if VASNPRINTF is already defined.
47208         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
47209         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
47210         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
47211         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
47212         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
47213         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
47214         code accordingly.
47215         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
47216         pad_ourselves also in this case, with the 'c' and 's' directives, and
47217         with a different notion of "width".
47218         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
47219
47220 2007-06-10  Bruno Haible  <bruno@clisp.org>
47221
47222         * modules/unistr/u32-mbsnlen: New file.
47223         * lib/unistr/u32-mbsnlen.c: New file.
47224
47225         * modules/unistr/u16-mbsnlen: New file.
47226         * lib/unistr/u16-mbsnlen.c: New file.
47227
47228         * modules/unistr/u8-mbsnlen: New file.
47229         * lib/unistr/u8-mbsnlen.c: New file.
47230
47231         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
47232         declarations.
47233
47234 2007-06-10  Bruno Haible  <bruno@clisp.org>
47235
47236         * lib/string_.h (mbsnlen): New declaration.
47237         * lib/mbsnlen.c: New file.
47238         * m4/mbsnlen.m4: New file.
47239         * modules/mbsnlen: New file.
47240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
47241         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
47242         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
47243
47244 2007-06-10  Bruno Haible  <bruno@clisp.org>
47245
47246         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
47247
47248 2007-06-10  Bruno Haible  <bruno@clisp.org>
47249
47250         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
47251         * lib/mbuiter.h: Likewise.
47252
47253 2007-06-10  Bruno Haible  <bruno@clisp.org>
47254
47255         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
47256         declaration.
47257
47258 2007-06-10  Karl Berry  <karl@gnu.org>
47259
47260         * config/srclist.txt: remove gettext entries, Bruno prefers
47261         to update individually.
47262
47263 2007-06-10  Bruno Haible  <bruno@clisp.org>
47264
47265         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
47266         'maxlen'. Ensure only length + width bytes are allocated, not
47267         length + 1 + width.
47268
47269 2007-06-09  Bruno Haible  <bruno@clisp.org>
47270
47271         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
47272         (CHAR_T): Remove macro.
47273         (VASNPRINTF): Update.
47274
47275 2007-06-09  Bruno Haible  <bruno@clisp.org>
47276
47277         * MODULES.html.sh (Unicode string functions): Add the new modules.
47278
47279         * modules/uniconv/u32-conv-to-enc: New file.
47280         * lib/uniconv/u32-conv-to-enc.c: New file.
47281         * modules/uniconv/u32-conv-to-enc-tests: New file.
47282         * tests/uniconv/test-u32-conv-to-enc.c: New file.
47283
47284         * modules/uniconv/u16-conv-to-enc: New file.
47285         * lib/uniconv/u16-conv-to-enc.c: New file.
47286         * lib/uniconv/u-conv-to-enc.h: New file.
47287         * modules/uniconv/u16-conv-to-enc-tests: New file.
47288         * tests/uniconv/test-u16-conv-to-enc.c: New file.
47289
47290         * modules/uniconv/u8-conv-to-enc: New file.
47291         * lib/uniconv/u8-conv-to-enc.c: New file.
47292         * modules/uniconv/u8-conv-to-enc-tests: New file.
47293         * tests/uniconv/test-u8-conv-to-enc.c: New file.
47294
47295         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47296         u32_conv_to_encoding): New declarations.
47297
47298 2007-06-09  Bruno Haible  <bruno@clisp.org>
47299
47300         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
47301
47302 2007-06-09  Bruno Haible  <bruno@clisp.org>
47303
47304         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
47305         * modules/malloca: Renamed from modules/allocsa, updated.
47306         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
47307         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
47308         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
47309         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
47310         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
47311         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
47312         * modules/xmalloca: Renamed from modules/xallocsa, updated.
47313         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
47314         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
47315         * modules/c-strcasestr (Depends-on): Update.
47316         * lib/c-strcasestr.c: Update.
47317         * modules/c-strstr (Depends-on): Update.
47318         * lib/c-strstr.c: Update.
47319         * modules/canonicalize-lgpl (Depends-on): Update.
47320         * lib/canonicalize-lgpl.c: Update.
47321         * modules/clean-temp (Depends-on): Update.
47322         * lib/clean-temp.c: Update.
47323         * modules/csharpcomp (Depends-on): Update.
47324         * lib/csharpcomp.c: Update.
47325         * modules/csharpexec (Depends-on): Update.
47326         * lib/csharpexec.c: Update.
47327         * modules/javacomp (Depends-on): Update.
47328         * lib/javacomp.c: Update.
47329         * modules/javaexec (Depends-on): Update.
47330         * lib/javaexec.c: Update.
47331         * modules/mbscasestr (Depends-on): Update.
47332         * lib/mbscasestr.c: Update.
47333         * modules/mbsstr (Depends-on): Update.
47334         * lib/mbsstr.c: Update.
47335         * modules/setenv (Depends-on): Update.
47336         * lib/setenv.c: Update.
47337         * modules/strcasestr (Depends-on): Update.
47338         * lib/strcasestr.c: Update.
47339         * modules/striconveha (Depends-on): Update.
47340         * lib/striconveha.c: Update.
47341         * modules/relocatable-prog-wrapper (Files): Update.
47342         * lib/relocwrapper.c: Update.
47343         * build-aux/install-reloc: Update.
47344         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
47345
47346 2007-06-08  Bruno Haible  <bruno@clisp.org>
47347
47348         Port to uClibc.
47349         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
47350         * lib/fpurge.c (fpurge): Likewise.
47351         * lib/freading.c (freading): Likewise.
47352         * lib/fseeko.c (rpl_fseeko): Likewise.
47353         * lib/fseterr.c (fseterr): Likewise.
47354         * lib/fwriting.c (fwriting): Likewise.
47355         * tests/test-fflush.c (main): Avoid a failure on uClibc.
47356
47357 2007-06-08  Bruno Haible  <bruno@clisp.org>
47358
47359         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
47360         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
47361         * modules/gettext (Files): Add m4/intlmacosx.m4.
47362
47363 2007-06-07  Bruno Haible  <bruno@clisp.org>
47364
47365         * modules/localename-tests: New file.
47366         * tests/test-localename.c: New file.
47367
47368         New module 'localename'.
47369         * lib/localename.h: New file.
47370         * lib/localename.c: New file, from GNU gettext.
47371         * m4/localename.m4: New file.
47372         * modules/localename: New file.
47373
47374 2007-06-07  Bruno Haible  <bruno@clisp.org>
47375
47376         Work around the lack of <wchar.h> on some builds of uClibc.
47377         * doc/headers/wchar.texi: Update.
47378         * lib/wchar_.h: Include <wchar.h> only if it exists.
47379         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
47380         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
47381         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
47382         doesn't exist.
47383         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
47384         * modules/mbfile (Depends-on): Add wchar.
47385         * modules/mbiter (Depends-on): Likewise.
47386         * modules/mbuiter (Depends-on): Likewise.
47387         Reported by Simon Josefsson.
47388
47389 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47390
47391         Work around problem reported by Steven M. Schweda in
47392         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
47393         Tru64 5.1B with the Compaq compiler environment installed declares
47394         an 'isblank' function but does not define it in the C library.
47395         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
47396         * lib/regex_internal.h (isblank): Likewise.
47397         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
47398         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47399
47400 2007-06-05  Bruno Haible  <bruno@clisp.org>
47401
47402         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
47403         ia64.
47404         * modules/printf-safe: New file.
47405         * modules/fprintf-posix (Depends-on): Add printf-safe.
47406         * modules/printf-posix (Depends-on): Likewise.
47407         * modules/snprintf-posix (Depends-on): Likewise.
47408         * modules/sprintf-posix (Depends-on): Likewise.
47409         * modules/vasnprintf-posix (Depends-on): Likewise.
47410         * modules/vasprintf-posix (Depends-on): Likewise.
47411         * modules/vfprintf-posix (Depends-on): Likewise.
47412         * modules/vprintf-posix (Depends-on): Likewise.
47413         * modules/vsnprintf-posix (Depends-on): Likewise.
47414         * modules/vsprintf-posix (Depends-on): Likewise.
47415         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
47416         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
47417         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
47418         "no" on i386, x86_64, ia64.
47419         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
47420         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47421         on i386, x86_64, ia64.
47422         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
47423         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47424         on i386, x86_64, ia64.
47425         * tests/test-vasnprintf-posix.c: Include float.h.
47426         (LDBL80_WORDS): New macro.
47427         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47428         on i386, x86_64, ia64.
47429         * tests/test-vasprintf-posix.c: Include float.h.
47430         (LDBL80_WORDS): New macro.
47431         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
47432         on i386, x86_64, ia64.
47433         * tests/test-snprintf-posix.c: Include float.h.
47434         * tests/test-sprintf-posix.c: Likewise.
47435         * tests/test-vsnprintf-posix.c: Likewise.
47436         * tests/test-vsprintf-posix.c: Likewise.
47437
47438 2007-06-05  Bruno Haible  <bruno@clisp.org>
47439
47440         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
47441         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
47442         non-IEEE numbers on i386, x86_64, ia64.
47443         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
47444         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
47445         * tests/test-isnanl.h: Include float.h.
47446         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
47447
47448 2007-06-05  Bruno Haible  <bruno@clisp.org>
47449
47450         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
47451         also the %a / %A. Handle the %a / %A code before this extra handling.
47452
47453 2007-06-05  Bruno Haible  <bruno@clisp.org>
47454
47455         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
47456         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
47457
47458 2007-06-05  Bruno Haible  <bruno@clisp.org>
47459
47460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
47461         typo in variable name.
47462
47463 2007-06-05  Eric Blake  <ebb9@byu.net>
47464
47465         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
47466         Reported by Simon Josefsson.
47467
47468 2007-06-04  Bruno Haible  <bruno@clisp.org>
47469
47470         Avoid test failures on some PowerPC platforms.
47471         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
47472         Define differently for PowerPC.
47473         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
47474         Reported by Gary V. Vaughan <gary@gnu.org>.
47475
47476 2007-06-02  Bruno Haible  <bruno@clisp.org>
47477
47478         Fix test-stdint failure on FreeBSD/ia64.
47479         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
47480         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
47481         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
47482         * doc/headers/stdint.texi: Update.
47483
47484 2007-06-01  Bruno Haible  <bruno@clisp.org>
47485
47486         * tests/test-binary-io.c (main): Pass a third argument to open().
47487         Reported by Gary V. Vaughan <gary@gnu.org>.
47488
47489 2007-06-01  Bruno Haible  <bruno@clisp.org>
47490
47491         * doc/functions/frexpl.texi: Update for mingw.
47492
47493 2007-06-01  Bruno Haible  <bruno@clisp.org>
47494
47495         * tests/test-lseek.c (main): Disable test of errno for invalid third
47496         argument.
47497         * doc/functions/lseek.texi: Update.
47498         Reported by Gary V. Vaughan <gary@gnu.org>.
47499
47500 2007-05-28  Bruno Haible  <bruno@clisp.org>
47501
47502         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
47503
47504 2007-05-31  Eric Blake  <ebb9@byu.net>
47505
47506         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
47507         cross compiling.
47508
47509 2007-05-30  Eric Blake  <ebb9@byu.net>
47510         and Bruno Haible  <bruno@clisp.org>
47511
47512         Work around mingw test failures exposed by m4-1.4.9b.
47513         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
47514         * tests/test-unistd.c: Disable uid_t and git_t tests for the
47515         moment.
47516
47517 2007-05-30  Bruno Haible  <bruno@clisp.org>
47518
47519         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
47520         assuming that they are closed. Needed on HP-UX 11.
47521
47522 2007-05-29  Bruno Haible  <bruno@clisp.org>
47523
47524         Fix a problem with #include_next.
47525         * lib/dirent_.h: Split the double-inclusion guard.
47526         * lib/fcntl_.h: Likewise.
47527         * lib/float_.h: Likewise.
47528         * lib/iconv_.h: Likewise.
47529         * lib/inttypes_.h: Likewise.
47530         * lib/locale_.h: Likewise.
47531         * lib/math_.h: Likewise.
47532         * lib/netinet_in_.h: Likewise.
47533         * lib/search_.h: Likewise.
47534         * lib/signal_.h: Likewise.
47535         * lib/stdint_.h: Likewise.
47536         * lib/stdio_.h: Likewise.
47537         * lib/stdlib_.h: Likewise.
47538         * lib/string_.h: Likewise.
47539         * lib/sys_select_.h: Likewise.
47540         * lib/sys_socket_.h: Likewise.
47541         * lib/sys_stat_.h: Likewise.
47542         * lib/sys_time_.h: Likewise.
47543         * lib/sysexits_.h: Likewise.
47544         * lib/time_.h: Likewise.
47545         * lib/unistd_.h: Likewise.
47546         * lib/wchar_.h: Likewise.
47547         * lib/wctype_.h: Likewise.
47548
47549 2007-05-29  Bruno Haible  <bruno@clisp.org>
47550
47551         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
47552         for the moment.
47553
47554 2007-05-29  Bruno Haible  <bruno@clisp.org>
47555
47556         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
47557         invocation.
47558         Reported by Eric Blake.
47559
47560 2007-05-29  Bruno Haible  <bruno@clisp.org>
47561
47562         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
47563         compiling case.
47564
47565 2007-05-29  Eric Blake  <ebb9@byu.net>
47566             Bruno Haible  <bruno@clisp.org>
47567
47568         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
47569         cross compiles.
47570
47571 2007-05-28  Eric Blake  <ebb9@byu.net>
47572
47573         * modules/closein-tests (test_closein_LDADD): Support test on
47574         cygwin with libtool.
47575
47576 2007-05-28  Bruno Haible  <bruno@clisp.org>
47577
47578         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
47579         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
47580         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
47581         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
47582         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
47583         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
47584         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
47585         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
47586         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
47587
47588 2007-05-28  Eric Blake  <ebb9@byu.net>
47589
47590         Unconditionally include <config.h> in unit tests.
47591         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
47592         * tests/test-allocsa.c, tests/test-arcfour.c,
47593         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
47594         tests/test-array_list.c, tests/test-array_oset.c,
47595         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
47596         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
47597         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
47598         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
47599         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
47600         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
47601         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
47602         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
47603         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
47604         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
47605         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
47606         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
47607         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
47608         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
47609         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
47610         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
47611         test-md5.c, test-memmem.c, test-printf-posix.c,
47612         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
47613         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
47614         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
47615         test-strcasestr.c, test-striconv.c, test-striconveh.c,
47616         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
47617         test-vasnprintf-posix2.c, test-vasnprintf.c,
47618         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
47619         test-vfprintf-posix.c, test-vprintf-posix.c,
47620         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
47621         test-xvasprintf.c: Likewise.
47622
47623 2007-05-28  Bruno Haible  <bruno@clisp.org>
47624
47625         * gnulib-tool (func_import): Remember the --with-tests command-line
47626         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
47627         Reported by Eric Blake.
47628
47629 2007-05-28  Bruno Haible  <bruno@clisp.org>
47630
47631         * modules/ftell-tests: New file.
47632         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
47633         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
47634
47635         * lib/ftell.c: New file.
47636         * modules/ftell: New file.
47637         * m4/ftell.m4: New file.
47638         * doc/functions/ftell.texi: Update.
47639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
47640         REPLACE_FTELL.
47641         * lib/stdio_.h (rpl_ftell): New declaration.
47642         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
47643         REPLACE_FTELL.
47644
47645 2007-05-28  Eric Blake  <ebb9@byu.net>
47646
47647         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
47648
47649 2007-05-28  Bruno Haible  <bruno@clisp.org>
47650
47651         * modules/fseek-tests: New file.
47652         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
47653         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
47654
47655         * lib/fseek.c: New file.
47656         * modules/fseek: New file.
47657         * m4/fseek.m4: New file.
47658         * doc/functions/fseek.texi: Update.
47659         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
47660         REPLACE_FSEEK.
47661         * lib/stdio_.h (rpl_fseek): New declaration.
47662         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
47663         REPLACE_FSEEK.
47664
47665 2007-05-28  Bruno Haible  <bruno@clisp.org>
47666
47667         * lib/stdio_.h (fflush): More comments.
47668
47669 2007-05-28  Bruno Haible  <bruno@clisp.org>
47670
47671         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
47672         runtime test.
47673
47674 2007-05-28  Eric Blake  <ebb9@byu.net>
47675
47676         Improve lseek module.
47677         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
47678         * lib/unistd_.h (lseek): Scale back link warning message.
47679         * tests/test-lseek.c: Beef up test.
47680         * tests/test-lseek.sh: Exercise more facets of lseek.
47681         Reported by Bruno Haible.
47682
47683 2007-05-28  Bruno Haible  <bruno@clisp.org>
47684
47685         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
47686         to define.
47687
47688 2007-05-27  Bruno Haible  <bruno@clisp.org>
47689
47690         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
47691
47692 2007-05-27  Bruno Haible  <bruno@clisp.org>
47693
47694         * modules/openmp: New file.
47695         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
47696         Noah Misch.
47697
47698 2007-05-26  Bruno Haible  <bruno@clisp.org>
47699
47700         * modules/chdir-long (Depends-on): Add fchdir.
47701         * modules/chdir-safer (Depends-on): Likewise.
47702         * modules/fts (Depends-on): Likewise.
47703         * modules/fts-lgpl (Depends-on): Likewise.
47704         * modules/openat (Depends-on): Likewise.
47705         * modules/savewd (Depends-on): Likewise.
47706
47707 2007-05-24  Eric Blake  <ebb9@byu.net>
47708
47709         Fix lseek on mingw.
47710         * modules/lseek: New module.
47711         * m4/lseek.m4: New file.
47712         * lib/lseek.c: New file.
47713         * modules/lseek-tests: New file.
47714         * tests/test-lseek.c: New file.
47715         * tests/test-lseek.sh: New file.
47716         * MODULES.html.sh: Document lseek module.
47717         * modules/fflush (Depends-on): Add lseek, fseeko.
47718         * modules/fseeko (Depends-on): Likewise.
47719         * modules/ftello (Depends-on): Likewise.
47720         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
47721         broken.
47722         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
47723         broken.
47724         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
47725         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
47726         * lib/ftello.c (rpl_ftello): Likewise.
47727         * tests/test-fseeko.c (main): Test this.
47728         * tests/test-fseeko.sh: Likewise.
47729         * tests/test-ftello.c (main): Likewise.
47730         * tests/test-ftello.sh: Likewise.
47731         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
47732         implies replacing fseek.
47733         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
47734         HAVE_FTELLO.
47735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
47736         * modules/unistd (Makefile.am): Likewise.
47737         * lib/unistd_.h (lseek): Declare a replacement.
47738         * doc/functions/lseek.texi (lseek): Document this fix.
47739         * doc/functions/fseek.texi (fseek): Likewise.
47740         * doc/functions/ftell.texi (ftell): Likewise.
47741
47742 2007-05-24  Bruno Haible  <bruno@clisp.org>
47743
47744         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
47745         in the printed representation of a NaN.
47746         * tests/test-vasprintf-posix.c (test_function): Likewise.
47747         * tests/test-snprintf-posix.h (test_function): Likewise.
47748         * tests/test-sprintf-posix.h (test_function): Likewise.
47749         Reported by Eric Blake.
47750
47751 2007-05-23  Eric Blake  <ebb9@byu.net>
47752
47753         Fix fseeko/ftello on cygwin 1.5.24.
47754         * doc/functions/fseeko.texi (fseeko): Document the fix.
47755         * doc/functions/ftello.texi (ftello): Document the fix.
47756         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
47757         * doc/functions/stdout.text (stdout): New file.
47758         * doc/functions/stderr.text (stderr): New file.
47759         * doc/gnulib.texi (Function Substitutes): Use new files.
47760         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
47761         prior to 1.7.0.
47762         * tests/test-ftello.c (main): Likewise for ftello.
47763         * tests/test-fseeko.sh: New file.
47764         * tests/test-ftello.sh: New file.
47765         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47766         with seekable stdin.
47767         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47768         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47769         (gl_REPLACE_FSEEKO): New macro.
47770         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47771         * modules/fseeko (Files): Distribute fseeko.c.
47772         * modules/ftello (Files): Distribute ftello.c.
47773         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47774         mode.
47775         * lib/ftello.c (rpl_ftello): New file.
47776         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47777         fseeko, ftello.
47778         (gl_STDIN_LARGE_OFFSET): New macro.
47779         * modules/stdio (Makefile.am): Perform the replacement.
47780         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47781
47782 2007-05-23  Bruno Haible  <bruno@clisp.org>
47783
47784         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47785         GNULIB_POSIXCHECK is defined.
47786
47787 2007-05-21  Bruno Haible  <bruno@clisp.org>
47788
47789         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47790         Check also the output for NaN arguments. When cross-compiling, guess
47791         no on IRIX.
47792         * lib/vasnprintf.c: Update comments.
47793         * tests/test-vasnprintf-posix.c (strisnan): New function.
47794         (test_function): Use it.
47795         * tests/test-vasprintf-posix.c (strisnan): New function.
47796         (test_function): Use it.
47797         * tests/test-snprintf-posix.h (strisnan): New function.
47798         (test_function): Use it.
47799         * tests/test-sprintf-posix.h (strisnan): New function.
47800         (test_function): Use it.
47801         Reported by Eric Blake.
47802
47803 2007-05-20  Bruno Haible  <bruno@clisp.org>
47804
47805         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47806         numbers that fails on BeOS.
47807         * doc/functions/frexpl.texi: Update.
47808
47809 2007-05-20  Jim Meyering  <jim@meyering.net>
47810
47811         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47812         forced upon us by glibc-2.6.
47813
47814 2007-05-20  Bruno Haible  <bruno@clisp.org>
47815
47816         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47817         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47818         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47819         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47820         NEED_PRINTF_INFINITE.
47821         (is_infinitel): New function.
47822         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47823         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47824         gl_PREREQ_VASNPRINTF_INFINITE.
47825         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47826         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47827         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47828         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47829         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47830         gl_PREREQ_VASNPRINTF_INFINITE.
47831         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47832         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47833         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47834         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47835         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47836         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47837         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47838         * doc/functions/fprintf.texi: Update.
47839         * doc/functions/printf.texi: Update.
47840         * doc/functions/snprintf.texi: Update.
47841         * doc/functions/sprintf.texi: Update.
47842         * doc/functions/vfprintf.texi: Update.
47843         * doc/functions/vprintf.texi: Update.
47844         * doc/functions/vsnprintf.texi: Update.
47845         * doc/functions/vsprintf.texi: Update.
47846
47847 2007-05-20  Bruno Haible  <bruno@clisp.org>
47848
47849         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47850         was not found in libc.
47851         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47852
47853 2007-05-20  Bruno Haible  <bruno@clisp.org>
47854
47855         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47856         printed as "-nan" instead of "nan".
47857         * tests/test-vasprintf-posix.c (test_function): Likewise.
47858         * tests/test-snprintf-posix.h (test_function): Likewise.
47859         * tests/test-sprintf-posix.h (test_function): Likewise.
47860         Needed for HP-UX 11.
47861
47862 2007-05-20  Jim Meyering  <jim@meyering.net>
47863
47864         Fix buggy test for the fchownat-deref bug.
47865         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47866         symlink required for the run-test.  Without it, this test would
47867         always declare that fchownat doesn't work, and client code would
47868         unnecessarily use the replacement function with fixed libc.
47869         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47870         Reported by Greg Schafer.
47871
47872 2007-05-19  Bruno Haible  <bruno@clisp.org>
47873
47874         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47875         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47876         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47877         Needed for IRIX 6.5 and Solaris 2.5.1.
47878
47879 2007-05-19  Bruno Haible  <bruno@clisp.org>
47880
47881         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47882         (test_function): Skip tests involving -0.0 on platforms where
47883         -0.0 = 0.0.
47884         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47885         (test_function): Skip tests involving -0.0 on platforms where
47886         -0.0 = 0.0.
47887         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47888         (test_function): Skip tests involving -0.0 on platforms where
47889         -0.0 = 0.0.
47890         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47891         (test_function): Skip tests involving -0.0 on platforms where
47892         -0.0 = 0.0.
47893         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47894         tests.
47895         * tests/test-printf-posix.h (test_function): Likewise.
47896         * tests/test-printf-posix.output: Remove all -0.0 related results.
47897         Needed for IRIX 6.5.
47898
47899 2007-05-19  Bruno Haible  <bruno@clisp.org>
47900
47901         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47902         printed as "nan0x7fffffff" instead of "nan".
47903         * tests/test-vasprintf-posix.c (test_function): Likewise.
47904         * tests/test-snprintf-posix.h (test_function): Likewise.
47905         * tests/test-sprintf-posix.h (test_function): Likewise.
47906         * tests/test-fprintf-posix.h (NaN): Remove macro.
47907         (test_function): Remove all NaN related tests.
47908         * tests/test-printf-posix.h (NaN): Remove macro.
47909         (test_function): Remove all NaN related tests.
47910         * tests/test-printf-posix.output: Remove all NaN related results.
47911         Needed for IRIX 6.5.
47912
47913 2007-05-19  Bruno Haible  <bruno@clisp.org>
47914
47915         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47916         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47917
47918 2007-05-19  Bruno Haible  <bruno@clisp.org>
47919
47920         * lib/float_.h: New file.
47921         * m4/float_h.m4: New file.
47922         * modules/float: New file.
47923         * modules/isnanl (Dependencies): Add float.
47924         * modules/isnanl-nolibm (Dependencies): Likewise.
47925         * modules/mathl (Dependencies): Likewise.
47926         * modules/printf-frexpl (Dependencies): Likewise.
47927         * modules/signbit (Dependencies): Likewise.
47928         * modules/vasnprintf (Dependencies): Likewise.
47929         * doc/headers/float.texi: Update.
47930
47931 2007-05-19  Jim Meyering  <jim@meyering.net>
47932
47933         * lib/utimens.c (gl_futimens): Rename from futimens,
47934         now that glibc-2.6 declares futimens.
47935         * lib/utimens.h: Likewise.
47936
47937 2007-05-19  Bruno Haible  <bruno@clisp.org>
47938
47939         Avoid test failures on mingw.
47940         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47941         * tests/test-printf-posix.sh: Likewise.
47942         * tests/test-vfprintf-posix.sh: Likewise.
47943         * tests/test-vprintf-posix.sh: Likewise.
47944
47945 2007-05-19  Bruno Haible  <bruno@clisp.org>
47946
47947         Fix *printf result for NaN, Inf, -0.0 on mingw.
47948         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47949         * lib/vasnprintf.c: Include math.h and isnan.h.
47950         (is_infinite_or_zero): New function.
47951         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47952         values in the %f, %F, %e, %E, %g, %G directives.
47953         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47954         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47955         gl_PRINTF_INFINITE and test its result. Invoke
47956         gl_PREREQ_VASNPRINTF_INFINITE.
47957         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47958         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47959         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47960         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47961         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47962         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47963         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47964         * doc/functions/fprintf.texi: Update.
47965         * doc/functions/printf.texi: Update.
47966         * doc/functions/snprintf.texi: Update.
47967         * doc/functions/sprintf.texi: Update.
47968         * doc/functions/vfprintf.texi: Update.
47969         * doc/functions/vprintf.texi: Update.
47970         * doc/functions/vsnprintf.texi: Update.
47971         * doc/functions/vsprintf.texi: Update.
47972
47973 2007-05-19  Bruno Haible  <bruno@clisp.org>
47974
47975         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47976         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47977         Instead of multiplying with 10^k, set extra_zeroes to k.
47978         (scale10_round_long_double): Remove function.
47979
47980 2007-05-18  Bruno Haible  <bruno@clisp.org>
47981
47982         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47983         introduced on 2007-05-06.
47984
47985 2007-05-18  Bruno Haible  <bruno@clisp.org>
47986
47987         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47988         %g directives.
47989         * tests/test-vasprintf-posix.c (test_function): Likewise.
47990         * tests/test-snprintf-posix.h (test_function): Likewise.
47991         * tests/test-sprintf-posix.h (test_function): Likewise.
47992
47993 2007-05-18  Bruno Haible  <bruno@clisp.org>
47994
47995         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47996         (strmatch): New function.
47997         (test_function): Test the %f directive on numbers of various exponents.
47998         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47999         (strmatch): New function.
48000         (test_function): Test the %f directive on numbers of various exponents.
48001         * tests/test-snprintf-posix.h (strmatch): New function.
48002         (test_function): Test the %f directive on numbers of various exponents.
48003         * tests/test-sprintf-posix.h (strmatch): New function.
48004         (test_function): Test the %f directive on numbers of various exponents.
48005         * tests/test-snprintf-posix.c (SIZEOF): New macro.
48006         * tests/test-sprintf-posix.c (SIZEOF): New macro.
48007         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
48008         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
48009
48010 2007-05-18  Bruno Haible  <bruno@clisp.org>
48011
48012         Add support for 'long double' number output.
48013         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
48014         * lib/vasnprintf.c: Include math.h and float+.h.
48015         (mp_limb_t): New type.
48016         (GMP_LIMB_BITS): New macro.
48017         (mp_twolimb_t): New type.
48018         (GMP_TWOLIMB_BITS): New macro.
48019         (mpn_t): New type.
48020         (multiply, divide, convert_to_decimal, decode_long_double,
48021         scale10_round_long_double, scale10_round_decimal_long_double,
48022         floorlog10l): New functions.
48023         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
48024         for the %f, %F, %e, %E, %g, %G directives.
48025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
48026         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48027         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
48028         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
48029         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48030         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48031         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48033         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48035         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48036         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
48037         * modules/snprintf-posix (Depends-on): Likewise.
48038         * modules/sprintf-posix (Depends-on): Likewise.
48039         * modules/vasnprintf-posix (Depends-on): Likewise.
48040         * modules/vasprintf-posix (Depends-on): Likewise.
48041         * modules/vfprintf-posix (Depends-on): Likewise.
48042         * modules/vsnprintf-posix (Depends-on): Likewise.
48043         * modules/vsprintf-posix (Depends-on): Likewise.
48044         * modules/vasnprintf (Files): Add lib/float+.h.
48045         * doc/functions/fprintf.texi: Update.
48046         * doc/functions/printf.texi: Update.
48047         * doc/functions/snprintf.texi: Update.
48048         * doc/functions/sprintf.texi: Update.
48049         * doc/functions/vfprintf.texi: Update.
48050         * doc/functions/vprintf.texi: Update.
48051         * doc/functions/vsnprintf.texi: Update.
48052         * doc/functions/vsprintf.texi: Update.
48053
48054 2007-05-18  Bruno Haible  <bruno@clisp.org>
48055
48056         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
48057
48058 2007-05-18  Bruno Haible  <bruno@clisp.org>
48059
48060         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
48061         for printing 64-bit integers. Needed for mingw.
48062
48063 2007-05-18  Bruno Haible  <bruno@clisp.org>
48064
48065         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48066         gl_FUNC_FREXPL_WORKS.
48067         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
48068
48069 2007-05-18  Bruno Haible  <bruno@clisp.org>
48070
48071         * modules/frexpl-nolibm-tests: New file.
48072
48073         * modules/frexpl-nolibm: New file.
48074         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
48075
48076 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
48077
48078         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
48079         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48080         GCC 4.2, which otherwise issues a lot of warnings.
48081         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
48082         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
48083         Likewise.
48084         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
48085         * modules/iconv_open (iconv.h): Likewise.
48086         * modules/locale (locale.h): Likewise.
48087         * modules/netinet_in (netinet/in.h): Likewise.
48088         * modules/sys_select (sys_select.h): Likewise.
48089         * modules/sys_socket (sys/socket.h): Likewise.
48090         * modules/sys_stat (sys/stat.h): Likewise.
48091         * modules/sysexits (sysexits.h): Likewise.
48092         * modules/unistd (unistd.h): Likewise.
48093
48094 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48095
48096         * modules/closein-tests (Makefile.am): Distribute
48097         `test-closein.sh'.
48098
48099 2007-05-17  Bruno Haible  <bruno@clisp.org>
48100
48101         * tests/test-printf-posix.output: Renamed from
48102         tests/test-fprintf-posix.out.
48103         * modules/fprintf-posix-tests: Update.
48104         * modules/printf-posix-tests: Update.
48105         * modules/vfprintf-posix-tests: Update.
48106         * modules/vprintf-posix-tests: Update.
48107         * tests/test-fprintf-posix.sh: Update.
48108         * tests/test-printf-posix.sh: Update.
48109         * tests/test-vfprintf-posix.sh: Update.
48110         * tests/test-vprintf-posix.sh: Update.
48111         Reported by Ralf Wildenhues.
48112
48113 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
48114
48115         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
48116         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48117         GCC 4.2, which otherwise issues a lot of warnings.
48118         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
48119         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
48120         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
48121         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
48122         it should no longer be needed.
48123         * lib/string_.h: Likewise.
48124         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
48125         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
48126         * modules/inttypes (inttypes.h): Likewise.
48127         * modules/math (math.h): Likewise.
48128         * modules/search (search.h): Likewise.
48129         * modules/signal (signal.h): Likewise.
48130         * modules/stdint (stdint.h): Likewise.
48131         * modules/stdio (stdio.h): Likewise.
48132         * modules/stdlib (stdlib.h): Likewise.
48133         * modules/string (string.h): Likewise.
48134         * modules/sys_time (sys/time.h): Likewise.
48135         * modules/time (time.h): Likewise.
48136         * modules/wchar (wchar.h): Likewise.
48137         * modules/wctype (wtype.h): Likewise.
48138
48139 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48140
48141         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
48142
48143 2007-05-13  Bruno Haible  <bruno@clisp.org>
48144
48145         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
48146         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48147         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
48148         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48149         (gl_PREREQ_STRTOK_R): Don't require it here.
48150
48151 2007-05-13  Bruno Haible  <bruno@clisp.org>
48152
48153         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
48154         when used in C++ mode.
48155
48156 2007-05-12  Bruno Haible  <bruno@clisp.org>
48157
48158         * lib/linebuffer.h: Tweak doc.
48159         * lib/linebuffer.c: Likewise.
48160
48161 2007-05-12  James Youngman  <jay@gnu.org>
48162
48163         * lib/linebuffer.c (readlinebuffer_delim): New function,
48164         like readlinebuffer, but use a caller-specified delimiter.
48165         (readlinebuffer): Just call readlinebuffer_delim with '\n'
48166         as the delimiter.
48167         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
48168
48169 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48170
48171         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
48172         * modules/openat (Files): Remove openat-die.c.
48173         (Depends-on): Add openat-die.
48174         * modules/openat-die: New module.
48175
48176 2007-05-06  Bruno Haible  <bruno@clisp.org>
48177
48178         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
48179         Update with info about Cygwin.
48180         * doc/functions/fprintf.texi: Update.
48181         * doc/functions/printf.texi: Update.
48182         * doc/functions/snprintf.texi: Update.
48183         * doc/functions/sprintf.texi: Update.
48184         * doc/functions/vfprintf.texi: Update.
48185         * doc/functions/vprintf.texi: Update.
48186         * doc/functions/vsnprintf.texi: Update.
48187         * doc/functions/vsprintf.texi: Update.
48188         Reported by Eric Blake.
48189
48190 2007-05-06  Bruno Haible  <bruno@clisp.org>
48191
48192         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
48193         padding ourselves for the floating-point directives.
48194         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
48195         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
48196         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48197         gl_PRINTF_FLAG_ZERO and test its result. Invoke
48198         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
48199         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48200         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48201         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48202         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48203         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48204         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48205         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48206         * tests/test-snprintf-posix.h (test_function): Also check the width
48207         and some flags in the %f directive.
48208         * tests/test-sprintf-posix.h (test_function): Likewise.
48209         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48210         * tests/test-vasprintf-posix.c (test_function): Likewise.
48211         * doc/functions/fprintf.texi: Update.
48212         * doc/functions/printf.texi: Update.
48213         * doc/functions/snprintf.texi: Update.
48214         * doc/functions/sprintf.texi: Update.
48215         * doc/functions/vfprintf.texi: Update.
48216         * doc/functions/vprintf.texi: Update.
48217         * doc/functions/vsnprintf.texi: Update.
48218         * doc/functions/vsprintf.texi: Update.
48219
48220 2007-05-06  Bruno Haible  <bruno@clisp.org>
48221
48222         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
48223         pass the ' flag character to sprintf or snprintf.
48224         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
48225         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
48226         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48227         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
48228         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
48229         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48230         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48231         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48232         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48233         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48234         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48235         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48236         * tests/test-snprintf-posix.h (test_function): Also check the grouping
48237         flag.
48238         * tests/test-sprintf-posix.h (test_function): Likewise.
48239         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48240         * tests/test-vasprintf-posix.c (test_function): Likewise.
48241         * doc/functions/fprintf.texi: Update.
48242         * doc/functions/printf.texi: Update.
48243         * doc/functions/snprintf.texi: Update.
48244         * doc/functions/sprintf.texi: Update.
48245         * doc/functions/vfprintf.texi: Update.
48246         * doc/functions/vprintf.texi: Update.
48247         * doc/functions/vsnprintf.texi: Update.
48248         * doc/functions/vsprintf.texi: Update.
48249
48250 2007-05-01  Bruno Haible  <bruno@clisp.org>
48251
48252         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
48253
48254 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
48255
48256         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
48257         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
48258
48259 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48260
48261         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
48262         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
48263         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
48264
48265 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
48266
48267         * lib/argp-help.c (struct hol_entry): New member `ord'.
48268         (HOL_ENTRY_PTRCMP): Use ord for comparison
48269         (hol_sort): Initialize ord.
48270
48271 2007-05-01  Bruno Haible  <bruno@clisp.org>
48272
48273         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
48274         Reported by Eric Blake.
48275         * doc/gnulib.texi (Function Substitutes): Update.
48276
48277 2007-05-01  Bruno Haible  <bruno@clisp.org>
48278
48279         * doc/functions.texi: Remove file, now redundant through
48280         doc/functions/*.texi.
48281
48282 2007-05-01  Bruno Haible  <bruno@clisp.org>
48283
48284         * modules/argp (Depends-on): Add sleep.
48285
48286 2007-05-01  Bruno Haible  <bruno@clisp.org>
48287
48288         * modules/sleep-tests: New file.
48289         * tests/test-sleep.c: New file.
48290
48291         * modules/sleep: New file.
48292         * lib/sleep.c: New file.
48293         * m4/sleep.m4: New file.
48294         * lib/unistd_.h (sleep): New declaration.
48295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
48296         HAVE_SLEEP.
48297         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
48298         * doc/functions/sleep.texi: Document the sleep module.
48299
48300 2007-05-01  Bruno Haible  <bruno@clisp.org>
48301
48302         * lib/sigprocmask.h: Remove file.
48303         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
48304         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
48305         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
48306         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
48307         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
48308         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
48309         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
48310         HAVE_SIGSET_T as a shell variable.
48311         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
48312         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
48313         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
48314         (Depends-on): Add signal. Remove verify.
48315         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
48316         (Include): Mention <signal.h> instead of sigprocmask.h.
48317         * NEWS: Mention the change.
48318         * lib/fatal-signal.c: Don't include sigprocmask.h.
48319
48320 2007-05-01  Bruno Haible  <bruno@clisp.org>
48321
48322         * modules/signal: New file.
48323         * lib/signal_.h: New file.
48324         * m4/signal_h.m4: New file.
48325
48326 2007-05-01  Bruno Haible  <bruno@clisp.org>
48327
48328         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
48329         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
48330         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
48331         HAVE_WCTYPE_CTMP_BUG into wctype.h.
48332
48333 2007-05-01  Bruno Haible  <bruno@clisp.org>
48334
48335         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
48336         configure time.
48337         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
48338         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
48339         * modules/sys_stat (Makefile.am): Substitute their values into
48340         sys/stat.h.
48341
48342 2007-05-01  Bruno Haible  <bruno@clisp.org>
48343
48344         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
48345         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
48346         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
48347
48348 2007-05-01  Bruno Haible  <bruno@clisp.org>
48349
48350         * doc/header/assert.texi: Undo last change: don't mention the gnulib
48351         'assert' module here.
48352
48353 2007-05-01  Bruno Haible  <bruno@clisp.org>
48354
48355         * doc/functions/*.texi: New files.
48356         * doc/functions/google-ranking.txt: New file.
48357         * doc/gnulib.texi (Function Substitutes): New chapter.
48358         (ctime, inet_ntoa): Remove sections.
48359         * doc/ctime.texi: Remove file.
48360         * doc/inet_ntoa.texi: Remove file.
48361         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
48362         dependencies.
48363         (%.info): New rule, specifying a --reference-limit.
48364
48365 2007-05-01  Bruno Haible  <bruno@clisp.org>
48366
48367         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
48368
48369 2007-05-01  Bruno Haible  <bruno@clisp.org>
48370
48371         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
48372         the portability of 'mkdir' to mingw systems.
48373
48374 2007-05-01  Bruno Haible  <bruno@clisp.org>
48375
48376         * doc/headers/google-ranking.txt: New file.
48377
48378 2007-04-30  Eric Blake  <ebb9@byu.net>
48379
48380         Prefer fseeko to fseek.
48381         * modules/getpass (Depends-on): Add fseeko.
48382         * lib/getpass.c (getpass): Use fseeko, not fseek.
48383
48384 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
48385
48386         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
48387         assumes the sorting is stable, while most qsort implementations
48388         are not.  Use argument addresses to ensure they never compare as
48389         equal.
48390
48391         * tests/test-argp-2.sh (usage-indent test): Fix output
48392         (func_compare): Restore diff options
48393         * tests/test-argp.c: Restore #include "progname.h"
48394
48395 2007-04-29  Bruno Haible  <bruno@clisp.org>
48396
48397         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
48398         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48399         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
48400         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48401         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
48402         (configure.ac): Define CHECK_SNPRINTF_POSIX.
48403         (TESTS, check_PROGRAMS): Add test-snprintf.
48404         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
48405         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
48406         (TESTS, check_PROGRAMS): Add test-vsnprintf.
48407         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
48408         assertions that fail on HP-UX, OSF/1, or IRIX.
48409         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
48410
48411 2007-04-29  Bruno Haible  <bruno@clisp.org>
48412
48413         * MODULES.html.sh (posix_functions): Remove 'contents'.
48414
48415 2007-04-29  Karl Berry  <karl@gnu.org>
48416
48417         * config/srclist.txt (gendocs_template_min): new entry.
48418
48419 2007-04-29  Bruno Haible  <bruno@clisp.org>
48420
48421         Work around fpurge bug on BSD systems.
48422         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
48423         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
48424         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
48425         fpurge to rpl_fpurge if the system already has this function.
48426         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
48427         the case where the system already has this function. Correct invariants
48428         on BSD systems.
48429         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
48430         BSD systems.
48431
48432 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
48433
48434         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
48435         proposed by Sven Verdoolaege.
48436
48437         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
48438         options.
48439         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
48440         (usage and help tests): Update
48441
48442 2007-04-29  Bruno Haible  <bruno@clisp.org>
48443
48444         * tests/test-fflush.c (main): Use a file of size 17, not 10.
48445         Print more information in case of failure. Disable a test on BeOS.
48446
48447 2007-04-29  Bruno Haible  <bruno@clisp.org>
48448
48449         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
48450         This helps debugging on systems on which no gdb is available.
48451
48452 2007-04-29  Bruno Haible  <bruno@clisp.org>
48453
48454         * lib/freading.h: Improve comments.
48455         * lib/fwriting.h: Likewise.
48456         * tests/test-freading.c (main): Don't check freading immediately after
48457         repositioning. Needed for glibc.
48458
48459 2007-04-29  Bruno Haible  <bruno@clisp.org>
48460
48461         * lib/freading.c (freading): Trivial simplification.
48462
48463 2007-04-28  Bruno Haible  <bruno@clisp.org>
48464
48465         * tests/test-fwriting.c (main): Also test the interaction between
48466         fflush and fwriting.
48467         * modules/fwriting-tests (Depends-on): Add fflush.
48468
48469         * tests/test-freading.c (main): Also test the interaction between
48470         fflush and freading.
48471         * modules/freading-tests (Depends-on): Add fflush.
48472
48473 2007-04-28  Bruno Haible  <bruno@clisp.org>
48474
48475         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
48476         fseeko and ftello.
48477         Suggested by Eric Blake.
48478
48479 2007-04-28  Jim Meyering  <jim@meyering.net>
48480
48481         Avoid false-negative in gl_STDINT_H's C99 conformance test.
48482         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
48483         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
48484
48485 2007-04-27  Eric Blake  <ebb9@byu.net>
48486
48487         * doc/headers/assert.texi (assert.h): Document assert module use.
48488
48489 2007-04-27  Bruno Haible  <bruno@clisp.org>
48490
48491         * doc/headers/*.texi: New files.
48492         * doc/gnulib.texi (Header File Substitutes): New chapter.
48493         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
48494         dependencies.
48495         (standards.info ,standards.html, standards.dvi): Update dependencies.
48496         (mostlyclean, clean): New targets.
48497
48498 2007-04-27  Bruno Haible  <bruno@clisp.org>
48499
48500         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
48501         * modules/sysexits (Files, Makefile.am): Update.
48502
48503         * lib/sys_socket_.h: Renamed from lib/socket_.h.
48504         * modules/sys_socket (Files, Makefile.am): Update.
48505
48506         * lib/sys_stat_.h: Renamed from lib/stat_.h.
48507         * modules/sys_stat (Files, Makefile.am): Update.
48508
48509 2007-04-27  Eric Blake  <ebb9@byu.net>
48510
48511         * lib/freading.h: Improve comments.
48512         * lib/fwriting.h: Likewise.
48513         * lib/fflush.c: Likewise.
48514
48515         Fix closein for mingw.
48516         * modules/closein-tests: Add tests for closein.
48517         * tests/test-closein.c: New file.
48518         * tests/test-closein.sh: Likewise.
48519         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
48520         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
48521
48522 2007-04-27  Bruno Haible  <bruno@clisp.org>
48523
48524         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
48525         version is < 6.
48526         * lib/math_.h [__DECC]: Likewise.
48527         * lib/stdio_.h [__DECC]: Likewise.
48528         * lib/stdlib_.h [__DECC]: Likewise.
48529         * lib/string_.h [__DECC]: Likewise.
48530         * lib/time_.h [__DECC]: Likewise.
48531         * lib/wchar_.h [__DECC]: Likewise.
48532         * lib/wctype_.h [__DECC]: Likewise.
48533
48534 2007-04-27  Bruno Haible  <bruno@clisp.org>
48535
48536         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
48537
48538 2007-04-27  Bruno Haible  <bruno@clisp.org>
48539
48540         * lib/fflush.c: Add comments.
48541         * modules/fpurge-tests (Depends-on): Add fflush.
48542         * modules/freadable-tests (Depends-on): Likewise.
48543         * modules/fwritable-tests (Depends-on): Likewise.
48544
48545 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
48546
48547         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
48548         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
48549         Report by Bruno Haible <bruno@clisp.org>.
48550
48551 2007-04-26  Eric Blake  <ebb9@byu.net>
48552
48553         Fix fflush on mingw.
48554         * modules/fflush (Depends-on): Add freading.
48555         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
48556         but unread data.
48557
48558 2007-04-26  Eric Blake  <ebb9@byu.net>
48559         and Bruno Haible  <bruno@clisp.org>
48560
48561         Implement freading and fwriting.
48562         * lib/freading.c: New file.
48563         * lib/freading.h: Likewise.
48564         * m4/freading.m4: Likewise.
48565         * modules/freading: Likewise.
48566         * modules/freading-tests: Likewise.
48567         * tests/test-freading.c: Likewise.
48568         * lib/fwriting.c: New file.
48569         * lib/fwriting.h: Likewise.
48570         * m4/fwriting.m4: Likewise.
48571         * modules/fwriting: Likewise.
48572         * modules/fwriting-tests: Likewise.
48573         * tests/test-fwriting.c: Likewise.
48574         * MODULES.html.sh (File stream based Input/Output): Mention them.
48575
48576 2007-04-26  Bruno Haible  <bruno@clisp.org>
48577
48578         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
48579         'long' when we assume it.
48580         Suggested by Eric Blake.
48581
48582 2007-04-26  Bruno Haible  <bruno@clisp.org>
48583
48584         Ensure fseeko, ftello are declared on glibc systems.
48585         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
48586         * modules/fseeko (configure.ac-early): Likewise.
48587         * modules/ftello (configure.ac-early): Likewise.
48588         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
48589         AC_FUNC_FSEEKO for this.
48590         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
48591         (gl_CHECK_FSEEKO): Remove macro.
48592
48593 2007-04-26  Bruno Haible  <bruno@clisp.org>
48594
48595         * tests/test-fflush.c (main): Also check the ftell result after
48596         fflush and fseek/fseeko.
48597         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
48598         file descriptor position cache in the stream.
48599         * lib/fseeko.c (rpl_fseeko): Likewise.
48600
48601 2007-04-26  Bruno Haible  <bruno@clisp.org>
48602
48603         * modules/fflush-tests (Depends-on): Add fseeko.
48604
48605 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
48606             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48607
48608         * lib/argz_.h: ensure error_t definition is obtained in same
48609         mechanism system argz.h would have.
48610         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
48611         argz facilities are known bad.  Err on the side of caution if
48612         cross-compiling.
48613
48614 2007-04-25  Eric Blake  <ebb9@byu.net>
48615
48616         * lib/fpurge.c (includes): Use stdlib.h for free.
48617         * tests/test-fflush.c (main): Also test fflush-fseeko.
48618
48619 2007-04-25  Bruno Haible  <bruno@clisp.org>
48620
48621         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
48622         * lib/fseeko.c: New file.
48623         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
48624         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
48625         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
48626         gl_FUNC_FSEEKO.
48627         (gl_FUNC_FSEEKO): Invoke it.
48628         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
48629         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
48630         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
48631
48632 2007-04-25  Bruno Haible  <bruno@clisp.org>
48633
48634         * modules/fflush (Depends-on): Add ftello.
48635
48636 2007-04-25  Bruno Haible  <bruno@clisp.org>
48637
48638         * modules/ftello-tests: New file.
48639         * tests/test-ftello.c: New file.
48640
48641         * modules/ftello: New file.
48642         * m4/ftello.m4: New file.
48643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
48644         HAVE_FTELLO.
48645         * lib/stdio_.h (ftello): New declaration.
48646         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
48647         HAVE_FTELLO.
48648
48649 2007-04-25  Bruno Haible  <bruno@clisp.org>
48650
48651         * modules/fseeko-tests: New file.
48652         * tests/test-fseeko.c: New file.
48653
48654         * modules/fseeko: New file.
48655         * m4/fseeko.m4: New file.
48656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
48657         HAVE_FSEEKO.
48658         * lib/stdio_.h (fseeko): New declaration.
48659         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
48660         HAVE_FSEEKO.
48661
48662 2007-04-25  Bruno Haible  <bruno@clisp.org>
48663
48664         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
48665
48666 2007-04-25  Bruno Haible  <bruno@clisp.org>
48667
48668         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
48669         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
48670         * tests/test-unistd.c: Likewise.
48671         * tests/test-fcntl.c: Likewise.
48672
48673 2007-04-23  Eric Blake  <ebb9@byu.net>
48674
48675         * lib/fflush.c: Fix missing include.
48676         Reported by Bruno Haible.
48677
48678 2007-04-23  Bruno Haible  <bruno@clisp.org>
48679
48680         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
48681         Reported by Eric Blake.
48682
48683 2007-04-23  Bruno Haible  <bruno@clisp.org>
48684
48685         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
48686
48687 2007-04-23  Bruno Haible  <bruno@clisp.org>
48688
48689         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
48690
48691 2007-04-23  Bruno Haible  <bruno@clisp.org>
48692
48693         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
48694         Needed on HP-UX 11.
48695
48696 2007-04-16  Eric Blake  <ebb9@byu.net>
48697
48698         Make fflush rely on fpurge.
48699         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
48700         open coding all variants.
48701         * modules/fflush (Depends-on): Add fpurge and unistd.
48702         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
48703         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
48704
48705         Fix --with-tests compilation on cygwin.
48706         * modules/argmatch-tests (Makefile.am): List gnulib library first
48707         in LDADD.
48708         * modules/argp-tests (Makefile.am): Likewise.
48709         * modules/array-list-tests (Makefile.am): Likewise.
48710         * modules/array-oset-tests (Makefile.am): Likewise.
48711         * modules/avltree-list-tests (Makefile.am): Likewise.
48712         * modules/avltree-oset-tests (Makefile.am): Likewise.
48713         * modules/avltreehash-list-tests (Makefile.am): Likewise.
48714         * modules/carray-list-tests (Makefile.am): Likewise.
48715         * modules/dirname-tests (Makefile.am): Likewise.
48716         * modules/frexp-tests (Makefile.am): Likewise.
48717         * modules/isnanl-tests (Makefile.am): Likewise.
48718         * modules/linked-list-tests (Makefile.am): Likewise.
48719         * modules/linkedhash-list-tests (Makefile.am): Likewise.
48720         * modules/lock-tests (Makefile.am): Likewise.
48721         * modules/rbtree-list-tests (Makefile.am): Likewise.
48722         * modules/rbtree-oset-tests (Makefile.am): Likewise.
48723         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
48724         * modules/tls-tests (Makefile.am): Likewise.
48725         * modules/tsearch-tests (Makefile.am): Likewise.
48726         * modules/xvasprintf-tests (Makefile.am): Likewise.
48727
48728         Fix fpurge for cygwin.
48729         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
48730         value.
48731         * modules/fpurge-tests (Depends-on): Clean up trash.
48732
48733 2007-04-16  Simon Josefsson  <simon@josefsson.org>
48734
48735         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
48736
48737         * m4/autobuild.m4: Re-indent.
48738
48739 2007-04-13  Bruno Haible  <bruno@clisp.org>
48740
48741         * modules/fpurge-tests: New file.
48742         * tests/test-fpurge.c: New file.
48743
48744         * modules/fpurge: New file.
48745         * lib/fpurge.h: New file.
48746         * lib/fpurge.c: New file.
48747         * m4/fpurge.m4: New file.
48748
48749 2007-04-13  Bruno Haible  <bruno@clisp.org>
48750
48751         * modules/fbufmode-tests: New file.
48752         * tests/test-fbufmode.c: New file.
48753
48754         * modules/fbufmode: New file.
48755         * lib/fbufmode.h: New file.
48756         * lib/fbufmode.c: New file.
48757         * m4/fbufmode.m4: New file.
48758
48759 2007-04-13  Bruno Haible  <bruno@clisp.org>
48760
48761         * modules/fwritable-tests: New file.
48762         * tests/test-fwritable.c: New file.
48763
48764         * modules/fwritable: New file.
48765         * lib/fwritable.h: New file.
48766         * lib/fwritable.c: New file.
48767         * m4/fwritable.m4: New file.
48768
48769 2007-04-13  Bruno Haible  <bruno@clisp.org>
48770
48771         * modules/freadable-tests: New file.
48772         * tests/test-freadable.c: New file.
48773
48774         * modules/freadable: New file.
48775         * lib/freadable.h: New file.
48776         * lib/freadable.c: New file.
48777         * m4/freadable.m4: New file.
48778
48779 2007-04-13  Bruno Haible  <bruno@clisp.org>
48780
48781         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48782         MOSTLYCLEANFILES.
48783
48784 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48785
48786         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48787         gzip bootstrap.conf to avoid dragging in i18n machinery.
48788         (gnulib_tool_option): Use it.
48789
48790 2007-04-13  Bruno Haible  <bruno@clisp.org>
48791
48792         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48793         %F directives.
48794         * tests/test-vasprintf-posix.c (test_function): Likewise.
48795         * tests/test-snprintf-posix.h (test_function): Likewise.
48796         * tests/test-sprintf-posix.h (test_function): Likewise.
48797         * tests/test-fprintf-posix.h (test_function): Likewise.
48798         * tests/test-printf-posix.h (test_function): Likewise.
48799         * tests/test-fprintf-posix.out: Likewise.
48800
48801 2007-04-13  Bruno Haible  <bruno@clisp.org>
48802
48803         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48804         * modules/tls-tests (configure.ac): Likewise.
48805         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48806
48807 2007-04-13  Bruno Haible  <bruno@clisp.org>
48808
48809         * lib/tls.c (glthread_tls_get): Fix return type.
48810         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48811
48812 2007-04-12  Eric Blake  <ebb9@byu.net>
48813
48814         * modules/gettime (Depends-on): Remove gettime.
48815         Reported by Dmitry V. Levin.
48816
48817 2007-04-12  Bruno Haible  <bruno@clisp.org>
48818
48819         * modules/fflush (Include): Mention <stdio.h>.
48820         * modules/strtoimax (Include): Mention <inttypes.h>.
48821         * modules/strtoumax (Include): Likewise.
48822
48823 2007-04-12  Eric Blake  <ebb9@byu.net>
48824
48825         * .cvsignore: New file.
48826         * .gitignore: Likewise.
48827
48828 2007-04-12  Bruno Haible  <bruno@clisp.org>
48829
48830         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48831         not before, since $(LDADD) often contains libgnu.a.
48832         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48833         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48834         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48835         Needed on Cygwin.
48836
48837 2007-04-12  Eric Blake  <ebb9@byu.net>
48838
48839         Work around glibc's failure to flush stdin on fclose.
48840         * lib/closein.c (close_stdin): Flush stdin before closing.
48841
48842         Work around glibc's failure to reset seekable stdin on exit.
48843         * modules/closein: New module.
48844         * lib/closein.c: New file.
48845         * lib/closein.h: Likewise.
48846         * m4/closein.m4: Likewise.
48847         * MODULES.html.sh (File stream based Input/Output): Document it.
48848
48849 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48850
48851         * gnulib-tool: Rename generated 'autobuild' script to
48852         'do-autobuild' in --create-megatestdir output.
48853
48854         * doc/gnulib.texi (Build robot for gnulib): Fix.
48855
48856 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48857
48858         * modules/sysexits (Depends-on): Add absolute-header.
48859
48860 2007-04-12  Eric Blake  <ebb9@byu.net>
48861
48862         No need to preserve errno on success.
48863         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48864         Reported by Bruno Haible.
48865
48866 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48867
48868         * MODULES.html.sh (Support for maintaining and releasing
48869         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48870
48871 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48872
48873         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48874
48875 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48876
48877         * modules/autobuild: New module.
48878
48879         * m4/autobuild.m4: New file.
48880
48881 2007-04-11  Bruno Haible  <bruno@clisp.org>
48882
48883         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48884         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48885         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48887         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48888         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48889         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48890         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48891         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48892         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48893         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48894         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48895         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48896         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48897         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48898         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48899         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48900         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48901         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48902         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48903         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48904         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48905         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48906         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48907         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48909         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48910         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48911         Reported by Eric Blake.
48912
48913 2007-04-11  Bruno Haible  <bruno@clisp.org>
48914
48915         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48916
48917 2007-04-10  Bruno Haible  <bruno@clisp.org>
48918
48919         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48920         for NaN and Infinity. Needed on FreeBSD 6.1.
48921         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48922         regarding results for "%010a" of Infinity and NaN.
48923         * tests/test-vasprintf-posix.c (test_function): Likewise.
48924         * tests/test-snprintf-posix.h (test_function): Likewise.
48925         * tests/test-sprintf-posix.h (test_function): Likewise.
48926         * tests/test-fprintf-posix.h (test_function): Likewise.
48927         * tests/test-printf-posix.h (test_function): Likewise.
48928         * tests/test-fprintf-posix.out: Likewise.
48929
48930 2007-04-10  Bruno Haible  <bruno@clisp.org>
48931
48932         * modules/locale-tests: New file.
48933         * tests/test-locale.c: New file.
48934
48935         * modules/locale: New file.
48936         * lib/locale_.h: New file.
48937         * m4/locale_h.m4: New file.
48938
48939 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48940             Bruno Haible  <bruno@clisp.org>
48941
48942         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48943         be determined, test for availability of the copysignf, copysign,
48944         copysignl functions.
48945         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48946         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48947         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48948
48949 2007-04-09  Eric Blake  <ebb9@byu.net>
48950
48951         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48952         * modules/stdio (Makefile.am): Support fflush.
48953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48954         * modules/fflush: New file.
48955         * lib/fflush.c: Likewise.
48956         * m4/fflush.m4: Likewise.
48957         * modules/fflush-tests: New test.
48958         * tests/test-fflush.c: Likewise.
48959         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48960
48961 2007-04-06  Bruno Haible  <bruno@clisp.org>
48962
48963         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48964         (VASNPRINTF): Use signbit for faster determination whether to print a
48965         minus sign.
48966         * modules/vasnprintf (Files): Remove lib/float+.h.
48967         * modules/fprintf-posix (Depends-on): Add signbit.
48968         * modules/snprintf-posix (Depends-on): Likewise.
48969         * modules/sprintf-posix (Depends-on): Likewise.
48970         * modules/vasnprintf-posix (Depends-on): Likewise.
48971         * modules/vasprintf-posix (Depends-on): Likewise.
48972         * modules/vfprintf-posix (Depends-on): Likewise.
48973         * modules/vsnprintf-posix (Depends-on): Likewise.
48974         * modules/vsprintf-posix (Depends-on): Likewise.
48975
48976 2007-04-06  Bruno Haible  <bruno@clisp.org>
48977
48978         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48979         * tests/test-frexpl.c (main): Likewise.
48980         * tests/test-ldexpl.c (main): Likewise.
48981         * modules/frexp-tests (Depends-on): Add signbit.
48982         * modules/frexpl-tests (Depdends-on): Likewise.
48983         * modules/ldexpl-tests (Depdends-on): Likewise.
48984
48985 2007-04-06  Bruno Haible  <bruno@clisp.org>
48986
48987         * modules/signbit-tests: New file.
48988         * tests/test-signbit.c: New file.
48989
48990         * modules/signbit: New file.
48991         * lib/signbitf.c: New file.
48992         * lib/signbitd.c: New file.
48993         * lib/signbitl.c: New file.
48994         * m4/signbit.m4: New file.
48995         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48996         (signbit): New macro.
48997         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48998         REPLACE_SIGNBIT.
48999         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
49000         REPLACE_FREXPL into math.h.
49001
49002 2007-04-06  Bruno Haible  <bruno@clisp.org>
49003
49004         * modules/isnanf-nolibm-tests: New file.
49005         * tests/test-isnanf.c: New file.
49006
49007         * modules/isnanf-nolibm: New file.
49008         * lib/isnanf.h: New file.
49009         * lib/isnanf.c: New file.
49010         * lib/isnan.c: Consider the USE_FLOAT macro.
49011         * m4/isnanf.m4: New file.
49012
49013 2007-04-06  Bruno Haible  <bruno@clisp.org>
49014
49015         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
49016         (Link): New section.
49017
49018         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
49019
49020 2007-04-06  Bruno Haible  <bruno@clisp.org>
49021
49022         Assume the 'long double' type.
49023         * m4/longdouble.m4: Remove file.
49024         * config/srclist.txt: Don't mention longdouble.m4.
49025         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
49026         * lib/float+.h: Likewise.
49027         * lib/frexp.c: Likewise.
49028         * lib/printf-args.h: Likewise.
49029         * lib/printf-args.c: Likewise.
49030         * lib/printf-frexp.c: Likewise.
49031         * lib/printf-parse.c: Likewise.
49032         * lib/vasnprintf.c: Likewise.
49033         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
49034         * m4/intl.m4: Likewise.
49035         * m4/isnanl.m4: Likewise.
49036         * m4/printf.m4: Likewise.
49037         * m4/printf-frexpl.m4: Likewise.
49038         * m4/vasnprintf.m4: Likewise.
49039         * modules/allocsa (Files): Remove m4/longdouble.m4.
49040         * modules/gettext (Files): Likewise.
49041         * modules/relocatable-prog-wrapper (Files): Likewise.
49042         * modules/vasnprintf (Files): Likewise.
49043         * modules/isnanl (Files): Likewise.
49044         (Include): Simplify.
49045         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
49046         (Include): Simplify.
49047         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
49048         (Include): Simplify.
49049         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
49050         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49051         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
49052         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49053         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49054         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49055         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
49056         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49057         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49058         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49059         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
49060         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49061         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
49062         * tests/test-isnanl.c: Likewise.
49063         * tests/test-snprintf-posix.h: Likewise.
49064         * tests/test-sprintf-posix.h: Likewise.
49065         * tests/test-vasnprintf-posix.c: Likewise.
49066         * tests/test-vasnprintf-posix2.c: Likewise.
49067         * tests/test-vasprintf-posix.c: Likewise.
49068
49069 2007-04-06  Bruno Haible  <bruno@clisp.org>
49070
49071         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
49072         * lib/math_.h [__DECC]: Include the overridden include file through
49073         #include_next, outside the double-inclusion guard.
49074         * lib/stdio_.h [__DECC]: Likewise.
49075         * lib/stdlib_.h [__DECC]: Likewise.
49076         * lib/string_.h [__DECC]: Likewise.
49077         * lib/time_.h [__DECC]: Likewise.
49078         * lib/wchar_.h [__DECC]: Likewise.
49079         * lib/wctype_.h [__DECC]: Likewise.
49080         * lib/inttypes_.h [__DECC]: Likewise.
49081         Reported by Albert Chin <china@thewrittenword.com> in
49082         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
49083
49084 2007-04-04  Eric Blake  <ebb9@byu.net>
49085
49086         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
49087         1.5.x.
49088
49089 2007-04-04  Bruno Haible  <bruno@clisp.org>
49090
49091         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
49092         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
49093
49094 2007-04-04  Bruno Haible  <bruno@clisp.org>
49095
49096         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
49097         results for "%010a" of Infinity and NaN.
49098         * tests/test-vasprintf-posix.c (test_function): Likewise.
49099         * tests/test-snprintf-posix.h (test_function): Likewise.
49100         * tests/test-sprintf-posix.h (test_function): Likewise.
49101         * tests/test-fprintf-posix.h (test_function): Remove these tests.
49102         * tests/test-printf-posix.h (test_function): Likewise.
49103         * tests/test-fprintf-posix.out: Update.
49104         Needed for FreeBSD 6.1.
49105
49106 2007-04-04  Bruno Haible  <bruno@clisp.org>
49107
49108         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
49109         directly used by the gnulib modules nor by gnulib-tool.
49110
49111 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49112
49113         * DEPENDENCIES: Give overall description of version dependency
49114         desirability.  Use more-typical names for apps.
49115         Add shell, coreutils, diffutils, grep, tar, gzip.
49116
49117 2007-04-04  Simon Josefsson  <simon@josefsson.org>
49118
49119         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
49120
49121 2007-04-04  Karl Berry  <karl@gnu.org>
49122
49123         * MODULES.html.sh (func_module): missing '.
49124
49125 2007-04-03  Bruno Haible  <bruno@clisp.org>
49126
49127         * modules/argmatch-tests (Makefile.am): New variable
49128         test_argmatch_LDADD.
49129         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
49130         * modules/array-list-tests (Makefile.am): New variable
49131         test_array_list_LDADD.
49132         * modules/array-oset-tests (Makefile.am): New variable
49133         test_array_oset_LDADD.
49134         * modules/avltree-list-tests (Makefile.am): New variable
49135         test_avltree_list_LDADD.
49136         * modules/avltree-oset-tests (Makefile.am): New variable
49137         test_avltree_oset_LDADD.
49138         * modules/avltreehash-list-tests (Makefile.am): New variable
49139         test_avltreehash_list_LDADD.
49140         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
49141         test_canonicalize_lgpl_LDADD.
49142         * modules/carray-list-tests (Makefile.am): New variable
49143         test_carray_list_LDADD.
49144         * modules/dirname-tests (Makefile.am): New variable
49145         test_dirname_LDADD.
49146         * modules/linked-list-tests (Makefile.am): New variable
49147         test_linked_list_LDADD.
49148         * modules/linkedhash-list-tests (Makefile.am): New variable
49149         test_linkedhash_list_LDADD.
49150         * modules/rbtree-list-tests (Makefile.am): New variable
49151         test_rbtree_list_LDADD.
49152         * modules/rbtree-oset-tests (Makefile.am): New variable
49153         test_rbtree_oset_LDADD.
49154         * modules/rbtreehash-list-tests (Makefile.am): New variable
49155         test_rbtreehash_list_LDADD.
49156         * modules/xvasprintf-tests (Makefile.am): New variable
49157         test_xvasprintf_LDADD.
49158         Reported by Eric Blake.
49159
49160 2007-04-03  Eric Blake  <ebb9@byu.net>
49161
49162         * DEPENDENCIES: Weaken m4 requirements.
49163
49164 2007-04-03  Bruno Haible  <bruno@clisp.org>
49165
49166         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
49167         * modules/isnanl-tests (configure.ac): Likewise.
49168
49169 2007-04-03  Ben Pfaff  <blp@gnu.org>
49170
49171         * modules/iconv_open: Add $(srcdir)/ to source directory
49172         references in Makefile fragments that call gperf, to fix VPATH
49173         builds.
49174
49175 2007-04-03  Bruno Haible  <bruno@clisp.org>
49176
49177         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
49178         * lib/ldexpl.c: Undo last change.
49179
49180 2007-04-03  Bruno Haible  <bruno@clisp.org>
49181
49182         * modules/printf-frexpl (Depends-on): Undo last change.
49183         (Files): Add m4/ldexpl.m4.
49184
49185 2007-04-03  Bruno Haible  <bruno@clisp.org>
49186
49187         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
49188         * modules/isnanl (Link): New section.
49189
49190         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
49191         * modules/frexp (Link): New section.
49192
49193         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
49194         * modules/frexpl (Link): New section.
49195
49196         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
49197         * modules/ldexpl (Link): New section.
49198
49199 2007-04-03  Bruno Haible  <bruno@clisp.org>
49200
49201         * modules/TEMPLATE-EXTENDED: New file.
49202         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
49203
49204 2007-04-03  Bruno Haible  <bruno@clisp.org>
49205
49206         * DEPENDENCIES: New file.
49207         Suggested by Simon Josefsson.
49208
49209 2007-04-03  Bruno Haible  <bruno@clisp.org>
49210
49211         * doc/gnulib.texi: Escape @.
49212
49213 2007-04-03  James Youngman  <jay@gnu.org>
49214         and Paul Eggert  <eggert@cs.ucla.edu>
49215
49216         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
49217         birthtime on all systems that have birthtime, not just those which
49218         use st_birthtimensec rather than st_birthtim.  Putting zero in
49219         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
49220         that the birth time is not available for files on an NFS mount.
49221
49222 2007-04-03  Simon Josefsson  <simon@josefsson.org>
49223
49224         * modules/memxor: Move back from crypto/, suggested by Bruno.
49225         * modules/crypto/hmac-sha1: Fix memxor dependency.
49226
49227         * modules/crypto/gc: Moved from ../.
49228
49229 2007-04-02  Eric Blake  <ebb9@byu.net>
49230
49231         * lib/ldexpl.c (includes): Avoid libm.
49232
49233         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
49234
49235 2007-04-02  Bruno Haible  <bruno@clisp.org>
49236
49237         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
49238         on IRIX.
49239
49240 2007-04-02  Bruno Haible  <bruno@clisp.org>
49241
49242         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
49243         x86 or x86_64 platforms running MacOS X.
49244         Reported by Ryan Schmidt <@ryandesign.com>.
49245
49246 2007-04-02  Bruno Haible  <bruno@clisp.org>
49247
49248         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
49249         i386.
49250
49251 2007-04-01  Simon Josefsson  <simon@josefsson.org>
49252
49253         * modules/crypto/arcfour: Moved from ../.
49254         * modules/crypto/arcfour-tests: Moved from ../.
49255         * modules/crypto/arctwo: Moved from ../.
49256         * modules/crypto/arctwo-tests: Moved from ../.
49257         * modules/crypto/des: Moved from ../.
49258         * modules/crypto/des-tests: Moved from ../.
49259         * modules/crypto/gc-arcfour: Moved from ../.
49260         * modules/crypto/gc-arcfour-tests: Moved from ../.
49261         * modules/crypto/gc-arctwo: Moved from ../.
49262         * modules/crypto/gc-arctwo-tests: Moved from ../.
49263         * modules/crypto/gc-des: Moved from ../.
49264         * modules/crypto/gc-des-tests: Moved from ../.
49265         * modules/crypto/gc-hmac-md5: Moved from ../.
49266         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
49267         * modules/crypto/gc-hmac-sha1: Moved from ../.
49268         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
49269         * modules/crypto/gc-md2: Moved from ../.
49270         * modules/crypto/gc-md2-tests: Moved from ../.
49271         * modules/crypto/gc-md4: Moved from ../.
49272         * modules/crypto/gc-md4-tests: Moved from ../.
49273         * modules/crypto/gc-md5: Moved from ../.
49274         * modules/crypto/gc-md5-tests: Moved from ../.
49275         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
49276         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
49277         * modules/crypto/gc-random: Moved from ../.
49278         * modules/crypto/gc-rijndael: Moved from ../.
49279         * modules/crypto/gc-rijndael-tests: Moved from ../.
49280         * modules/crypto/gc-sha1: Moved from ../.
49281         * modules/crypto/gc-sha1-tests: Moved from ../.
49282         * modules/crypto/gc-tests: Moved from ../.
49283         * modules/crypto/hmac-md5: Moved from ../.
49284         * modules/crypto/hmac-md5-tests: Moved from ../.
49285         * modules/crypto/hmac-sha1: Moved from ../.
49286         * modules/crypto/hmac-sha1-tests: Moved from ../.
49287         * modules/crypto/md2: Moved from ../.
49288         * modules/crypto/md2-tests: Moved from ../.
49289         * modules/crypto/md4: Moved from ../.
49290         * modules/crypto/md4-tests: Moved from ../.
49291         * modules/crypto/md5: Moved from ../.
49292         * modules/crypto/md5-tests: Moved from ../.
49293         * modules/crypto/memxor: Moved from ../.
49294         * modules/crypto/rijndael: Moved from ../.
49295         * modules/crypto/rijndael-tests: Moved from ../.
49296         * modules/crypto/sha1: Moved from ../.
49297
49298 2007-03-30  James Youngman  <jay@gnu.org>
49299
49300         * tests/test-stat-time.c (prepare_test): use chmod() rather than
49301         rename() to change the ctime of a file (because ctime is unaffected
49302         by rename on jfs2 on AIX 5.1).
49303         (main): Start by doing cleanup, in case a previous run failed leaving
49304         test files behind.
49305
49306 2007-03-31  Bruno Haible  <bruno@clisp.org>
49307
49308         Support old proprietary implementations of iconv.
49309         * modules/iconv_open: New file.
49310         * lib/iconv_.h: New file.
49311         * m4/iconv_h.m4: New file.
49312         * lib/iconv_open.c: New file.
49313         * lib/iconv_open-aix.gperf: New file.
49314         * lib/iconv_open-hpux.gperf: New file.
49315         * lib/iconv_open-irix.gperf: New file.
49316         * lib/iconv_open-osf.gperf: New file.
49317         * m4/iconv_open.m4: New file.
49318         * modules/linebreak (Depends-on): Add iconv_open.
49319         * modules/striconv (Depends-on): Likewise.
49320         * modules/striconveh (Depends-on): Likewise.
49321         * modules/unicodeio (Depends-on): Likewise.
49322         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
49323         (iconv_t)(-1).
49324         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
49325         conversion if cd is (iconv_t)(-1).
49326         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
49327         is not possible.
49328
49329 2007-03-31  Bruno Haible  <bruno@clisp.org>
49330
49331         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49332         work on Solaris either. Protect also second use of "autodetect_jp".
49333
49334 2007-03-31  Bruno Haible  <bruno@clisp.org>
49335
49336         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
49337         the function is not present.
49338
49339 2007-03-31  Bruno Haible  <bruno@clisp.org>
49340
49341         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
49342         the function is not present.
49343
49344 2007-03-31  Bruno Haible  <bruno@clisp.org>
49345
49346         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
49347         a bug in HP-UX iconv_open().
49348
49349 2007-03-31  Bruno Haible  <bruno@clisp.org>
49350
49351         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
49352         (Mathematics <math.h>): New section, add fpieee.
49353         (Input/output <stdio.h>): Add fseterr.
49354         (Mathematics <math.h>): New section, add printf-frexp.
49355         (Container data structures): Add sublist.
49356         (Core language properties): Add fpucw, inline.
49357         (Functions for greatest-width integer types <inttypes.h>): Add
49358         imaxabs, imaxdiv, inttypes.
49359         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
49360         isnanl-nolibm, ldexp.
49361         (Mathematics <math.h>): New section, add printf-frexpl.
49362         (Support for systems lacking POSIX:2001): Add fprintf-posix,
49363         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
49364         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
49365         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
49366         (Unicode string functions): Add unistr/u*-mbtoucr.
49367         (Java): Add javacomp-script, javaexec-script.
49368         (C#): Add csharpcomp-script, csharpexec-script.
49369         (Support for building libraries and executables): Add havelib,
49370         relocatable-*.
49371         (Support for maintaining and releasing projects): Renamed from
49372         'Support for maintaining and release projects'. Add announce-gen.
49373
49374 2007-03-31  Bruno Haible  <bruno@clisp.org>
49375
49376         * README: Talk primarily about git.
49377         (git and CVS): Renamed from CVS.
49378         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
49379         gnulib is available through git.
49380         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
49381
49382 2007-03-30  Bruno Haible  <bruno@clisp.org>
49383
49384         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
49385         * lib/poll_.h: Likewise.
49386         * lib/stat_.h: Likewise.
49387         * lib/sys_time_.h: Likewise.
49388         * lib/sysexit_.h: Likewise.
49389         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
49390         * lib/stdbool_.h: Likewise.
49391         * lib/byteswap_.h: Add double-inclusion guard.
49392
49393 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
49394
49395         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
49396
49397 2007-03-30  Karl Berry  <karl@gnu.org>
49398
49399         * config/srclist-update: double space after USA in the license
49400         substitution, since that's how it's usually (?) written.
49401
49402 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
49403
49404         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
49405         reported by Bruno Haible.
49406
49407 2007-03-29  Bruno Haible  <bruno@clisp.org>
49408
49409         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
49410         a bug in AIX iconv().
49411
49412 2007-03-29  Bruno Haible  <bruno@clisp.org>
49413
49414         * modules/ldexpl-tests: New file.
49415         * tests/test-ldexpl.c: New file.
49416
49417 2007-03-29  Bruno Haible  <bruno@clisp.org>
49418
49419         * lib/ldexpl.c: Include fpucw.h.
49420         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
49421         multiplication.
49422         * modules/ldexpl (Depends-on): Add fpucw.
49423
49424 2007-03-29  Bruno Haible  <bruno@clisp.org>
49425
49426         * modules/ldexpl: New file.
49427         * m4/ldexpl.m4: New file.
49428         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
49429         set.
49430         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
49431         REPLACE_LDEXPL.
49432         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
49433         REPLACE_LDEXPL.
49434         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49435         gl_FUNC_LDEXPL_WORKS.
49436         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
49437         * modules/mathl (Files): Remove lib/ldexpl.c.
49438         (Depends-on): Add ldexpl.
49439
49440 2007-03-29  Bruno Haible  <bruno@clisp.org>
49441
49442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
49443
49444 2007-03-29  Bruno Haible  <bruno@clisp.org>
49445
49446         * tests/test-striconveh.c (main): Don't assume that a direct conversion
49447         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
49448         and possibly also HP-UX.
49449         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49450         work on AIX, IRIX, HP-UX, OSF/1.
49451         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
49452         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
49453         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
49454         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
49455         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
49456         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
49457
49458 2007-03-29  Bruno Haible  <bruno@clisp.org>
49459
49460         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
49461
49462 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49463
49464         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
49465         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
49466
49467 2007-03-29  Eric Blake  <ebb9@byu.net>
49468
49469         * lib/acl-internal.h: Remove redundant include.
49470         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
49471         Cygwin when a file is locked.
49472
49473 2007-03-29  Bruno Haible  <bruno@clisp.org>
49474
49475         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
49476         file.
49477         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
49478
49479 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
49480
49481         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
49482         try to remove a parent directory if the child couldn't be removed
49483         (except for the first rmdir, which could fail because the child
49484         doesn't exist).  Problem reported by Jeff Blaine in
49485         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
49486
49487 2007-03-28  Bruno Haible  <bruno@clisp.org>
49488
49489         * lib/striconveh.c (utf8conv_carefully): New function.
49490         (mem_cd_iconveh_internal): Invoke it.
49491
49492 2007-03-28  Bruno Haible  <bruno@clisp.org>
49493
49494         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
49495         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
49496         input.
49497         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
49498         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
49499         unistr/u8-uctomb.
49500
49501 2007-03-28  Bruno Haible  <bruno@clisp.org>
49502
49503         * modules/unistr/u8-mbtoucr: New file.
49504         * lib/unistr/u8-mbtoucr.c: New file.
49505         * modules/unistr/u16-mbtoucr: New file.
49506         * lib/unistr/u16-mbtoucr.c: New file.
49507         * modules/unistr/u16-mbtoucr: New file.
49508         * lib/unistr/u16-mbtoucr.c: New file.
49509         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
49510
49511 2007-03-27  Simon Josefsson  <simon@josefsson.org>
49512             Bruno Haible  <bruno@clisp.org>
49513
49514         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
49515         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
49516         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
49517
49518         * m4/stdio_h.m4: Add stubs for vasprintf too.
49519
49520         * modules/stdio: Support vasprintf in sed command.
49521
49522         * modules/vasprintf: Depend on stdio for prototypes.  Remove
49523         vasprintf.h.  Add stdio module indicator.
49524
49525         * lib/stdio_.h: Declare asprintf and vasprintf, based on
49526         vasprintf.h.
49527
49528         * lib/vasprintf.h: File removed.
49529
49530         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
49531         * lib/vasprintf.c: Ditto.
49532         * lib/xvasprintf.c: Ditto.
49533         * tests/test-vasprintf-posix.c: Ditto.
49534         * tests/test-vasprintf.c: Ditto.
49535
49536 2007-03-27  Bruno Haible  <bruno@clisp.org>
49537
49538         Make vasnprintf multithread-safe.
49539         * lib/vasnprintf.c (decimal_point_char): New function.
49540         (VASNPRINTF): Use it.
49541         Suggested by Simon Josefsson.
49542
49543 2007-03-27  Eric Blake  <ebb9@byu.net>
49544
49545         Support sub-second birthtime on cygwin.
49546         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
49547         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
49548         (get_stat_birthtime): Also work with st_birthtim.
49549
49550 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
49551
49552         * lib/stat-time.h (USE_BIRTHTIME): Remove.
49553         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
49554         (get_stat_birthtime_ns): Do not try to use "spare" fields.
49555         (get_stat_birthtime_ns): Simplify compile-time tests.
49556         (get_stat_birthtime): Change the API to look like
49557         get_stat_mtime etc., except return a negative tv_nsec on error.
49558         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
49559         Don't check for "spare" fields.
49560         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
49561         or for struct stat.st_birthtime, as these tests aren't used.
49562         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
49563
49564 2007-03-27  Bruno Haible  <bruno@clisp.org>
49565
49566         * lib/stat-time.h: Include <sys/stat.h>.
49567
49568 2007-03-27  James Youngman  <jay@gnu.org>
49569
49570         * lib/stat-time.h (get_stat_birthtime): New function for
49571           retrieving st_birthtime as provided by UFS2 (hence *BSD).
49572         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
49573           and its variants.
49574         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
49575         * modules/stat-time-test: New file.
49576         * tests/test-stat-time.c: New test, devised by Bruno Haible.
49577
49578 2007-03-26  Bruno Haible  <bruno@clisp.org>
49579
49580         Better support of signalling NaNs.
49581         * lib/atanl.c: Include isnanl.h.
49582         (atanl): Perform test for NaN at the beginning of the function and
49583         through a call to isnanl.
49584         * lib/cosl.c: Include isnanl.h.
49585         (cosl): Perform test for NaN at the beginning of the function and
49586         through a call to isnanl.
49587         * lib/ldexpl.c: Include isnanl.h.
49588         (ldexpl): Perform test for NaN through a call to isnanl.
49589         * lib/logl.c: Include isnanl.h.
49590         (logl): Perform test for NaN at the beginning of the function and
49591         through a call to isnanl.
49592         * lib/sinl.c: Include isnanl.h.
49593         (sinl): Perform test for NaN at the beginning of the function and
49594         through a call to isnanl.
49595         * lib/sqrtl.c: Include isnanl.h.
49596         (sqrtl): Perform test for NaN at the beginning of the function and
49597         through a call to isnanl.
49598         * lib/tanl.c: Include isnanl.h.
49599         (tanl): Perform test for NaN at the beginning of the function and
49600         through a call to isnanl.
49601         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
49602         * modules/mathl (Depends-on): Add isnanl.
49603
49604 2007-03-26  Eric Blake  <ebb9@byu.net>
49605
49606         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
49607         regression in logic sense of previous patch.
49608
49609 2007-03-26  Bruno Haible  <bruno@clisp.org>
49610
49611         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
49612         unportable shell command "if ! ...".
49613         Reported by Ralf Wildenhues.
49614
49615 2007-03-25  Bruno Haible  <bruno@clisp.org>
49616
49617         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
49618         <sysexits.h> file, and only add EX_CONFIG.
49619         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
49620         absolute file name and whether it is sufficient. Substitute also
49621         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
49622         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
49623         ABSOLUTE_SYSEXITS_H into sysexits.h.
49624
49625 2007-03-25  Bruno Haible  <bruno@clisp.org>
49626
49627         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
49628         hints is NULL.
49629
49630 2007-03-25  Bruno Haible  <bruno@clisp.org>
49631
49632         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
49633         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
49634
49635 2007-03-25  Bruno Haible  <bruno@clisp.org>
49636
49637         * lib/vasnprintf.c: Include langinfo.h.
49638         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
49639         multithread-safe.
49640         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
49641         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
49642         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49643         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49644         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49645         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49646         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49647         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
49648         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49649         Reported by Simon Josefsson.
49650
49651 2007-03-25  Bruno Haible  <bruno@clisp.org>
49652
49653         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
49654         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
49655         * modules/vasnprintf (Depends-on): Add stdint.
49656
49657 2007-03-25  Bruno Haible  <bruno@clisp.org>
49658
49659         * modules/fpieee: New file.
49660         * m4/fpieee.m4: New file.
49661         * modules/isnan-nolibm (Depends-on): Add fpieee.
49662         * modules/isnanl-nolibm (Depends-on): Add fpieee.
49663         * modules/isnanl (Depends-on): Add fpieee.
49664
49665 2007-03-25  Bruno Haible  <bruno@clisp.org>
49666
49667         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
49668
49669 2007-03-25  Bruno Haible  <bruno@clisp.org>
49670
49671         Avoid test failures on IRIX 6.5.
49672         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
49673         (main): Use it.
49674         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
49675         macros.
49676         (main): Use them.
49677
49678 2007-03-25  Bruno Haible  <bruno@clisp.org>
49679
49680         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
49681         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
49682         exists but doesn't work.
49683         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
49684         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
49685         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
49686         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
49687
49688 2007-03-25  Bruno Haible  <bruno@clisp.org>
49689
49690         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
49691         returns inf. Needed on IRIX 6.5.
49692
49693 2007-03-25  Bruno Haible  <bruno@clisp.org>
49694
49695         * tests/test-frexpl.c: Include isnanl-nolibm.h.
49696         (main): Use isnanl instead of x != x idiom.
49697         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
49698
49699         * tests/test-frexp.c: Include isnan.h.
49700         (main): Use isnan instead of x != x idiom.
49701         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
49702
49703 2007-03-25  Bruno Haible  <bruno@clisp.org>
49704
49705         * tests/test-frexp.c (NaN): New function/macro.
49706         (main): Use it instead of 0.0 / 0.0.
49707         * tests/test-isnan.c (NaN): New function/macro.
49708         (main): Use it instead of 0.0 / 0.0.
49709         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
49710         (test_function): Use it instead of 0.0 / 0.0.
49711         * tests/test-vasprintf-posix.c (NaN): New function/macro.
49712         (test_function): Use it instead of 0.0 / 0.0.
49713         * tests/test-snprintf-posix.h (NaN): New function/macro.
49714         (test_function): Use it instead of 0.0 / 0.0.
49715         * tests/test-sprintf-posix.h (NaN): New function/macro.
49716         (test_function): Use it instead of 0.0 / 0.0.
49717         * tests/test-fprintf-posix.h (NaN): New function/macro.
49718         (test_function): Use it instead of 0.0 / 0.0.
49719         * tests/test-printf-posix.h (NaN): New function/macro.
49720         (test_function): Use it instead of 0.0 / 0.0.
49721
49722         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
49723
49724 2007-03-25  Bruno Haible  <bruno@clisp.org>
49725
49726         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
49727
49728 2007-03-25  Bruno Haible  <bruno@clisp.org>
49729
49730         * lib/regexec.c (merge_state_with_log): Make static.
49731
49732 2007-03-25  Bruno Haible  <bruno@clisp.org>
49733
49734         * lib/trigl.c (kernel_rem_pio2): Make static.
49735
49736 2007-03-25  Bruno Haible  <bruno@clisp.org>
49737
49738         * lib/sincosl.c (sincosl_table): Make static.
49739
49740 2007-03-25  Bruno Haible  <bruno@clisp.org>
49741
49742         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
49743         if the compiler does not support C99.
49744
49745 2007-03-25  Bruno Haible  <bruno@clisp.org>
49746
49747         * modules/time (Makefile.am): Ensure all rule action lines start with a
49748         tab.
49749
49750 2007-03-24  Bruno Haible  <bruno@clisp.org>
49751
49752         * modules/tsearch-tests: New file.
49753         * tests/test-tsearch.sh: New file.
49754         * tests/test-tsearch.c: New file, mostly copied from glibc.
49755
49756         * modules/search-tests: New file.
49757         * tests/test-search.c: New file.
49758
49759         * modules/search: New file.
49760         * lib/search_.h: New file, incorporating lib/tsearch.h.
49761         * m4/search_h.m4: New file.
49762         * lib/tsearch.h: Remove file.
49763         * lib/tsearch.c: Include search.h instead of tsearch.h.
49764         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49765         HAVE_TSEARCH.
49766         * modules/tsearch (Files): Remove lib/tsearch.h.
49767         (Depends-on): Add search.
49768         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49769         (Include): Change tsearch.h into search.h.
49770
49771 2007-03-24  Bruno Haible  <bruno@clisp.org>
49772
49773         * modules/fpucw: New file.
49774         * lib/fpucw.h: New file.
49775         * lib/frexp.c: Include fpucw.h.
49776         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49777         (FUNC): Use them.
49778         * lib/printf-frexp.c: Include fpucw.h.
49779         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49780         (FUNC): Use them.
49781         * lib/vasnprintf.c: Include fpucw.h.
49782         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49783         'long double' calculations.
49784         * tests/test-frexpl.c: Include fpucw.h.
49785         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49786         * tests/test-printf-frexpl.c: Include fpucw.h.
49787         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49788         * modules/frexpl (Depends-on): Add fpucw.
49789         * modules/printf-frexpl (Depends-on): Likewise.
49790         * modules/fprintf-posix (Depends-on): Likewise.
49791         * modules/snprintf-posix (Depends-on): Likewise.
49792         * modules/sprintf-posix (Depends-on): Likewise.
49793         * modules/vasnprintf-posix (Depends-on): Likewise.
49794         * modules/vasprintf-posix (Depends-on): Likewise.
49795         * modules/vfprintf-posix (Depends-on): Likewise.
49796         * modules/vsnprintf-posix (Depends-on): Likewise.
49797         * modules/vsprintf-posix (Depends-on): Likewise.
49798         * modules/frexpl-tests (Depends-on): Likewise.
49799         * modules/printf-frexpl-tests (Depends-on): Likewise.
49800
49801 2007-03-24  Bruno Haible  <bruno@clisp.org>
49802
49803         * lib/float+.h: New file.
49804         * lib/isnan.c: Include float+.h.
49805         (SIZE): New macro.
49806         (FUNC): Compare only SIZE bytes of the value.
49807         * lib/vasnprintf.c: Include float+.h.
49808         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49809         SIZEOF_LDBL or SIZEOF_DBL bytes.
49810         * modules/isnan-nolibm (Files): Add lib/float+.h.
49811         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49812         * modules/isnanl (Files): Add lib/float+.h.
49813         * modules/vasnprintf (Files): Add lib/float+.h.
49814
49815 2007-03-24  Bruno Haible  <bruno@clisp.org>
49816
49817         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49818         include isnanl-nolibm.h.
49819
49820 2007-03-24  Bruno Haible  <bruno@clisp.org>
49821
49822         * tests/test-read-file.c (main): Don't produce spurious output for
49823         expected situations. Make the test fail if it encountered unexpected
49824         results.
49825
49826 2007-03-24  Bruno Haible  <bruno@clisp.org>
49827
49828         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49829         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49830
49831 2007-03-24  Bruno Haible  <bruno@clisp.org>
49832
49833         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49834
49835 2007-03-24  Bruno Haible  <bruno@clisp.org>
49836
49837         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49838         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49839
49840         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49841         * modules/utf8-ucs4: Turn into a symbolic link to module
49842         unistr/u8-mbtouc.
49843
49844         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49845         utf8-ucs4-unsafe.
49846         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49847         unistr/u8-mbtouc-unsafe.
49848
49849         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49850         * modules/utf16-ucs4: Turn into a symbolic link to module
49851         unistr/u16-mbtouc.
49852
49853         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49854         utf16-ucs4-unsafe.
49855         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49856         unistr/u16-mbtouc-unsafe.
49857
49858         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49859         * modules/ucs4-utf8: Turn into a symbolic link to module
49860         unistr/u8-ubtomb.
49861
49862         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49863         * modules/ucs4-utf16: Turn into a symbolic link to module
49864         unistr/u16-ubtomb.
49865
49866 2007-03-24  Bruno Haible  <bruno@clisp.org>
49867
49868         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49869         Enable the function only if HAVE_INLINE.
49870         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49871         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49872         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49873         Enable the function only if HAVE_INLINE.
49874         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49875         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49876         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49877         Enable the function only if HAVE_INLINE.
49878         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49879         Enable the function only if HAVE_INLINE.
49880         * modules/utf8-ucs4: Update.
49881         * modules/utf8-ucs4-unsafe: Update.
49882         * modules/utf16-ucs4: Update.
49883         * modules/utf16-ucs4-unsafe: Update.
49884         * modules/ucs4-utf8: Update.
49885         * modules/ucs4-utf16: Update.
49886
49887 2007-03-24  Bruno Haible  <bruno@clisp.org>
49888
49889         * lib/utf8-ucs4.h: Remove file.
49890         * lib/utf8-ucs4-unsafe.h: Remove file.
49891         * lib/utf16-ucs4.h: Remove file.
49892         * lib/utf16-ucs4-unsafe.h: Remove file.
49893         * lib/ucs4-utf8.h: Remove file.
49894         * lib/ucs4-utf16.h: Remove file.
49895         * lib/unistr.h: Include their previous contents.
49896         * m4/utf-ucs4.m4: Remove file.
49897         * m4/ucs4-utf.m4: Remove file.
49898         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49899         (Depends-on): Add unistr/base.
49900         (configure.ac): Remove gl_UTF_UCS4.
49901         (Makefile.am): Update.
49902         (Include): Change to unistr.h.
49903         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
49904         (Depends-on): Add unistr/base.
49905         (configure.ac): Remove gl_UTF_UCS4.
49906         (Makefile.am): Update.
49907         (Include): Change to unistr.h.
49908         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
49909         (Depends-on): Add unistr/base.
49910         (configure.ac): Remove gl_UTF_UCS4.
49911         (Makefile.am): Update.
49912         (Include): Change to unistr.h.
49913         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49914         (Depends-on): Add unistr/base.
49915         (configure.ac): Remove gl_UTF_UCS4.
49916         (Makefile.am): Update.
49917         (Include): Change to unistr.h.
49918         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49919         (Depends-on): Add unistr/base.
49920         (configure.ac): Remove gl_UCS4_UTF.
49921         (Makefile.am): Update.
49922         (Include): Change to unistr.h.
49923         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49924         (Depends-on): Add unistr/base.
49925         (configure.ac): Remove gl_UCS4_UTF.
49926         (Makefile.am): Update.
49927         (Include): Change to unistr.h.
49928         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49929         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49930         utf8-ucs4-unsafe.h.
49931         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49932         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49933         utf16-ucs4-unsafe.h.
49934         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49935         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49936         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49937         * lib/unistr/u8-strchr.c: Likewise.
49938         * lib/unistr/u8-strrchr.c: Likewise.
49939         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49940         * lib/unistr/u16-strchr.c: Likewise.
49941         * lib/unistr/u16-strrchr.c: Likewise.
49942         * lib/striconveh.c: Update.
49943         * lib/linebreak.c: Update.
49944
49945 2007-03-24  Bruno Haible  <bruno@clisp.org>
49946
49947         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49948         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49949
49950 2007-03-22  Bruno Haible  <bruno@clisp.org>
49951
49952         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49953
49954 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49955
49956         * MODULES.html.sh (File system functions): New module write-any-file.
49957         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49958         * m4/write-any-file.m4: New files.
49959
49960 2007-03-23  Eric Blake  <ebb9@byu.net>
49961
49962         * gnulib-tool: Rearrange space-tab sequences, since some editors
49963         like to eat them.
49964
49965 2007-03-23  Eric Blake  <ebb9@byu.net>
49966
49967         * lib/version-etc.c (version_etc_va): Update license wording to
49968         be more concise.  Recommended by Richard Stallman.
49969
49970 2007-03-22  Bruno Haible  <bruno@clisp.org>
49971
49972         * lib/poll.c (MSG_PEEK): New fallback definition.
49973
49974 2007-03-22  Bruno Haible  <bruno@clisp.org>
49975
49976         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49977         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49978         (main): Update.
49979         Fixes a compilation error on BeOS.
49980
49981 2007-03-22  Bruno Haible  <bruno@clisp.org>
49982
49983         * modules/frexpl-tests: New file.
49984         * tests/test-frexpl.c: New file.
49985
49986         * modules/frexpl: New file.
49987         * m4/frexpl.m4: New file.
49988         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49989         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49990         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49991         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49992         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49993         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49994
49995 2007-03-22  Bruno Haible  <bruno@clisp.org>
49996
49997         * lib/frexpl.c: Share code with lib/frexp.c.
49998         * modules/mathl (Files): Add lib/frexp.c.
49999         (Depends-on): Add isnanl-nolibm.
50000
50001 2007-03-22  Bruno Haible  <bruno@clisp.org>
50002
50003         * modules/printf-frexp (Files): Add m4/frexp.m4.
50004         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
50005         only if the found frexp function actually works.
50006
50007 2007-03-22  Bruno Haible  <bruno@clisp.org>
50008
50009         * lib/frexp.c: Remove older implementation that uses divisions.
50010
50011 2007-03-21  Bruno Haible  <bruno@clisp.org>
50012
50013         * modules/frexp-tests: New file.
50014         * tests/test-frexp.c: New file.
50015
50016         * modules/frexp: New file.
50017         * lib/frexp.c: New file.
50018         * m4/frexp.m4: New file.
50019         * lib/math_.h (frexp): New declaration.
50020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
50021         REPLACE_FREXP.
50022         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
50023
50024 2007-03-21  Bruno Haible  <bruno@clisp.org>
50025
50026         * modules/isnanl-tests: New file.
50027         * tests/test-isnanl.c: New file.
50028
50029         * modules/isnanl: New file.
50030         * lib/isnanl.h: New file.
50031         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
50032         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
50033         gl_FUNC_ISNANL_WORKS.
50034         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
50035         New macros.
50036
50037 2007-03-21  Bruno Haible  <bruno@clisp.org>
50038
50039         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
50040         lib/isnanl.h.
50041         (Include): Update.
50042         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
50043         * lib/vasnprintf.c: Update.
50044         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
50045         tests/test-isnanl.h, remove tests/test-isnanl.c.
50046         (Makefile.am): Update.
50047         * tests/test-isnanl-nolibm.c: New file.
50048         * tests/test-isnanl.h: New file.
50049         * tests/test-isnanl.c: Remove file.
50050
50051 2007-03-21  Jim Meyering  <jim@meyering.net>
50052
50053         When trying to open ".", treat ESTALE like EACCES.
50054         * lib/savewd.c (savewd_save): Resort to forking not just upon
50055         failure with EACCES, but also when errno is ESTALE.
50056
50057 2007-03-20  Bruno Haible  <bruno@clisp.org>
50058
50059         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
50060         Needed on AIX 5.1. Reported by Matthew Woehlke.
50061
50062 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50063
50064         Suggestions by Bruno Haible:
50065         * lib/acl-internal.h: Include "gettext.h" rather than rolling
50066         our own.
50067         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
50068         * modules/acl (Depends-on): Add gettext.
50069
50070 2007-03-19  Bruno Haible  <bruno@clisp.org>
50071
50072         * modules/iconvme: Remove file.
50073         * lib/iconvme.h: Remove file.
50074         * lib/iconvme.c: Remove file.
50075         * m4/iconvme.m4: Remove file.
50076
50077 2007-03-19  Bruno Haible  <bruno@clisp.org>
50078
50079         * doc/relocatable-maint.texi: Break long shell script line.
50080         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50081
50082 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50083
50084         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
50085         handle file_has_acl.
50086         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
50087         * lib/acl.c: Move header inclusions and related macro defns into
50088         lib/acl-internal.h.
50089         (S_ISLNK): Remove defn, since that's now done for us.
50090         (file_has_acl): Move to lib/file-has-acl.c.
50091         Call acl_trivial if available.  This is the crucial part of the fix.
50092         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
50093         shared within the library.  Rewrite a bit, partly to make it compatible
50094         with the GNU coding style.
50095         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
50096         Remove unnecessary double-quotes.
50097         Don't test for acl_to_text; the build will catch that.
50098         Replace acl_entries if it doesn't exist and it is needed.
50099         Check for -lsec and acl_trivial (as used on Solaris 10).
50100         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
50101         lib/file-has-acl.c.
50102         (Depends-on): Add sys_stat, for S_ISLNK.
50103
50104 2007-03-19  Ben Pfaff  <blp@gnu.org>
50105
50106         * doc/gnulib.texi: Fix typos.
50107         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50108
50109 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50110
50111         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
50112         If size is zero here, buf must be zero.
50113
50114 2007-03-19  Simon Josefsson  <simon@josefsson.org>
50115
50116         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
50117         <bruno@clisp.org>.
50118
50119 2007-03-18  Bruno Haible  <bruno@clisp.org>
50120
50121         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
50122         Suggested by Eric Blake.
50123
50124 2007-03-18  Ben Pfaff  <blp@gnu.org>
50125
50126         * doc/relocatable.texi: Recommend using as prefix a directory
50127         that does not exist and will never be created.  Based on
50128         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
50129         and others.
50130
50131 2007-03-17  Bruno Haible  <bruno@clisp.org>
50132
50133         * lib/fchownat.c: Include lchown.h.
50134
50135 2007-03-17  Bruno Haible  <bruno@clisp.org>
50136
50137         Fix endless loop when the given allocated size was > INT_MAX.
50138         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
50139         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
50140         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
50141         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
50142         * lib/sprintf.c (sprintf): Likewise.
50143
50144 2007-03-17  Bruno Haible  <bruno@clisp.org>
50145
50146         * tests/test-argp-2.sh (func_compare): Output a context diff.
50147
50148 2007-03-17  Bruno Haible  <bruno@clisp.org>
50149
50150         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
50151         locale's decimal-point character.
50152
50153 2007-03-17  Bruno Haible  <bruno@clisp.org>
50154
50155         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
50156         before comparing it. Needed because on some platforms (e.g. x86) a
50157         'long double' occupies less bytes than sizeof (long double).
50158
50159 2007-03-17  Bruno Haible  <bruno@clisp.org>
50160
50161         * tests/test-crc.c (main): Make printf statements 64-bit clean.
50162         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
50163         * tests/test-getaddrinfo.c (simple): Likewise.
50164         * tests/test-read-file.c (main): Likewise.
50165
50166 2007-03-17  Bruno Haible  <bruno@clisp.org>
50167
50168         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
50169
50170 2007-03-17  Bruno Haible  <bruno@clisp.org>
50171
50172         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
50173         unused variable.
50174
50175 2007-03-17  Bruno Haible  <bruno@clisp.org>
50176
50177         * tests/test-c-strcasecmp.c: Include c-strcase.h.
50178         * tests/test-c-strncasecmp.c: Likewise.
50179
50180 2007-03-17  Bruno Haible  <bruno@clisp.org>
50181
50182         * modules/stdlib (Depends-on): Add unistd.
50183         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
50184         Needed for MacOS X 10.3.
50185
50186 2007-03-17  Bruno Haible  <bruno@clisp.org>
50187
50188         * lib/unistr/u-strdup.h: Include <stdlib.h>.
50189
50190 2007-03-17  Bruno Haible  <bruno@clisp.org>
50191
50192         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
50193
50194 2007-03-17  Bruno Haible  <bruno@clisp.org>
50195
50196         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
50197         to reflect files copied from gnulib (with or without modifications).
50198         Suggested by Jim Meyering.
50199
50200 2007-03-17  Eric Blake  <ebb9@byu.net>
50201
50202         * NEWS: Document stdlib change from 2007-02-18.
50203
50204 2007-03-17  Jim Meyering  <jim@meyering.net>
50205
50206         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
50207         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
50208         someone uses a name containing shell meta-characters.
50209         Reported by Alfred M. Szmidt.
50210
50211         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
50212
50213 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50214
50215         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
50216         and copy gettext configuration files only if configure.ac contains
50217         a use of AM_GNU_GETTEXT_VERSION.
50218
50219 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50220
50221         * build-aux/bootstrap (gnulib_name): New variable.
50222         (gnulib_tool_options): Use it.
50223
50224 2007-03-13  Simon Josefsson  <simon@josefsson.org>
50225
50226         * tests/test-des.c: Use new namespace.
50227
50228 2007-03-15  Bruno Haible  <bruno@clisp.org>
50229
50230         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
50231         Reported by James Youngman <jay@gnu.org>.
50232
50233 2007-03-15  Bruno Haible  <bruno@clisp.org>
50234
50235         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
50236         declared prototype. Needed with cc on OSF/1 5.1.
50237
50238 2007-03-15  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
50241         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
50242         (struct gl_list_implementation): Add dispose_fn argument to the
50243         'create_empty', 'create' methods.
50244         (struct gl_list_impl_base): Add field 'dispose_fn'.
50245         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
50246         argument.
50247         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
50248         dispose_fn argument.
50249         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
50250         dispose_fn on the dropped values.
50251         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
50252         dispose_fn argument.
50253         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
50254         dropped values.
50255         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
50256         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50257         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
50258         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50259         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
50260         argument.
50261         (gl_tree_list_free): Call dispose_fn on the dropped values.
50262         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
50263         the dropped values.
50264         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50265         Add dispose_fn argument.
50266         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
50267         Call dispose_fn on the dropped values.
50268         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
50269         Add dispose_fn argument.
50270         (gl_sublist_create): Initialize the 'dispose_fn' field.
50271         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
50272         * tests/test-array_list.c (main): Update.
50273         * tests/test-carray_list.c (main): Update.
50274         * tests/test-avltree_list.c (main): Update.
50275         * tests/test-rbtree_list.c (main): Update.
50276         * tests/test-avltreehash_list.c (main): Update.
50277         * tests/test-rbtreehash_list.c (main): Update.
50278         * tests/test-linked_list.c (main): Update.
50279         * tests/test-linkedhash_list.c (main): Update.
50280         * tests/test-array_oset.c (main): Update.
50281
50282 2007-03-15  Bruno Haible  <bruno@clisp.org>
50283
50284         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
50285         (gl_oset_create_empty): Add dispose_fn argument.
50286         (struct gl_oset_implementation): Add dispose_fn argument to
50287         'create_empty' method.
50288         (struct gl_oset_impl_base): Add dispose_fn field.
50289         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
50290         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
50291         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
50292         values.
50293         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
50294         (gl_tree_oset_free): Call dispose_fn on the dropped values.
50295         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50296         dropped value.
50297         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50298         dropped value.
50299         * tests/test-array_oset.c (main): Update.
50300         * tests/test-avltree_oset.c (main): Update.
50301         * tests/test-rbtree_oset.c (main): Update.
50302         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
50303
50304 2007-03-13  Bruno Haible  <bruno@clisp.org>
50305
50306         * tests/test-stdbool.c (i): Update after last patch.
50307
50308 2007-03-12  Bruno Haible  <bruno@clisp.org>
50309
50310         * lib/quotearg.c: Include <wctype.h> early, before the definition of
50311         the iswprint macro. Needed on Solaris 2.5.1.
50312
50313 2007-03-12  Bruno Haible  <bruno@clisp.org>
50314
50315         * tests/test-printf-frexp.c (main): Declare x as volatile.
50316
50317 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50318
50319         * doc/gnulib.texi (Build robot for gnulib): New section.
50320
50321 2007-03-12  Jim Meyering  <jim@meyering.net>
50322
50323         * build-aux/bootstrap: New file.
50324         * build-aux/bootstrap.conf: New file, from coreutils.
50325
50326 2007-03-11  Bruno Haible  <bruno@clisp.org>
50327
50328         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
50329
50330 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50331
50332         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
50333         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
50334         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
50335
50336 2007-03-11  Bruno Haible  <bruno@clisp.org>
50337
50338         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
50339         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
50340
50341 2007-03-11  Bruno Haible  <bruno@clisp.org>
50342
50343         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
50344         formula. Needed for SunPRO C 5.0.
50345
50346 2007-03-11  Bruno Haible  <bruno@clisp.org>
50347
50348         * modules/long-options (Depends-on): Add getopt.
50349
50350 2007-03-11  Bruno Haible  <bruno@clisp.org>
50351
50352         * modules/modechange (Depends-on): Add stdbool.
50353
50354 2007-03-11  Bruno Haible  <bruno@clisp.org>
50355
50356         * modules/i-ring (Depends-on): Add stdbool.
50357
50358 2007-03-11  Bruno Haible  <bruno@clisp.org>
50359
50360         * modules/gc-des (Depends-on): Add stdbool.
50361
50362 2007-03-11  Bruno Haible  <bruno@clisp.org>
50363
50364         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
50365
50366 2007-03-11  Bruno Haible  <bruno@clisp.org>
50367
50368         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
50369
50370 2007-03-11  Bruno Haible  <bruno@clisp.org>
50371
50372         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
50373
50374 2007-03-11  Bruno Haible  <bruno@clisp.org>
50375
50376         * lib/vasnprintf.c (sprintf): Undefine.
50377
50378 2007-03-11  Bruno Haible  <bruno@clisp.org>
50379
50380         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
50381         initializers in SunPRO C and Compaq C compilers.
50382
50383 2007-03-11  Bruno Haible  <bruno@clisp.org>
50384
50385         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
50386         decrementing code ANSI C compliant.
50387
50388 2007-03-11  Bruno Haible  <bruno@clisp.org>
50389
50390         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
50391         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
50392
50393 2007-03-11  Bruno Haible  <bruno@clisp.org>
50394
50395         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
50396         <stdbool.h> substitute doesn't pass.
50397
50398 2007-03-11  Bruno Haible  <bruno@clisp.org>
50399
50400         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
50401
50402 2007-03-11  Bruno Haible  <bruno@clisp.org>
50403
50404         * gnulib-tool (func_create_megatestdir): Create also an autobuild
50405         script, for submission to autobuild.josefsson.org.
50406
50407 2007-03-10  Bruno Haible  <bruno@clisp.org>
50408
50409         * modules/canonicalize-lgpl-tests: New file.
50410         * tests/test-canonicalize-lgpl.sh: New file.
50411         * tests/test-canonicalize-lgpl.c: New file.
50412
50413         * modules/c-strcase-tests: New file.
50414         * tests/test-c-strcase.sh: New file.
50415         * tests/test-c-strcasecmp.c: New file.
50416         * tests/test-c-strncasecmp.c: New file.
50417
50418         * modules/atexit-tests: New file.
50419         * tests/test-atexit.sh: New file.
50420         * tests/test-atexit.c: New file.
50421
50422 2007-03-10  Bruno Haible  <bruno@clisp.org>
50423
50424         * tests/test-binary-io.sh: Use temporary filenames that are not so
50425         likely to clash with those of other tests (in a parallel make).
50426         * tests/test-binary-io.c: Likewise.
50427
50428 2007-03-10  Bruno Haible  <bruno@clisp.org>
50429
50430         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
50431         fallback; use #error instead.
50432         Suggested by Simon Josefsson.
50433
50434 2007-03-10  Bruno Haible  <bruno@clisp.org>
50435
50436         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
50437         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
50438         first and the last.
50439
50440 2007-03-10  Bruno Haible  <bruno@clisp.org>
50441
50442         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
50443
50444 2007-03-10  Bruno Haible  <bruno@clisp.org>
50445
50446         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
50447         "make distcheck".
50448         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
50449         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
50450         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
50451
50452 2007-03-10  Bruno Haible  <bruno@clisp.org>
50453
50454         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
50455         variable.
50456         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
50457         variable.
50458
50459 2007-03-09  Eric Blake  <ebb9@byu.net>
50460         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
50461
50462         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
50463         types are not being provided by gnulib.
50464         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
50465         types are supported.
50466
50467 2007-03-10  Bruno Haible  <bruno@clisp.org>
50468
50469         * lib/stdio_.h (__attribute__): New macro.
50470         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
50471         vsprintf): Specify __attribute__ __format__ for GCC.
50472         Suggested by Eric Blake.
50473
50474 2007-03-09  Bruno Haible  <bruno@clisp.org>
50475
50476         * modules/printf-posix-tests: New file.
50477         * tests/test-printf-posix.sh: New file.
50478         * tests/test-printf-posix.c: New file.
50479
50480         * modules/printf-posix: New file.
50481         * lib/printf.c: New file.
50482         * m4/printf-posix-rpl.m4: New file.
50483         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
50484         REPLACE_PRINTF.
50485         * lib/stdio_.h (printf): New declaration.
50486         (format, __format__, ____printf____, ____scanf____, ____strftime____,
50487         ____strfmon____): New macros.
50488         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
50489         REPLACE_PRINTF.
50490
50491 2007-03-09  Bruno Haible  <bruno@clisp.org>
50492
50493         * tests/test-vasnprintf-posix2.sh: New file.
50494         * tests/test-vasnprintf-posix2.c: New file.
50495         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
50496         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50497         (Makefile.am): Activate test-vasnprintf-posix2.sh.
50498
50499         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
50500         a locale dependent decimal point, rather than always '.'.
50501
50502 2007-03-09  Eric Blake  <ebb9@byu.net>
50503
50504         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
50505         spite of platforms like Tandem/NSK that define it to -1.
50506
50507 2007-03-08  Bruno Haible  <bruno@clisp.org>
50508
50509         * modules/vprintf-posix-tests: New file.
50510         * tests/test-vprintf-posix.sh: New file.
50511         * tests/test-vprintf-posix.c: New file.
50512         * tests/test-printf-posix.h: New file.
50513
50514         * modules/vprintf-posix: New file.
50515         * lib/vprintf.c: New file.
50516         * m4/vprintf-posix.m4: New file.
50517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
50518         REPLACE_VPRINTF.
50519         * lib/stdio_.h (vprintf): New declaration.
50520         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
50521         REPLACE_VPRINTF.
50522
50523 2007-03-08  Bruno Haible  <bruno@clisp.org>
50524
50525         * modules/fprintf-posix-tests: New file.
50526         * tests/test-fprintf-posix.sh: New file.
50527         * tests/test-fprintf-posix.c: New file.
50528
50529         * modules/fprintf-posix: New file.
50530         * lib/fprintf.c: New file.
50531         * m4/fprintf-posix.m4: New file.
50532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
50533         REPLACE_FPRINTF.
50534         * lib/stdio_.h (fprintf): New declaration.
50535         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
50536         REPLACE_FPRINTF.
50537
50538 2007-03-08  Bruno Haible  <bruno@clisp.org>
50539
50540         * modules/vfprintf-posix-tests: New file.
50541         * tests/test-vfprintf-posix.sh: New file.
50542         * tests/test-vfprintf-posix.c: New file.
50543         * tests/test-fprintf-posix.h: New file.
50544         * tests/test-fprintf-posix.out: New file.
50545
50546         * modules/vfprintf-posix: New file.
50547         * lib/vfprintf.c: New file.
50548         * m4/vfprintf-posix.m4: New file.
50549         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
50550         REPLACE_VFPRINTF.
50551         * lib/stdio_.h (vfprintf): New declaration.
50552         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
50553         REPLACE_VFPRINTF.
50554
50555 2007-03-08  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
50558
50559 2007-03-08  Bruno Haible  <bruno@clisp.org>
50560
50561         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
50562         instead of 'expr' invocations.
50563         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50564         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50565         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50566         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50567         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50568         Suggested by Paul Eggert.
50569
50570 2007-03-08  Bruno Haible  <bruno@clisp.org>
50571
50572         * modules/fseterr-tests: New file.
50573         * tests/test-fseterr.c: New file.
50574
50575         * modules/fseterr: New file.
50576         * lib/fseterr.h: New file.
50577         * lib/fseterr.c: New file.
50578
50579 2007-03-08  Bruno Haible  <bruno@clisp.org>
50580
50581         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
50582         * lib/getopt_.h: Likewise.
50583         * lib/mbswidth.h: Likewise.
50584         * lib/setenv.h: Likewise.
50585         * lib/vasnprintf.h: Likewise.
50586         * lib/vasprintf.h: Likewise.
50587         * lib/verror.h: Likewise.
50588         * lib/xsetenv.h: Likewise.
50589         * lib/xvasprintf.h: Likewise.
50590
50591 2007-03-08  Jim Meyering  <jim@meyering.net>
50592
50593         * users.txt: Add parted.
50594
50595         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
50596
50597 2007-03-07  Bruno Haible  <bruno@clisp.org>
50598
50599         * m4/printf.m4: Make the shell script snippets copy&pastable.
50600
50601 2007-03-02  Bruno Haible  <bruno@clisp.org>
50602
50603         * lib/netinet_in_.h: New file.
50604         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
50605         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
50606         * modules/netinet_in (Files): Add lib/netinet_in_.h.
50607         (Depends-on): Add absolute-header.
50608         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
50609         into netinet/in.h.
50610
50611 2007-03-03  Bruno Haible  <bruno@clisp.org>
50612
50613         * lib/sys_select_.h: New file.
50614         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
50615         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
50616         * modules/sys_select (Files): Add lib/sys_select_.h.
50617         (Depends-on): Add absolute-header.
50618         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
50619         into sys/select.h.
50620
50621 2007-03-02  Bruno Haible  <bruno@clisp.org>
50622
50623         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
50624         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
50625         values.
50626         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
50627         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
50628         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
50629         * modules/sys_socket (Depends-on): Add absolute-header.
50630         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
50631         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
50632         (Include): Remove requirement of inclusion of <sys/types.h>.
50633
50634 2007-03-02  Bruno Haible  <bruno@clisp.org>
50635
50636         * lib/byteswap_.h (bswap_32): Fix formula.
50637
50638 2007-03-06  Bruno Haible  <bruno@clisp.org>
50639
50640         * modules/sprintf-posix-tests: New file.
50641         * tests/test-sprintf-posix.c: New file.
50642
50643         * modules/sprintf-posix: New file.
50644         * lib/sprintf.c: New file.
50645         * m4/sprintf-posix.m4: New file.
50646         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
50647         REPLACE_SPRINTF.
50648         * lib/stdio_.h (sprintf): New declaration.
50649         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
50650         REPLACE_SPRINTF.
50651
50652 2007-03-06  Bruno Haible  <bruno@clisp.org>
50653
50654         * modules/vsprintf-posix-tests: New file.
50655         * tests/test-vsprintf-posix.c: New file.
50656         * tests/test-sprintf-posix.h: New file.
50657
50658         * modules/vsprintf-posix: New file.
50659         * lib/vsprintf.c: New file.
50660         * m4/vsprintf-posix.m4: New file.
50661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
50662         REPLACE_VSPRINTF.
50663         * lib/stdio_.h (vsprintf): New declaration.
50664         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
50665         REPLACE_VSPRINTF.
50666
50667 2007-03-06  Bruno Haible  <bruno@clisp.org>
50668
50669         * modules/vsnprintf (Depend-on): Remove minmax.
50670
50671 2007-03-06  Bruno Haible  <bruno@clisp.org>
50672
50673         * modules/snprintf-posix-tests: New file.
50674         * tests/test-snprintf-posix.c: New file.
50675
50676         * modules/snprintf-posix: New file.
50677         * m4/snprintf-posix.m4: New file.
50678         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
50679         gl_FUNC_SNPRINTF.
50680         (gl_FUNC_SNPRINTF): Invoke it.
50681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
50682         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
50683         is set.
50684         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
50685
50686 2007-03-06  Bruno Haible  <bruno@clisp.org>
50687
50688         * modules/vsnprintf-posix-tests: New file.
50689         * tests/test-vsnprintf-posix.c: New file.
50690         * tests/test-snprintf-posix.h: New file.
50691
50692         * modules/vsnprintf-posix: New file.
50693         * m4/vsnprintf-posix.m4: New file.
50694         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
50695         gl_FUNC_VSNPRINTF.
50696         (gl_FUNC_VSNPRINTF): Invoke it.
50697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
50698         * lib/stdio_.h (vsnprintf): Define as a replacement if
50699         REPLACE_VSNPRINTF is set.
50700         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
50701
50702 2007-03-06  Bruno Haible  <bruno@clisp.org>
50703
50704         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
50705         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
50706
50707 2007-03-06  Bruno Haible  <bruno@clisp.org>
50708
50709         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
50710         (asinl): Declare also if HAVE_DECL_ASINL is set.
50711         (atanl): Declare also if HAVE_DECL_ATANL is set.
50712         (ceill): Declare also if HAVE_DECL_CEILL is set.
50713         (cosl): Declare also if HAVE_DECL_COSL is set.
50714         (expl): Declare also if HAVE_DECL_EXPL is set.
50715         (floorl): Declare also if HAVE_DECL_FLOORL is set.
50716         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
50717         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
50718         (logl): Declare also if HAVE_DECL_LOGL is set.
50719         (sinl): Declare also if HAVE_DECL_SINL is set.
50720         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
50721         (tanl): Declare also if HAVE_DECL_TANL is set.
50722         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
50723         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
50724         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
50725         declaration of frexpl, ldexpl.
50726         * modules/printf-frexpl (Depends-on): Add math.
50727         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
50728
50729 2007-03-05  Bruno Haible  <bruno@clisp.org>
50730
50731         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
50732         frexpl and ldexpl are declared.
50733         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
50734
50735 2007-03-05  Bruno Haible  <bruno@clisp.org>
50736
50737         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
50738         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
50739
50740 2007-03-05  Bruno Haible  <bruno@clisp.org>
50741
50742         * lib/stdio_.h: Include <stddef.h>.
50743
50744 2007-03-05  Bruno Haible  <bruno@clisp.org>
50745
50746         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
50747
50748 2007-03-05  Bruno Haible  <bruno@clisp.org>
50749
50750         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
50751         NetBSD 4, from Ralf Wildenhues.
50752
50753 2007-03-04  Bruno Haible  <bruno@clisp.org>
50754
50755         * lib/vasprintf.h: Update #if logic for the case when the functions
50756         exist but are overridden.
50757
50758 2007-03-04  Bruno Haible  <bruno@clisp.org>
50759
50760         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
50761         implementations: glibc-2.4 and MacOS X 10.3.
50762         * tests/test-vasnprintf-posix.c (test_function): Test also the case
50763         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
50764         * tests/test-vasprintf-posix.c (test_function): Likewise.
50765
50766 2007-03-04  Bruno Haible  <bruno@clisp.org>
50767
50768         * modules/vasprintf-posix-tests: New file.
50769         * tests/test-vasprintf-posix.c: New file.
50770
50771         * modules/vasprintf-posix: New file.
50772         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50773         defined.
50774         * m4/vasprintf-posix.m4: New file.
50775         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50776         gl_FUNC_VASPRINTF.
50777         (gl_FUNC_VASPRINTF): Invoke it.
50778         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50779         here.
50780         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50781
50782 2007-03-04  Bruno Haible  <bruno@clisp.org>
50783
50784         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50785         REPLACE_GETTIMEOFDAY.
50786         * modules/sys_time (Makefile.am): Likewise.
50787         * m4/sys_time_h.m4: Likewise.
50788         * m4/gettimeofday.m4: Likewise.
50789
50790 2007-03-04  Bruno Haible  <bruno@clisp.org>
50791
50792         * modules/vasnprintf-posix-tests: New file.
50793         * tests/test-vasnprintf-posix.c: New file.
50794
50795         * modules/vasnprintf-posix: New file.
50796         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50797         printf-frexpl.h.
50798         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50799         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50800         REPLACE_VASNPRINTF is defined.
50801         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50802         gl_FUNC_VASNPRINTF.
50803         (gl_FUNC_VASNPRINTF): Invoke it.
50804         * m4/vasnprintf-posix.m4: New file.
50805         * m4/printf.m4: New file.
50806
50807 2007-03-04  Bruno Haible  <bruno@clisp.org>
50808
50809         Compile progreloc.c only if --enable-relocatable is specified.
50810         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50811         if --enable-relocatable was specified.
50812         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50813         lib_SOURCES.
50814
50815 2007-03-04  Jim Meyering  <jim@meyering.net>
50816
50817         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50818         Use it consistently, rather than enumerating errno constants.
50819
50820 2007-03-04  Bruno Haible  <bruno@clisp.org>
50821
50822         * modules/xvasprintf-tests: New file.
50823         * tests/test-xvasprintf.c: New file.
50824
50825         * modules/vasprintf-tests: New file.
50826         * tests/test-vasprintf.c: New file.
50827
50828         * modules/vasnprintf-tests: New file.
50829         * tests/test-vasnprintf.c: New file.
50830
50831         * modules/vsnprintf-tests: New file.
50832         * tests/test-vsnprintf.c: New file.
50833
50834         * modules/snprintf-tests: New file.
50835         * tests/test-snprintf.c: New file.
50836
50837 2007-03-04  Bruno Haible  <bruno@clisp.org>
50838
50839         Compile relocatable.c only if --enable-relocatable is specified.
50840         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50841         gl_RELOCATABLE_LIBRARY.
50842         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50843         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50844         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50845         gl_RELOCATABLE_LIBRARY.
50846         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50847         (Makefile.am): Remove lib_SOURCES.
50848         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50849         gl_RELOCATABLE_LIBRARY.
50850         (Makefile.am): Remove lib_SOURCES.
50851         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50852         always.
50853         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50854         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50855
50856 2007-03-04  Bruno Haible  <bruno@clisp.org>
50857
50858         * modules/argmatch-tests: New file.
50859         * tests/test-argmatch.c: New file.
50860
50861         * tests/test-allocsa.c (main): Halve the number of loop runs.
50862
50863         * modules/alloca-opt-tests: New file.
50864         * tests/test-alloca-opt.c: New file.
50865
50866 2007-03-04  Jim Meyering  <jim@meyering.net>
50867
50868         Work around difference between Linux ACLs and Solaris 10 ZFS.
50869         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50870         for EINVAL.
50871
50872 2007-03-03  Bruno Haible  <bruno@clisp.org>
50873
50874         * modules/relocatable-prog (Depends-on): Add back progreloc's
50875         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50876
50877 2007-03-03  Bruno Haible  <bruno@clisp.org>
50878
50879         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50880         * modules/relocatable-lib: New file.
50881
50882 2007-03-03  Bruno Haible  <bruno@clisp.org>
50883
50884         * modules/relocatable-prog: Renamed from modules/relocatable.
50885         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50886
50887 2007-03-03  Bruno Haible  <bruno@clisp.org>
50888
50889         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50890         m4/relocatable-lib.m4.
50891         (Depends-on): Remove 'relocatable'.
50892         (configure.ac): Add gl_RELOCATABLE_NOP.
50893
50894 2007-03-03  Bruno Haible  <bruno@clisp.org>
50895
50896         * modules/relocatable-prog-wrapper: New file.
50897         * modules/relocatable (Depends-on): Add it. Remove all other
50898         dependencies except progname.
50899         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50900
50901         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50902         (gl_FUNC_STRERROR): Nop.
50903         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50904
50905         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50906         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50907
50908         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50909         (gl_FUNC_READLINK): Update.
50910
50911         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50912
50913 2007-03-03  Bruno Haible  <bruno@clisp.org>
50914
50915         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50916         * modules/xreadlink (Depends-on): Add unistd.
50917         * modules/xreadlink-with-size (Depends-on): Likewise.
50918
50919 2007-03-03  Bruno Haible  <bruno@clisp.org>
50920
50921         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50922         extracted from gt_FUNC_SETENV.
50923         (gt_FUNC_SETENV): Remove macro.
50924         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50925         remove gt_FUNC_SETENV.
50926
50927 2007-03-03  Bruno Haible  <bruno@clisp.org>
50928
50929         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50930         ENABLE_RELOCATABLE here.
50931         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50932
50933 2007-03-03  Bruno Haible  <bruno@clisp.org>
50934
50935         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50936         * tests/test-rbtreehash_list.c: Include progname.h.
50937         (main): Call set_program_name.
50938
50939         * modules/rbtree-oset-tests (Depends-on): Add progname.
50940         * tests/test-rbtree_oset.c: Include progname.h.
50941         (main): Call set_program_name.
50942
50943         * modules/rbtree-list-tests (Depends-on): Add progname.
50944         * tests/test-rbtree_list.c: Include progname.h.
50945         (main): Call set_program_name.
50946
50947         * modules/linked-list-tests (Depends-on): Add progname.
50948         * tests/test-linked_list.c: Include progname.h.
50949         (main): Call set_program_name.
50950
50951 2007-03-03  Bruno Haible  <bruno@clisp.org>
50952
50953         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50954         All uses of __restrict changed to _Restrict_.
50955         * lib/glob_.h (__restrict): Remove macro.
50956
50957 2007-03-02  Bruno Haible  <bruno@clisp.org>
50958
50959         * modules/gettext (configure.ac): Require gettext infrastructure
50960         from version 0.16.1.
50961
50962 2007-03-02  Bruno Haible  <bruno@clisp.org>
50963
50964         * modules/linkedhash-list-tests (Depends-on): Add progname.
50965         * tests/test-linkedhash_list.c: Include progname.h.
50966         (main): Call set_program_name.
50967
50968         * modules/carray-list-tests (Depends-on): Add progname.
50969         * tests/test-carray_list.c: Include progname.h.
50970         (main): Call set_program_name.
50971
50972         * modules/avltreehash-list-tests (Depends-on): Add progname.
50973         * tests/test-avltreehash_list.c: Include progname.h.
50974         (main): Call set_program_name.
50975
50976         * modules/avltree-oset-tests (Depends-on): Add progname.
50977         * tests/test-avltree_oset.c: Include progname.h.
50978         (main): Call set_program_name.
50979
50980         * modules/avltree-list-tests (Depends-on): Add progname.
50981         * tests/test-avltree_list.c: Include progname.h.
50982         (main): Call set_program_name.
50983
50984         * modules/array-oset-tests (Depends-on): Add progname.
50985         * tests/test-array_oset.c: Include progname.h.
50986         (main): Call set_program_name.
50987
50988         * modules/array-list-tests (Depends-on): Add progname.
50989         * tests/test-array_list.c: Include progname.h.
50990         (main): Call set_program_name.
50991
50992         * modules/argp-tests (Depends-on): Add progname.
50993         * tests/test-argp.c: Include argp.h first. Include progname.h.
50994         (main): Call set_program_name.
50995
50996 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50997
50998         * doc/gnulib-tool.texi (Initial import): Reword description of
50999         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
51000         limited effect even if defined after the first system include.
51001
51002 2007-03-01  Bruno Haible  <bruno@clisp.org>
51003
51004         * build-aux/config.libpath: Update to libtool-1.5.22.
51005         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51006
51007 2007-03-01  Bruno Haible  <bruno@clisp.org>
51008
51009         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
51010         foo_CFLAGS.
51011         Reported by Ralf Wildenhues.
51012
51013 2007-03-01  Bruno Haible  <bruno@clisp.org>
51014
51015         * build-aux/install-reloc: Remove object files left over by some
51016         compilers.
51017         Reported by Ralf Wildenhues.
51018
51019 2007-03-01  Bruno Haible  <bruno@clisp.org>
51020
51021         * build-aux/install-reloc: Break long lines.
51022
51023 2007-03-01  Bruno Haible  <bruno@clisp.org>
51024
51025         * doc/relocatable.texi: Document that it may not work on OpenBSD.
51026         Reported by Ralf Wildenhues.
51027
51028 2007-03-01  Bruno Haible  <bruno@clisp.org>
51029
51030         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
51031         include ordering constraints.
51032
51033 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51034
51035         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
51036         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
51037         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
51038         as another example.
51039         * lib/time_.h: Fix misspelling.
51040         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
51041         Require gl_HEADER_TIME_H_DEFAULTS.
51042         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
51043         * m4/time_r.m4 (gl_TIME_R): Likewise.
51044         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
51045
51046 2007-03-01  Bruno Haible  <bruno@clisp.org>
51047
51048         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
51049         * m4/utimens.m4 (gl_UTIMENS): Likewise.
51050
51051 2007-03-01  Jim Meyering  <jim@meyering.net>
51052
51053         * modules/xreadlink (Maintainer): Add my name.
51054         * modules/xreadlink-with-size (Depends-on): Alphabetize.
51055
51056 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
51057             Bruno Haible  <bruno@clisp.org>
51058
51059         * build-aux/install-reloc: Compile also c-ctype.c.
51060         * build-aux/relocatable.sh.in: New file.
51061         * doc/relocatable.texi: New file.
51062         * doc/relocatable-maint.texi: New file.
51063         * doc/gnulib.texi: Include relocatable-maint.texi.
51064         * lib/progreloc.c: Include unistd.h unconditionally.
51065         * lib/relocwrapper.c: Include unistd.h unconditionally.
51066         Include c-ctype.h.
51067         (add_dotbin): Use c_tolower.
51068         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
51069         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
51070         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
51071         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
51072         to m4/relocatable-lib.m4.
51073         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
51074         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
51075         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
51076         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
51077         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
51078         * modules/relocatable: New file.
51079         * modules/relocatable-lib: New file.
51080         * modules/relocatable-script: New file.
51081
51082 2007-02-28  Bruno Haible  <bruno@clisp.org>
51083
51084         Import --enable-relocatable infrastructure.
51085         * build-aux/config.libpath: New file, from GNU gettext.
51086         * build-aux/install-reloc: New file, from GNU gettext.
51087         * build-aux/reloc-ldflags: New file, from GNU gettext.
51088         * lib/relocatable.h: New file, from GNU gettext.
51089         * lib/relocatable.c: New file, from GNU gettext.
51090         * lib/relocwrapper.c: New file, from GNU gettext.
51091         * m4/relocatable.m4: New file, from GNU gettext.
51092
51093 2007-02-28  Bruno Haible  <bruno@clisp.org>
51094
51095         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
51096
51097         * modules/xreadlink: New file, from GNU gettext with modifications.
51098         * lib/xreadlink.c: New file, from GNU gettext.
51099         * lib/xreadlink.h: Add comments.
51100         (xreadlink): New declaration.
51101
51102         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
51103         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
51104         lib/xreadlink-with-size.c.
51105         (configure.ac): Remove gl_XREADLINK invocation.
51106         (Makefile.am): Augment lib_SOURCES.
51107         * m4/xreadlink.m4: Remove file.
51108         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
51109         (xreadlink_with_size): Renamed from xreadink.
51110         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
51111         * modules/canonicalize (Depends-on): Replace xreadlink with
51112         xreadlink-with-size.
51113         * lib/canonicalize.c (canonicalize_filename_mode): Update.
51114
51115 2007-02-25  Jim Meyering  <jim@meyering.net>
51116
51117         * build-aux/announce-gen: When complaining about excess arguments,
51118         list them.
51119
51120 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51121
51122         * README: Document signed integer overflow situation more
51123         accurately.
51124
51125 2007-02-25  Bruno Haible  <bruno@clisp.org>
51126
51127         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
51128         'a' or 'A' conversion.
51129
51130 2007-02-25  Bruno Haible  <bruno@clisp.org>
51131
51132         * modules/filename: Renamed from modules/pathname.
51133         (Files): Replace lib/pathname.h with lib/filename.h. Replace
51134         lib/concatpath.c with lib/concat-filename.c.
51135         (Makefile.am): Update.
51136         (Include): Replace pathname.h with filename.h.
51137         * lib/filename.h: Renamed from lib/pathname.h.
51138         (concatenated_filename): Renamed from concatenated_pathname.
51139         * lib/concat-filename.c: Renamed from lib/concatpath.c.
51140         (concatenated_filename): Renamed from concatenated_pathname.
51141         * lib/findprog.c: Include filename.h instead of pathname.h.
51142         (find_in_path): Update.
51143         * lib/javacomp.c: Include filename.h instead of pathname.h.
51144         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51145         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51146         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51147         is_oldgcj_14_13_usable, is_javac_usable): Update.
51148         * lib/javaexec.c: Include filename.h instead of pathname.h.
51149         (execute_java_class): Update.
51150         * modules/findprog: Update.
51151         * modules/javacomp: Update.
51152         * modules/javaexec: Update.
51153         * MODULES.html.sh (File system functions): Add 'filename', remove
51154         'pathname'.
51155
51156 2007-02-25  Bruno Haible  <bruno@clisp.org>
51157
51158         * modules/printf-frexpl-tests: New file.
51159         * tests/test-printf-frexpl.c: New file.
51160
51161         * modules/printf-frexpl: New file.
51162         * lib/printf-frexpl.h: New file.
51163         * lib/printf-frexpl.c: New file.
51164         * m4/printf-frexpl.m4: New file.
51165
51166 2007-02-25  Bruno Haible  <bruno@clisp.org>
51167
51168         * modules/printf-frexp-tests: New file.
51169         * tests/test-printf-frexp.c: New file.
51170
51171         * modules/printf-frexp: New file.
51172         * lib/printf-frexp.h: New file.
51173         * lib/printf-frexp.c: New file.
51174         * m4/printf-frexp.m4: New file.
51175
51176 2007-02-25  Bruno Haible  <bruno@clisp.org>
51177
51178         Assume automake >= 1.10 for the tests.
51179         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
51180         * modules/arctwo-tests: Likewise.
51181         * modules/argp-tests: Likewise.
51182         * modules/avltree-list-tests: Likewise.
51183         * modules/avltree-oset-tests: Likewise.
51184         * modules/avltreehash-list-tests: Likewise.
51185         * modules/carray-list-tests: Likewise.
51186         * modules/crc-tests: Likewise.
51187         * modules/des-tests: Likewise.
51188         * modules/gc-arcfour-tests: Likewise.
51189         * modules/gc-arctwo-tests: Likewise.
51190         * modules/gc-des-tests: Likewise.
51191         * modules/gc-hmac-md5-tests: Likewise.
51192         * modules/gc-hmac-sha1-tests: Likewise.
51193         * modules/gc-md2-tests: Likewise.
51194         * modules/gc-md4-tests: Likewise.
51195         * modules/gc-md5-tests: Likewise.
51196         * modules/gc-pbkdf2-sha1-tests: Likewise.
51197         * modules/gc-rijndael-tests: Likewise.
51198         * modules/gc-sha1-tests: Likewise.
51199         * modules/gc-tests: Likewise.
51200         * modules/getaddrinfo-tests: Likewise.
51201         * modules/hmac-md5-tests: Likewise.
51202         * modules/hmac-sha1-tests: Likewise.
51203         * modules/linked-list-tests: Likewise.
51204         * modules/linkedhash-list-tests: Likewise.
51205         * modules/lock-tests: Likewise.
51206         * modules/md2-tests: Likewise.
51207         * modules/md4-tests: Likewise.
51208         * modules/md5-tests: Likewise.
51209         * modules/rbtree-list-tests: Likewise.
51210         * modules/rbtree-oset-tests: Likewise.
51211         * modules/rbtreehash-list-tests: Likewise.
51212         * modules/read-file-tests: Likewise.
51213         * modules/rijndael-tests: Likewise.
51214         * modules/stdint-tests: Likewise.
51215         * modules/tls-tests: Likewise.
51216
51217 2007-02-24  Bruno Haible  <bruno@clisp.org>
51218
51219         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
51220         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
51221         function; instead check whether isnan with a double argument links.
51222         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
51223         function; instead check whether isnan with a 'long double' argument
51224         links.
51225         Reported by Eric Blake <ebb9@byu.net>.
51226
51227 2007-02-24  Bruno Haible  <bruno@clisp.org>
51228
51229         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
51230         defined.
51231         * lib/isnanl.c: Remove all code. Just include isnan.c.
51232         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
51233
51234 2007-02-25  Jim Meyering  <jim@meyering.net>
51235
51236         Avoid conflicting types for 'unsetenv' on FreeBSD.
51237         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
51238         conflicting with FreeBSD's (5.0 and 6.1) function declaration
51239         in stdlib.h.
51240
51241 2007-02-24  Bruno Haible  <bruno@clisp.org>
51242
51243         * modules/isnanl-nolibm-tests: New file.
51244         * tests/test-isnanl.c: New file.
51245
51246         * modules/isnanl-nolibm: New file.
51247         * lib/isnanl.h: New file.
51248         * lib/isnanl.c: New file.
51249         * m4/isnanl.m4: New file.
51250
51251 2007-02-24  Bruno Haible  <bruno@clisp.org>
51252
51253         * modules/isnan-nolibm-tests: New file.
51254         * tests/test-isnan.c: New file.
51255
51256         * modules/isnan-nolibm: New file.
51257         * lib/isnan.h: New file.
51258         * lib/isnan.c: New file.
51259         * m4/isnan.m4: New file.
51260
51261 2007-02-24  Bruno Haible  <bruno@clisp.org>
51262
51263         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
51264         assume that an exponent fits in 20 bits.
51265
51266 2007-02-24  Jim Meyering  <jim@meyering.net>
51267
51268         * m4/regex.m4: Update the description of the configure-time option,
51269         --without-included-regex, to state accurately what the defaults are,
51270         and perhaps to give people an idea why using this option is risky.
51271
51272 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51273
51274         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
51275         loops on small arguments.  This attempts to avoid the problem
51276         Bruno Haible reported for AIX 4.3.2 in
51277         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
51278
51279 2007-02-23  Bruno Haible  <bruno@clisp.org>
51280
51281         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
51282         Needed for help2man.
51283
51284 2007-02-23  Karl Berry  <karl@gnu.org>
51285
51286         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
51287         exists, foo.h should be cvs-ignored, not committed.
51288
51289 2007-02-23  Eric Blake  <ebb9@byu.net>
51290
51291         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
51292         * lib/stat-time.h (includes): Likewise.
51293         * lib/utimecmp.c (includes): Likewise.
51294         * lib/utimens.h (includes): Likewise.
51295         * lib/getdate.y (includes): Also include "timespec.h" for use
51296         internal to the module.
51297         * modules/utimens (Depends-on): Revert yesterday's patch.
51298         * modules/nanosleep (Depends-on): Add missing dependency.
51299
51300 2007-02-22  Bruno Haible  <bruno@clisp.org>
51301
51302         * lib/glob.c: Don't include getlogin_r.h.
51303
51304 2007-02-22  Jim Meyering  <jim@meyering.net>
51305
51306         * modules/utimens (Depends-on): Add timespec, required for
51307         utimens.h's inclusion of timespec.h.
51308
51309 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
51310
51311         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
51312         long unreadable paths in GNU/Linux.  Problem reported by Andreas
51313         Schwab in
51314         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
51315         I'll try to think of a better way to fix the Solaris problem.
51316
51317         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
51318         like glibc; on Solaris 10, it fails with errno == EINVAL.
51319         POSIX says the behavior is unspecified if the first argument is NULL,
51320         so play it safe and never pass NULL to the system getcwd.
51321
51322 2007-02-21  Jim Meyering  <jim@meyering.net>
51323
51324         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
51325         of gettimeofday.  It would conflict with the one now always
51326         provided via sys_time_.h.  Reported by Matthew Woehlke, as
51327         an IRIX 6.5 build failure.
51328
51329 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51330
51331         Minor fixups to port to Solaris 10 with Sun C 5.8.
51332         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
51333         * modules/getcwd (Depends-on): Add dirfd.
51334         * lib/putenv.c (putenv): #undef it.
51335         (rpl_putenv): New decl.
51336         (malloc, free): Include <stdlib.h> rather than prototyping separately.
51337
51338 2007-02-20  Bruno Haible  <bruno@clisp.org>
51339
51340         * modules/stdio-tests: New file.
51341         * tests/test-stdio.c: New file.
51342
51343         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
51344         (Depends-on): Add stdio.
51345         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51346         (Include): Use <stdio.h> instead of vsnprintf.h.
51347         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51348         HAVE_DECL_VSNPRINTF.
51349         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
51350
51351         * modules/snprintf (Files): Remove lib/snprintf.h.
51352         (Depends-on): Add stdio.
51353         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51354         (Include): Use <stdio.h> instead of snprintf.h.
51355         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51356         HAVE_DECL_SNPRINTF.
51357         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
51358         * lib/getaddrinfo.c: Likewise.
51359
51360         * modules/stdio: New file.
51361         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
51362         * lib/snprintf.h: Remove file.
51363         * lib/vsnprintf.h: Remove file.
51364         * lib/.cppi-disable: Remove snprintf.h.
51365         * m4/stdio_h.m4: New file.
51366         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
51367
51368 2007-02-20  Jim Meyering  <jim@meyering.net>
51369
51370         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
51371         used by e.g., mingw.  From Bruno Haible.
51372
51373 2007-02-19  Bruno Haible  <bruno@clisp.org>
51374
51375         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
51376         warnings.
51377         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51378
51379 2007-02-19  Bruno Haible  <bruno@clisp.org>
51380
51381         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
51382         from mingw users.
51383
51384 2007-02-19  Bruno Haible  <bruno@clisp.org>
51385
51386         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
51387         warnings.
51388         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
51389
51390 2007-02-19  Jim Meyering  <jim@meyering.net>
51391
51392         Don't use FD after a successful "fdopendir (fd)".
51393         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
51394         Reset it by calling dirfd on the just-obtained DIR*.
51395
51396         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
51397         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
51398
51399 2007-02-18  Bruno Haible  <bruno@clisp.org>
51400
51401         * lib/readlink.c: Include <unistd.h>.
51402         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
51403         HAVE_READLINK.
51404         * modules/readlink (Depends-on): Add unistd.
51405         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51406         (Include): Add <unistd.h>.
51407
51408         * lib/getlogin_r.h: Remove file.
51409         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
51410         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
51411         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
51412         HAVE_DECL_GETLOGIN_R.
51413         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
51414         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51415         (Include): Use <unistd.h> instead of getlogin_r.h.
51416
51417         * lib/getcwd.h: Remove file.
51418         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
51419         * lib/xgetcwd.c: Likewise.
51420         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
51421         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
51422         * modules/getcwd (Files): Remove lib/getcwd.h.
51423         (Depends-on): Add unistd.
51424         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51425         (Include): Use <unistd.h> instad of getcwd.h.
51426
51427         * lib/ftruncate.c: Include <unistd.h> first.
51428         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
51429         Set HAVE_FTRUNCATE.
51430         * modules/ftruncate (Depends-on): Add unistd.
51431         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51432
51433         * lib/fchdir.c: Include <unistd.h> first.
51434         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
51435         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
51436         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
51437         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51438         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
51439
51440         * lib/dup2.c: Include <unistd.h> first.
51441         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
51442         HAVE_DUP2.
51443         * modules/dup2 (Depends-on): Add unistd.
51444         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51445
51446         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
51447         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
51448         REPLACE_CHOWN. Don't define chown as a macro here.
51449         * modules/chown (Depends-on): Add unistd.
51450         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51451
51452         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
51453         Add definition for GL_LINK_WARNING.
51454         (chown, dup2): New declarations.
51455         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
51456         link warning.
51457         (ftruncate): New declaration.
51458         (getcwd): New declaration, taken from old getcwd.h.
51459         (getlogin_r): New declaration, taken from old getlogin_r.h.
51460         (readlink): New declaration.
51461         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
51462         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
51463         (gl_PREREQ_UNISTD): Remove macro.
51464         (gl_UNISTD_MODULE_INDICATOR): New macro.
51465         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
51466         many new variables. Don't set UNISTD_H.
51467         * modules/unistd (Description): Change.
51468         (Depends-on): Add link-warning.
51469         (configure.ac): Update.
51470         (Makefile.am): Create unistd.h always. Substitute many new variables
51471         into it.
51472
51473 2007-02-18  Bruno Haible  <bruno@clisp.org>
51474
51475         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
51476         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
51477         HAVE_GETSUBOPT.
51478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
51479         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
51480         * lib/getsubopt.h: Remove file.
51481         * modules/getsubopt (Files): Remove lib/getsubopt.h.
51482         (Depends-on): Add stdlib.
51483         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51484         (Includes): Use <stdlib.h> instead of getsubopt.h.
51485         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
51486         Set HAVE_GETSUBOPT.
51487         * lib/getsubopt.c: Don't include getsubopt.h.
51488
51489 2007-02-18  Bruno Haible  <bruno@clisp.org>
51490
51491         * modules/fchdir (Depends-on): Add dup2.
51492
51493 2007-02-18  Bruno Haible  <bruno@clisp.org>
51494
51495         * lib/stdlib_.h: Handle glibc's special invocation convention
51496         specially.
51497
51498 2007-02-18  Bruno Haible  <bruno@clisp.org>
51499
51500         * modules/stdlib-tests: New file.
51501         * tests/test-stdlib.c: New file.
51502
51503         * modules/mkstemp (Files): Remove lib/mkstemp.h.
51504         (Depends-on): Add stdlib.
51505         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51506         (Includes): Use <stdlib.h> instead of mkstemp.h.
51507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51508         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
51509         * lib/mkstemp.c: Don't include mkstemp.h.
51510         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
51511         * lib/stdlib--.h: Don't include mkstemp.h.
51512
51513         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
51514         (Depends-on): Add stdlib.
51515         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51516         (Includes): Use <stdlib.h> instead of mkdtemp.h.
51517         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
51518         HAVE_MKDTEMP.
51519         * lib/mkdtemp.c: Don't include mkdtemp.h.
51520         * lib/clean-temp.c: Don't include mkdtemp.h.
51521
51522         * modules/exit (Files): Remove lib/exit.h.
51523         (Depends-on): Add stdlib.
51524         (Makefile.am): Remove lib_SOURCES.
51525         (Include): Use <stdlib.h> instead of exit.h.
51526         * lib/argmatch.c: Don't include exit.h.
51527         * lib/execute.c: Likewise.
51528         * lib/pagealign_alloc.c: Likewise.
51529         * lib/pipe.c: Likewise.
51530         * lib/wait-process.c: Likewise.
51531         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
51532         * lib/exitfail.c: Likewise.
51533         * lib/savewd.c: Likewise.
51534         * lib/xsetenv.c: Likewise.
51535
51536         * modules/stdlib: New file.
51537         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
51538         and extra comments about mkstemp().
51539         * lib/exit.h: Remove file.
51540         * lib/mkdtemp.h: Remove file.
51541         * lib/mkstemp.h: Remove file.
51542         * m4/stdlib_h.m4: New file.
51543         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
51544
51545 2007-02-18  Bruno Haible  <bruno@clisp.org>
51546
51547         * modules/math-tests: New file.
51548         * tests/test-math.c: New file.
51549
51550         * modules/math: New file.
51551         * modules/mathl (Files): Remove lib/mathl.h.
51552         (Depends-on): Add math.
51553         (Makefile.am): Don't mention mathl.h.
51554         (Include): Use <math.h> instead of mathl.h.
51555         * lib/math_.h: New file.
51556         * lib/mathl.h: Remove file.
51557         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
51558         mathl.h.
51559         * lib/asinl.c: Likewise.
51560         * lib/atanl.c: Likewise.
51561         * lib/ceill.c: Likewise.
51562         * lib/cosl.c: Likewise.
51563         * lib/expl.c: Likewise.
51564         * lib/floorl.c: Likewise.
51565         * lib/frexpl.c: Likewise.
51566         * lib/ldexpl.c: Likewise.
51567         * lib/logl.c: Likewise.
51568         * lib/sincosl.c: Likewise.
51569         * lib/sinl.c: Likewise.
51570         * lib/sqrtl.c: Likewise.
51571         * lib/tanl.c: Likewise.
51572         * lib/trigl.c: Likewise.
51573         * m4/math_h.m4: New file.
51574         * MODULES.html.sh (Mathematics): Add math.
51575
51576 2007-02-17  Bruno Haible  <bruno@clisp.org>
51577
51578         * modules/wctype-tests: New file.
51579         * tests/test-wctype.c: New file.
51580
51581         * modules/wchar-tests: New file.
51582         * tests/test-wchar.c: New file.
51583
51584         * modules/unistd-tests: New file.
51585         * tests/test-unistd.c: New file.
51586
51587         * modules/time-tests: New file.
51588         * tests/test-time.c: New file.
51589
51590         * modules/sysexits-tests: New file.
51591         * tests/test-sysexits.c: New file.
51592
51593         * modules/sys_time-tests: New file.
51594         * tests/test-sys_time.c: New file.
51595
51596         * modules/sys_stat-tests: New file.
51597         * tests/test-sys_stat.c: New file.
51598
51599         * modules/sys_socket-tests: New file.
51600         * tests/test-sys_socket.c: New file.
51601
51602         * modules/sys_select-tests: New file.
51603         * tests/test-sys_select.c: New file.
51604
51605         * modules/string-tests: New file.
51606         * tests/test-string.c: New file.
51607
51608         * modules/stdbool-tests: New file.
51609         * tests/test-stdbool.c: New file.
51610
51611         * modules/netinet_in-tests: New file.
51612         * tests/test-netinet_in.c: New file.
51613
51614         * modules/inttypes-tests: New file.
51615         * tests/test-inttypes.c: New file.
51616
51617         * modules/fcntl-tests: New file.
51618         * tests/test-fcntl.c: New file.
51619
51620         * modules/byteswap-tests: New file.
51621         * tests/test-byteswap.c: New file.
51622
51623         * modules/arpa_inet-tests: New file.
51624         * tests/test-arpa_inet.c: New file.
51625
51626 2007-02-17  Bruno Haible  <bruno@clisp.org>
51627
51628         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
51629         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
51630         if the corresponding module is not enabled. Emit link warnings if
51631         the function is used nevertheless.
51632         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
51633         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
51634         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
51635         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
51636         * modules/inttypes (Depends-on): Add link-warning.
51637         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51638         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
51639         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
51640         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
51641         * modules/imaxdiv (configure.ac): Likewise.
51642         * modules/strtoimax (configure.ac): Likewise.
51643         * modules/strtoumax (configure.ac): Likewise.
51644
51645 2007-02-17  Bruno Haible  <bruno@clisp.org>
51646
51647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
51648         gl_STRING_MODULE_INDICATOR_DEFAULTS.
51649         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
51650         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
51651
51652 2007-02-17  Bruno Haible  <bruno@clisp.org>
51653
51654         * modules/link-warning: New file.
51655         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
51656         * lib/string_.h (GL_LINK_WARNING): Remove definition.
51657         * modules/string (Depends-on): Add link-warning.
51658         (Makefile.am): Copy the contents of build-aux/link-warning.h into
51659         string.h.
51660         * MODULES.html.sh (Support for building libraries and executables): Add
51661         link-warning.
51662
51663 2007-02-17  Bruno Haible  <bruno@clisp.org>
51664
51665         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
51666         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
51667         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
51668         long lines.
51669
51670 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
51671             Bruno Haible  <bruno@clisp.org>
51672
51673         * modules/tmpfile: New file.
51674         * lib/tmpfile.c: New file.
51675         * m4/tmpfile.m4: New file.
51676         * MODULES.html.sh (func_all_modules): New section "Input/output".
51677
51678 2007-02-15  Bruno Haible  <bruno@clisp.org>
51679
51680         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
51681         (supports_delete_on_close): New function.
51682         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
51683
51684 2007-02-14  Bruno Haible  <bruno@clisp.org>
51685
51686         * modules/mbspcasecmp-tests: New file.
51687         * tests/test-mbspcasecmp.sh: New file.
51688         * tests/test-mbspcasecmp.c: New file.
51689
51690         New module mbspcasecmp.
51691         * modules/mbspcasecmp: New file.
51692         * lib/mbspcasecmp.c: New file.
51693         * lib/string_.h (strncasecmp): Change warning message.
51694         (mbspcasecmp): New declaration.
51695         * m4/mbspcasecmp.m4: New file.
51696         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51697         GNULIB_MBSPCASECMP.
51698         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
51699         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
51700
51701 2007-02-14  Bruno Haible  <bruno@clisp.org>
51702
51703         * modules/mbsncasecmp-tests: New file.
51704         * tests/test-mbsncasecmp.sh: New file.
51705         * tests/test-mbsncasecmp.c: New file.
51706
51707         New module mbsncasecmp.
51708         * modules/mbsncasecmp: New file.
51709         * lib/mbsncasecmp.c: New file.
51710         * lib/string_.h (mbsncasecmp): New declaration.
51711         * m4/mbsncasecmp.m4: New file.
51712         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51713         GNULIB_MBSNCASECMP.
51714         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
51715         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
51716
51717 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51718
51719         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
51720         Verify that it doesn't overlap with our flags.
51721         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
51722         do not have the desired effect in multibyte locales; instead, use
51723         mbscasecmp.
51724         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
51725         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
51726         we don't require GNU fnmatch ourselves (if our users require it, they
51727         should do so explicitly).
51728
51729         Fix regex code so it doesn't rely on strcasecmp.
51730         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
51731         Otherwise, include gnulib's langinfo.h.
51732         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
51733         undesirable behavior in non-C locales.  Instead, rely on localecharset.
51734         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
51735         * modules/regex (FILES): Remove m4/codeset.m4.
51736         (Depends-on): Add localcharset.  Remove strcase.
51737
51738 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51739
51740         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
51741         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
51742
51743 2007-02-13  Bruno Haible  <bruno@clisp.org>
51744
51745         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
51746         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51747
51748 2007-02-12  Bruno Haible  <bruno@clisp.org>
51749
51750         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51751         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
51752         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
51753         time warning rather than a link error.
51754
51755 2007-02-12  Bruno Haible  <bruno@clisp.org>
51756
51757         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
51758         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51759         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51760
51761 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51762
51763         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
51764         args, not 2.
51765
51766 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51767
51768         New module 'time', so that apps can include <time.h> as per
51769         POSIX and GNU instead of separate include files like time_r.h
51770         and timegm.h.  This implementation tries out a simpler approach
51771         for replacing decls in standard include files (as compared to
51772         the string module), somewhat as an experiment.
51773
51774         * config/srclist.txt: Comment out mktime.c for now.
51775         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51776         since it doesn't apply any more.  Use generic wording instead.
51777         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51778         'time'.
51779         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51780         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51781         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51782         Don't include <sys/types.h>; no longer needed since we assume C89.
51783         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51784         * lib/strftime.c: Likewise.
51785         * lib/time_r.c: Likewise.
51786         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51787         * lib/nanosleep.c: Include <time.h> first, to check interface.
51788         * lib/strptime.c: Likewise.
51789         * lib/time_r.c: Likewise.
51790         * lib/timegm.c: Likewise.
51791         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51792         needed.
51793         * lib/timegm.c: Don't include timegm.h; no longer needed.
51794         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51795         time.h now handles any problems in that area.
51796         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51797         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51798         that time.h defines struct timespec.
51799         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51800         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51801         handles that.
51802         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51803         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51804         needed.  Set REPLACE_LOCALTIME.
51805         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51806         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51807         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51808         nanosleep; time_h.m4 now does that.  Don't require
51809         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51810         module handles this now.
51811         * modules/getdate (Depends-on): Remove timespec.  Add time.
51812         * modules/nanosleep (Depends-on): Likewise.
51813         * modules/stat-time (Depends-on): Likewise.
51814         * modules/nanosleep (Include): Include time.h, not timespec.h.
51815         * modules/strptime (Files): Remove lib/strptime.h.
51816         (Depends-on): Add extensions, time.
51817         (Include): Include time.h, not strptime.h.
51818         * modules/time_r (Files): Remove lib/time_r.h.
51819         (Depends-on): Add time.
51820         (Include): Include time.h, not time_r.h.
51821         * modules/timegm: Likewise.
51822         * modules/timespec (Description): Now does timespec-related decls
51823         of our own, instead of struct timespec itself.
51824         (Depends-on): Add time; remove extensions.
51825         (Maintainer): Add self.
51826         * modules/utimecmp (Depends-on): Add time; remove timespec.
51827         * modules/utimens (Depends-on): Likewise.
51828         * modules/xnanosleep (Depends-on): Likewise.
51829
51830 2007-02-11  Bruno Haible  <bruno@clisp.org>
51831
51832         * lib/c-strstr.c: Include allocsa.h.
51833         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51834         * lib/c-strcasestr.c: Include allocsa.h.
51835         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51836         * lib/strcasestr.c: Include allocsa.h.
51837         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51838         * lib/mbsstr.c: Include allocsa.h.
51839         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51840         allocsa/freesa instead of malloc/free.
51841         * lib/mbscasestr.c: Include allocsa.h.
51842         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51843         allocsa/freesa instead of malloc/free.
51844         * modules/c-strstr (Depends-on): Add allocsa.
51845         * modules/c-strcasestr (Depends-on): Likewise.
51846         * modules/strcasestr (Depends-on): Likewise.
51847         * modules/mbsstr (Depends-on): Likewise.
51848         * modules/mbscasestr (Depends-on): Likewise.
51849
51850 2007-02-11  Bruno Haible  <bruno@clisp.org>
51851
51852         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51853
51854         * modules/mbsspn-tests: New file.
51855         * tests/test-mbsspn.sh: New file.
51856         * tests/test-mbsspn.c: New file.
51857
51858 2007-02-11  Bruno Haible  <bruno@clisp.org>
51859
51860         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51861
51862         * modules/mbspbrk-tests: New file.
51863         * tests/test-mbspbrk.sh: New file.
51864         * tests/test-mbspbrk.c: New file.
51865
51866 2007-02-11  Bruno Haible  <bruno@clisp.org>
51867
51868         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51869         unneeded cast.
51870
51871         * modules/mbscspn-tests: New file.
51872         * tests/test-mbscspn.sh: New file.
51873         * tests/test-mbscspn.c: New file.
51874
51875 2007-02-11  Bruno Haible  <bruno@clisp.org>
51876
51877         * modules/mbscasecmp-tests: New file.
51878         * tests/test-mbscasecmp.sh: New file.
51879         * tests/test-mbscasecmp.c: New file.
51880
51881 2007-02-11  Bruno Haible  <bruno@clisp.org>
51882
51883         Ensure O(n) worst-case complexity of mbscasestr.
51884         * lib/mbscasestr.c: Include stdbool.h.
51885         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51886         functions.
51887         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51888         the bookkeeping indicates that it's worth it.
51889         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51890
51891         * modules/mbscasestr-tests: New file.
51892         * tests/test-mbscasestr1.c: New file.
51893         * tests/test-mbscasestr2.sh: New file.
51894         * tests/test-mbscasestr2.c: New file.
51895         * tests/test-mbscasestr3.sh: New file.
51896         * tests/test-mbscasestr3.c: New file.
51897         * tests/test-mbscasestr4.sh: New file.
51898         * tests/test-mbscasestr4.c: New file.
51899         * m4/locale-tr.m4: New file.
51900
51901 2007-02-11  Bruno Haible  <bruno@clisp.org>
51902
51903         Ensure O(n) worst-case complexity of mbsstr.
51904         * lib/mbsstr.c: Include stdbool.h.
51905         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51906         functions.
51907         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51908         bookkeeping indicates that it's worth it.
51909         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51910
51911         * modules/mbsstr-tests: New file.
51912         * tests/test-mbsstr1.c: New file.
51913         * tests/test-mbsstr2.sh: New file.
51914         * tests/test-mbsstr2.c: New file.
51915         * tests/test-mbsstr3.sh: New file.
51916         * tests/test-mbsstr3.c: New file.
51917         * m4/locale-fr.m4: New file.
51918
51919 2007-02-11  Bruno Haible  <bruno@clisp.org>
51920
51921         * lib/mbsrchr.c (mbsrchr): Fix bug.
51922
51923         * modules/mbsrchr-tests: New file.
51924         * tests/test-mbsrchr.sh: New file.
51925         * tests/test-mbsrchr.c: New file.
51926
51927 2007-02-11  Bruno Haible  <bruno@clisp.org>
51928
51929         * lib/mbschr.c (mbschr): Fix bug.
51930
51931         * modules/mbschr-tests: New file.
51932         * tests/test-mbschr.sh: New file.
51933         * tests/test-mbschr.c: New file.
51934         * m4/locale-zh.m4: New file.
51935
51936 2007-02-11  Bruno Haible  <bruno@clisp.org>
51937
51938         Support for copying multibyte string iterators.
51939         * lib/mbiter.h: Include <string.h>.
51940         (mbiter_multi_copy): New function.
51941         (mbi_copy): New macro.
51942         * lib/mbuiter.h: Include <string.h>.
51943         (mbuiter_multi_copy): New function.
51944         (mbui_copy): New macro.
51945
51946 2007-02-11  Bruno Haible  <bruno@clisp.org>
51947
51948         New module mbslen.
51949         * modules/mbslen: New file.
51950         * lib/mbslen.c: New file.
51951         * lib/string_.h (mbslen): New declaration.
51952         * m4/mbslen.m4: New file.
51953         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51954         GNULIB_MBSLEN.
51955         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51956         * MODULES.html.sh (Internationalization functions): Add mbslen.
51957
51958 2007-02-11  Bruno Haible  <bruno@clisp.org>
51959
51960         Ensure O(n) worst-case complexity of strcasestr substitute.
51961         * lib/strcasestr.c: Include stdbool.h.
51962         (knuth_morris_pratt): New function.
51963         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51964         bookkeeping indicates that it's worth it.
51965         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51966
51967         * modules/strcasestr-tests: New file.
51968         * tests/test-strcasestr.c: New file.
51969
51970 2007-02-11  Bruno Haible  <bruno@clisp.org>
51971
51972         Ensure O(n) worst-case complexity of c_strcasestr.
51973         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51974         (knuth_morris_pratt): New function.
51975         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51976         the bookkeeping indicates that it's worth it.
51977         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51978
51979         * modules/c-strcasestr-tests: New file.
51980         * tests/test-c-strcasestr.c: New file.
51981
51982 2007-02-11  Bruno Haible  <bruno@clisp.org>
51983
51984         Ensure O(n) worst-case complexity of c_strstr.
51985         * lib/c-strstr.c: Include stdbool.h, string.h.
51986         (knuth_morris_pratt): New function.
51987         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51988         bookkeeping indicates that it's worth it.
51989         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51990
51991         * lib/c-strstr.c: Complete rewrite for maintainability.
51992
51993         * modules/c-strstr-tests: New file.
51994         * tests/test-c-strstr.c: New file.
51995
51996 2007-02-11  Bruno Haible  <bruno@clisp.org>
51997
51998         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51999         5.2.1 and earlier, whereby \055 was treated just like the range
52000         delimiter '-'.
52001         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52002
52003 2007-02-08  Bruno Haible  <bruno@clisp.org>
52004
52005         * modules/regex (Depends-on): Add stdbool.
52006         Reported by Dalibor Topic <robilad@kaffe.org>.
52007
52008 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52009
52010         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
52011         Prefer returning from main to exiting from it.
52012         Remove unnecessary parens after sizeof.
52013
52014 2007-02-05  Bruno Haible  <bruno@clisp.org>
52015
52016         New module mbssep.
52017         * modules/mbssep: New file.
52018         * lib/mbssep.c: New file.
52019         * lib/string_.h (strsep): Add a conditional link warning.
52020         (mbssep): New declaration.
52021         * m4/mbssep.m4: New file.
52022         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52023         GNULIB_MBSSEP.
52024         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
52025         * MODULES.html.sh (Internationalization functions): Add mbssep.
52026
52027 2007-02-05  Bruno Haible  <bruno@clisp.org>
52028
52029         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
52030         Optimize search in case of 1 delimiter.
52031
52032 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52033
52034         * lib/acl.h: Include sys/types.h before sys/acl.h.
52035
52036 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52037
52038         Merge upstream fix for glibc bugzilla #3957:
52039
52040         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
52041
52042         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
52043         bit for RE_HAT_LISTS_NOT_NEWLINE.
52044         (build_charclass_op): Remove bogus comment.
52045
52046 2007-02-05  Simon Josefsson  <simon@josefsson.org>
52047
52048         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
52049
52050 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52051
52052         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
52053         * lib/memmem.c [!defined _LIBC]: Include config.h.
52054
52055 2007-02-04  Bruno Haible  <bruno@clisp.org>
52056
52057         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
52058         warning message.
52059
52060 2007-02-04  Bruno Haible  <bruno@clisp.org>
52061
52062         New module mbstok_r.
52063         * modules/mbstok_r: New file.
52064         * lib/mbstok_r.c: New file.
52065         * lib/string_.h (strtok_r): Change argument names to match the
52066         comments. Add a conditional link warning.
52067         (mbstok_r): New declaration.
52068         * m4/mbstok_r.m4: New file.
52069         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52070         GNULIB_MBSTOK_R.
52071         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
52072         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
52073
52074 2007-02-04  Bruno Haible  <bruno@clisp.org>
52075
52076         New module mbsspn.
52077         * modules/mbsspn: New file.
52078         * lib/mbsspn.c: New file.
52079         * lib/string_.h (strspn): Add a conditional link warning.
52080         (mbsspn): New declaration.
52081         * m4/mbsspn.m4: New file.
52082         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52083         GNULIB_MBSSPN.
52084         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
52085         * MODULES.html.sh (Internationalization functions): Add mbsspn.
52086
52087 2007-02-04  Bruno Haible  <bruno@clisp.org>
52088
52089         New module mbspbrk.
52090         * modules/mbspbrk: New file.
52091         * lib/mbspbrk.c: New file.
52092         * lib/string_.h (strpbrk): Add a conditional link warning.
52093         (mbspbrk): New declaration.
52094         * m4/mbspbrk.m4: New file.
52095         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52096         GNULIB_MBSPBRK.
52097         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
52098         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
52099
52100 2007-02-04  Bruno Haible  <bruno@clisp.org>
52101
52102         New module mbscspn.
52103         * modules/mbscspn: New file.
52104         * lib/mbscspn.c: New file.
52105         * lib/string_.h (strcspn): Add a conditional link warning.
52106         (mbscspn): New declaration.
52107         * m4/mbscspn.m4: New file.
52108         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52109         GNULIB_MBSCSPN.
52110         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
52111         * MODULES.html.sh (Internationalization functions): Add mbscspn.
52112
52113 2007-02-04  Bruno Haible  <bruno@clisp.org>
52114
52115         New module mbscasestr, reduced goal of strcasestr.
52116         * modules/mbscasestr: New file.
52117         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
52118         (mbscasestr): Renamed from strcasestr.
52119         * lib/strcasestr.c: Don't include mbuiter.h.
52120         (strcasestr): Remove support for multibyte locales.
52121         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
52122         Change the conditional link warning.
52123         (mbscasestr): New declaration.
52124         * m4/mbscasestr.m4: New file.
52125         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
52126         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
52127         REPLACE_STRCASESTR.
52128         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
52129         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52130         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52131         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
52132         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
52133         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52134         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
52135         (Depends-on): Remove mbuiter.
52136         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
52137
52138 2007-02-04  Bruno Haible  <bruno@clisp.org>
52139
52140         Simplify handling of strncasecmp.
52141         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
52142         the conditional link warning.
52143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52144         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
52145         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
52146         * modules/strcase (configure.ac): Don't invoke
52147         gl_STRING_MODULE_INDICATOR.
52148         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
52149
52150 2007-02-04  Bruno Haible  <bruno@clisp.org>
52151
52152         New module mbscasecmp, reduced goal of strcasecmp.
52153         * modules/mbscasecmp: New file.
52154         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
52155         (mbscasecmp): Renamed from strcasecmp.
52156         * lib/strcasecmp.c: Don't include mbuiter.h.
52157         (strcasecmp): Remove support for multibyte locales.
52158         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
52159         Change the conditional link warning.
52160         (mbscasecmp): New declaration.
52161         * m4/mbscasecmp.m4: New file.
52162         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
52163         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
52164         REPLACE_STRCASECMP.
52165         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
52166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52167         GNULIB_MBSCASECMP.
52168         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
52169         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
52170         * modules/strcase (Files): Remove m4/mbrtowc.m4.
52171         (Depends-on): Remove mbuiter.
52172         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
52173
52174 2007-02-04  Bruno Haible  <bruno@clisp.org>
52175
52176         New module mbsstr. Remove module strstr.
52177         * modules/mbsstr: New file.
52178         * modules/strstr: Remove file.
52179         * lib/mbsstr.c: Renamed from lib/strstr.c.
52180         (mbsstr): Renamed from strstr.
52181         * lib/string_.h (strstr): Remove declaration. Change the conditional
52182         link warning.
52183         (mbsstr): New declaration.
52184         * m4/mbsstr.m4: New file.
52185         * m4/strstr.m4: Remove file.
52186         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52187         REPLACE_STRSTR.
52188         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
52189         Don't initialize GNULIB_STRSTR.
52190         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
52191         substitute GNULIB_STRSTR and REPLACE_STRSTR.
52192         * MODULES.html.sh (Internationalization functions): Add mbsstr.
52193         (Support for systems lacking ANSI C 89): Remove strstr.
52194
52195 2007-02-04  Bruno Haible  <bruno@clisp.org>
52196
52197         New module mbsrchr.
52198         * modules/mbsrchr: New file.
52199         * lib/mbsrchr.c: New file.
52200         * lib/string_.h (strrchr): Add a conditional link warning.
52201         (mbsrchr): New declaration.
52202         * m4/mbsrchr.m4: New file.
52203         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52204         GNULIB_MBSRCHR.
52205         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
52206         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
52207
52208 2007-02-04  Bruno Haible  <bruno@clisp.org>
52209
52210         New module mbschr.
52211         * modules/mbschr: New file.
52212         * lib/mbschr.c: New file.
52213         * lib/string_.h (strchr): Add a conditional link warning.
52214         (mbschr): New declaration.
52215         * m4/mbschr.m4: New file.
52216         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52217         GNULIB_MBSCHR.
52218         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
52219         * MODULES.html.sh (Internationalization functions): Add mbschr.
52220
52221 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52222
52223         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
52224
52225         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
52226
52227 2007-02-04  Bruno Haible  <bruno@clisp.org>
52228
52229         New module description section 'configure.ac-early'.
52230         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
52231         (func_get_autoconf_early_snippet): New function.
52232         (func_import, func_create_testdir): Use it. Remove special cases for
52233         modules 'extensions' and 'lock'.
52234         * modules/extensions (configure.ac-early): Require
52235         gl_USE_SYSTEM_EXTENSIONS.
52236         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
52237
52238 2007-02-04  Bruno Haible  <bruno@clisp.org>
52239
52240         Make use of gcj-4.3's -fsource and -ftarget option.
52241         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
52242         and if so try the options -fsource and -ftarget.
52243         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
52244         source_version, ftarget_option, target_version arguments.
52245         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
52246         (is_envjavac_oldgcj_14_14_usable): Renamed from
52247         is_envjavac_gcj_14_14_usable.
52248         (is_envjavac_oldgcj_14_13_usable): Renamed from
52249         is_envjavac_gcj_14_13_usable.
52250         (is_gcj_present): Update.
52251         (is_gcj_43, is_gcj43_usable): New functions.
52252         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
52253         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
52254         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
52255         try the options -fsource and -ftarget.
52256
52257 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52258
52259         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
52260         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
52261         larger value.
52262
52263 2007-02-03  Jim Meyering  <jim@meyering.net>
52264
52265         Give tools a better chance to allocate space for very large buffers.
52266         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
52267
52268         Make pwd and readlink work also when run with an unreadable parent dir
52269         on systems with openat support.
52270         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
52271         provided getcwd function, even when we have openat support.
52272         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
52273
52274 2007-02-02  Bruno Haible  <bruno@clisp.org>
52275
52276         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52277         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
52278         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
52279         portability problems if one of these functions is only used on specific
52280         platforms.
52281         Reported by Paul Eggert.
52282
52283 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52284
52285         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
52286         is causing more trouble than it's curing.
52287         * lib/regex_internal.h (__mempcpy): Remove.
52288         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
52289         (and make the code a tad smaller to boot).
52290         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
52291
52292 2007-02-02  Jim Meyering  <jim@meyering.net>
52293
52294         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
52295         section, not in the Makefile.am: one.
52296
52297 2007-02-02  Eric Blake  <ebb9@byu.net>
52298
52299         * lib/strchrnul.c: Always include config.h first.
52300
52301         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
52302         gnulib strstr is not necessary here.
52303
52304 2007-02-02  Simon Josefsson  <simon@josefsson.org>
52305
52306         * m4/socklen.m4: Fix typo.
52307
52308 2007-02-02  Eric Blake  <ebb9@byu.net>
52309
52310         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
52311         * modules/netinet_in (Makefile.am): Likewise.
52312
52313 2007-02-01  Bruno Haible  <bruno@clisp.org>
52314
52315         * lib/string_.h (GL_LINK_WARNING): New macro.
52316         (strcasecmp, strstr, strcasestr): If provided by the system,
52317         conditionally define as a macro that leads to a warning instead of to
52318         an error.
52319         (strncasecmp): Conditionally define as a macro that leads to a warning.
52320
52321 2007-02-01  Karl Berry  <karl@gnu.org>
52322
52323         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
52324
52325 2007-02-01  Bruno Haible  <bruno@clisp.org>
52326
52327         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
52328         renamings.
52329
52330 2007-02-01  Eric Blake  <ebb9@byu.net>
52331
52332         * modules/regex (Depends-on): Revert dependence on mempcpy.
52333         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
52334         module's definition of mempcpy.
52335         Reported by Paul Eggert.
52336
52337 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52338
52339         * lib/string_.h: If the gnulib module XYZ is not present, undefine
52340         the symbol XYZ before redefining it.  This fixes a problem with
52341         programs that don't use XYZ, when compiled on systems that define
52342         XYZ to something else.
52343
52344 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52345
52346         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
52347         occurs when "mkdir -m foo" creates a setgid directory that is (1)
52348         writeable to group or other and (2) is intended to have a special
52349         mode bit that is set or cleared.  In such a case, the directory
52350         should be neither group- nor other-writeable until the special
52351         mode bits are right.
52352
52353 2007-01-31  Eric Blake  <ebb9@byu.net>
52354
52355         * modules/mountlist (Depends-on): Add strstr.
52356
52357         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
52358         bug.
52359         * modules/string (Makefile.am): Remove redundant replacement.
52360         * modules/regex (Depends-on): Add mempcpy.
52361
52362 2007-01-31  Bruno Haible  <bruno@clisp.org>
52363
52364         New module description field 'Link'.
52365         * gnulib-tool (func_usage): Document --extract-link-directive.
52366         (sed_extract_prog): Recognize 'Link' directive.
52367         (func_get_link_directive): New function.
52368         (func_import): Show summary of link directives.
52369         Handle --extract-link-directive option.
52370         * modules/acl (Link): New section.
52371         * modules/clock-time (Link): New section.
52372         * modules/euidaccess (Link): New section.
52373         * modules/gettext (Link): New section.
52374         * modules/iconv (Link): New section.
52375         * modules/lock (Link): New section.
52376         * modules/nanosleep (Link): New section.
52377         * modules/readline (Link): New section.
52378
52379 2007-01-27  Bruno Haible  <bruno@clisp.org>
52380
52381         Enforce the use of gnulib modules for unportable <string.h> functions.
52382         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
52383         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
52384         (gl_HEADER_STRING_H_BODY): Require it.
52385         * lib/string_.h: If the gnulib module XYZ is not present, redefine
52386         the symbol XYZ to one that gives a link error.
52387         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
52388         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
52389         * modules/mempcpy (configure.ac): Likewise.
52390         * modules/memrchr (configure.ac): Likewise.
52391         * modules/stpcpy (configure.ac): Likewise.
52392         * modules/stpncpy (configure.ac): Likewise.
52393         * modules/strcase (configure.ac): Likewise.
52394         * modules/strcasestr (configure.ac): Likewise.
52395         * modules/strchrnul (configure.ac): Likewise.
52396         * modules/strdup (configure.ac): Likewise.
52397         * modules/strndup (configure.ac): Likewise.
52398         * modules/strnlen (configure.ac): Likewise.
52399         * modules/strpbrk (configure.ac): Likewise.
52400         * modules/strsep (configure.ac): Likewise.
52401         * modules/strstr (configure.ac): Likewise.
52402         * modules/strtok_r (configure.ac): Likewise.
52403
52404 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
52405
52406         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
52407
52408 2007-01-30  Jim Meyering  <jim@meyering.net>
52409
52410         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
52411
52412 2007-01-29  Bruno Haible  <bruno@clisp.org>
52413
52414         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
52415         * lib/execute.c: Likewise.
52416         * lib/pipe.c: Likewise.
52417         * lib/printf-args.h: Likewise.
52418         * lib/printf-args.c: Likewise.
52419         * lib/printf-parse.c: Likewise.
52420         * lib/vasnprintf.c: Likewise.
52421
52422 2007-01-29  Eric Blake  <ebb9@byu.net>
52423
52424         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
52425         declaration.
52426
52427 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
52428
52429         * lib/strptime.h (strptime): Use 'restrict' for args where
52430         POSIX requires this.
52431         * lib/strptime.c (strptime): Likewise.
52432         Change license notice from LGPL to GPL, since gnulib-tool will
52433         change this as needed.
52434         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
52435         defined.
52436         Include "strptime.h" first, to check interface.
52437         Do not #undef _LIBC and _NL_CURRENT.
52438         Do not include <stdlib.h>; no longer needed.
52439         Include "time_r.h" and declare ptime_locale_status
52440         only if _LIBC is not defined.
52441         (__P): Remove unused macro.
52442         (match_string): Bring back glibc version, but use it only if _LIBC
52443         is defined.
52444         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
52445         Remove unnecessary assertion and abort() call.
52446         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
52447         * m4/strptime.m4: Fix serial number comment.
52448         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
52449         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
52450         (Depends-on): Add time_r.
52451
52452 2007-01-29  Bruno Haible  <bruno@clisp.org>
52453
52454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52455         strptime.
52456         * modules/strptime (Depends-on): Add stdbool.
52457         * lib/strptime.h: Include <time.h> always. Add comments.
52458
52459 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52460
52461         * modules/strptime: New file.
52462         * lib/strptime.h: New file.
52463         * lib/strptime.c: New file.
52464         * m4/strptime.m4: New file.
52465
52466 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
52467
52468         * MODULES.html.sh: New module mpsort.
52469         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
52470
52471         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
52472         a circularity problem with HP-UX ia64 reported by Bob Proulx in
52473         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
52474         All uses changed.
52475         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
52476         All uses changed.
52477         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
52478         to _Restrict_.
52479         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
52480         the parameter matches the prototype.
52481
52482 2007-01-28  Jim Meyering  <jim@meyering.net>
52483
52484         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
52485         sys/time.h here, reverting that part of the previous patch:
52486         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
52487
52488 2007-01-28  Bruno Haible  <bruno@clisp.org>
52489
52490         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
52491         value of $(SYS_TIME_H).
52492         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
52493         remove it conditionally, too. [added by Jim Meyering]
52494         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
52495         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52496         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
52497         GETTIMEOFDAY_REPLACEMENT to 1.
52498
52499 2007-01-28  Bruno Haible  <bruno@clisp.org>
52500
52501         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
52502         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
52503         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
52504         Set UNISTD_H instead of UNISTD_H2.
52505         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
52506
52507 2007-01-28  Bruno Haible  <bruno@clisp.org>
52508
52509         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
52510         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
52511
52512 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52513
52514         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
52515         (func_create_testdir): Ensure C locale for `grep' and `tr'
52516         character ranges.
52517         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
52518         ACLOCAL_AMFLAGS parsing state machine.
52519
52520 2007-01-27  Bruno Haible  <bruno@clisp.org>
52521
52522         * modules/unistr/base: Update.
52523
52524 2007-01-27  Bruno Haible  <bruno@clisp.org>
52525
52526         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
52527         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
52528         * modules/unistr/u32-mbtouc-unsafe: Renamed from
52529         modules/unistr/u32-mbtouc.
52530         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
52531         * lib/unistr.h: Update.
52532         * lib/linebreak.c: Update.
52533         * modules/unistr/u32-mbtouc: Renamed from
52534         modules/unistr/u32-mbtouc-safe.
52535         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
52536         * lib/unistr.h: Update.
52537         * lib/unistr/u32-to-u8.c: Update.
52538         * lib/unistr/u32-to-u16.c: Update.
52539
52540 2007-01-27  Bruno Haible  <bruno@clisp.org>
52541
52542         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
52543         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
52544         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
52545         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
52546         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
52547         * modules/unistr/u16-mbtouc-unsafe: Renamed from
52548         modules/unistr/u16-mbtouc.
52549         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
52550         * lib/unistr.h: Update.
52551         * lib/linebreak.c: Update.
52552         * modules/linebreak: Update.
52553         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
52554         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
52555         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
52556         * modules/unistr/u16-mbtouc: Renamed from
52557         modules/unistr/u16-mbtouc-safe.
52558         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
52559         * lib/unistr.h: Update.
52560         * lib/unistr/u16-to-u8.c: Update.
52561         * modules/unistr/u16-to-u8: Update.
52562         * lib/unistr/u16-to-u32.c: Update.
52563         * modules/unistr/u16-to-u32: Update.
52564
52565 2007-01-27  Bruno Haible  <bruno@clisp.org>
52566
52567         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
52568         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
52569         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
52570         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
52571         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
52572         * modules/unistr/u8-mbtouc-unsafe: Renamed from
52573         modules/unistr/u8-mbtouc.
52574         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
52575         * lib/unistr.h: Update.
52576         * lib/striconveh.c: Update.
52577         * modules/striconveh: Update.
52578         * lib/linebreak.c: Update.
52579         * modules/linebreak: Update.
52580         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
52581         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
52582         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
52583         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
52584         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
52585         * lib/unistr.h: Update.
52586         * lib/striconveh.c: Update.
52587         * modules/striconveh: Update.
52588         * lib/unistr/u8-to-u16.c: Update.
52589         * modules/unistr/u8-to-u16: Update.
52590         * lib/unistr/u8-to-u32.c: Update.
52591         * modules/unistr/u8-to-u32: Update.
52592
52593 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52594
52595         Sync from Libtool.
52596         * lib/argz.c: Do not include strings.h nor memory.h, include
52597         string.h unconditionally.  Patch by Simon Josefsson.
52598
52599 2007-01-27  Bruno Haible  <bruno@clisp.org>
52600
52601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
52602         from gl_HEADER_STRING_H_BODY.
52603         (gl_HEADER_STRING_H_BODY): Require it.
52604         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
52605         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52606         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52607         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52608         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52609         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
52610         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52611         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52612         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
52613         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52614         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52615         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
52616         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52617         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
52618         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52619
52620 2007-01-27  Bruno Haible  <bruno@clisp.org>
52621
52622         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
52623         check_PROGRAMS into noinst_PROGRAMS.
52624         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
52625         check_PROGRAMS in this case.
52626         (func_import): Set for_test to false.
52627         (func_create_testdir): Set for_test to true.
52628
52629 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
52630             Bruno Haible  <bruno@clisp.org>
52631
52632         * modules/strcasestr (Files): Remove lib/strcasestr.h.
52633         (Depends-on): Add string.
52634         (Includes): Use <string.h> instead of strcasestr.h.
52635         * modules/string (Makefile.am): Also substitute the value of
52636         REPLACE_STRCASESTR.
52637         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
52638         assume strcasestr is declared in <string.h> not <strings.h>. Also
52639         set REPLACE_STRCASESTR.
52640         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
52641         REPLACE_STRCASESTR.
52642         * lib/strcasestr.h: Remove file.
52643         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
52644         * lib/string_.h (strcasestr): New declaration.
52645
52646 2007-01-27  Bruno Haible  <bruno@clisp.org>
52647
52648         * lib/string_.h: Use 'extern'.
52649
52650 2007-01-27  Jim Meyering  <jim@meyering.net>
52651
52652         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
52653         of set-but-not-used local, "q".
52654
52655         * lib/mempcpy.c: Include <config.h> before <string.h>.
52656         This fixes a compilation error on HP-UX, due to the system's
52657         "restrict"-using mempcpy prototype.
52658
52659 2007-01-26  Bruno Haible  <bruno@clisp.org>
52660
52661         Small optimization.
52662         * lib/javacomp.c: Include c-strstr.h.
52663          (is_envjavac_gcj): Use c_strstr instead of strstr.
52664         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
52665
52666 2007-01-26  Bruno Haible  <bruno@clisp.org>
52667
52668         * MODULES.html.sh (Unicode string functions): Add the new modules.
52669
52670         * modules/uniconv/u32-strconv-to-locale: New file.
52671         * lib/uniconv/u32-strconv-to-locale.c: New file.
52672
52673         * modules/uniconv/u16-strconv-to-locale: New file.
52674         * lib/uniconv/u16-strconv-to-locale.c: New file.
52675
52676         * modules/uniconv/u8-strconv-to-locale: New file.
52677         * lib/uniconv/u8-strconv-to-locale.c: New file.
52678
52679         * modules/uniconv/u32-strconv-from-locale: New file.
52680         * lib/uniconv/u32-strconv-from-locale.c: New file.
52681
52682         * modules/uniconv/u16-strconv-from-locale: New file.
52683         * lib/uniconv/u16-strconv-from-locale.c: New file.
52684
52685         * modules/uniconv/u8-strconv-from-locale: New file.
52686         * lib/uniconv/u8-strconv-from-locale.c: New file.
52687
52688         * modules/uniconv/u32-strconv-to-enc: New file.
52689         * lib/uniconv/u32-strconv-to-enc.c: New file.
52690         * modules/uniconv/u32-strconv-to-enc-tests: New file.
52691         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
52692
52693         * modules/uniconv/u16-strconv-to-enc: New file.
52694         * lib/uniconv/u16-strconv-to-enc.c: New file.
52695         * lib/uniconv/u-strconv-to-enc.h: New file.
52696         * modules/uniconv/u16-strconv-to-enc-tests: New file.
52697         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
52698
52699         * modules/uniconv/u8-strconv-to-enc: New file.
52700         * lib/uniconv/u8-strconv-to-enc.c: New file.
52701         * modules/uniconv/u8-strconv-to-enc-tests: New file.
52702         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
52703
52704         * modules/uniconv/u32-strconv-from-enc: New file.
52705         * lib/uniconv/u32-strconv-from-enc.c: New file.
52706         * modules/uniconv/u32-strconv-from-enc-tests: New file.
52707         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
52708
52709         * modules/uniconv/u16-strconv-from-enc: New file.
52710         * lib/uniconv/u16-strconv-from-enc.c: New file.
52711         * modules/uniconv/u16-strconv-from-enc-tests: New file.
52712         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
52713
52714         * modules/uniconv/u8-strconv-from-enc: New file.
52715         * lib/uniconv/u8-strconv-from-enc.c: New file.
52716         * lib/uniconv/u-strconv-from-enc.h: New file.
52717         * modules/uniconv/u8-strconv-from-enc-tests: New file.
52718         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
52719
52720         * modules/uniconv/u32-conv-from-enc: New file.
52721         * lib/uniconv/u32-conv-from-enc.c: New file.
52722         * modules/uniconv/u32-conv-from-enc-tests: New file.
52723         * tests/uniconv/test-u32-conv-from-enc.c: New file.
52724
52725         * modules/uniconv/u16-conv-from-enc: New file.
52726         * lib/uniconv/u16-conv-from-enc.c: New file.
52727         * lib/uniconv/u-conv-from-enc.h: New file.
52728         * modules/uniconv/u16-conv-from-enc-tests: New file.
52729         * tests/uniconv/test-u16-conv-from-enc.c: New file.
52730
52731         * modules/uniconv/u8-conv-from-enc: New file.
52732         * lib/uniconv/u8-conv-from-enc.c: New file.
52733         * modules/uniconv/u8-conv-from-enc-tests: New file.
52734         * tests/uniconv/test-u8-conv-from-enc.c: New file.
52735
52736         * modules/uniconv/base: New file.
52737         * lib/uniconv.h: New file.
52738
52739 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52740
52741         * doc/gnulib-tool.texi (Initial import): Update to match current
52742         behavior with strdup module.
52743         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
52744         * lib/memmem.h: Remove; all uses removed.  This is now done
52745         by <string.h>.
52746         * lib/mempcpy.h: Likewise.
52747         * lib/memrchr.h: Likewise.
52748         * lib/stpcpy.h: Likewise.
52749         * lib/stpncpy.h: Likewise.
52750         * lib/strcase.h: Likewise.
52751         * lib/strchrnul.h: Likewise.
52752         * lib/strdup.h: Likewise.
52753         * lib/strndup.h: Likewise.
52754         * lib/strnlen.h: Likewise.
52755         * lib/strpbrk.h: Likewise.
52756         * lib/strsep.h: Likewise.
52757         * lib/strstr.h: Likewise.
52758         * lib/strtok_r.h: Likewise.
52759         * lib/string_.h: New file.
52760         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
52761         Rely on <string.h> instead.
52762         * lib/canon-host.c: Likewise.
52763         * lib/chdir-long.c: Likewise.
52764         * lib/concatpath.c: Likewise.
52765         * lib/exclude.c: Likewise.
52766         * lib/fchdir.c: Likewise.
52767         * lib/getaddrinfo.c: Likewise.
52768         * lib/getcwd.c: Likewise.
52769         * lib/getsubopt.c: Likewise.
52770         * lib/glob.c: Likewise.
52771         * lib/hard-locale.c: Likewise.
52772         * lib/iconvme.c: Likewise.
52773         * lib/javacomp.c: Likewise.
52774         * lib/mempcpy.c: Likewise.
52775         * lib/memrchr.c: Likewise.
52776         * lib/regex_internal.h: Likewise.
52777         * lib/stpncpy.c: Likewise.
52778         * lib/strcasecmp.c: Likewise.
52779         * lib/strchrnul.c: Likewise.
52780         * lib/strdup.c: Likewise.
52781         * lib/striconv.c: Likewise.
52782         * lib/striconveh.c: Likewise.
52783         * lib/striconveha.c: Likewise.
52784         * lib/strncasecmp.c: Likewise.
52785         * lib/strndup.c: Likewise.
52786         * lib/strnlen.c: Likewise.
52787         * lib/strsep.c: Likewise.
52788         * lib/strstr.c: Likewise.
52789         * lib/strtok_r.c: Likewise.
52790         * lib/userspec.c: Likewise.
52791         * lib/w32spawn.h: Likewise.
52792         * lib/xstrndup.c: Likewise.
52793         * lib/mountlist.c (strstr): Remove decl.
52794         * m4/string_h.m4: New file.
52795         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52796         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52797         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52798         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52799         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52800         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52801         Set REPLACE_STRCASECMP if necessary.
52802         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52803         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52804         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52805         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52806         HAVE_DECL_STRDUP if necessary.
52807         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52808         since gl_FUNC_STRNDUP does that now.
52809         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52810         Check for decl here...
52811         (gl_PREREQ_STRNLEN): ... not here.
52812         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52813         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52814         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52815         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52816         necessary.
52817         * modules/string: New file.
52818         * modules/memmem (Files): Remove special-purpose include file.
52819         (Depends-on): Add string.
52820         (Include): Include <string.h>, not the removed file.
52821         * modules/mempcpy: Likewise.
52822         * modules/memrchr: Likewise.
52823         * modules/stpcpy: Likewise.
52824         * modules/stpncpy: Likewise.
52825         * modules/strcase: Likewise.
52826         * modules/strchrnul: Likewise.
52827         * modules/strdup: Likewise.
52828         * modules/strndup: Likewise.
52829         * modules/strnlen: Likewise.
52830         * modules/strpbrk: Likewise.
52831         * modules/strsep: Likewise.
52832         * modules/strstr: Likewise.
52833         * modules/strtok_r: Likewise.
52834         * tests/test-dirname.c: Don't include "strdup.h", since
52835         <string.h> now suffices.
52836         * tests/test-memmem.c: Don't include "memmem.h", since
52837         <string.h> now suffices.
52838
52839 2007-01-25  Bruno Haible  <bruno@clisp.org>
52840
52841         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52842         *resultp is 0.
52843
52844         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52845         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52846         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52847         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52848
52849         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52850         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52851         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52852         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52853         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52854         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52855
52856 2007-01-24  Bruno Haible  <bruno@clisp.org>
52857
52858         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52859         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52860         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52861         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52862         gl_FUNC_FTS_CORE.
52863         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52864         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52865         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52866         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52867         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52868         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52869         gl_FUNC_FCHOWNAT.
52870         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52871         gl_FUNC_STRFTIME.
52872         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52873         Reported by Ralf Wildenhues.
52874
52875 2007-01-24  Bruno Haible  <bruno@clisp.org>
52876
52877         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52878         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52879         gl_GETADDRINFO.
52880         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52881         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52882         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52883
52884 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52885
52886         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52887         Don't use 'exit'; just return from 'main'.
52888         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52889
52890         * lib/fnmatch_.h: Readjust white space and comments to match
52891         glibc, to avoid spurious diffs.
52892
52893 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52894
52895         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52896         2004-12-01 change by Jakub Jelinek, since this code won't compile
52897         if !LIBC.  Problem reported by Bob Proulx.
52898
52899 2007-01-23  Bruno Haible  <bruno@clisp.org>
52900
52901         * lib/striconveh.c: Include c-strcaseeq.h.
52902         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52903         * modules/striconveh (Depends-on): Add c-strcaseeq.
52904
52905 2007-01-23  Bruno Haible  <bruno@clisp.org>
52906
52907         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52908
52909         * modules/c-strcaseeq: New file.
52910         * lib/c-strcaseeq.h: New file.
52911
52912         * modules/streq: New file.
52913         * lib/streq.h: New file.
52914
52915 2007-01-23  Bruno Haible  <bruno@clisp.org>
52916
52917         * modules/striconveha-tests: New file.
52918         * tests/test-striconveha.c: New file.
52919
52920         * lib/striconveha.h: Include <stdbool.h>.
52921         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52922         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52923         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52924         (mem_iconveha): New function.
52925         (str_iconveha_notranslit): Renamed from str_iconveha.
52926         (str_iconveha): New function.
52927         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52928         c-strcase.
52929
52930 2007-01-23  Bruno Haible  <bruno@clisp.org>
52931
52932         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52933         encodings without forgiving before trying any encoding with handler.
52934         (str_iconveha): Try all encodings without forgiving before trying any
52935         encoding with handler.
52936
52937 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52938
52939         Import the following changes from libc.
52940
52941         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52942
52943         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52944
52945         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52946
52947         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52948         normal_bracket label.
52949
52950         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52951
52952         [BZ #361]
52953         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52954         to normal_bracket after fetching the next character.
52955
52956 2007-01-22  Bruno Haible  <bruno@clisp.org>
52957
52958         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52959         argument.
52960         * lib/striconveh.c (iconv_carefully_1): New function.
52961         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52962         argument.
52963         (str_cd_iconveh): Update.
52964         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52965         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52966         * tests/test-striconveh.c (MAGIC): New macro.
52967         (new_offsets): New function.
52968         (main): Test call with and without offsets.
52969
52970 2007-01-22  Bruno Haible  <bruno@clisp.org>
52971
52972         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52973         * modules/sys_select (Makefile.am): Likewise.
52974         * modules/sys_socket (Makefile.am): Likewise.
52975         * modules/sys_time (Makefile.am): Likewise.
52976
52977 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52978
52979         * modules/gettimeofday (License): Change from GPL to LGPL, since
52980         gettimeofday is a library function.
52981
52982 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52983
52984         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52985
52986 2007-01-21  Bruno Haible  <bruno@clisp.org>
52987
52988         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52989
52990 2007-01-21  Bruno Haible  <bruno@clisp.org>
52991
52992         * modules/striconveha: New file.
52993         * lib/striconveha.h: New file.
52994         * lib/striconveha.c: New file.
52995         * MODULES.html.sh (Internationalization functions): Add striconveha.
52996         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52997         string.
52998         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52999
53000 2007-01-21  Bruno Haible  <bruno@clisp.org>
53001
53002         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
53003         * lib/striconveh.c (str_iconveh): Likewise.
53004
53005 2007-01-21  Bruno Haible  <bruno@clisp.org>
53006
53007         * lib/striconveh.h (mem_iconveh): New declaration.
53008         * lib/striconveh.c (mem_iconveh): New function.
53009         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
53010
53011 2007-01-21  Bruno Haible  <bruno@clisp.org>
53012
53013         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
53014
53015         * lib/striconveh.h (mem_cd_iconveh): Change specification.
53016         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
53017         original result buffer.
53018         (str_cd_iconveh): Update.
53019         * tests/test-striconveh.c (main): Update.
53020
53021         * lib/striconv.h (mem_cd_iconv): Change specification.
53022         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
53023         result buffer.
53024         (str_cd_iconv): Update.
53025         * tests/test-striconv.c (main): Update.
53026
53027 2007-01-21  Bruno Haible  <bruno@clisp.org>
53028
53029         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
53030
53031 2007-01-20  Jim Meyering  <jim@meyering.net>
53032
53033         * lib/userspec.c (parse_with_separator): If a user or group string
53034         starts with "+", skip the corresponding name-to-ID look-up, since
53035         such a look-up must fail: user and group names may not include "+".
53036
53037 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
53038
53039         * lib/poll.c: Include sys/time.h and time.h unconditionally,
53040         since we now assume the sys_time module.
53041         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
53042         check for sys/time.h; no longer needed.
53043         * modules/poll (Depends-on): Depend on sys_time.
53044
53045 2007-01-18  Bruno Haible  <bruno@clisp.org>
53046
53047         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
53048         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53049
53050         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
53051         gettimeofday.
53052
53053         * tests/test-gettimeofday.c: Include <time.h>.
53054         (dummy): Remove variable.
53055
53056         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
53057         gl_HEADER_SYS_TIME_H.
53058         (gl_HEADER_SYS_TIME_H): New macro.
53059
53060         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
53061         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53062         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53063         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
53064         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53065         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
53066         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
53067         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53068         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
53069         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
53070         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53071
53072         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
53073         last change; it caused a compilation error when cross-compiling to
53074         Cygwin.
53075
53076 2007-01-18  Jim Meyering  <jim@meyering.net>
53077
53078         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
53079         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
53080         than the race-prone "test -d sys || mkdir sys".
53081         (configure.ac): Use AC_PROG_MKDIR_P.
53082         * modules/sys_select: Likewise.
53083         * modules/sys_socket: Likewise.
53084         * modules/sys_time: Likewise.
53085
53086 2007-01-18  Eric Blake  <ebb9@byu.net>
53087
53088         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
53089         replace gettimeofday.
53090         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
53091         name, to avoid infinite recursion.
53092
53093 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
53094
53095         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
53096         module sys_time.
53097         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
53098         assume timespec.h defines struct timeval.
53099         * lib/settime.c: Likewise.
53100         * lib/utimens.c: Likewise.
53101         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
53102         since we now assume the gettimeofday module.
53103         * lib/tempname.c (__gen_tempname): Likewise.
53104         * lib/gettimeofday.h: Remove.
53105         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
53106         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
53107         Include <time.h>, for 'time()'.
53108         (localtime_buffer_addr): Also use this workaround if
53109         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
53110         to simplify the uses.  All uses changed.
53111         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
53112         that #undef is inside {}, and 'const' follows type name consistently.
53113         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
53114         (gettimeofday): Do not use the maximum possible value for
53115         tv->tv_usec, since that might break usages other than ls.c.
53116         Instead, we'll leave ls.c alone.  This undoes today's patch
53117         by Bruno.  Add a compile-time warning for 1s-clock resolution;
53118         we've never observed the problem but might as well keep the
53119         canary.
53120         * lib/nanosleep.c: Include timespec.h first, for interface check.
53121         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
53122         now assume the sys_time module.
53123         * lib/tempname.c: Likewise.
53124         * lib/timespec.h: Likewise.
53125         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
53126         needed.
53127         * lib/strftime.c: Likewise.
53128         * lib/timespec.h: Likewise.
53129         * lib/posixtm.c: Include posixtm.h first, for interface check.
53130         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
53131         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
53132         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
53133         * lib/sys_time_.h: New file.
53134         * lib/timespec.h (struct timespec): Use long int, not long.
53135         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53136         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
53137         Remove obsolescent call to AC_HEADER_TIME.
53138         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53139         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53140         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53141         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
53142         Likewise.
53143         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
53144         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
53145         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
53146         into the sys_time module.  Check for gettimeofday just once.
53147         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
53148         for gettimeofday signature to just check the signature.  Merely
53149         compile it, since linking doesn't test signature.  Improve test for
53150         whether gettimeofday.o is actually needed.
53151         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
53152         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
53153         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
53154         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53155         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
53156         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
53157         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
53158         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
53159         than worrying about sys/time.h.
53160         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53161         Don't bother worrying about TIME_WITH_SYS_TIME.
53162         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53163         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
53164         * m4/sys_time_h.m4: New file.
53165         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
53166         Don't include sys/time.h.  Return from main rather than exiting.
53167         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
53168         all uses changed.
53169         * modules/gethrxtime (Depends-on): Add sys_time.
53170         * modules/gettime (Depends-on): Likewise.
53171         * modules/gettimeofday (Depends-on): Likewise.
53172         * modules/nanosleep (Depends-on): Likewise.
53173         * modules/settime (Depends-on): Likewise.
53174         * modules/tempname (Depends-on): Likewise.
53175         * modules/utimens (Depends-on): Likewise.
53176         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
53177         (Include:) Change back to <sys/time.h>.
53178         (Maintainer:) Add self.
53179         * modules/sys_time: New file.
53180         * modules/tempname (Depends-on): Add gettimeofday.
53181         * tests/test-gettimeofday.c: Include <sys/time.h>
53182         rather than gettimeofday.h.
53183
53184 2007-01-17  Bruno Haible  <bruno@clisp.org>
53185
53186         * gnulib-tool (func_get_license): Revert last patch. Instead, let
53187         the license default to GPL.
53188         (func_create_testdir): Don't complain if a module is LGPL and its
53189         tests module depends on GPLed modules.
53190
53191 2007-01-17  Bruno Haible  <bruno@clisp.org>
53192
53193         * lib/gettimeofday.c (gettimeofday): Add code for the case
53194         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
53195         maximum possible value for tv->tv_usec, rather than the minimum one.
53196
53197 2005-10-08  Martin Lambers  <marlam@marlam.de>
53198 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53199 2007-01-16  Bruno Haible  <bruno@clisp.org>
53200
53201         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
53202         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
53203         gl_FUNC_GETTIMEOFDAY.
53204         (Include): Add gettimeofday.h.
53205         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
53206         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
53207         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
53208         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
53209         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
53210         * lib/gettimeofday.h: New file.
53211         * lib/gettimeofday.c: Include <sys/timeb.h>.
53212         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
53213         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53214         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
53215         fall back on time().
53216
53217         * tests/test-gettimeofday.c: New file.
53218         * modules/gettimeofday-tests: New file.
53219
53220 2007-01-16  Eric Blake  <ebb9@byu.net>
53221
53222         * modules/fnmatch (Depends-on): Depend on wchar.
53223         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
53224         * m4/fnmatch.m4: Likewise.
53225         * modules/mbchar (Makefile.am): Assume <wchar.h>.
53226         * m4/mbchar.m4: Likewise.
53227         * modules/mbswidth (Depends-on): Depend on wchar.
53228         * lib/mbswidth.c: Assume <wchar.h>.
53229         * m4/mbswidth.m4: Likewise.
53230         * modules/quotearg (Depends-on): Depend on wchar.
53231         * lib/quotearg.c: Assume <wchar.h>.
53232         * m4/quotearg.m4: Likewise.
53233         * modules/regex (Depends-on): Depend on wchar.
53234         * lib/regex_internal.h: Assume <wchar.h>.
53235         * m4/regex.m4: Likewise.
53236         * modules/stdint (Depends-on): Depend on wchar.
53237         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
53238         * m4/stdint.m4: Likewise.
53239         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
53240         * modules/strftime (Depends-on): Depend on wchar.
53241         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
53242         * modules/strtol (Depends-on): Depend on wchar.
53243         * lib/strtol.c: Assume <wchar.h>.
53244         * modules/wcwidth (Depends-on): Depend on wchar.
53245         * lib/wcwidth.h: Assume <wchar.h>.
53246         * m4/wcwidth.m4: Likewise.
53247
53248 2007-01-16  Bruno Haible  <bruno@clisp.org>
53249
53250         * modules/csharpexec-script: New, created from...
53251         * modules/csharpexec: ... this.
53252
53253 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53254
53255         * modules/javaexec-script: New, created from...
53256         * modules/javaexec: ... this.
53257
53258 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53259
53260         * modules/poll (Dependencies): Add sys_select.
53261
53262 2007-01-15  Jim Meyering  <jim@meyering.net>
53263
53264         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
53265         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
53266         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
53267         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
53268
53269 2007-01-15  Bruno Haible  <bruno@clisp.org>
53270
53271         * modules/striconveh: New file.
53272         * lib/striconveh.h: New file.
53273         * lib/striconveh.c: New file.
53274         * MODULES.html.sh (Internationalization functions): Add striconveh.
53275
53276         * modules/striconveh-tests: New file.
53277         * tests/test-striconveh.c: New file.
53278
53279 2007-01-15  Bruno Haible  <bruno@clisp.org>
53280
53281         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
53282         not from GNU libiconv or GNU libc.
53283
53284 2007-01-15  Bruno Haible  <bruno@clisp.org>
53285
53286         * doc/gnulib-intro.texi (Copyright): Explain the different license
53287         terms for module descriptions, autoconf macros, tests, documentation.
53288
53289 2007-01-14  Bruno Haible  <bruno@clisp.org>
53290
53291         * modules/striconv-tests: New file.
53292         * tests/test-striconv.c: New file.
53293
53294 2007-01-14  Bruno Haible  <bruno@clisp.org>
53295
53296         * modules/iconv-tests: New file.
53297         * tests/test-iconv.c: New file.
53298
53299 2007-01-14  Bruno Haible  <bruno@clisp.org>
53300
53301         * gnulib-tool (func_get_license): For test modules, use the license of
53302         the main module.
53303
53304 2007-01-14  Bruno Haible  <bruno@clisp.org>
53305
53306         * modules/iconv (Include): Clarify that <iconv.h> can only be included
53307         if iconv is found to exist.
53308
53309 2007-01-14  Bruno Haible  <bruno@clisp.org>
53310
53311         * modules/c-ctype-tests: New file.
53312         * tests/test-c-ctype.c: New file.
53313
53314 2007-01-14  Bruno Haible  <bruno@clisp.org>
53315
53316         * modules/binary-io-tests: New file.
53317         * tests/test-binary-io.sh: New file.
53318         * tests/test-binary-io.c: New file.
53319
53320 2007-01-14  Bruno Haible  <bruno@clisp.org>
53321
53322         * modules/array-oset-tests: New file.
53323         * tests/test-array_oset.c: New file.
53324
53325 2007-01-14  Bruno Haible  <bruno@clisp.org>
53326
53327         * modules/array-list-tests: New file.
53328         * tests/test-array_list.c: New file.
53329
53330 2007-01-14  Bruno Haible  <bruno@clisp.org>
53331
53332         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
53333         and make.
53334         Reported by Simon Josefsson in
53335         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
53336
53337 2007-01-14  Bruno Haible  <bruno@clisp.org>
53338
53339         * modules/allocsa-tests: New file.
53340         * tests/test-allocsa.c: New file.
53341
53342 2007-01-14  Bruno Haible  <bruno@clisp.org>
53343
53344         * modules/fchdir (Depends-on): Add absolute-header.
53345         * modules/unistd (Depends-on): Likewise.
53346
53347 2006-12-30  Bruno Haible  <bruno@clisp.org>
53348
53349         * modules/fchdir: New file.
53350         * modules/unistd (Files): Add lib/unistd_.h.
53351         (Makefile.am): Generate unistd.h from unistd_.h.
53352         * lib/fchdir.c: New file.
53353         * lib/dirent_.h: New file.
53354         * lib/unistd_.h: New file.
53355         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
53356         * m4/fchdir.m4: New file.
53357         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
53358         (gl_HEADER_UNISTD): Invoke it.
53359         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
53360         function.
53361         * lib/backupfile.c (opendir, closedir): Undefine.
53362         * lib/chown.c (open, close): Undefine.
53363         * lib/clean-temp.c (open, close): Undefine.
53364         * lib/copy-file.c (open, close): Undefine.
53365         * lib/execute.c (open, close): Undefine.
53366         * lib/fsusage.c (open, close): Undefine.
53367         * lib/gc-gnulib.c (open, close): Undefine.
53368         * lib/getcwd.c (opendir, closedir): Undefine.
53369         * lib/glob.c (opendir, closedir): Undefine.
53370         * lib/javacomp.c (open, close): Undefine.
53371         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
53372         * lib/openat-proc.c (open, close): Undefine.
53373         * lib/pagealign_alloc.c (open, close): Undefine.
53374         * lib/pipe.c (open, close): Undefine.
53375         * lib/progreloc.c (open, close): Undefine.
53376         * lib/savedir.c (opendir, closedir): Undefine.
53377         * lib/utime.c (open, close): Undefine.
53378         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
53379
53380 2007-01-10  Bruno Haible  <bruno@clisp.org>
53381
53382         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
53383
53384 2007-01-12  Eric Blake  <ebb9@byu.net>
53385
53386         Provide a robust <wchar.h>.  Further simplifications are now
53387         possible in other modules, but not included here.
53388         * modules/wchar: New module.
53389         * m4/wchar.m4: New file.
53390         * lib/wchar_.h: Likewise.
53391         * modules/mbchar (Depends-on): Depend on wchar, as the first use
53392         of the new module.
53393         * MODULES.html.sh (Extended multibyte and wide character utilities):
53394         New section.
53395
53396 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
53397
53398         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
53399         to a reasonable default for memory allocation.
53400         (xreadlink): Don't allocate a huge buffer, to work around a buggy
53401         file system that reports garbage st_size values for symlinks.
53402         Problem reported by Liyang Hu.
53403
53404 2007-01-11  Simon Josefsson  <simon@josefsson.org>
53405
53406         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
53407         Emacs .#* auto-save files).
53408
53409 2007-01-11  Bruno Haible  <bruno@clisp.org>
53410
53411         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
53412         directory.
53413
53414 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
53415
53416         Use @...@ consistently in lib/wctype_.h.
53417         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
53418         on it being set to 1 or 0.
53419         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
53420         go back to AC_SUBSTing it.
53421         * modules/wctype (Makefile.am): Undo previous change.
53422
53423 2007-01-10  Eric Blake  <ebb9@byu.net>
53424
53425         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
53426         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
53427         * modules/wctype (Makefile.am): Likewise.
53428         Reported by Chris McGuire.
53429
53430 2007-01-10  Jim Meyering  <jim@meyering.net>
53431
53432         fts.c: a small readability/maintainability improvement
53433         * lib/fts.c (fts_read): Make this code slightly more readable and
53434         maintainable by hoisting the "sp->fts_cur = p" assignments to
53435         immediately follow the statements that set P.  Derived from
53436         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
53437
53438 2007-01-10  Eric Blake  <ebb9@byu.net>
53439
53440         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
53441         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
53442         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53443         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53444         Reported by Chris McGuire.
53445
53446 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53447
53448         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
53449         in sed script.
53450
53451 2007-01-09  Bruno Haible  <bruno@clisp.org>
53452
53453         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
53454         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
53455         variables.
53456         (func_module): Use them.
53457
53458 2007-01-09  Bruno Haible  <bruno@clisp.org>
53459
53460         * modules/unistr/base: New file.
53461         * lib/unistr.h: New file.
53462
53463         * modules/unistr/u8-to-u16: New file.
53464         * lib/unistr/u8-to-u16.c: New file.
53465
53466         * modules/unistr/u8-to-u32: New file.
53467         * lib/unistr/u8-to-u32.c: New file.
53468
53469         * modules/unistr/u16-to-u8: New file.
53470         * lib/unistr/u16-to-u8.c: New file.
53471
53472         * modules/unistr/u16-to-u32: New file.
53473         * lib/unistr/u16-to-u32.c: New file.
53474
53475         * modules/unistr/u32-to-u8: New file.
53476         * lib/unistr/u32-to-u8.c: New file.
53477
53478         * modules/unistr/u32-to-u16: New file.
53479         * lib/unistr/u32-to-u16.c: New file.
53480
53481         * modules/unistr/u8-check: New file.
53482         * modules/unistr/u16-check: New file.
53483         * modules/unistr/u32-check: New file.
53484         * lib/unistr/u8-check.c: New file.
53485         * lib/unistr/u16-check.c: New file.
53486         * lib/unistr/u32-check.c: New file.
53487
53488         * modules/unistr/u8-chr: New file.
53489         * modules/unistr/u16-chr: New file.
53490         * modules/unistr/u32-chr: New file.
53491         * lib/unistr/u8-chr.c: New file.
53492         * lib/unistr/u16-chr.c: New file.
53493         * lib/unistr/u32-chr.c: New file.
53494
53495         * modules/unistr/u8-cmp: New file.
53496         * modules/unistr/u16-cmp: New file.
53497         * modules/unistr/u32-cmp: New file.
53498         * lib/unistr/u8-cmp.c: New file.
53499         * lib/unistr/u16-cmp.c: New file.
53500         * lib/unistr/u32-cmp.c: New file.
53501
53502         * modules/unistr/u8-cpy: New file.
53503         * modules/unistr/u16-cpy: New file.
53504         * modules/unistr/u32-cpy: New file.
53505         * lib/unistr/u8-cpy.c: New file.
53506         * lib/unistr/u16-cpy.c: New file.
53507         * lib/unistr/u32-cpy.c: New file.
53508         * lib/unistr/u-cpy.h: New file.
53509
53510         * modules/unistr/u8-cpy-alloc: New file.
53511         * modules/unistr/u16-cpy-alloc: New file.
53512         * modules/unistr/u32-cpy-alloc: New file.
53513         * lib/unistr/u8-cpy-alloc.c: New file.
53514         * lib/unistr/u16-cpy-alloc.c: New file.
53515         * lib/unistr/u32-cpy-alloc.c: New file.
53516         * lib/unistr/u-cpy-alloc.h: New file.
53517
53518         * modules/unistr/u8-endswith: New file.
53519         * modules/unistr/u16-endswith: New file.
53520         * modules/unistr/u32-endswith: New file.
53521         * lib/unistr/u8-endswith.c: New file.
53522         * lib/unistr/u16-endswith.c: New file.
53523         * lib/unistr/u32-endswith.c: New file.
53524         * lib/unistr/u-endswith.h: New file.
53525
53526         * modules/unistr/u8-mblen: New file.
53527         * modules/unistr/u16-mblen: New file.
53528         * modules/unistr/u32-mblen: New file.
53529         * lib/unistr/u8-mblen.c: New file.
53530         * lib/unistr/u16-mblen.c: New file.
53531         * lib/unistr/u32-mblen.c: New file.
53532
53533         * modules/unistr/u8-mbtouc: New file.
53534         * modules/unistr/u16-mbtouc: New file.
53535         * modules/unistr/u32-mbtouc: New file.
53536         * lib/unistr/u8-mbtouc.c: New file.
53537         * lib/unistr/u16-mbtouc.c: New file.
53538         * lib/unistr/u32-mbtouc.c: New file.
53539
53540         * modules/unistr/u8-mbtouc-safe: New file.
53541         * modules/unistr/u16-mbtouc-safe: New file.
53542         * modules/unistr/u32-mbtouc-safe: New file.
53543         * lib/unistr/u8-mbtouc-safe.c: New file.
53544         * lib/unistr/u16-mbtouc-safe.c: New file.
53545         * lib/unistr/u32-mbtouc-safe.c: New file.
53546
53547         * modules/unistr/u8-move: New file.
53548         * modules/unistr/u16-move: New file.
53549         * modules/unistr/u32-move: New file.
53550         * lib/unistr/u8-move.c: New file.
53551         * lib/unistr/u16-move.c: New file.
53552         * lib/unistr/u32-move.c: New file.
53553         * lib/unistr/u-move.h: New file.
53554
53555         * modules/unistr/u8-next: New file.
53556         * modules/unistr/u16-next: New file.
53557         * modules/unistr/u32-next: New file.
53558         * lib/unistr/u8-next.c: New file.
53559         * lib/unistr/u16-next.c: New file.
53560         * lib/unistr/u32-next.c: New file.
53561
53562         * modules/unistr/u8-prev: New file.
53563         * modules/unistr/u16-prev: New file.
53564         * modules/unistr/u32-prev: New file.
53565         * lib/unistr/u8-prev.c: New file.
53566         * lib/unistr/u16-prev.c: New file.
53567         * lib/unistr/u32-prev.c: New file.
53568
53569         * modules/unistr/u8-set: New file.
53570         * modules/unistr/u16-set: New file.
53571         * modules/unistr/u32-set: New file.
53572         * lib/unistr/u8-set.c: New file.
53573         * lib/unistr/u16-set.c: New file.
53574         * lib/unistr/u32-set.c: New file.
53575         * lib/unistr/u-set.h: New file.
53576
53577         * modules/unistr/u8-startswith: New file.
53578         * modules/unistr/u16-startswith: New file.
53579         * modules/unistr/u32-startswith: New file.
53580         * lib/unistr/u8-startswith.c: New file.
53581         * lib/unistr/u16-startswith.c: New file.
53582         * lib/unistr/u32-startswith.c: New file.
53583         * lib/unistr/u-startswith.h: New file.
53584
53585         * modules/unistr/u8-stpcpy: New file.
53586         * modules/unistr/u16-stpcpy: New file.
53587         * modules/unistr/u32-stpcpy: New file.
53588         * lib/unistr/u8-stpcpy.c: New file.
53589         * lib/unistr/u16-stpcpy.c: New file.
53590         * lib/unistr/u32-stpcpy.c: New file.
53591         * lib/unistr/u-stpcpy.h: New file.
53592
53593         * modules/unistr/u8-stpncpy: New file.
53594         * modules/unistr/u16-stpncpy: New file.
53595         * modules/unistr/u32-stpncpy: New file.
53596         * lib/unistr/u8-stpncpy.c: New file.
53597         * lib/unistr/u16-stpncpy.c: New file.
53598         * lib/unistr/u32-stpncpy.c: New file.
53599         * lib/unistr/u-stpncpy.h: New file.
53600
53601         * modules/unistr/u8-strcat: New file.
53602         * modules/unistr/u16-strcat: New file.
53603         * modules/unistr/u32-strcat: New file.
53604         * lib/unistr/u8-strcat.c: New file.
53605         * lib/unistr/u16-strcat.c: New file.
53606         * lib/unistr/u32-strcat.c: New file.
53607         * lib/unistr/u-strcat.h: New file.
53608
53609         * modules/unistr/u8-strchr: New file.
53610         * modules/unistr/u16-strchr: New file.
53611         * modules/unistr/u32-strchr: New file.
53612         * lib/unistr/u8-strchr.c: New file.
53613         * lib/unistr/u16-strchr.c: New file.
53614         * lib/unistr/u32-strchr.c: New file.
53615
53616         * modules/unistr/u8-strcmp: New file.
53617         * modules/unistr/u16-strcmp: New file.
53618         * modules/unistr/u32-strcmp: New file.
53619         * lib/unistr/u8-strcmp.c: New file.
53620         * lib/unistr/u16-strcmp.c: New file.
53621         * lib/unistr/u32-strcmp.c: New file.
53622
53623         * modules/unistr/u8-strcpy: New file.
53624         * modules/unistr/u16-strcpy: New file.
53625         * modules/unistr/u32-strcpy: New file.
53626         * lib/unistr/u8-strcpy.c: New file.
53627         * lib/unistr/u16-strcpy.c: New file.
53628         * lib/unistr/u32-strcpy.c: New file.
53629         * lib/unistr/u-strcpy.h: New file.
53630
53631         * modules/unistr/u8-strcspn: New file.
53632         * modules/unistr/u16-strcspn: New file.
53633         * modules/unistr/u32-strcspn: New file.
53634         * lib/unistr/u8-strcspn.c: New file.
53635         * lib/unistr/u16-strcspn.c: New file.
53636         * lib/unistr/u32-strcspn.c: New file.
53637         * lib/unistr/u-strcspn.h: New file.
53638
53639         * modules/unistr/u8-strdup: New file.
53640         * modules/unistr/u16-strdup: New file.
53641         * modules/unistr/u32-strdup: New file.
53642         * lib/unistr/u8-strdup.c: New file.
53643         * lib/unistr/u16-strdup.c: New file.
53644         * lib/unistr/u32-strdup.c: New file.
53645         * lib/unistr/u-strdup.h: New file.
53646
53647         * modules/unistr/u8-strlen: New file.
53648         * modules/unistr/u16-strlen: New file.
53649         * modules/unistr/u32-strlen: New file.
53650         * lib/unistr/u8-strlen.c: New file.
53651         * lib/unistr/u16-strlen.c: New file.
53652         * lib/unistr/u32-strlen.c: New file.
53653         * lib/unistr/u-strlen.h: New file.
53654
53655         * modules/unistr/u8-strmblen: New file.
53656         * modules/unistr/u16-strmblen: New file.
53657         * modules/unistr/u32-strmblen: New file.
53658         * lib/unistr/u8-strmblen.c: New file.
53659         * lib/unistr/u16-strmblen.c: New file.
53660         * lib/unistr/u32-strmblen.c: New file.
53661
53662         * modules/unistr/u8-strmbtouc: New file.
53663         * modules/unistr/u16-strmbtouc: New file.
53664         * modules/unistr/u32-strmbtouc: New file.
53665         * lib/unistr/u8-strmbtouc.c: New file.
53666         * lib/unistr/u16-strmbtouc.c: New file.
53667         * lib/unistr/u32-strmbtouc.c: New file.
53668
53669         * modules/unistr/u8-strncat: New file.
53670         * modules/unistr/u16-strncat: New file.
53671         * modules/unistr/u32-strncat: New file.
53672         * lib/unistr/u8-strncat.c: New file.
53673         * lib/unistr/u16-strncat.c: New file.
53674         * lib/unistr/u32-strncat.c: New file.
53675         * lib/unistr/u-strncat.h: New file.
53676
53677         * modules/unistr/u8-strncmp: New file.
53678         * modules/unistr/u16-strncmp: New file.
53679         * modules/unistr/u32-strncmp: New file.
53680         * lib/unistr/u8-strncmp.c: New file.
53681         * lib/unistr/u16-strncmp.c: New file.
53682         * lib/unistr/u32-strncmp.c: New file.
53683
53684         * modules/unistr/u8-strncpy: New file.
53685         * modules/unistr/u16-strncpy: New file.
53686         * modules/unistr/u32-strncpy: New file.
53687         * lib/unistr/u8-strncpy.c: New file.
53688         * lib/unistr/u16-strncpy.c: New file.
53689         * lib/unistr/u32-strncpy.c: New file.
53690         * lib/unistr/u-strncpy.h: New file.
53691
53692         * modules/unistr/u8-strnlen: New file.
53693         * modules/unistr/u16-strnlen: New file.
53694         * modules/unistr/u32-strnlen: New file.
53695         * lib/unistr/u8-strnlen.c: New file.
53696         * lib/unistr/u16-strnlen.c: New file.
53697         * lib/unistr/u32-strnlen.c: New file.
53698         * lib/unistr/u-strnlen.h: New file.
53699
53700         * modules/unistr/u8-strpbrk: New file.
53701         * modules/unistr/u16-strpbrk: New file.
53702         * modules/unistr/u32-strpbrk: New file.
53703         * lib/unistr/u8-strpbrk.c: New file.
53704         * lib/unistr/u16-strpbrk.c: New file.
53705         * lib/unistr/u32-strpbrk.c: New file.
53706         * lib/unistr/u-strpbrk.h: New file.
53707
53708         * modules/unistr/u8-strrchr: New file.
53709         * modules/unistr/u16-strrchr: New file.
53710         * modules/unistr/u32-strrchr: New file.
53711         * lib/unistr/u8-strrchr.c: New file.
53712         * lib/unistr/u16-strrchr.c: New file.
53713         * lib/unistr/u32-strrchr.c: New file.
53714
53715         * modules/unistr/u8-strspn: New file.
53716         * modules/unistr/u16-strspn: New file.
53717         * modules/unistr/u32-strspn: New file.
53718         * lib/unistr/u8-strspn.c: New file.
53719         * lib/unistr/u16-strspn.c: New file.
53720         * lib/unistr/u32-strspn.c: New file.
53721         * lib/unistr/u-strspn.h: New file.
53722
53723         * modules/unistr/u8-strstr: New file.
53724         * modules/unistr/u16-strstr: New file.
53725         * modules/unistr/u32-strstr: New file.
53726         * lib/unistr/u8-strstr.c: New file.
53727         * lib/unistr/u16-strstr.c: New file.
53728         * lib/unistr/u32-strstr.c: New file.
53729         * lib/unistr/u-strstr.h: New file.
53730
53731         * modules/unistr/u8-strtok: New file.
53732         * modules/unistr/u16-strtok: New file.
53733         * modules/unistr/u32-strtok: New file.
53734         * lib/unistr/u8-strtok.c: New file.
53735         * lib/unistr/u16-strtok.c: New file.
53736         * lib/unistr/u32-strtok.c: New file.
53737         * lib/unistr/u-strtok.h: New file.
53738
53739         * modules/unistr/u8-uctomb: New file.
53740         * modules/unistr/u16-uctomb: New file.
53741         * modules/unistr/u32-uctomb: New file.
53742         * lib/unistr/u8-uctomb.c: New file.
53743         * lib/unistr/u16-uctomb.c: New file.
53744         * lib/unistr/u32-uctomb.c: New file.
53745
53746         * MODULES.html.sh (Unicode string functions): Add the new modules.
53747
53748 2007-01-08  Bruno Haible  <bruno@clisp.org>
53749
53750         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
53751         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
53752         subdirectories.
53753
53754 2007-01-08  Karl Berry  <karl@gnu.org>
53755
53756         * doc/error.texi: mention that main() fns must set program_name
53757         when progname is used.
53758
53759 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
53760
53761         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
53762         WCTYPE_H is empty, for the benefit of builds from non-distclean
53763         directories.  Problem reported by Eric Blake in
53764         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53765
53766 2007-01-08  Bruno Haible  <bruno@clisp.org>
53767
53768         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53769         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53770         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53771         PROVIDE_CANONICALIZE_FILENAME_MODE.
53772         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53773
53774 2007-01-08  Bruno Haible  <bruno@clisp.org>
53775
53776         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53777         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53778         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53779         * lib/fts.c: Likewise.
53780         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53781
53782 2006-12-25  Bruno Haible  <bruno@clisp.org>
53783
53784         * modules/utf8-ucs4-safe: New file.
53785         * lib/utf8-ucs4-safe.h: New file.
53786         * lib/unistr/utf8-ucs4-safe.c: New file.
53787
53788         * modules/utf16-ucs4-safe: New file.
53789         * lib/utf16-ucs4-safe.h: New file.
53790         * lib/unistr/utf16-ucs4-safe.c: New file.
53791
53792         * MODULES.html.sh (Unicode string functions): Add the new modules.
53793
53794 2007-01-08  Bruno Haible  <bruno@clisp.org>
53795
53796         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53797         (Depends-on): Add unitypes.
53798         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53799         (u8_mbtouc_aux): Move out to separate file.
53800         (u8_mbtouc): Use ucs4_t, uint8_t types.
53801         * lib/unistr/utf8-ucs4.c: New file.
53802
53803         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53804         (Depends-on): Add unitypes.
53805         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53806         (u16_mbtouc_aux): Move out to separate file.
53807         (u16_mbtouc): Use ucs4_t, uint16_t types.
53808         * lib/unistr/utf16-ucs4.c: New file.
53809
53810         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53811         (Depends-on): Add unitypes.
53812         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53813         (u8_uctomb_aux): Move out to separate file.
53814         (u8_uctomb): Use ucs4_t, uint8_t types.
53815         * lib/unistr/ucs4-utf8.c: New file.
53816
53817         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53818         (Depends-on): Add unitypes.
53819         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53820         (u16_uctomb_aux): Move out to separate file.
53821         (u16_uctomb): Use ucs4_t, uint16_t types.
53822         * lib/unistr/ucs4-utf16.c: New file.
53823
53824 2006-12-25  Bruno Haible  <bruno@clisp.org>
53825
53826         * modules/unitypes: New file.
53827         * lib/unitypes.h: New file.
53828         * MODULES.html.sh (func_all_modules): New section "Unicode string
53829         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53830         this section. Add unitypes.
53831
53832 2007-01-08  Bruno Haible  <bruno@clisp.org>
53833
53834         Avoid variable names that conflict with those from libtool.
53835         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53836         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53837         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53838         library_names_spec to acl_library_names_spec, hardcode_* to
53839         acl_hardcode_*.
53840         Reported by Ralf Wildenhues.
53841
53842 2007-01-08  Bruno Haible  <bruno@clisp.org>
53843
53844         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53845         definition.
53846         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53847         definition.
53848         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53849         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53850         definition.
53851         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53852         definition.
53853         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53854         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53855         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53856         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53857         definition.
53858         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53859         definition.
53860         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53861         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53862         GC_USE_<algorithm>.
53863         * lib/gc-libgcrypt.c: Likewise.
53864         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53865         * modules/gc-arctwo (configure.ac): Likewise.
53866         * modules/gc-des (configure.ac): Likewise.
53867         * modules/gc-hmac-md5 (configure.ac): Likewise.
53868         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53869         * modules/gc-md2 (configure.ac): Likewise.
53870         * modules/gc-md4 (configure.ac): Likewise.
53871         * modules/gc-md5 (configure.ac): Likewise.
53872         * modules/gc-random (configure.ac): Likewise.
53873         * modules/gc-rijndael (configure.ac): Likewise.
53874         * modules/gc-sha1 (configure.ac): Likewise.
53875
53876 2007-01-08  Bruno Haible  <bruno@clisp.org>
53877
53878         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53879         macro definition.
53880         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53881         definition.
53882         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53883         definition.
53884         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53885         * modules/fcntl-safer (configure.ac): Likewise.
53886         * modules/fopen-safer (configure.ac): Likewise.
53887         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53888         GNULIB_FWRITEERROR macro definition.
53889
53890 2007-01-08  Bruno Haible  <bruno@clisp.org>
53891
53892         * m4/gnulib-common.m4: New file.
53893         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53894         (func_get_filelist): Add m4/gnulib-common.m4.
53895
53896 2007-01-08  Bruno Haible  <bruno@clisp.org>
53897
53898         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53899         command.
53900
53901 2007-01-08  Jim Meyering  <jim@meyering.net>
53902
53903         Use a more robust test for a "can't happen" condition.
53904         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53905         narrowed the st_size value.  Presuming the "can't happen" condition
53906         is true, that narrowing could conceivably convert an invalid st_size
53907         value into a valid one.  Instead, use a change based on Matthew
53908         Woehlke's original patch.
53909
53910         Slight readability improvement: use an assert-like macro
53911         in place of literal "abort ()" uses.
53912         * lib/fts.c (fts_assert): Define.
53913         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53914         Use this macro instead of a bare 'abort'.
53915
53916 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53917
53918         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53919         simply work around them.
53920         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53921         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53922         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53923         declaring.
53924         Don't bother to define as macros, since the standard doesn't require it.
53925         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53926         longer worry about IRIX 5.3.
53927         (HAVE_WCTYPE_CTMP_BUG): Remove.
53928
53929 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53930
53931         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53932         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53933         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53934         Problems reported by Georg Schwarz for IRIX 5.3.
53935
53936         * gnulib-tool (autoconf_minversion): Take the maximum version number
53937         found, not the minimum.  Problem reported by James Youngman.
53938
53939 2007-01-03  Karl Berry  <karl@gnu.org>
53940
53941         * doc/error.texi: new file, explaining interaction with progname.
53942         * doc/gnulib.texi: include it.  Update copyright.
53943
53944 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53945
53946         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53947         AC_CANONICAL_HOST, to improve autobuild outputs.
53948
53949 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53950             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53951
53952         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53953         sockets, server sockets, and other file descriptors.  Count errors
53954         to compute the return value.  Reorder the code a bit to be easier
53955         to follow.  Don't set event bits that were not requested (except
53956         POLLERR and POLLHUP).
53957
53958 2007-01-01  Bruno Haible  <bruno@clisp.org>
53959
53960         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53961
53962 2007-01-03  Jim Meyering  <jim@meyering.net>
53963
53964         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53965
53966 2007-01-02  Bruno Haible  <bruno@clisp.org>
53967
53968         * modules/settime (Include): Require timespec.h.
53969         * modules/nanosleep (Include): Likewise.
53970
53971 2007-01-01  Bruno Haible  <bruno@clisp.org>
53972
53973         * gnulib-tool (func_emit_copyright_notice): Bump year.
53974         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53975
53976 2007-01-01  Bruno Haible  <bruno@clisp.org>
53977
53978         Improve support for OpenBSD.
53979         * build-aux/config.rpath (libname_spec): Export.
53980         (library_names_spec): New variable. Export.
53981         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53982         library_names_spec from the config.rpath output. Locate shared library
53983         through the name pattern in library_names_spec.
53984
53985 2007-01-01  Eric Blake  <ebb9@byu.net>
53986
53987         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53988
53989 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53990
53991         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53992         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53993         assume the C locale, and avoid an "eval" that could cause trouble.
53994         Problem with SORT reported by Bob Proulx.
53995
53996         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53997         Define.  Trivial patch from Henning Nielsen Lund, originally
53998         sent to bug-grep@gnu.org today.
53999
54000 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54001
54002         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
54003         struct stat.  Problem reported by Henning Nielsen Lund.
54004         * lib/acl.c: Include acl.h first, to check interface.  Don't
54005         bother to include sys/types.h and sys/stat.h again.
54006
54007 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54008
54009         Import the following change from libc; problem reported by
54010         Sven Verdoolaege.
54011
54012         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
54013
54014         [BZ #1373]
54015         * lib/argp.h: Remove __NTH for __argp_usage inline function.
54016
54017 2006-12-28  Jim Meyering  <jim@meyering.net>
54018
54019         * build-aux/announce-gen: Do not assume that the package
54020         builds any of tar.gz, tar.bz2, and .xdelta files.
54021         Suggestion from Simon Josefsson.
54022
54023 2006-12-28  Simon Josefsson  <simon@josefsson.org>
54024
54025         * modules/announce-gen: New file.
54026
54027 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
54028
54029         * lib/mbchar.h: Just include <wctype.h>; the wctype module
54030         handles its gotchas now.
54031         * lib/mbswidth.c: Likewise.
54032         * lib/wcwidth.h: Likewise.
54033         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
54034         and iswcntrl; the wctype module does this stuff now.
54035         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
54036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54037         * modules/mbchar (Depends-on): Add wctype.
54038         * modules/mbswidth (Depends-on): Likewise.
54039         * modules/wcwidth (Depends-on): Likewise.
54040
54041 2006-12-27  Eric Blake  <ebb9@byu.net>
54042
54043         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
54044         module uses more than what <wctype.h> is required to provide.
54045
54046 2006-12-26  Eric Blake  <ebb9@byu.net>
54047
54048         * gnulib-tool (sed_extract_prog): Avoid space-tab.
54049
54050 2006-12-26  Eric Blake  <ebb9@byu.net>
54051
54052         * modules/absolute-header: New module.
54053         * modules/fcntl (Depends-on): Depend on it.
54054         * modules/inttypes (Depends-on): Likewise.
54055         * modules/stdint (Depends-on): Likewise.
54056         * modules/sys_stat (Depends-on): Likewise.
54057         * modules/wctype (Depends-on): Likewise.
54058         * MODULES.html.sh (Support for building libraries and
54059         executables): Document it.
54060
54061 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
54062
54063         * gnulib-tool (SED): Remove, undoing previous change.
54064         The problem was that it broke coreutils on Solaris, because
54065         "sed --posix" leaked into a makefile.
54066         (sed): New alias, if 'alias' and GNU sed.
54067
54068 2006-12-24  Jim Meyering  <jim@meyering.net>
54069
54070         Work around an fchownat bug in glibc-2.4:
54071         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
54072         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
54073         in spite of the -P option.
54074         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
54075         New macros.
54076         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
54077         * modules/openat (Files): Add lib/fchownat.c.
54078         * lib/openat.c (fchownat): Don't define here.  Move to...
54079         * lib/fchownat.c: ...this new file.
54080
54081 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54082
54083         Fix bug reported by Bruno Haible in
54084         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
54085         where quotearg.c didn't compile on Mac OS X 10.2 because it
54086         lacks <wchar.h> and wint_t.
54087         * lib/wctype_.h (__wctype_wint_t): New type.
54088         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
54089         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
54090         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
54091         Arg is now of type __wctype_wint_t, not wint_t.
54092         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
54093         substitute HAVE_WINT_T.
54094         * modules/wctype (Files): Add m4/wint_t.m4.
54095         (wctype.h): Substitute HAVE_WINT_T.
54096
54097 2006-12-23  Bruno Haible  <bruno@clisp.org>
54098
54099         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
54100
54101 2006-12-23  Bruno Haible  <bruno@clisp.org>
54102
54103         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
54104         S_ISLNK.
54105         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
54106         mingw.
54107
54108 2006-12-22  Bruno Haible  <bruno@clisp.org>
54109
54110         * lib/copy-file.c: Include acl.h.
54111         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
54112         Close the file descriptors only after being done with copy_acl.
54113         * modules/copy-file (Depends-on): Add acl.
54114
54115 2006-12-22  Bruno Haible  <bruno@clisp.org>
54116
54117         * gnulib-tool (SED): New variable.
54118         Use $SED instead of sed everywhere.
54119
54120 2006-12-22  Bruno Haible  <bruno@clisp.org>
54121
54122         * modules/no-c++: New file.
54123         * m4/no-c++.m4: New file.
54124         * MODULES.html.sh (Support for building libraries and executables):
54125         Add no-c++.
54126
54127 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
54128
54129         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54130         Include <limits.h>, and use its INT_MAX to rewrite the
54131         j loop so that it does not overflow 'int'.  Problem reported by
54132         Ralf Wildenhues in
54133         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54134         Play it safe by shifting left by 1 rather than multiplying by 2,
54135         as GCC is less likely to optimize this away when the value
54136         is signed (when it assumes overflow leads to undefined behavior).
54137         Also, don't assume time_t uses two's complement.
54138
54139 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
54140
54141         * MODULES.html.sh: New module wctype.
54142         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
54143         * lib/fnmatch.c: Don't bother to include <wchar.h> before
54144         <wctype.h>, since the new wctype module should fix this.
54145         * lib/quotearg.c: Include <wctype.h> unconditionally, since
54146         the wctype module should arrange for it.
54147         * lib/regex_internal.h: Likewise.
54148         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
54149         since the wctype module should handle this now.
54150         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
54151         * modules/fnmatch (Depends-on): Add wctype.
54152         * modules/quotearg (Depends-on): Likewise.
54153         * modules/regex (Depends-on): Likewise.
54154
54155 2006-12-19  Bruno Haible  <bruno@clisp.org>
54156
54157         * lib/strdup.h [C++]: Wrap definitions in extern "C".
54158         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
54159
54160 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54161
54162         * modules/savewd (Depends-on): Fix dependency on fcntl.
54163
54164 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54165
54166         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
54167         conforms to C99, rather than relying on the user's environment
54168         setting of STDINT_H.
54169
54170 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54171         and Eric Blake  <ebb9@byu.net>
54172
54173         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
54174         This is more consistent with the other defines here.
54175         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
54176         Port to z/OS.  Problem reported by Paul Gilmartin.
54177         Change local vars to use gl_ prefix rather than ac_.
54178         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
54179         with other defines.
54180         * modules/double-slash-root: New module.
54181         * modules/dirname (Files): Remove m4/double-slash-root.m4.
54182         (Depends-on): Add double-slash-root.
54183         * MODULES.html.sh (File system functions): Mention new module.
54184
54185 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
54186
54187         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
54188         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
54189         This is for the benefit of gzip, which doesn't do i18n.
54190
54191 2006-12-12  Jim Meyering  <jim@meyering.net>
54192
54193         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
54194         Reported by Andreas Schwab <schwab@suse.de>.
54195
54196 2006-12-12  Bruno Haible  <bruno@clisp.org>
54197
54198         Merge these changes.
54199         2006-09-05  Bruno Haible  <bruno@clisp.org>
54200         * lib/iconvme.c (iconv_string): No need to save and restore errno when
54201         iconv_alloc succeeded.
54202         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
54203         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
54204         test for " && dest " at the end - dest is always != NULL there. Call
54205         iconv with 4xNULL arguments initially, to reset the state. Call iconv
54206         with 2xNULL arguments, also to flush the state storage. Handle the
54207         IRIX iconv behaviour. Realloc the final result, to throw away unused
54208         memory.
54209
54210 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
54211
54212         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
54213         and fchmodat unconditionally, since glibc 2.4 has them.
54214         Problem reported by Arkadiusz Miskiewicz.
54215
54216 2006-12-10  Bruno Haible  <bruno@clisp.org>
54217
54218         * gnulib-tool (func_import): Show the include files only for those
54219         modules that are copied and specified.
54220         Reported by Karl Berry.
54221
54222 2006-12-08  Jim Meyering  <jim@meyering.net>
54223
54224         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
54225         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
54226
54227         * build-aux/announce-gen: Add two new options, both optional:
54228         --bootstrap-tools=TOOL_LIST
54229               a comma-separated list of tools, e.g.,
54230               autoconf,automake,bison,gnulib
54231         --gnulib-snapshot-date=DATE
54232               if gnulib is in the bootstrap tool list,
54233               then report this as the snapshot date.
54234               If not specified, use the current date/time.
54235               If you specify a date here, be sure it's UTC.
54236
54237 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54238
54239         * tests/test-argp-2.sh: Fix test to match actual output.
54240         (func_compare): Fix sed script to be portable.
54241
54242 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
54243
54244         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
54245         workaround for this case.  It is not autoconfigured now; offhand
54246         it's hard to see how to autoconfigure it.
54247
54248 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54249
54250         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
54251         a directory that is about to be chowned.  Such a directory's
54252         initial file permissions should permit the owner only and this
54253         should not be changed until after the chown, since the group and
54254         other bits would be incorrect if they granted permission before
54255         the chown.
54256
54257         Fix porting problem for iswctype reported by Georg Schwarz in:
54258         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
54259         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
54260         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
54261         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
54262         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54263
54264 2006-12-03  Jim Meyering  <jim@meyering.net>
54265
54266         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
54267         p->fts_statp may not yet be defined.
54268         (fts_read): Instead, set it in the caller, once p->fts_statp is
54269         sure to be defined, and corresponds to a top-level directory.
54270         This bug made du -x fail.  Here's the coreutils test case:
54271         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
54272         Reported by Mike Frysinger.
54273
54274 2006-12-01  Jim Meyering  <jim@meyering.net>
54275
54276         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
54277         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
54278         Reported by Simon Josefsson.
54279
54280 2006-11-30  Jim Meyering  <jim@meyering.net>
54281
54282         * m4/warning.m4: Use the all-permissive copyright notice
54283         recommended by RMS (rather than LGPL).
54284         * m4/vararrays.m4: Likewise.
54285         * m4/flexmember.m4: Likewise.
54286
54287 2006-11-29  Bruno Haible  <bruno@clisp.org>
54288
54289         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54290         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
54291         using +=.
54292         Reported by Simon Josefsson <simon@josefsson.org>.
54293
54294 2006-11-28  James Youngman <jay@gnu.org>
54295
54296         * README: Advise users that they might find the bug-gnulib@gnu.org
54297         and autotools-announce@gnu.org mailing lists useful.
54298
54299 2006-11-28  Bruno Haible  <bruno@clisp.org>
54300
54301         * m4/ptrdiff_max.m4: Remove file.
54302
54303 2006-11-21  Bruno Haible  <bruno@clisp.org>
54304
54305         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
54306         _AC_COMPUTE_INT.
54307         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54308         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
54309         _AC_COMPUTE_INT.
54310         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54311         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
54312         _AC_COMPUTE_INT.
54313         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54314
54315 2006-11-28  Jim Meyering  <jim@meyering.net>
54316
54317         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
54318         warning from "gcc -Wshadow" about shadowing the builtin.
54319
54320 2006-11-27  Bruno Haible  <bruno@clisp.org>
54321
54322         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
54323         _AC_COMPUTE_INT.
54324         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54325
54326 2006-11-27  Bruno Haible  <bruno@clisp.org>
54327             Paul Eggert  <eggert@cs.ucla.edu>
54328
54329         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
54330
54331 2006-11-26  Bruno Haible  <bruno@clisp.org>
54332
54333         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54334         noinst_LTLIBRARIES.
54335
54336 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54337             Bruno Haible  <bruno@clisp.org>
54338
54339         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
54340         if compiling with "gcc -ansi".
54341
54342 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54343
54344         Fix some incompatibilities with gcc -ansi -pedantic.
54345         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
54346         if compiling pedantically with GCC, unless it's C99 or later.
54347         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
54348         it mishandles gcc -ansi -pedantic as well.
54349         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
54350         if gcc -pedantic.
54351         * lib/regexec.c (check_node_accept_bytes): Don't use auto
54352         initializers for struct if -pedantic, unless it's C99 or later.
54353
54354 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
54355
54356         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
54357         Don't close an fd more than once. Identical atimes indicate
54358         success, not failure.
54359
54360 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
54361
54362         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
54363
54364 2006-11-23  Jim Meyering  <jim@meyering.net>
54365
54366         * build-aux/announce-gen: New file.  From coreutils.
54367
54368 2006-11-22  Jim Meyering  <jim@meyering.net>
54369
54370         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
54371         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
54372         (fts_read): Use a temporary to narrow the overused st_size member
54373         before using it in a switch statement.  Reported by Matthew Woehlke.
54374
54375         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
54376         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
54377
54378 2006-11-20  Bruno Haible  <bruno@clisp.org>
54379
54380         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
54381         changequote instead of pairs of brackets.
54382         Reported by Andreas Schwab <schwab@suse.de>.
54383
54384 2006-11-21  Jim Meyering  <jim@meyering.net>
54385
54386         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
54387         so as to remain compatible with older compilers.
54388         Patch from Michael Deutschmann.
54389
54390 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54391
54392         * MODULES.html.sh (File system functions): Add openat.
54393
54394         * lib/openat.h (rpl_fstatat): New macro, if
54395         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
54396         (fstatat): Define to rpl_fstatat under the same conditions,
54397         unless COMPILING_FSTATAT.
54398         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
54399         seems to have the bug.
54400         * lib/fstatat.c: New file.
54401         * modules/openat (Files): Add it.
54402
54403 2006-11-20  Bruno Haible  <bruno@clisp.org>
54404
54405         * Makefile: New file.
54406
54407 2006-11-20  Jim Meyering  <jim@meyering.net>
54408
54409         The beginnings of syntax-related checks for gnulib.
54410         * lib/Makefile: New file.
54411         * lib/t-idcache: New script.  Ensure that the two halves of
54412         idcache.c stay in sync.
54413
54414         * lib/idcache.c: Adjust comments in user- and group- portions to
54415         be more accurate, and to be consistent with one another.
54416
54417 2006-11-20  Jim Meyering  <jim@meyering.net>
54418
54419         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
54420         continue using the flexible array member (thus, this module performs
54421         half as many malloc calls), with the addition that...
54422         (getgroup, getuser): Consistently record a non-match via an empty
54423         "name" string, and map an empty string match to a NULL return value.
54424         * modules/idcache (Depends-on): Re-add flexmember.
54425
54426         * lib/idcache.c (getuser): Remove all uses of the register keyword.
54427         (getuidbyname, getgroup, getgidbyname): Likewise.
54428
54429         Use cleaner syntax: NULL rather than 0.
54430         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
54431
54432 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
54433
54434         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
54435         It mishandled the case where the group was missing.
54436         Problem reported by Greg Schafer.
54437         * modules/idcache: Likewise.
54438
54439 2006-11-18  Jim Meyering  <jim@meyering.net>
54440
54441         * check-module (%exempt_header): Add exception for some
54442         conditionally-included headers.
54443
54444         * modules/i-ring (Depends-on): Add verify.
54445         (License): Change to LGPL.
54446
54447 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54448
54449         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
54450         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
54451         and inttostr.h.  Use snprintf rather than uinttostr, so that
54452         LGPLed code doesn't depend on GPLed.
54453
54454 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
54455
54456         * modules/inline (License): Change from GPL to LGPL.
54457
54458 2006-11-17  Jim Meyering  <jim@meyering.net>
54459
54460         * modules/d-type (License): Switch to LGPL.
54461
54462 2006-11-15  Bruno Haible  <bruno@clisp.org>
54463
54464         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
54465
54466 2006-11-15  Eric Blake  <ebb9@byu.net>
54467
54468         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
54469         the module dependency.
54470
54471 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54472             Bruno Haible  <bruno@clisp.org>
54473
54474         * gnulib-tool (func_create_testdir): Add license consistency check.
54475
54476 2006-11-15  Eric Blake  <ebb9@byu.net>
54477
54478         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
54479         random "(cached)" in configure output.
54480
54481 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54482
54483         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
54484         test for conforming inttypes.h is both announced and cached.
54485
54486         * MODULES.html.sh (seen_modules, seen_files): New variables.
54487         (func_module): Rewrite to use a few less gnulib-tool and sed
54488         invocations.  Avoid a couple of quadratic algorithms for ...
54489         (missed_modules, missed_files): ... these, with ...
54490         (func_append, func_tmpdir): ... these new functions, from
54491         gnulib-tool.  Analogously, install traps for cleanup.
54492
54493         * tests/test-gc.c (main): Remove unused variables.
54494         * tests/test-read-file.c: Include stdlib.h, for 'free'.
54495
54496 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
54497
54498         * modules/inttostr (License): Change to LGPL.
54499
54500 2006-11-14  Eric Blake  <ebb9@byu.net>
54501
54502         * modules/tempname (License): Change to LGPL.
54503
54504 2006-11-14  Eric Blake  <ebb9@byu.net>
54505
54506         * doc/functions.texi (Function Portability): *printf functions on
54507         Cygwin now understand all POSIX size specifiers.
54508
54509 2006-11-14  Bruno Haible  <bruno@clisp.org>
54510
54511         * modules/c-ctype (License): Change to LGPL.
54512
54513 2006-11-12  Bruno Haible  <bruno@clisp.org>
54514
54515         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
54516         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
54517         for GNOME libraries, for which the include files are installed in
54518         subdirectories of $prefix/include.
54519
54520 2006-11-12  Bruno Haible  <bruno@clisp.org>
54521
54522         * m4/lib-link.m4: Require at least autoconf-2.54.
54523         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
54524         name to underscores for the --with option.
54525
54526 2006-11-13  Bruno Haible  <bruno@clisp.org>
54527
54528         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
54529         the tests directory.
54530         Reported by Ralf Wildenhues.
54531
54532 2006-11-13  Bruno Haible  <bruno@clisp.org>
54533
54534         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
54535         (func_emit_initmacro_end): Undo the override here.
54536         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
54537         Works around the famous automake error in coreutils.
54538
54539 2006-11-13  Eric Blake  <ebb9@byu.net>
54540
54541         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
54542         element, not its node.
54543
54544 2006-11-12  Bruno Haible  <bruno@clisp.org>
54545
54546         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
54547         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
54548
54549 2006-11-12  Bruno Haible  <bruno@clisp.org>
54550
54551         * gnulib-tool: New option --local-symlink.
54552         (func_usage): Document it.
54553         (lsymbolic): New variable.
54554         (func_import, func_create_testdir): If --symlink was not specified,
54555         test whether --local-symlink was specified and the file comes from
54556         the local_gnulib_dir.
54557
54558 2006-11-12  Bruno Haible  <bruno@clisp.org>
54559
54560         * gnulib-tool (func_ln): New function.
54561         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
54562
54563 2006-11-12  Bruno Haible  <bruno@clisp.org>
54564
54565         Finish support for source files in subdirectories.
54566         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
54567         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
54568         AUTOMAKE_OPTIONS.
54569         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
54570
54571 2006-11-12  Bruno Haible  <bruno@clisp.org>
54572
54573         * gnulib-tool (func_get_automake_snippet): Synthesize also an
54574         EXTRA_lib_SOURCES augmentation.
54575         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
54576
54577 2006-11-12  Jim Meyering  <jim@meyering.net>
54578
54579         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
54580         file descriptors.  This also averts a failure on systems with
54581         native openat support when a traversed directory lacks "x" access.
54582         * lib/fts_.h: Include "i-ring.h"
54583         (struct FTS) [fts_fd_ring]: New member.
54584         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
54585         (FCHDIR): Add parentheses.
54586         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
54587         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
54588         When descending, rather than simply closing the previous
54589         fts_cwd_fd value, push that file descriptor onto the ring.
54590         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
54591         (fts_open): Initialize the new fd_ring member.
54592         (fts_close): Clear the ring.
54593         (fts_safe_changedir): When possible, use our new fd_ring to skip
54594         the diropen and fstat and dev/ino comparison that would normally
54595         accompany a virtual `chdir ("..")'.
54596
54597         * modules/fts (Depends-on): Add i-ring.
54598         * modules/i-ring: New module.
54599         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
54600         * m4/i-ring.m4: New file.
54601
54602 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54603
54604         * gnulib-tool (func_create_testdir): Fix replacement of
54605         `build-aux' in configure.ac.  Run autotools in gltests
54606         subdirectory.
54607         (func_create_testdir, func_create_megatestdir, test): There is
54608         no need for '--force' in most autotool invocations in a new
54609         tree.  Actually fail the whole test if any of the tools, or the
54610         configure or make stages fail.
54611
54612         Sync from Automake.
54613         * build-aux/gnupload: Revert last change.  Add pointer to upload
54614         instructions of the GNU Maintenance Instructions.
54615         Suggestion by Karl Berry.
54616
54617 2006-11-10  Jim Meyering  <jim@meyering.net>
54618
54619         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
54620
54621 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54622
54623         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
54624         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
54625         (bind_textdomain_codeset) [! ENABLE_NLS]:
54626         Evaluate all the arguments.  That way, callers get compatible behavior
54627         if the arguments have side effects.  Also, it avoids some GCC
54628         diagnostics in some cases; Joel E. Denny reported problems when Bison
54629         was configured with --enable-gcc-warnigs.
54630
54631 2006-11-10  Jim Meyering  <jim@meyering.net>
54632
54633         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
54634         relevant options in CFLAGS (like -O, -fno-inline) are taken into
54635         account.
54636
54637 2006-11-10  Jim Meyering  <jim@meyering.net>
54638
54639         * modules/inline: New file/module.
54640         * modules/xalloc (Files): Remove m4/inline.m4.
54641         (Depends-on): Add inline, instead.
54642         * modules/oset: Likewise.
54643         * modules/list: Likewise.
54644
54645 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
54646
54647         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
54648         Problem reported by Matthew Woehlke.
54649
54650 2006-11-09  Bruno Haible  <bruno@clisp.org>
54651
54652         * lib/tempname.c (gen_tempname): Remove variant that invokes
54653         __gen_tempname.
54654         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
54655         __gen_tempname.
54656
54657 2006-11-08  Bruno Haible  <bruno@clisp.org>
54658
54659         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
54660         to 'yes' instead of 'cross-compiling'.
54661
54662 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
54663
54664         * lib/quotearg.h (quotearg_free): New decl.
54665         * lib/quotearg.c (quotearg_free): New function.
54666         (slot0, nslots, slotvec0, slotvec):
54667         Now file-scope so that quotearg_free can get at them.
54668
54669 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54670
54671         Sync from Automake.
54672         * build-aux/gnupload: Add missing 'gnu' to example URL.
54673         Report by Karl Berry.
54674
54675 2006-11-08  Bruno Haible  <bruno@clisp.org>
54676
54677         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
54678         Suggested by Paul Eggert.
54679
54680 2006-11-08  Jim Meyering  <jim@meyering.net>
54681
54682         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
54683         It's already included if !_LIBC.
54684         (fts_safe_changedir): Add a comment.
54685
54686 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54687
54688         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
54689         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
54690         Matthew Woehlke.
54691
54692         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
54693         definitions up, to avoid colliding with change below.
54694         (static_inline) [HAVE_INLINE]: New macro.
54695         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
54696         Provide extern decls when !HAVE_INLINE.  Do not define unless
54697         static_inline is defined, either by us or by xmalloc.c.  Use
54698         static_inline rather than static inline.
54699         (XCALLOC): Optimize sizeof(T) = 1 case.
54700         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
54701
54702 2006-11-07  Bruno Haible  <bruno@clisp.org>
54703
54704         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
54705         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
54706         AC_C_INLINE.
54707         * modules/xalloc (Files): Add m4/inline.m4.
54708
54709 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54710
54711         * README: Fix typo.
54712         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
54713         (Miscellanous Notes): ...from this.
54714
54715 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
54716
54717         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
54718         Mention that offsetof should be used instead of sizeof.
54719         From Bruno Haible.
54720
54721 2006-11-07  Bruno Haible  <bruno@clisp.org>
54722
54723         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
54724
54725 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54726
54727         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54728         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
54729         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54730         (gl_tree_add_before, gl_tree_add_after):
54731         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
54732         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
54733         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
54734         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
54735         (gl_linked_add_after, gl_linked_add_at): Likewise.
54736         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
54737         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54738         (gl_tree_add_before, gl_tree_add_after): Likewise.
54739         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
54740         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
54741         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
54742
54743 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54744
54745         * lib/gl_oset.h: Use C comment style, not C++ comment style.
54746
54747 2006-11-06  Bruno Haible  <bruno@clisp.org>
54748
54749         * m4/inline.m4: New file.
54750         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
54751         * modules/list (Files): Add m4/inline.m4.
54752         * modules/oset (Files): Likewise.
54753
54754 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54755
54756         * lib/idcache.c: Include <stddef.h>, for offsetof.
54757         (struct userid.name): Change from char * to a flexible array member.
54758         All uses changed.
54759         * modules/idcache (Depends-on): Add flexmember.
54760
54761         * MODULES.html.sh (Core language properties): New module flexmember.
54762         * modules/flexmember, m4/flexmember.m4: New files.
54763
54764         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54765         inline functions that are identical with the old xnmalloc_inline,
54766         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54767         that we can avoid some unnecessary integer multiplications and
54768         divisions in the common case where the element size is known at
54769         compile time.
54770         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54771         needed.
54772         (xnboundedmalloc): Remove.
54773         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54774         arguments, for consistency with rest of this header.
54775         (xcharalloc): Rewrite using XNMALLOC.
54776         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54777         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54778         versions have been moved to lib/xalloc.h and renamed to be the
54779         non-*_inline versions.
54780         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54781         and xnrealloc functions, since those functions are now inline and
54782         now call us.
54783         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54784         renaming described above.
54785         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54786         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54787         captures the dependency in AC_C_INLINE.
54788
54789         New module canonicalize-lgpl, proposed by Charles Wilson in
54790         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54791         with a few small changes afterwards.
54792         * MODULES.html.sh (File system functions): New module
54793         canonicalize-lgpl.
54794         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54795         and canonicalize_file_name.
54796         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54797         * modules/canonicalize-lgpl: New files.
54798
54799 2006-11-05  Bruno Haible  <bruno@clisp.org>
54800
54801         * gnulib-tool (func_import, func_create_testdir): Create directories
54802         also for files in subdirectories of lib/.
54803
54804 2006-11-05  Bruno Haible  <bruno@clisp.org>
54805
54806         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54807         ANSI C compliant.
54808
54809 2006-11-03  Bruno Haible  <bruno@clisp.org>
54810
54811         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54812         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54813         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54814         (xnboundedmalloc): New inline function.
54815         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54816         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54817         xmalloc.
54818         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54819         xmalloc.
54820         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54821         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54822         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54823         xmalloc.
54824         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54825         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54826         xmalloc.
54827         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54828         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54829         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54830         xmalloc.
54831         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54832         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54833         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54834         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54835         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54836         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54837         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54838
54839 2006-11-03  Bruno Haible  <bruno@clisp.org>
54840
54841         * lib/c-ctype.h [C++]: Define functions without name mangling.
54842         * lib/fwriteerror.h [C++]: Likewise.
54843         * lib/gcd.h [C++]: Likewise.
54844         * lib/linebreak.h [C++]: Likewise.
54845
54846 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54847
54848         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54849         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54850         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54851         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54852         Check for functions and headers just once.
54853         Check for declaration of canonicalize_file_name.
54854         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54855
54856 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54857
54858         * gnulib-tool (func_import): Fix typo in actioncmd.
54859
54860 2006-11-02  Bruno Haible  <bruno@clisp.org>
54861
54862         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54863         newline sequence in the Makefile.am snippet as a space, like "make"
54864         does.
54865         Reported by Roger Persson <perrog@gmail.com>.
54866
54867 2006-11-01  Bruno Haible  <bruno@clisp.org>
54868
54869         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54870         already declared in <string.h>.
54871         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54872
54873 2006-11-01  Bruno Haible  <bruno@clisp.org>
54874
54875         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54876         * lib/strcase.h: Include <string.h>.
54877         (strcasecmp): Define to rpl_strcasecmp here.
54878
54879 2006-11-01  Bruno Haible  <bruno@clisp.org>
54880
54881         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54882
54883 2006-11-01  Eric Blake  <ebb9@byu.net>
54884
54885         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54886
54887         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54888
54889 2006-10-29  Bruno Haible  <bruno@clisp.org>
54890
54891         Make it compile in C++ mode.
54892         * lib/full-write.c (full_rw): Add a cast.
54893
54894 2006-11-01  Bruno Haible  <bruno@clisp.org>
54895
54896         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54897         be POSIX compliant.
54898         Reported by Roger Persson <perrog@gmail.com>.
54899
54900 2006-11-01  Eric Blake  <ebb9@byu.net>
54901
54902         * lib/getopt_.h: Fix comments.
54903
54904 2006-10-31  Eric Blake  <ebb9@byu.net>
54905
54906         * modules/tmpdir (Depends-on): Add sys_stat.
54907         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54908         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54909         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54910         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54911         tempname.
54912
54913 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54914
54915         Avoid some C++ diagnostics reported by Bruno Haible.
54916         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54917         xmalloc.
54918         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54919         (struct slotvec): Move to top level.
54920         (quotearg_n_options): Rewrite to avoid xmalloc.
54921         * lib/xalloc.h (xcharalloc): New function.
54922         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54923         [defined __cplusplus]: Add function template that provides result
54924         type propagation.  This part of the change is from Bruno Haible.
54925
54926 2006-10-29  Bruno Haible  <bruno@clisp.org>
54927
54928         Make it compile in C++ mode.
54929         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54930         * lib/strnlen1.c (strnlen1): Cast memchr result.
54931         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54932         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54933         (create_temp_dir): Rename local variable 'template'.
54934         (compile_csharp_using_sscli): Add cast.
54935         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54936         * lib/findprog.c (find_in_path): Likewise.
54937         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54938         * lib/wait-process.c (register_slave_subprocess): Likewise.
54939
54940 2006-10-22  Bruno Haible  <bruno@clisp.org>
54941
54942         * modules/tsearch: New file.
54943         * lib/tsearch.h: New file.
54944         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54945         * m4/tsearch.m4: New file.
54946         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54947
54948 2006-10-29  Eric Blake  <ebb9@byu.net>
54949
54950         * lib/arcfour.c: Assume config.h.
54951         * lib/arctwo.c: Likewise.
54952         * lib/base64.c: Likewise.
54953         * lib/check-version.c: Likewise.
54954         * lib/crc.c: Likewise.
54955         * lib/des.c: Likewise.
54956         * lib/gc-gnulib.c: Likewise.
54957         * lib/gc-libgcrypt.c: Likewise.
54958         * lib/gc-pbkdf2-sha1.c: Likewise.
54959         * lib/getaddrinfo.c: Likewise.
54960         * lib/getdelim.c: Likewise.
54961         * lib/getline.c: Likewise.
54962         * lib/hmac-md5.c: Likewise.
54963         * lib/hmac-sha1.c: Likewise.
54964         * lib/iconvme.c: Likewise.
54965         * lib/md2.c: Likewise.
54966         * lib/md4.c: Likewise.
54967         * lib/memxor.c: Likewise.
54968         * lib/read-file.c: Likewise.
54969         * lib/readline.c: Likewise.
54970         * lib/rijndael-alg-fst.c: Likewise.
54971         * lib/rijndael-api-fst.c: Likewise.
54972         * lib/xgetdomainname.c: Likewise.
54973
54974 2006-10-28  Eric Blake  <ebb9@byu.net>
54975
54976         * lib/xstrndup.c: Assume config.h.
54977
54978 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54979
54980         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54981         stat-macros.h is now for our own macros, whereas stat_h is for
54982         macros in the <sys/stat.h> name space.
54983         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54984         (STAT_MACROS_H): Remove.
54985         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54986         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54987         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54988         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54989         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54990         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54991         Move these macros to ...
54992         * lib/stat_.h: here.  Don't include stat-macros.h.
54993         * lib/canonicalize.c: Don't include stat-macros.h.
54994         * lib/chown.c: Likewise.
54995         * lib/euidaccess.c: Likewise.
54996         * lib/file-type.c: Likewise.
54997         * lib/filemode.c: Likewise.
54998         * lib/glob.c: Likewise.
54999         * lib/isapipe.c: Likewise.
55000         * lib/lchown.c: Likewise.
55001         * lib/lstat.c: Likewise.
55002         * lib/mkdir-p.c: Likewise.
55003         * lib/rmdir.c: Likewise.
55004         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
55005         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
55006         unless mkdir isn't declared, to speed up 'configure'.
55007         Always create sys/stat.h, since it's unlikely any real sys/stat.h
55008         would define all the S_* symbols.
55009         * modules/canonicalize (Depends-on):
55010         Depend on sys_stat, not stat-macros.
55011         * modules/chown: Likewise.
55012         * modules/euidaccess: Likewise.
55013         * modules/filemode: Likewise.
55014         * modules/file-type: Likewise.
55015         * modules/glob: Likewise.
55016         * modules/isapipe: Likewise.
55017         * modules/lchown: Likewise.
55018         * modules/lstat: Likewise.
55019         * modules/mkancesdirs: Likewise.
55020         * modules/rmdir: Likewise.
55021         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
55022         * modules/modechange: Likewise.
55023         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
55024         (configure.ac): Remove gl_STAT_MACROS.
55025         * modules/sys_stat (Depends-on): Remove stat-macros.
55026
55027 2006-10-27  Bruno Haible  <bruno@clisp.org>
55028
55029         * m4/signed.m4: Remove file.
55030         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
55031         invocation.
55032         * modules/vasnprintf (Files): Remove m4/signed.m4.
55033
55034 2006-10-27  Bruno Haible  <bruno@clisp.org>
55035
55036         Update to GNU gettext 0.16.
55037         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
55038         m4/inttypes-h.m4, m4/signed.m4.
55039         * m4/gettext.m4: Update to GNU gettext 0.16.
55040         * m4/intl.m4: New file, from GNU gettext.
55041         * m4/intldir.m4: New file, from GNU gettext.
55042         * config/srclist.txt: Update
55043
55044 2006-10-27  Eric Blake  <ebb9@byu.net>
55045
55046         * MODULES.html.sh: Document tempname.
55047         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
55048         dependencies.
55049         (Files): Move lib/tempname.c...
55050         * modules/tempname: ...to this new module.
55051         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
55052         (gl_PREREQ_TEMPNAME): Move...
55053         * m4/tempname.m4: ...to this new file.
55054         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
55055         * modules/sys_stat (Depends-on): Add stat-macros.
55056         * lib/stat_.h (includes): Pick up stat macros.
55057         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
55058         if stat macros are broken.
55059         * lib/tempname.c (includes): No need to include "stat-macros.h".
55060         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
55061         (direxists, __path_search) [!_LIBC]: Don't compile these in
55062         gnulib; the tmpdir module covers that.
55063         * lib/tempname.h: New file.
55064
55065 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
55066
55067         * COPYING: Explain how gnulib-tool converts licence headers.
55068         Almost all wording by Eric Blake.
55069
55070 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
55071
55072         * lib/mbchar.h (is_basic_table): Make read-only.
55073         * lib/mbchar.c (is_basic_table): Likewise.
55074         Reported by John Darrington.
55075
55076 2006-10-25  Bruno Haible  <bruno@clisp.org>
55077
55078         * lib/progname.h (set_program_name): Undefine before defining.
55079
55080 2006-10-25  Bruno Haible  <bruno@clisp.org>
55081
55082         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
55083         false for non-gcc C++ compilers.
55084         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55085
55086 2006-10-24  Bruno Haible  <bruno@clisp.org>
55087
55088         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
55089         iconv implementations like Irix iconv.
55090
55091 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55092
55093         * modules/vararrays: New file.
55094         * m4/vararrays.m4: New file, taken from diffutils.
55095         * MODULES.html.sh: New module vararrays.
55096
55097 2006-10-24  Karl Berry  <karl@gnu.org>
55098
55099         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
55100         Don't call GNU Unix.
55101
55102 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55103
55104         * users.txt: Add Libtool.
55105
55106         Sync from Libtool:
55107
55108         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55109
55110         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
55111         to gnulib's policy of including config.h unconditionally.
55112
55113 2006-10-24  Bruno Haible  <bruno@clisp.org>
55114
55115         * modules/wcwidth (Files): Add m4/wint_t.m4.
55116         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
55117         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
55118
55119 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55120
55121         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
55122         to pacify GCC with some -W flags enabled.  Problem reported by
55123         Bruno Haible.
55124
55125 2006-10-24  Jim Meyering  <jim@meyering.net>
55126
55127         * MODULES.html.sh: Remove uinttostr.  It's not a module.
55128         Reported by Karl Berry.
55129
55130 2006-10-23  Bruno Haible  <bruno@clisp.org>
55131
55132         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
55133
55134 2006-10-24  Bruno Haible  <bruno@clisp.org>
55135
55136         * lib/gl_list.h: Use C comment style, not C++ comment style.
55137
55138 2006-10-23  Eric Blake  <ebb9@byu.net>
55139
55140         * lib/getaddrinfo.c (includes): Add missing include.
55141
55142 2006-10-23  Bruno Haible  <bruno@clisp.org>
55143             Paul Eggert  <eggert@cs.ucla.edu>
55144
55145         Ability to rename obstack_free.
55146         * lib/obstack.h (__obstack_free): New macro. Declare instead of
55147         obstack_free.
55148         (obstack_free): Invoke the __obstack_free macro.
55149         * lib/obstack.c (obstack_free): Use __obstack_free macro.
55150
55151 2006-10-23  Bruno Haible  <bruno@clisp.org>
55152             Paul Eggert  <eggert@cs.ucla.edu>
55153
55154         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
55155         __argc, __argv from the declaration. (They are defined as macros on
55156         mingw.)
55157
55158 2006-10-22  Bruno Haible  <bruno@clisp.org>
55159
55160         * doc/gnulib-intro.texi: New file.
55161         * doc/gnulib.texi: Include it.
55162
55163 2006-10-21  Bruno Haible  <bruno@clisp.org>
55164
55165         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
55166         "Introduction", "Miscellanous Notes", "Particular Modules".
55167
55168 2006-10-21  Bruno Haible  <bruno@clisp.org>
55169
55170         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55171         Change mostlyclean-local rule to avoid sh syntax error from bash
55172         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
55173
55174 2006-10-23  Jim Meyering  <jim@meyering.net>
55175
55176         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
55177         in place of snprintf.
55178
55179         * modules/inttostr (Files): Add lib/uinttostr.c.
55180         * lib/uinttostr.c (inttostr): New file/function.
55181         * lib/inttostr.h (uinttostr): Declare.
55182         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
55183         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55184         Add uinttostr.
55185         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
55186
55187 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55188
55189         * lib/canonicalize.c (ELOOP): Define if not already defined.
55190         Problem reported by Bruno Haible in
55191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
55192
55193 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55194
55195         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
55196         Problem reported by Perry Smith and Ville Laurikari.
55197
55198         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
55199         uses.
55200
55201 2006-10-19  Bruno Haible  <bruno@clisp.org>
55202
55203         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
55204         for mingw.
55205
55206 2006-10-19  Bruno Haible  <bruno@clisp.org>
55207
55208         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
55209         Needed for mingw.
55210
55211 2006-10-19  Bruno Haible  <bruno@clisp.org>
55212
55213         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
55214
55215 2006-10-19  Bruno Haible  <bruno@clisp.org>
55216
55217         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
55218         it.
55219
55220 2006-10-19  Bruno Haible  <bruno@clisp.org>
55221
55222         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
55223         invocation.
55224
55225 2006-10-19  Bruno Haible  <bruno@clisp.org>
55226
55227         * gnulib-tool (func_create_testdir): Don't include ftruncate and
55228         mountlist by default.
55229
55230 2006-10-16  Bruno Haible  <bruno@clisp.org>
55231
55232         * lib/c-strstr.c: Include c-strstr.h.
55233
55234 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55235
55236         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
55237         in a slash.
55238
55239 2006-10-18  Bruno Haible  <bruno@clisp.org>
55240
55241         * lib/lock.h [C++]: Wrap definitions in extern "C".
55242
55243 2006-10-18  Bruno Haible  <bruno@clisp.org>
55244
55245         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
55246         gl_LIBOBJS list.
55247
55248 2006-10-18  Bruno Haible  <bruno@clisp.org>
55249
55250         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
55251
55252 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55253
55254         * lib/xstrtol.h: Include gettext.h.
55255         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
55256         Problem reported by Eric Blake.
55257         * modules/xstrtol (Depends-on): Add gettext-h.
55258
55259 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
55260
55261         * lib/strftime.c (advance): New macro.
55262         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
55263         incomplete type, so you can't add 0 to it.  Problem and patch
55264         reported by Eelco Dolstra for dietlibc.
55265
55266 2006-10-18  Jim Meyering  <jim@meyering.net>
55267
55268         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
55269         type for a local, and rename it: s/up/user_proc/.
55270
55271 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55272
55273         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
55274         READ_UTMP_USER_PROCESS.
55275         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
55276
55277 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55278
55279         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
55280         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
55281
55282 2006-10-17  Eric Blake  <ebb9@byu.net>
55283
55284         * lib/sigprocmask.c (sigprocmask): Fix typo.
55285
55286         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
55287
55288         * modules/clean-temp (Makefile.am): Don't add to make output...
55289         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
55290         config.h.
55291
55292 2006-10-17  Bruno Haible  <bruno@clisp.org>
55293
55294         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
55295         differently if DEFAULT_TEXT_DOMAIN is set.
55296
55297 2006-10-16  Bruno Haible  <bruno@clisp.org>
55298
55299         * lib/clean-temp.c: Include fwriteerror.h.
55300
55301 2006-10-16  Bruno Haible  <bruno@clisp.org>
55302
55303         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
55304
55305 2006-10-16  Bruno Haible  <bruno@clisp.org>
55306
55307         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
55308         * lib/sigprocmask.h: Include <sys/types.h>.
55309         (sigset_t): Use the system's definition if present.
55310
55311 2006-10-17  Eric Blake  <ebb9@byu.net>
55312
55313         * lib/xvasprintf.c (includes): Assume config.h.
55314         * lib/xasprintf.c (includes): Likewise.
55315
55316 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55317
55318         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
55319         at least as wide as intmax_t.
55320
55321 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
55322
55323         (Imported from Automake.)
55324         * build-aux/gnupload: Update to version 1.1 of directive file.
55325
55326 2006-10-16  Eric Blake  <ebb9@byu.net>
55327
55328         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
55329         match Automake 1.10a.
55330
55331 2006-10-14  Bruno Haible  <bruno@clisp.org>
55332
55333         * modules/sigprocmask: New file.
55334         * lib/sigprocmask.h: New file.
55335         * lib/sigprocmask.c: New file.
55336         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
55337         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
55338         request sigprocmask.o.
55339         (gl_PREREQ_SIGPROCMASK): New macro.
55340         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
55341         (Depends-on): Add sigprocmask.
55342         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
55343         gt_SIGNALBLOCKING. Test for 'raise' only once.
55344         * lib/fatal-signal.c: Include sigprocmask.h.
55345         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
55346         unblock_fatal_signals): Define always.
55347         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55348         sigprocmask.
55349
55350 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55351
55352         Sync from Automake.
55353         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
55354         which incorrectly sets the mode of an existing destination
55355         directory.  In some cases the unpatched install-sh could do the
55356         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
55357         system.  We hope this is rare in practice, but it's clearly worth
55358         fixing.  Problem reported by Alex Unleashed in
55359         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
55360         Also, don't bother to check for -m bugs unless we're using -m;
55361         suggested by Stepan Kasal.
55362
55363 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55364
55365         Sync from Automake.
55366         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
55367         `-c' flag, so they appear at the same position as in %FASTDEP%
55368         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
55369         which ignores unknown options only after the first non-option.
55370         Bug report against M4 by Nelson H. F. Beebe.
55371
55372 2006-10-13  Jim Meyering  <jim@meyering.net>
55373
55374         Fix a bug in yesterday's change.
55375         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
55376         p->fts_statp->st_dev would be used uninitialized.
55377         Ensures that we always call fts_stat on the very first entry.
55378         Miklos Szeredi reported that find -xdev stopped working.
55379
55380 2006-10-12  Bruno Haible  <bruno@clisp.org>
55381
55382         * gnulib-tool (func_get_automake_snippet): Append an automatically
55383         computed EXTRA_DIST augmentation.
55384         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
55385         * modules/alloca-opt (Makefile.am): Likewise.
55386         * modules/allocsa (Makefile.am): Likewise.
55387         * modules/arcfour (Makefile.am): Likewise.
55388         * modules/arctwo (Makefile.am): Likewise.
55389         * modules/argmatch (Makefile.am): Likewise.
55390         * modules/argz (Makefile.am): Likewise.
55391         * modules/atexit (Makefile.am): Likewise.
55392         * modules/backupfile (Makefile.am): Likewise.
55393         * modules/byteswap (Makefile.am): Likewise.
55394         * modules/c-strtod (Makefile.am): Likewise.
55395         * modules/c-strtold (Makefile.am): Likewise.
55396         * modules/calloc (Makefile.am): Likewise.
55397         * modules/canon-host (Makefile.am): Likewise.
55398         * modules/canonicalize (Makefile.am): Likewise.
55399         * modules/chdir-long (Makefile.am): Likewise.
55400         * modules/chdir-safer (Makefile.am): Likewise.
55401         * modules/check-version (Makefile.am): Likewise.
55402         * modules/chown (Makefile.am): Likewise.
55403         * modules/cloexec (Makefile.am): Likewise.
55404         * modules/close-stream (Makefile.am): Likewise.
55405         * modules/closeout (Makefile.am): Likewise.
55406         * modules/crc (Makefile.am): Likewise.
55407         * modules/csharpexec (Makefile.am): Likewise.
55408         * modules/cycle-check (Makefile.am): Likewise.
55409         * modules/des (Makefile.am): Likewise.
55410         * modules/dev-ino (Makefile.am): Likewise.
55411         * modules/dirfd (Makefile.am): Likewise.
55412         * modules/dirname (Makefile.am): Likewise.
55413         * modules/dup2 (Makefile.am): Likewise.
55414         * modules/eealloc (Makefile.am): Likewise.
55415         * modules/error (Makefile.am): Likewise.
55416         * modules/euidaccess (Makefile.am): Likewise.
55417         * modules/exclude (Makefile.am): Likewise.
55418         * modules/exitfail (Makefile.am): Likewise.
55419         * modules/fcntl-safer (Makefile.am): Likewise.
55420         * modules/fcntl (Makefile.am): Likewise.
55421         * modules/file-type (Makefile.am): Likewise.
55422         * modules/fileblocks (Makefile.am): Likewise.
55423         * modules/filemode (Makefile.am): Likewise.
55424         * modules/filenamecat (Makefile.am): Likewise.
55425         * modules/fnmatch (Makefile.am): Likewise.
55426         * modules/fopen-safer (Makefile.am): Likewise.
55427         * modules/fpending (Makefile.am): Likewise.
55428         * modules/fprintftime (Makefile.am): Likewise.
55429         * modules/free (Makefile.am): Likewise.
55430         * modules/fsusage (Makefile.am): Likewise.
55431         * modules/ftruncate (Makefile.am): Likewise.
55432         * modules/fts (Makefile.am): Likewise.
55433         * modules/gc-arcfour (Makefile.am): Likewise.
55434         * modules/gc-des (Makefile.am): Likewise.
55435         * modules/gc-hmac-md5 (Makefile.am): Likewise.
55436         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
55437         * modules/gc-md4 (Makefile.am): Likewise.
55438         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55439         * modules/gc-sha1 (Makefile.am): Likewise.
55440         * modules/gc (Makefile.am): Likewise.
55441         * modules/getaddrinfo (Makefile.am): Likewise.
55442         * modules/getcwd (Makefile.am): Likewise.
55443         * modules/getdelim (Makefile.am): Likewise.
55444         * modules/getdomainname (Makefile.am): Likewise.
55445         * modules/getgroups (Makefile.am): Likewise.
55446         * modules/gethostname (Makefile.am): Likewise.
55447         * modules/gethrxtime (Makefile.am): Likewise.
55448         * modules/getline (Makefile.am): Likewise.
55449         * modules/getloadavg (Makefile.am): Likewise.
55450         * modules/getlogin_r (Makefile.am): Likewise.
55451         * modules/getndelim2 (Makefile.am): Likewise.
55452         * modules/getopt (Makefile.am): Likewise.
55453         * modules/getpagesize (Makefile.am): Likewise.
55454         * modules/getpass-gnu (Makefile.am): Likewise.
55455         * modules/getpass (Makefile.am): Likewise.
55456         * modules/getsubopt (Makefile.am): Likewise.
55457         * modules/gettime (Makefile.am): Likewise.
55458         * modules/gettimeofday (Makefile.am): Likewise.
55459         * modules/getugroups (Makefile.am): Likewise.
55460         * modules/getusershell (Makefile.am): Likewise.
55461         * modules/glob (Makefile.am): Likewise.
55462         * modules/group-member (Makefile.am): Likewise.
55463         * modules/hard-locale (Makefile.am): Likewise.
55464         * modules/hash (Makefile.am): Likewise.
55465         * modules/hmac-md5 (Makefile.am): Likewise.
55466         * modules/hmac-sha1 (Makefile.am): Likewise.
55467         * modules/human (Makefile.am): Likewise.
55468         * modules/idcache (Makefile.am): Likewise.
55469         * modules/imaxabs (Makefile.am): Likewise.
55470         * modules/imaxdiv (Makefile.am): Likewise.
55471         * modules/inet_ntop (Makefile.am): Likewise.
55472         * modules/inet_pton (Makefile.am): Likewise.
55473         * modules/intprops (Makefile.am): Likewise.
55474         * modules/inttostr (Makefile.am): Likewise.
55475         * modules/inttypes (Makefile.am): Likewise.
55476         * modules/isapipe (Makefile.am): Likewise.
55477         * modules/javaversion (Makefile.am): Likewise.
55478         * modules/lchmod (Makefile.am): Likewise.
55479         * modules/lchown (Makefile.am): Likewise.
55480         * modules/localcharset (Makefile.am): Likewise.
55481         * modules/long-options (Makefile.am): Likewise.
55482         * modules/lstat (Makefile.am): Likewise.
55483         * modules/malloc (Makefile.am): Likewise.
55484         * modules/mathl (Makefile.am): Likewise.
55485         * modules/mbchar (Makefile.am): Likewise.
55486         * modules/md2 (Makefile.am): Likewise.
55487         * modules/md4 (Makefile.am): Likewise.
55488         * modules/md5 (Makefile.am): Likewise.
55489         * modules/memcasecmp (Makefile.am): Likewise.
55490         * modules/memchr (Makefile.am): Likewise.
55491         * modules/memcmp (Makefile.am): Likewise.
55492         * modules/memcoll (Makefile.am): Likewise.
55493         * modules/memcpy (Makefile.am): Likewise.
55494         * modules/memmem (Makefile.am): Likewise.
55495         * modules/memmove (Makefile.am): Likewise.
55496         * modules/mempcpy (Makefile.am): Likewise.
55497         * modules/memrchr (Makefile.am): Likewise.
55498         * modules/memset (Makefile.am): Likewise.
55499         * modules/memxor (Makefile.am): Likewise.
55500         * modules/mkancesdirs (Makefile.am): Likewise.
55501         * modules/mkdir-p (Makefile.am): Likewise.
55502         * modules/mkdir (Makefile.am): Likewise.
55503         * modules/mkdtemp (Makefile.am): Likewise.
55504         * modules/mkstemp (Makefile.am): Likewise.
55505         * modules/mktime (Makefile.am): Likewise.
55506         * modules/modechange (Makefile.am): Likewise.
55507         * modules/mountlist (Makefile.am): Likewise.
55508         * modules/nanosleep (Makefile.am): Likewise.
55509         * modules/obstack (Makefile.am): Likewise.
55510         * modules/openat (Makefile.am): Likewise.
55511         * modules/pagealign_alloc (Makefile.am): Likewise.
55512         * modules/pathmax (Makefile.am): Likewise.
55513         * modules/physmem (Makefile.am): Likewise.
55514         * modules/poll (Makefile.am): Likewise.
55515         * modules/posixtm (Makefile.am): Likewise.
55516         * modules/posixver (Makefile.am): Likewise.
55517         * modules/putenv (Makefile.am): Likewise.
55518         * modules/quote (Makefile.am): Likewise.
55519         * modules/quotearg (Makefile.am): Likewise.
55520         * modules/raise (Makefile.am): Likewise.
55521         * modules/read-file (Makefile.am): Likewise.
55522         * modules/readline (Makefile.am): Likewise.
55523         * modules/readlink (Makefile.am): Likewise.
55524         * modules/readtokens (Makefile.am): Likewise.
55525         * modules/readutmp (Makefile.am): Likewise.
55526         * modules/realloc (Makefile.am): Likewise.
55527         * modules/regex (Makefile.am): Likewise.
55528         * modules/rename-dest-slash (Makefile.am): Likewise.
55529         * modules/rename (Makefile.am): Likewise.
55530         * modules/rijndael (Makefile.am): Likewise.
55531         * modules/rmdir (Makefile.am): Likewise.
55532         * modules/rpmatch (Makefile.am): Likewise.
55533         * modules/safe-read (Makefile.am): Likewise.
55534         * modules/safe-write (Makefile.am): Likewise.
55535         * modules/same-inode (Makefile.am): Likewise.
55536         * modules/same (Makefile.am): Likewise.
55537         * modules/save-cwd (Makefile.am): Likewise.
55538         * modules/savedir (Makefile.am): Likewise.
55539         * modules/setenv (Makefile.am): Likewise.
55540         * modules/settime (Makefile.am): Likewise.
55541         * modules/sha1 (Makefile.am): Likewise.
55542         * modules/sig2str (Makefile.am): Likewise.
55543         * modules/snprintf (Makefile.am): Likewise.
55544         * modules/stat-macros (Makefile.am): Likewise.
55545         * modules/stat-time (Makefile.am): Likewise.
55546         * modules/stdbool (Makefile.am): Likewise.
55547         * modules/stdint (Makefile.am): Likewise.
55548         * modules/stdlib-safer (Makefile.am): Likewise.
55549         * modules/stpcpy (Makefile.am): Likewise.
55550         * modules/stpncpy (Makefile.am): Likewise.
55551         * modules/strcase (Makefile.am): Likewise.
55552         * modules/strcasestr (Makefile.am): Likewise.
55553         * modules/strchrnul (Makefile.am): Likewise.
55554         * modules/strcspn (Makefile.am): Likewise.
55555         * modules/strdup (Makefile.am): Likewise.
55556         * modules/strerror (Makefile.am): Likewise.
55557         * modules/strftime (Makefile.am): Likewise.
55558         * modules/strndup (Makefile.am): Likewise.
55559         * modules/strnlen (Makefile.am): Likewise.
55560         * modules/strpbrk (Makefile.am): Likewise.
55561         * modules/strsep (Makefile.am): Likewise.
55562         * modules/strstr (Makefile.am): Likewise.
55563         * modules/strtod (Makefile.am): Likewise.
55564         * modules/strtoimax (Makefile.am): Likewise.
55565         * modules/strtok_r (Makefile.am): Likewise.
55566         * modules/strtol (Makefile.am): Likewise.
55567         * modules/strtoll (Makefile.am): Likewise.
55568         * modules/strtoul (Makefile.am): Likewise.
55569         * modules/strtoull (Makefile.am): Likewise.
55570         * modules/strtoumax (Makefile.am): Likewise.
55571         * modules/strverscmp (Makefile.am): Likewise.
55572         * modules/sys_socket (Makefile.am): Likewise.
55573         * modules/sys_stat (Makefile.am): Likewise.
55574         * modules/sysexits (Makefile.am): Likewise.
55575         * modules/time_r (Makefile.am): Likewise.
55576         * modules/timegm (Makefile.am): Likewise.
55577         * modules/timespec (Makefile.am): Likewise.
55578         * modules/tmpfile-safer (Makefile.am): Likewise.
55579         * modules/trim (Makefile.am): Likewise.
55580         * modules/unistd-safer (Makefile.am): Likewise.
55581         * modules/unlinkdir (Makefile.am): Likewise.
55582         * modules/unlocked-io (Makefile.am): Likewise.
55583         * modules/userspec (Makefile.am): Likewise.
55584         * modules/utime (Makefile.am): Likewise.
55585         * modules/utimecmp (Makefile.am): Likewise.
55586         * modules/utimens (Makefile.am): Likewise.
55587         * modules/vasnprintf (Makefile.am): Likewise.
55588         * modules/vasprintf (Makefile.am): Likewise.
55589         * modules/vsnprintf (Makefile.am): Likewise.
55590         * modules/xalloc (Makefile.am): Likewise.
55591         * modules/xgetcwd (Makefile.am): Likewise.
55592         * modules/xnanosleep (Makefile.am): Likewise.
55593         * modules/xreadlink (Makefile.am): Likewise.
55594         * modules/xstrtod (Makefile.am): Likewise.
55595         * modules/xstrtol (Makefile.am): Likewise.
55596         * modules/xstrtold (Makefile.am): Likewise.
55597         * modules/yesno (Makefile.am): Likewise.
55598         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
55599
55600 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55601
55602         * modules/error (Makefile.am): Distribute files through
55603         EXTRA_DIST, not lib_SOURCES.
55604
55605 2006-10-12  Eric Blake  <ebb9@byu.net>
55606
55607         * modules/error (Makefile.am): Distribute files in /lib.
55608         * modules/obstack (Makefile.am): Likewise.
55609
55610 2006-10-12  Bruno Haible  <bruno@clisp.org>
55611
55612         * modules/acl (Makefile.am): Distribute all files in lib/ through
55613         EXTRA_DIST.
55614         * modules/arcfour (Makefile.am): Likewise.
55615         * modules/arctwo (Makefile.am): Likewise.
55616         * modules/argmatch (Makefile.am): Likewise.
55617         * modules/argz (Makefile.am): Likewise.
55618         * modules/atexit (Makefile.am): Likewise.
55619         * modules/backupfile (Makefile.am): Likewise.
55620         * modules/c-strtod (Makefile.am): Likewise.
55621         * modules/c-strtold (Makefile.am): Likewise.
55622         * modules/calloc (Makefile.am): Likewise.
55623         * modules/canon-host (Makefile.am): Likewise.
55624         * modules/canonicalize (Makefile.am): Likewise.
55625         * modules/chdir-long (Makefile.am): Likewise.
55626         * modules/chdir-safer (Makefile.am): Likewise.
55627         * modules/check-version (Makefile.am): Likewise.
55628         * modules/chown (Makefile.am): Likewise.
55629         * modules/cloexec (Makefile.am): Likewise.
55630         * modules/close-stream (Makefile.am): Likewise.
55631         * modules/closeout (Makefile.am): Likewise.
55632         * modules/crc (Makefile.am): Likewise.
55633         * modules/cycle-check (Makefile.am): Likewise.
55634         * modules/des (Makefile.am): Likewise.
55635         * modules/dirfd (Makefile.am): Likewise.
55636         * modules/dirname (Makefile.am): Likewise.
55637         * modules/dup2 (Makefile.am): Likewise.
55638         * modules/euidaccess (Makefile.am): Likewise.
55639         * modules/exclude (Makefile.am): Likewise.
55640         * modules/exitfail (Makefile.am): Likewise.
55641         * modules/fcntl-safer (Makefile.am): Likewise.
55642         * modules/file-type (Makefile.am): Likewise.
55643         * modules/fileblocks (Makefile.am): Likewise.
55644         * modules/filemode (Makefile.am): Likewise.
55645         * modules/filenamecat (Makefile.am): Likewise.
55646         * modules/fnmatch (Makefile.am): Likewise.
55647         * modules/fopen-safer (Makefile.am): Likewise.
55648         * modules/fpending (Makefile.am): Likewise.
55649         * modules/fprintftime (Makefile.am): Likewise.
55650         * modules/free (Makefile.am): Likewise.
55651         * modules/fsusage (Makefile.am): Likewise.
55652         * modules/ftruncate (Makefile.am): Likewise.
55653         * modules/fts (Makefile.am): Likewise.
55654         * modules/gc (Makefile.am): Likewise.
55655         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
55656         * modules/getaddrinfo (Makefile.am): Likewise.
55657         * modules/getcwd (Makefile.am): Likewise.
55658         * modules/getdelim (Makefile.am): Likewise.
55659         * modules/getdomainname (Makefile.am): Likewise.
55660         * modules/getgroups (Makefile.am): Likewise.
55661         * modules/gethostname (Makefile.am): Likewise.
55662         * modules/gethrxtime (Makefile.am): Likewise.
55663         * modules/getline (Makefile.am): Likewise.
55664         * modules/getloadavg (Makefile.am): Likewise.
55665         * modules/getlogin_r (Makefile.am): Likewise.
55666         * modules/getopt (Makefile.am): Likewise.
55667         * modules/getpass (Makefile.am): Likewise.
55668         * modules/getpass-gnu (Makefile.am): Likewise.
55669         * modules/getsubopt (Makefile.am): Likewise.
55670         * modules/gettime (Makefile.am): Likewise.
55671         * modules/gettimeofday (Makefile.am): Likewise.
55672         * modules/getugroups (Makefile.am): Likewise.
55673         * modules/getusershell (Makefile.am): Likewise.
55674         * modules/glob (Makefile.am): Likewise.
55675         * modules/group-member (Makefile.am): Likewise.
55676         * modules/hard-locale (Makefile.am): Likewise.
55677         * modules/hash (Makefile.am): Likewise.
55678         * modules/hmac-md5 (Makefile.am): Likewise.
55679         * modules/hmac-sha1 (Makefile.am): Likewise.
55680         * modules/human (Makefile.am): Likewise.
55681         * modules/idcache (Makefile.am): Likewise.
55682         * modules/imaxabs (Makefile.am): Likewise.
55683         * modules/imaxdiv (Makefile.am): Likewise.
55684         * modules/inet_ntop (Makefile.am): Likewise.
55685         * modules/inet_pton (Makefile.am): Likewise.
55686         * modules/inttostr (Makefile.am): Likewise.
55687         * modules/isapipe (Makefile.am): Likewise.
55688         * modules/lchown (Makefile.am): Likewise.
55689         * modules/long-options (Makefile.am): Likewise.
55690         * modules/lstat (Makefile.am): Likewise.
55691         * modules/malloc (Makefile.am): Likewise.
55692         * modules/mathl (Makefile.am): Likewise.
55693         * modules/mbchar (Makefile.am): Likewise.
55694         * modules/md2 (Makefile.am): Likewise.
55695         * modules/md4 (Makefile.am): Likewise.
55696         * modules/md5 (Makefile.am): Likewise.
55697         * modules/memcasecmp (Makefile.am): Likewise.
55698         * modules/memchr (Makefile.am): Likewise.
55699         * modules/memcmp (Makefile.am): Likewise.
55700         * modules/memcoll (Makefile.am): Likewise.
55701         * modules/memcpy (Makefile.am): Likewise.
55702         * modules/memmem (Makefile.am): Likewise.
55703         * modules/memmove (Makefile.am): Likewise.
55704         * modules/mempcpy (Makefile.am): Likewise.
55705         * modules/memrchr (Makefile.am): Likewise.
55706         * modules/memset (Makefile.am): Likewise.
55707         * modules/memxor (Makefile.am): Likewise.
55708         * modules/mkancesdirs (Makefile.am): Likewise.
55709         * modules/mkdir (Makefile.am): Likewise.
55710         * modules/mkdir-p (Makefile.am): Likewise.
55711         * modules/mkdtemp (Makefile.am): Likewise.
55712         * modules/mkstemp (Makefile.am): Likewise.
55713         * modules/mktime (Makefile.am): Likewise.
55714         * modules/modechange (Makefile.am): Likewise.
55715         * modules/mountlist (Makefile.am): Likewise.
55716         * modules/nanosleep (Makefile.am): Likewise.
55717         * modules/openat (Makefile.am): Likewise.
55718         * modules/pagealign_alloc (Makefile.am): Likewise.
55719         * modules/physmem (Makefile.am): Likewise.
55720         * modules/poll (Makefile.am): Likewise.
55721         * modules/posixtm (Makefile.am): Likewise.
55722         * modules/posixver (Makefile.am): Likewise.
55723         * modules/putenv (Makefile.am): Likewise.
55724         * modules/quote (Makefile.am): Likewise.
55725         * modules/quotearg (Makefile.am): Likewise.
55726         * modules/raise (Makefile.am): Likewise.
55727         * modules/read-file (Makefile.am): Likewise.
55728         * modules/readline (Makefile.am): Likewise.
55729         * modules/readlink (Makefile.am): Likewise.
55730         * modules/readtokens (Makefile.am): Likewise.
55731         * modules/readutmp (Makefile.am): Likewise.
55732         * modules/realloc (Makefile.am): Likewise.
55733         * modules/regex (Makefile.am): Likewise.
55734         * modules/rename (Makefile.am): Likewise.
55735         * modules/rename-dest-slash (Makefile.am): Likewise.
55736         * modules/rijndael (Makefile.am): Likewise.
55737         * modules/rmdir (Makefile.am): Likewise.
55738         * modules/rpmatch (Makefile.am): Likewise.
55739         * modules/safe-read (Makefile.am): Likewise.
55740         * modules/safe-write (Makefile.am): Likewise.
55741         * modules/same (Makefile.am): Likewise.
55742         * modules/save-cwd (Makefile.am): Likewise.
55743         * modules/savedir (Makefile.am): Likewise.
55744         * modules/setenv (Makefile.am): Likewise.
55745         * modules/settime (Makefile.am): Likewise.
55746         * modules/sha1 (Makefile.am): Likewise.
55747         * modules/sig2str (Makefile.am): Likewise.
55748         * modules/snprintf (Makefile.am): Likewise.
55749         * modules/stdlib-safer (Makefile.am): Likewise.
55750         * modules/stpcpy (Makefile.am): Likewise.
55751         * modules/stpncpy (Makefile.am): Likewise.
55752         * modules/strcase (Makefile.am): Likewise.
55753         * modules/strcasestr (Makefile.am): Likewise.
55754         * modules/strchrnul (Makefile.am): Likewise.
55755         * modules/strcspn (Makefile.am): Likewise.
55756         * modules/strdup (Makefile.am): Likewise.
55757         * modules/strerror (Makefile.am): Likewise.
55758         * modules/strftime (Makefile.am): Likewise.
55759         * modules/strndup (Makefile.am): Likewise.
55760         * modules/strnlen (Makefile.am): Likewise.
55761         * modules/strpbrk (Makefile.am): Likewise.
55762         * modules/strsep (Makefile.am): Likewise.
55763         * modules/strstr (Makefile.am): Likewise.
55764         * modules/strtod (Makefile.am): Likewise.
55765         * modules/strtoimax (Makefile.am): Likewise.
55766         * modules/strtok_r (Makefile.am): Likewise.
55767         * modules/strtol (Makefile.am): Likewise.
55768         * modules/strtoll (Makefile.am): Likewise.
55769         * modules/strtoul (Makefile.am): Likewise.
55770         * modules/strtoull (Makefile.am): Likewise.
55771         * modules/strtoumax (Makefile.am): Likewise.
55772         * modules/strverscmp (Makefile.am): Likewise.
55773         * modules/time_r (Makefile.am): Likewise.
55774         * modules/timegm (Makefile.am): Likewise.
55775         * modules/tmpfile-safer (Makefile.am): Likewise.
55776         * modules/unistd-safer (Makefile.am): Likewise.
55777         * modules/unlinkdir (Makefile.am): Likewise.
55778         * modules/userspec (Makefile.am): Likewise.
55779         * modules/utime (Makefile.am): Likewise.
55780         * modules/utimecmp (Makefile.am): Likewise.
55781         * modules/utimens (Makefile.am): Likewise.
55782         * modules/vasnprintf (Makefile.am): Likewise.
55783         * modules/vasprintf (Makefile.am): Likewise.
55784         * modules/vsnprintf (Makefile.am): Likewise.
55785         * modules/xalloc (Makefile.am): Likewise.
55786         * modules/xgetcwd (Makefile.am): Likewise.
55787         * modules/xnanosleep (Makefile.am): Likewise.
55788         * modules/xreadlink (Makefile.am): Likewise.
55789         * modules/xstrtod (Makefile.am): Likewise.
55790         * modules/xstrtol (Makefile.am): Likewise.
55791         * modules/xstrtold (Makefile.am): Likewise.
55792         * modules/yesno (Makefile.am): Likewise.
55793
55794 2006-10-12  Jim Meyering  <jim@meyering.net>
55795
55796         * m4/getloadavg.m4: Revert the change below.
55797
55798         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55799         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55800         fail with a symlink, which is what coreutils' ./bootstrap now
55801         creates by default.
55802
55803 2006-10-12  Bruno Haible  <bruno@clisp.org>
55804
55805         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55806         mingw.
55807         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55808         MSVC and mingw explicitly.
55809
55810 2006-10-11  Simon Josefsson  <jas@extundo.com>
55811             Bruno Haible  <bruno@clisp.org>
55812
55813         Add support for multiple gnulib-tool invocations in the scope of a
55814         single configure.ac file.
55815         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55816         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55817         with the same contents as the _LIBADD variable.
55818         (func_emit_initmacro_start, func_emit_initmacro_end,
55819         func_emit_initmacro_done): New functions.
55820         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55821         gl_LIBOBJS and gl_LTLIBOBJS.
55822
55823 2006-10-11  Bruno Haible  <bruno@clisp.org>
55824
55825         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55826         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55827         autoreconf. Instead, invoke autopoint explicitly but move back the
55828         *.m4 files from gnulib.
55829
55830 2006-10-11  Bruno Haible  <bruno@clisp.org>
55831
55832         * gnulib-tool (func_usage): Make module names after --create-testdir
55833         optional.
55834         (func_create_testdir): If no module was specified, use nearly all
55835         modules.
55836
55837 2006-10-12  Jim Meyering  <jim@meyering.net>
55838
55839         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55840         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55841         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55842         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55843         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55844         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55845         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55846         (fts_set_stat_required): New function.
55847         (fts_open): Defer the calls to fts_stat, if possible or requested.
55848         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55849         into fts_stat itself.
55850         (fts_read): Perform any required (deferred) fts_stat call.
55851         (fts_build): Likewise, for the directory we're about to open and read.
55852         In the readdir loop, carefully decide whether each entry will require
55853         an eventual call to fts_stat, using dirent.d_type info if available.
55854         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55855         a command line argument into this function.  Update all callers.
55856         Map a return value of FTS_DOT to FTS_D for a command line argument.
55857         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55858         Thanks to Miklos Szeredi for his tenacity and for the initial
55859         bug report about "find" failing on a FUSE-based file system.
55860
55861         * lib/fts.c (fts_open): Use consistent indentation.
55862
55863 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55864
55865         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55866         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55867         reported by Jim Meyering.  All uses of cache variables renamed
55868         to match Autoconf's.
55869         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55870         the other one.
55871
55872         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55873         Fix misspelling in diagnostic.
55874
55875 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55876
55877         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55878         defined.  Problem reported by Matthew Woehlke.
55879
55880         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55881         Add support for Tandem NonStop R series.
55882         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55883         Use new macro.
55884
55885         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55886         (has_trailing_slash): Omit size arg; all callers changed.
55887         Omit 'inline', since it doesn't help performance and we'd
55888         need to configure it.
55889         Don't count //, ///, etc. as having a trailing slash.
55890         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55891         (rpl_rename_dest_slash): On failure, use rename's errno rather
55892         than (in some cases) an incorrect or junk errno.
55893         Simplify code by removing need to compute length; this does
55894         cause it to make two passes instead of one over the file name,
55895         but it's worth it.
55896
55897         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55898         change, since Autoconf's version may no longer be appropriate now
55899         that we are using CVS Autoconf's version.  Add support for Tandem.
55900
55901 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55902             Bruno Haible  <bruno@clisp.org>
55903
55904         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55905         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55906         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55907         gl_AC_TYPE_LONG_LONG.
55908
55909         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55910         instead of HAVE_LONG_LONG.
55911         * lib/printf-args.c (printf_fetchargs): Likewise.
55912         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55913         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55914         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55915         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55916         gl_AC_TYPE_LONG_LONG.
55917
55918 2006-10-11  Bruno Haible  <bruno@clisp.org>
55919
55920         * m4/longlong.m4: Add comments.
55921         * m4/ulonglong.m4: Likewise.
55922
55923 2006-10-10  Bruno Haible  <bruno@clisp.org>
55924
55925         Make it possible to #define stpcpy, strdup to aliases.
55926         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55927         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55928
55929 2006-10-10  Bruno Haible  <bruno@clisp.org>
55930
55931         Make it possible to #define gcd to an alias.
55932         * lib/gcd.c: Include config.h.
55933
55934 2006-10-10  Bruno Haible  <bruno@clisp.org>
55935
55936         Make it possible to #define c_isascii to an alias.
55937         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55938         defined. Undefine the macros before defining them, to avoid gcc
55939         warnings.
55940         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55941         define NO_C_CTYPE_MACROS early.
55942
55943 2006-10-10  Bruno Haible  <bruno@clisp.org>
55944
55945         Make it possible to #define set_program_name to an alias.
55946         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55947         ENABLE_RELOCATABLE early.
55948
55949 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55950
55951         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55952         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55953         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55954         More generally, don't assume that 64-bit signed int is available
55955         if unsigned int is, and vice versa.
55956         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55957         unsigned symbols, not on their signed counterparts.
55958         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55959         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55960         (UINT64_C, UINTMAX_C):
55961         Likewise.
55962         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55963         unsigned counterparts.
55964         (Have_long_long, Unsigned): New macros.
55965         (Int): Renamed from INT.
55966         (strtoimax): Use the new macros.
55967         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55968         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55969         * modules/inttypes (inttypes.h): Substitute
55970         HAVE_UNSIGNED_LONG_LONG_INT.
55971         * modules/stdint (stdint.h): Likewise.
55972         (Files): Add m4/ulonglong.m4.
55973
55974 2006-10-10  Bruno Haible  <bruno@clisp.org>
55975
55976         Fix a gcc -Wshadow warning.
55977         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55978         to 'bucket'.
55979         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55980         gl_linked_indexof_from_to): Likewise.
55981         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55982         Likewise.
55983         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55984         Likewise.
55985         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55986         Reported by Eric Blake.
55987
55988 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55989
55990         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55991         for NetBSD.  Problem reported by Bruno Haible.
55992
55993 2006-10-09  Jim Meyering  <jim@meyering.net>
55994
55995         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55996         Patch from Bruno Haible.
55997
55998 2006-10-09  Jim Meyering  <jim@meyering.net>
55999
56000         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
56001         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
56002         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
56003
56004 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56005
56006         Don't include <config.h> twice; this doesn't work in some cases,
56007         e.g., when config.h has "#define intmax_t long long int" and
56008         we include <config.h>, <inttypes.h>, <config.h> in that order.
56009         Problem reported by Matthew Woehlke in:
56010         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
56011         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
56012         * lib/fts-cycle.c: Don't include config.h.
56013         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
56014         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
56015         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
56016         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
56017         inttypes.h.
56018         * lib/xstrtoumax.c: Likewise.
56019         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
56020         __strtol and the like, so that this module is more like its siblings.
56021         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
56022         Remove; no longer needed now that we assume gnulib inttypes.h.
56023
56024 2006-10-08  Bruno Haible  <bruno@clisp.org>
56025
56026         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
56027         option.
56028
56029 2006-10-07  Jim Meyering  <jim@meyering.net>
56030
56031         * modules/inttypes (inttypes.h): Revert what seems to have been
56032         an inadvertent part of today's change: use "|", not "/" in the
56033         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
56034
56035 2006-10-07  Bruno Haible  <bruno@clisp.org>
56036
56037         * modules/sublist: New file.
56038
56039 2006-10-07  Bruno Haible  <bruno@clisp.org>
56040
56041         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
56042         * modules/argz (argz.h): Likewise.
56043         * modules/arpa_inet (arpa/inet.h): Likewise.
56044         * modules/byteswap (byteswap.h): Likewise.
56045         * modules/configmake (configmake.h): Likewise.
56046         * modules/fcntl (fcntl.h): Likewise.
56047         * modules/fnmatch (fnmatch.h): Likewise.
56048         * modules/getopt (getopt.h): Likewise.
56049         * modules/glob (glob.h): Likewise.
56050         * modules/inttypes (inttypes.h): Likewise.
56051         * modules/netinet_in (netinet/in.h): Likewise.
56052         * modules/poll (poll.h): Likewise.
56053         * modules/stdbool (stdbool.h): Likewise.
56054         * modules/stdint (stdint.h): Likewise.
56055         * modules/sys_select (sys/select.h): Likewise.
56056         * modules/sys_socket (sys/socket.h): Likewise.
56057         * modules/sys_stat (sys/stat.h): Likewise.
56058         * modules/sysexits (sysexits.h): Likewise.
56059         * modules/unistd (unistd.h): Likewise.
56060         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56061         Add a "DO NOT EDIT" comment to the generated file.
56062         (func_import): Likewise for gnulib-comp.m4.
56063
56064 2006-10-07  Bruno Haible  <bruno@clisp.org>
56065
56066         * lib/gl_sublist.h: New file.
56067         * lib/gl_sublist.c: New file.
56068
56069 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56070
56071         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
56072         name (relative to the original working directory) and the file
56073         name component (relative to the temporary working directory).  All
56074         callers changed.
56075         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
56076         * lib/mkdir-p.c (make_dir_parents): Likewise.
56077         * lib/mkdir-p.h (make_dir_parents): Likewise.
56078
56079 2006-10-06  Eric Blake  <ebb9@byu.net>
56080
56081         Define several macros for use by the clean-temp module.
56082         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
56083         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
56084         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
56085
56086         * lib/clean-temp.h (close_stream_temp): New declaration.
56087         * lib/clean-temp.c (includes): Pull in headers according to what
56088         other modules are in use.
56089         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
56090
56091 2006-10-06  Bruno Haible  <bruno@clisp.org>
56092
56093         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
56094         instead of fopen, fwriteerror.
56095
56096 2006-10-06  Bruno Haible  <bruno@clisp.org>
56097
56098         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
56099         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
56100         int.
56101         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
56102         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
56103         Return an error indicator.
56104         Suggested by Eric Blake.
56105
56106 2006-10-06  Bruno Haible  <bruno@clisp.org>
56107
56108         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
56109         Reported by Eric Blake.
56110
56111 2006-10-06  Bruno Haible  <bruno@clisp.org>
56112
56113         * modules/closeout (Description): Mention stderr too.
56114
56115 2006-10-06  Bruno Haible  <bruno@clisp.org>
56116         and Paul Eggert  <eggert@cs.ucla.edu>
56117
56118         * lib/closeout.c (close_stdout): Also close stderr.
56119         * lib/closeout.h: Update comment.
56120
56121 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
56122
56123         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
56124         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
56125         * lib/dirchownmod.c: Include lchown.h.
56126         * lib/lchown.c: Don't include files that lchown.h now includes.
56127         Don't declare chown, since lchown.h now does that.
56128         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
56129         (lchown): Define to rpl_chown if lchown is declared but
56130         does not exist.  Declare using a prototype if lchown is not
56131         declared.  Add a copyright notice.
56132         * lib/mkstemp.h: Include <unistd.h>.
56133         * lib/openat.c: Include lchown.h.
56134
56135         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
56136         we now test for that separately.
56137         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
56138         rather than O_NOFOLLOW, when testing whether it's possible to
56139         avoid a race condition reliably.
56140         * lib/savewd.c (savewd_chdir): Likewise.
56141
56142         Remove macros that are no longer needed now that stdint.h is
56143         reliable.
56144         * lib/fsusage.c (UINTMAX_MAX): Remove.
56145         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
56146         * lib/utimecmp.c (SIZE_MAX): Remove.
56147
56148         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
56149
56150         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
56151         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
56152         O_NOATIME works.
56153
56154 2006-10-05  Bruno Haible  <bruno@clisp.org>
56155
56156         * lib/gl_list.h (gl_sortedlist_search_from_to,
56157         gl_sortedlist_indexof_from_to): New declarations.
56158         (gl_list_implementation): New fields sortedlist_search_from_to,
56159         sortedlist_indexof_from_to.
56160         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
56161         inline functions.
56162         * lib/gl_list.c (gl_sortedlist_search_from_to,
56163         gl_sortedlist_indexof_from_to): New functions.
56164         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
56165         function.
56166         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
56167         (gl_array_sortedlist_search_from_to): New function.
56168         (gl_array_list_implementation): Update.
56169         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
56170         function.
56171         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
56172         (gl_carray_sortedlist_search_from_to): New function.
56173         (gl_carray_list_implementation): Update.
56174         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
56175         gl_linked_sortedlist_indexof_from_to): New functions.
56176         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56177         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56178         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
56179         gl_tree_sortedlist_indexof_from_to): New functions.
56180         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56181         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56182         Update.
56183         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56184         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
56185         Update.
56186
56187 2006-10-05  Bruno Haible  <bruno@clisp.org>
56188
56189         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
56190         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
56191         (struct gl_list_implementation): Add fields search_from_to,
56192         indexof_from_to. Remove fields search, indexof.
56193         (gl_list_search): Use the search_from_to method.
56194         (gl_list_search_from, gl_list_search_from_to): New functions.
56195         (gl_list_indexof): Use the indexof_from_to method.
56196         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56197         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
56198         (gl_list_search_from, gl_list_search_from_to): New functions.
56199         (gl_list_indexof): Use the indexof_from_to method.
56200         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56201         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
56202         gl_array_indexof. Add start_index, end_index arguments.
56203         (gl_array_search_from_to): Renamed from gl_array_search. Add
56204         start_index, end_index arguments.
56205         (gl_array_remove, gl_array_list_implementation): Update.
56206         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
56207         gl_carray_indexof. Add start_index, end_index arguments.
56208         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
56209         start_index, end_index arguments.
56210         (gl_carray_remove, gl_carray_list_implementation): Update.
56211         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
56212         gl_linked_search. Add start_index, end_index arguments.
56213         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
56214         start_index, end_index arguments.
56215         (gl_linked_remove): Update.
56216         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56217         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56218         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
56219         field to 'size_t'.
56220         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
56221         gl_tree_search. Add start_index, end_index arguments.
56222         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56223         start_index, end_index arguments.
56224         (gl_tree_remove): Update.
56225         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56226         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56227         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
56228         function.
56229         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
56230         gl_tree_search. Add start_index, end_index arguments.
56231         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56232         start_index, end_index arguments.
56233         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56234         Update.
56235         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56236
56237 2006-10-05  Bruno Haible  <bruno@clisp.org>
56238
56239         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
56240
56241         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
56242         fwriteerror_temp): New declarations.
56243         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
56244         (descriptors): New variable.
56245         (cleanup): First, close the descriptors.
56246         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
56247         fclose_temp, fwriteerror_temp): New functions.
56248
56249 2006-10-04  Jim Meyering  <jim@meyering.net>
56250
56251         * lib/fts.c (fts_open): Tiny comment change.
56252
56253 2006-10-04  Bruno Haible  <bruno@clisp.org>
56254
56255         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
56256         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
56257         gl_LOCK_BODY.
56258         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
56259         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
56260         gl_LOCK_EARLY_BODY.
56261         (gl_LOCK): Require gl_LOCK_BODY.
56262
56263 2006-10-04  Bruno Haible  <bruno@clisp.org>
56264
56265         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
56266         (gl_oset_search_atleast): New declaration.
56267         (struct gl_oset_implementation): Add field 'search_atleast'.
56268         (gl_oset_search_atleast): New inline function.
56269         * lib/gl_oset.c (gl_oset_search_atleast): New function.
56270         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
56271         (gl_array_oset_implementation): Update.
56272         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
56273         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
56274         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
56275
56276 2006-10-04  Bruno Haible  <bruno@clisp.org>
56277
56278         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
56279
56280 2006-10-03  Bruno Haible  <bruno@clisp.org>
56281
56282         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
56283         from gl_avltreehash_list_implementation.
56284
56285 2006-10-03  Bruno Haible  <bruno@clisp.org>
56286
56287         * lib/gl_oset.c (gl_oset_add): Fix return type.
56288
56289 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
56290
56291         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
56292
56293 2006-10-02  Eric Blake  <ebb9@byu.net>
56294
56295         * modules/strnlen (Depends-on): Add extensions.
56296
56297 2006-10-02  Eric Blake  <ebb9@byu.net>
56298
56299         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
56300         definition in 2.60+.
56301
56302 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
56303
56304         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
56305         checks.
56306
56307 2006-10-02  Bruno Haible  <bruno@clisp.org>
56308
56309         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
56310         to the AUTOMAKE_OPTIONS.
56311         Reported by Jim Meyering.
56312
56313 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
56314
56315         Work around bug in Solaris 10 /proc file system:
56316         /proc/self/fd/NNN/.. isn't the parent directory of
56317         the directory whose file descriptor is NNN.  This needs to
56318         be worked around at run time, not compile time, since a
56319         program might be built on Solaris 8, where things work, and
56320         run on Solaris 10.
56321         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
56322         to use the following interface instead:
56323         (OPENAT_BUFFER_SIZE): New macro.
56324         (openat_proc_name): New function.
56325         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
56326         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
56327         Likewise.
56328         * lib/openat-proc.c: New file.
56329         * modules/openat (Files): Add lib/openat-proc.c.
56330         (Depends-on): Add same-inode, stdbool.
56331         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
56332
56333 2006-09-29  Bruno Haible  <bruno@clisp.org>
56334
56335         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
56336         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
56337         argument. Set stdout_closed before testing for ferror, not after.
56338         (fwriteerror, fwriteerror_no_ebadf): New functions.
56339
56340 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56341
56342         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
56343
56344 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
56345
56346         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
56347         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
56348
56349 2006-09-28  Jim Meyering  <jim@meyering.net>
56350
56351         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
56352         Include <unistd.h>.
56353
56354 2006-09-28  Bruno Haible  <bruno@clisp.org>
56355
56356         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
56357         * modules/linkedhash-list (Depends-on): Likewise.
56358         * modules/rbtreehash-list (Depends-on): Likewise.
56359
56360 2006-09-28  Bruno Haible  <bruno@clisp.org>
56361
56362         * lib/strndup.h: Simplify the redefinition of strndup.
56363         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
56364         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
56365
56366 2006-09-28  Bruno Haible  <bruno@clisp.org>
56367
56368         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
56369         * lib/gl_linkedhash_list.c: Likewise.
56370         * lib/gl_rbtreehash_list.c: Likewise.
56371
56372 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56373
56374         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
56375         getaddrinfo.
56376
56377         * lib/__fpending.h: Don't include <stdio_ext.h> unless
56378         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
56379         it causes <stdio_ext.h> to cause a compile-time error.
56380         Problem reported by Nelson H. F. Beebe.
56381         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
56382         of HAVE_DECL___PENDING.
56383
56384         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
56385         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
56386         declaration.
56387
56388 2006-09-27  Jim Meyering  <jim@meyering.net>
56389
56390         This file could end up with a definition for a function
56391         named __strndup, rather than rpl_strndup on a system with
56392         incomplete weak_alias support.
56393         * lib/strndup.c (strndup): Rename from __strndup.
56394         Remove #defines that used to map __strndup to strndup.
56395         Don't use K&R prototypes.
56396         Remove LIBC-related code, since this file is not sync'd with glibc.
56397         * lib/strndup.h: Revamp, accordingly.
56398         * m4/strndup.m4: Modernize.
56399
56400 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
56401
56402         * modules/savewd (Depends-on): Add 'raise'.
56403         * lib/savewd.c: Include <signal.h>, for 'raise'.
56404
56405 2006-09-26  Jim Meyering  <jim@meyering.net>
56406
56407         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
56408         when we detect Darwin 8.7.0's acl_get_file bug.
56409         Rearrange to perform the new (below) run-test while $LIBS
56410         contains any acl-related library.  Set USE_ACL at the end.
56411         (gl_ACL_GET_FILE): New function.
56412
56413 2006-09-26  Eric Blake  <ebb9@byu.net>
56414
56415         * lib/verror.c: Include <config.h> unconditionally.
56416
56417 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
56418
56419         * modules/clock-time (Maintainer): Add self.
56420         * modules/getlogin_r (Depends-on): Add extensions.
56421
56422 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56423
56424         * modules/clock-time: New module.
56425         * modules/nanosleep (Depends-on): Add clock-time.
56426         * modules/gethrxtime (Depends-on): Likewise.
56427         * modules/gettime (Depends-on): Likewise.
56428         * modules/settime (Depends-on): Likewise.
56429
56430         * modules/fts-lgpl: Depend on openat.
56431         * modules/mkancesdirs: Depend on savewd.
56432         * modules/mkdir-p: Likewise.
56433
56434 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56435
56436         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
56437
56438         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
56439         `gl_have_arbitrary_file_name_length_limit' to
56440         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
56441         actually works between configure runs.
56442
56443 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56444             Bruno Haible  <bruno@clisp.org>
56445
56446         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
56447
56448 2006-09-25  Jim Meyering  <jim@meyering.net>
56449
56450         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
56451         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
56452
56453 2006-09-25  Eric Blake  <ebb9@byu.net>
56454
56455         * gnulib-tool (func_import, func_create_testdir): Fix typos in
56456         exec's in 2006-09-18 patch when shuffling fds.
56457
56458 2006-09-25  Bruno Haible  <bruno@clisp.org>
56459
56460         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
56461         Reported by Jim Meyering.
56462
56463 2006-09-24  Jim Meyering  <jim@meyering.net>
56464
56465         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
56466         compare a pointer against a literal "0".  That caused failures with
56467         at least HP-UX's hpcc.
56468
56469 2006-09-22  Simon Josefsson  <jas@extundo.com>
56470
56471         * modules/gc-sha1:
56472         * modules/gc-md4:
56473         * modules/gc-hmac-sha1:
56474         * modules/gc-hmac-md5:
56475         * modules/gc-des:
56476         * modules/gc-arcfour: Distribute more files.
56477
56478 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56479
56480         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
56481         (gl_linked_iterator_from_to): Initialize struct completely.
56482         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
56483         (gl_tree_iterator_from_to): Likewise
56484         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
56485         * lib/gl_array_list.c [lint] (gl_array_iterator)
56486         (gl_array_iterator_from_to): Likewise.
56487         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
56488         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
56489         (gl_carray_iterator_from_to): Likewise.
56490
56491         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
56492         * lib/md4.c (md4_process_block): Remove unused variable.
56493         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
56494         parentheses for clarity.
56495
56496 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56497
56498         * modules/bison-i18n (Depends-on): Add gettext.
56499
56500 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56501
56502         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
56503         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
56504         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
56505         also add missing comma that caused broken test.
56506         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
56507         stdlib.h, for `abort'.
56508         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
56509         variables.
56510         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
56511         include unistd.h if present, for `rmdir'.
56512         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
56513         variables.
56514         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
56515         in the process include standard headers for prototypes.
56516         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
56517         gets declared on GNU/Linux.
56518         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
56519         unistd.h, for `rmdir'.
56520         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
56521
56522         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
56523         always true.
56524         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
56525
56526         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
56527
56528 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56529
56530         * gnulib-tool (func_version): Create output all at once.  This
56531         may help avoid triggering unnecessary SIGPIPEs, and at any
56532         rate it doesn't hurt.
56533
56534 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56535             Bruno Haible  <bruno@clisp.org>
56536
56537         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
56538         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
56539         * m4/signed.m4 (bh_C_SIGNED): Likewise.
56540
56541         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
56542         (gl_FUNC_VASPRINTF): Invoke it.
56543
56544 2006-09-22  Bruno Haible  <bruno@clisp.org>
56545
56546         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
56547         getloadavg.c as first argument.
56548
56549 2006-09-22  Bruno Haible  <bruno@clisp.org>
56550
56551         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
56552         at the beginning of the gl_INIT macro.
56553         * modules/getloadavg (configure.ac): Pass $gl_source_base to
56554         gl_GETLOADAVG.
56555
56556 2006-09-22  Bruno Haible  <bruno@clisp.org>
56557
56558         * gnulib-tool (func_create_megatestdir): Don't include the config-h
56559         module.
56560         Suggested by Ralf Wildenhues.
56561
56562 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
56563
56564         Import this patch from libc:
56565
56566         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
56567
56568         * lib/regex_internal.c (re_string_reconstruct): Handle
56569         offset < pstr->valid_raw_len && pstr->offsets_needed case.
56570         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
56571         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
56572         re_string_context_at.
56573
56574         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
56575         now requires it.
56576         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
56577         gl_REGEX now does it for us.
56578         (gl_REGEX): Add test taken from
56579         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
56580
56581         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
56582         Check that large offsets work.  Modernize Autoconf usages.
56583         Prefer "yes" to mean a good thing rather than a bad.
56584         Don't put "#define mkstemp" in config.h, as this might interfere
56585         with standard system headers that "#define mkstemp mkstemp64".
56586
56587         * modules/mkstemp (Depends-on): Add extensions, so that
56588         mkstemp is visible on some platforms.
56589         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
56590         (Include): Change to "mkstemp.h" from <stdlib.h>.
56591         (Files): Add mkstemp.h.
56592
56593         * lib/mkstemp.h: New file, since some standard headers
56594         #define mkstemp.
56595         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
56596         Include "mkstemp.h".
56597         Make the _LIBC code resemble glibc original more,
56598         e.g., use K&R style.
56599         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
56600         (mkstemp): Remove, since mkstemp.h does this for us.
56601         * lib/stdlib--.h: Include mkstemp.h.
56602
56603         Import this patch from libc:
56604
56605         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56606
56607         * lib/tempname.c (__gen_tempname): Change attempts_min
56608         into a macro.  Use preprocessor to decide how to initialize
56609         attempts [Coverity CID 67].
56610
56611 2006-09-20  Bruno Haible  <bruno@clisp.org>
56612
56613         * lib/mkdtemp.c: Import from libc.
56614         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
56615                 * sysdeps/posix/tempname.c (__gen_tempname): Change
56616                 attempts_min into a macro.  Use preprocessor to decide how to
56617                 initialize attempts [Coverity CID 67].
56618         2001-11-27  Paul Eggert  <eggert@twinsun.com>
56619                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
56620                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
56621
56622 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56623
56624         * gnulib-tool (func_exit): New function, to allow to pass the
56625         exit status portably through the trap.  Use everywhere.
56626         (--help, --version): Signal a write error.
56627         (trap): catch SIGPIPE, for write errors.
56628         Exit at the end of the trap, with the correct exit status.
56629
56630 2006-09-19  Karl Berry  <karl@gnu.org>
56631
56632         * doc/gnulib.texi: note about the license texinfo files.
56633
56634 2006-09-19  Eric Blake  <ebb9@byu.net>
56635
56636         * gnulib-tool: Avoid space-tab.
56637
56638 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56639
56640         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
56641         that prevented coreutils 6.1 from building.  Problem reported
56642         by Petter Reinholdtsen.
56643
56644 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
56645
56646         * gnulib-tool (avoidlist): Fix typo that broke options like
56647         --avoid=lock that are used by coreutils bootstrap.
56648
56649 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
56650
56651         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
56652         more systematically.
56653
56654 2006-09-18  Jim Meyering  <jim@meyering.net>
56655
56656         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
56657
56658 2006-09-18  Bruno Haible  <bruno@clisp.org>
56659
56660         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
56661
56662 2006-09-18  Bruno Haible  <bruno@clisp.org>
56663
56664         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
56665         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
56666         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
56667         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
56668         * m4/gettext.m4: Require autoconf >= 2.52.
56669         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
56670         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
56671         of gl_cv_header_inttypes_h.
56672
56673 2006-09-18  Bruno Haible  <bruno@clisp.org>
56674
56675         * lib/javaversion.c: Include configmake.h.
56676
56677 2006-09-18  Bruno Haible  <bruno@clisp.org>
56678
56679         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
56680         avoid that the while loops be executed in a subshell.
56681
56682 2006-09-18  Bruno Haible  <bruno@clisp.org>
56683
56684         * MODULES.html.sh (func_module): Break long lines.
56685         Suggested by Bruce Korb <bkorb@gnu.org>.
56686
56687 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56688
56689         Speed up by a factor of 1.12.
56690         * gnulib-tool (nl): New variable.
56691         (func_import): Rewrite include directive extraction to only read each
56692         directive once.
56693
56694 2006-09-17  Bruno Haible  <bruno@clisp.org>
56695
56696         * modules/javaversion (Makefile.am): Remove DEFS setting.
56697         (Depends-on): Add configmake, for PKGDATADIR definition.
56698
56699 2006-09-17  Bruno Haible  <bruno@clisp.org>
56700
56701         * gnulib-tool (func_create_testdir): Rewrite all files at once.
56702
56703 2006-09-17  Bruno Haible  <bruno@clisp.org>
56704
56705         * gnulib-tool (func_append): New function, stolen from libtool.m4.
56706         (func_modules_transitive_closure, func_modules_add_dummy,
56707         func_modules_to_filelist, func_import, func_create_testdir,
56708         func_create_megatestdir, ...): Use it wherever possible.
56709         Suggested by Ralf Wildenhues.
56710
56711 2006-09-16  Karl Berry  <karl@gnu.org>
56712
56713         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
56714         to avoid sectioning errors.
56715         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
56716         [ifinfo]: blank line after @center-ed titles.
56717         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
56718         Spell FSF address consistently with others.
56719         (These changes approved by rms.)
56720
56721 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56722
56723         Speed up by a factor of 1.61.
56724         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
56725         already checked module names again.
56726
56727 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56728
56729         Speed up by a factor of 1.13.
56730         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
56731         for new_files, and the input to func_add_or_update.
56732
56733 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56734
56735         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
56736         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
56737
56738 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56739
56740         * modules/mkancesdirs (Depends-on): Add fcntl.
56741         * modules/savewd: New file.
56742         * MODULES.html.sh (File system functions): Add savewd.
56743
56744         * modules/configmake (Makefile.am): Add support for the
56745         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
56746
56747 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56748
56749         * m4/savewd.m4: New file.
56750
56751 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56752
56753         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
56754         (dirchownmod): New arg FD.  All callers changed.
56755         Use FD rather than opening the directory ourself, as opening is
56756         now the caller's responsibility.
56757         * lib/dirchownmod.h: Likewise.
56758         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
56759         hosts that require <sys/types.h> before <sys/stat.h>.  Include
56760         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
56761         (test_dir): Remove.
56762         (mkancesdirs): Return length of prefix of FILE that has already
56763         been made, or -2 if there is a child doing the work.  Redo
56764         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56765         ".", and treat ".." specially since it might stray back into
56766         already-created areas.  Use a subprocess if necessary.  New arg
56767         WD; all users changed.  MAKE_DIR function should now return 1
56768         if it creates a directory that is not readable.  Return -2 if
56769         a child process is spun off.
56770         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56771         Adjust signature to match code.
56772         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56773         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56774         all users changed.
56775         * lib/savewd.c, lib/savewd.h: New files.
56776
56777 2006-09-15  Jim Meyering  <jim@meyering.net>
56778
56779         * modules/rename-dest-slash: New module.
56780         * MODULES.html.sh (posix_compat): Add it here.
56781
56782         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56783
56784 2006-09-15  Jim Meyering  <jim@meyering.net>
56785
56786         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56787         file.
56788
56789         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56790
56791 2006-09-15  Jim Meyering  <jim@meyering.net>
56792
56793         * lib/rename-dest-slash.c (has_trailing_slash): Use
56794         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56795         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56796         test before testing whether SRC is a directory.
56797         Suggestions from Bruno Haible.
56798
56799         Avoid a warning about an unused variable.
56800         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56801         into the #ifdef block where it's used.
56802
56803         * lib/rename-dest-slash.c: New file.
56804
56805 2006-09-14  Bruno Haible  <bruno@clisp.org>
56806
56807         * lib/allocsa.c: Include <config.h> unconditionally.
56808         * lib/asnprintf.c: Likewise.
56809         * lib/asprintf.c: Likewise.
56810         * lib/c-strcasecmp.c: Likewise.
56811         * lib/c-strcasestr.c: Likewise.
56812         * lib/c-strncasecmp.c: Likewise.
56813         * lib/c-strstr.c: Likewise.
56814         * lib/classpath.c: Likewise.
56815         * lib/clean-temp.c: Likewise.
56816         * lib/concatpath.c: Likewise.
56817         * lib/copy-file.c: Likewise.
56818         * lib/csharpcomp.c: Likewise.
56819         * lib/csharpexec.c: Likewise.
56820         * lib/execute.c: Likewise.
56821         * lib/fatal-signal.c: Likewise.
56822         * lib/findprog.c: Likewise.
56823         * lib/fwriteerror.c: Likewise.
56824         * lib/gl_array_list.c: Likewise.
56825         * lib/gl_array_oset.c: Likewise.
56826         * lib/gl_avltree_list.c: Likewise.
56827         * lib/gl_avltree_oset.c: Likewise.
56828         * lib/gl_avltreehash_list.c: Likewise.
56829         * lib/gl_carray_list.c: Likewise.
56830         * lib/gl_linked_list.c: Likewise.
56831         * lib/gl_linkedhash_list.c: Likewise.
56832         * lib/gl_list.c: Likewise.
56833         * lib/gl_oset.c: Likewise.
56834         * lib/gl_rbtree_list.c: Likewise.
56835         * lib/gl_rbtree_oset.c: Likewise.
56836         * lib/gl_rbtreehash_list.c: Likewise.
56837         * lib/imaxabs.c: Likewise.
56838         * lib/imaxdiv.c: Likewise.
56839         * lib/javacomp.c: Likewise.
56840         * lib/javaexec.c: Likewise.
56841         * lib/javaversion.c: Likewise.
56842         * lib/linebreak.c: Likewise.
56843         * lib/localcharset.c: Likewise.
56844         * lib/lock.c: Likewise.
56845         * lib/mbchar.c: Likewise.
56846         * lib/mbswidth.c: Likewise.
56847         * lib/mkdtemp.c: Likewise.
56848         * lib/pipe.c: Likewise.
56849         * lib/printf-args.c: Likewise.
56850         * lib/printf-parse.c: Likewise.
56851         * lib/progname.c: Likewise.
56852         * lib/progreloc.c: Likewise.
56853         * lib/readlink.c: Likewise.
56854         * lib/sh-quote.c: Likewise.
56855         * lib/stpcpy.c: Likewise.
56856         * lib/stpncpy.c: Likewise.
56857         * lib/strcasecmp.c: Likewise.
56858         * lib/strcasestr.c: Likewise.
56859         * lib/strcspn.c: Likewise.
56860         * lib/striconv.c: Likewise.
56861         * lib/strncasecmp.c: Likewise.
56862         * lib/strnlen1.c: Likewise.
56863         * lib/strstr.c: Likewise.
56864         * lib/strtok_r.c: Likewise.
56865         * lib/tls.c: Likewise.
56866         * lib/tmpdir.c: Likewise.
56867         * lib/unicodeio.c: Likewise.
56868         * lib/unsetenv.c: Likewise.
56869         * lib/vasnprintf.c: Likewise.
56870         * lib/vasprintf.c: Likewise.
56871         * lib/wait-process.c: Likewise.
56872         * lib/xallocsa.c: Likewise.
56873         * lib/xsetenv.c: Likewise.
56874         * lib/xstriconv.c: Likewise.
56875
56876 2006-09-13  Simon Josefsson  <jas@extundo.com>
56877
56878         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56879         that internally, suggested by Ralf Wildenhues
56880         <Ralf.Wildenhues@gmx.de>.
56881
56882 2006-09-13  Simon Josefsson  <jas@extundo.com>
56883
56884         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56885         @LIBOBJS@.
56886         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56887
56888 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56889
56890         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56891         longer worry about uses that don't define HAVE_CONFIG_H.
56892         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56893         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56894         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56895         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56896         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56897         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56898         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56899         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56900         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56901         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56902         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56903         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56904         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56905         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56906         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56907         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56908         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56909         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56910         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56911         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56912         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56913         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56914         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56915         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56916         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56917         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56918         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56919         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56920         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56921         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56922         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56923         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56924         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56925         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56926         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56927         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56928         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56929         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56930         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56931         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56932         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56933         Likewise.
56934
56935 2006-09-13  Eric Blake  <ebb9@byu.net>
56936
56937         * lib/getopt.c: Fix typo in last commit.
56938
56939 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56940
56941         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56942         dgettext.
56943
56944 2006-09-12  Jim Meyering  <jim@meyering.net>
56945
56946         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56947         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56948         Reported by Nelson H. F. Beebe.
56949
56950 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56951
56952         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56953         program_invocation_name and program_invocation_short_name are
56954         initialized.
56955         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56956         and program_invocation_short_name to argp.h, so they are visible
56957         to user programs.
56958         * lib/argp.h: Likewise
56959
56960 2006-09-10  Bruno Haible  <bruno@clisp.org>
56961
56962         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56963         m4/inttypes_h.m4, m4/uintmax_t.m4.
56964
56965 2006-09-10  Bruno Haible  <bruno@clisp.org>
56966
56967         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56968         gl_AC_TYPE_UINTMAX_T.
56969
56970 2006-09-10  Bruno Haible  <bruno@clisp.org>
56971
56972         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56973
56974 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56975
56976         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56977         convention.  Text proposed by Bruno Haible.
56978         (struct argp_option): Document the use of N_() wrappers.
56979
56980         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56981         '\v', and translate the two parts separately, instead of feeding
56982         the whole string to gettext.  This allows to exclude
56983         '\v' from the strings visible to the translator by writing doc
56984         strings as N_("..") "\v" N_("..").
56985
56986 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56987
56988         * config/srclist.txt: Undo latest change; the bug was fixed.
56989
56990 2006-09-09  Bruno Haible  <bruno@clisp.org>
56991
56992         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56993         assignments if building a library without libtool.
56994         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56995         in func_emit_lib_Makefile_am.
56996         (func_import): When building a static library libfoo.a, arrange to
56997         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56998         (func_create_testdir): Likewise.
56999         * modules/gc (configure.ac, Makefile.am): If building statically,
57000         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
57001         * modules/iconvme (configure.ac, Makefile.am): Likewise.
57002         * modules/striconv (configure.ac, Makefile.am): Likewise.
57003         Based on a suggestion by Ralf Wildenhues.
57004
57005 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57006
57007         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57008         Check for unistd.h too, since Autoconf doesn't assume POSIX.
57009         Also:
57010
57011         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57012         Add year_2050_test to catch glibc bug 2821
57013         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57014
57015         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57016         Prefer #ifdef to #if.
57017
57018         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
57019         Return from 'main' instead of calling 'exit'.
57020
57021 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57022
57023         * lib/mktime.c (guess_time_tm): Fix bug where mktime
57024         returned the maximum time_t value rather than (time_t) -1.
57025         Problem originally reported by William Bardwell
57026         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57027
57028         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57029         Moved to here ...
57030         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57031         ... from here.
57032
57033 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57034
57035         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
57036         2821 is fixed.
57037
57038 2006-09-08  Jim Meyering  <jim@meyering.net>
57039
57040         Don't make generated files read-only.  That would bother too many
57041         people.  However, do retain the ability to work when targets are
57042         read-only: remove the destination and temporary files before writing
57043         them (when generated via sed or echo), or by using the -f option for
57044         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
57045         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57046         * modules/byteswap, modules/configmake, modules/fcntl:
57047         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57048         * modules/localcharset, modules/netinet_in, modules/poll:
57049         * modules/stdbool, modules/stdint, modules/sys_select:
57050         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57051
57052 2006-09-08  Jim Meyering  <jim@meyering.net>
57053
57054         Avoid new build failure on FreeBSD 6.0.
57055         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
57056         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
57057         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
57058
57059 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57060
57061         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
57062
57063 2006-09-07  Jim Meyering  <jim@meyering.net>
57064
57065         Fix global typo in last change: use chmod u-w, not chmod u-x.
57066         Spotted by Paul Eggert and Bruce Korb.
57067         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57068         * modules/byteswap, modules/configmake, modules/fcntl:
57069         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57070         * modules/localcharset, modules/netinet_in, modules/poll:
57071         * modules/stdbool, modules/stdint, modules/sys_select:
57072         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57073
57074 2006-09-06  Jim Meyering  <jim@meyering.net>
57075
57076         Make generated files be read-only.
57077         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
57078         Ensure that each generated file is now read-only.
57079         * modules/argz: Likewise.
57080         * modules/arpa_inet: Likewise.
57081         * modules/byteswap: Likewise.
57082         * modules/configmake: Likewise.
57083         * modules/fcntl: Likewise.
57084         * modules/fnmatch: Likewise.
57085         * modules/getopt: Likewise.
57086         * modules/glob: Likewise.
57087         * modules/inttypes: Likewise.
57088         * modules/netinet_in: Likewise.
57089         * modules/poll: Likewise.
57090         * modules/stdbool: Likewise.
57091         * modules/stdint: Likewise.
57092         * modules/sys_select: Likewise.
57093         * modules/sys_socket: Likewise.
57094         * modules/sys_stat: Likewise.
57095         * modules/sysexits: Likewise.
57096         * modules/localcharset: Same as above, but continue using temporary
57097         file named "t-$@" (why different?) rather than the "$@-t" used
57098         everywhere else.
57099
57100         * modules/sysexits (Makefile.am): Replace literal occurrences
57101         of "sysexit.h" more readable, and more consistent, "$@".
57102
57103 2006-09-06  Bruno Haible  <bruno@clisp.org>
57104
57105         * modules/striconv: New file.
57106         * modules/xstriconv: New file.
57107         * MODULES.html.sh (Internationalization functions): Add striconv,
57108         xstriconv.
57109
57110 2006-09-06  Bruno Haible  <bruno@clisp.org>
57111
57112         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
57113         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
57114         not using libtool correctly.
57115
57116 2006-09-06  Bruno Haible  <bruno@clisp.org>
57117
57118         * lib/striconv.h: New file.
57119         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
57120         iconvstring.c.
57121         * lib/xstriconv.h: New file.
57122         * lib/xstriconv.c: New file.
57123
57124 2006-09-06  Bruno Haible  <bruno@clisp.org>
57125
57126         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57127         lib_..._LDFLAGS.
57128
57129 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57130
57131         * lib/argz_.h: Sync from Libtool.
57132
57133         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
57134                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57135
57136         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
57137
57138 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57139
57140         * modules/trim: New file.
57141
57142 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57143
57144         * lib/trim.h: New file.
57145         * lib/trim.c: New file.
57146
57147 2006-09-05  Bruno Haible  <bruno@clisp.org>
57148
57149         * MODULES.html.sh (String handling): Add trim.
57150
57151 2006-09-04  Karl Berry  <karl@gnu.org>
57152
57153         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
57154         until next release.
57155
57156 2006-09-03  Bruno Haible  <bruno@clisp.org>
57157
57158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
57159         correctly.
57160
57161 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57162
57163         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
57164         not gl_GETLOADAVG.  Omit unneeded semicolons.
57165         Problems reported by Ralf Wildenhues in
57166         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57167         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
57168         at the end, which is the usual gnulib style.
57169
57170         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
57171         of doing all the work ourselves.
57172         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
57173         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
57174
57175 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57176
57177         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
57178         Problem reported by Ralf Wildenhues in
57179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57180
57181         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
57182         HAVE_STRUCT_STATFS_F_FSTYPENAME.
57183
57184 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57185
57186         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
57187         yesterday's patch by changing test -n to test -z.
57188
57189 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57190
57191         * modules/getloadavg (Files): Add m4/getloadavg.m4.
57192         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
57193         the former is now obsolescent.
57194
57195         * modules/chdir-long (Depends-on): Add fcntl.
57196
57197 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57198
57199         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
57200         obsolescent, and programs should use gnulib instead.
57201         * m4/getloadavg.m4: New file, with contents taken from Autoconf
57202         but with prefixes changed.
57203
57204 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57205
57206         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
57207         or stdbool.h, because they might not exist while configuring.
57208
57209         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
57210         Don't include unistd.h or limits.h; not needed, since chdir-long.h
57211         does that for us.
57212         (O_DIRECTORY): Remove.
57213
57214 2006-08-31  Eric Blake  <ebb9@byu.net>
57215
57216         * gnulib-tool: Don't let emacs change spaces to TAB.
57217
57218 2006-08-31  Bruno Haible  <bruno@clisp.org>
57219
57220         * gnulib-tool: When calling func_import more than once, do it in a
57221         subshell.
57222         Reported by Eric Blake <ebb9@byu.net>.
57223
57224 2006-08-31  Bruno Haible  <bruno@clisp.org>
57225
57226         * gnulib-tool (nl): Remove variable.
57227         (sed_transform_lib_file): Use more robust test for config-h module.
57228         (func_import): Fix typo in 2006-08-25 patch.
57229
57230 2006-08-31  Bruno Haible  <bruno@clisp.org>
57231
57232         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
57233         specified, augment Makefile.am variables instead of assigning them.
57234
57235 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57236
57237         Work around a bug in both the Linux and SunOS 64-bit kernels:
57238         nanosleep mishandles sleeps for longer than 2**31 seconds.
57239         Problem reported by Frank v Waveren in
57240         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
57242         Check for nanosleep bug.
57243         (LIB_NANOSLEEP): Append clock_gettime library if needed.
57244
57245 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57246
57247         Work around a bug in both the Linux and SunOS 64-bit kernels:
57248         nanosleep mishandles sleeps for longer than 2**31 seconds.
57249         Problem reported by Frank v Waveren in
57250         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57251         * lib/nanosleep.c (BILLION): New constant.
57252         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
57253         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
57254         implementation.
57255
57256 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57257
57258         * modules/nanosleep (Depends-on): Add gettime.
57259
57260 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57261         and Simon Josefsson  <jas@extundo.com>
57262         and Oskar Liljeblad  <oskar@osk.mine.nu>
57263
57264         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
57265         * gnulib-tool (func_import): New license type 'unmodifiable license
57266         text'.
57267         * modules/fdl: Use it.  Longer description.
57268         * module/gpl, module/lgpl: New files.
57269
57270 2006-08-30  Jim Meyering  <jim@meyering.net>
57271
57272         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
57273         shadowing the parameter.
57274
57275 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57276
57277         Sync from Libtool:
57278
57279         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57280
57281         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
57282         sharing with gnulib.  Report by Eric Blake.
57283
57284 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57285
57286         * modules/isapipe: New file.
57287         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
57288
57289 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57290
57291         * modules/configmake (Makefile.am): Add a comment, and omit
57292         the CONFIGMAKE_ prefix from generated macro names.  Suggested
57293         by Bruno Haible.
57294
57295 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57296
57297         * m4/isapipe.m4: New file.
57298
57299 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57300
57301         * lib/isapipe.c, lib/isapipe.h: New files.
57302
57303 2006-08-29  Jim Meyering  <jim@meyering.net>
57304
57305         * modules/configmake (Makefile.am): Make configmake.h depend on
57306         Makefile.  Otherwise, a stale configmake.h could hang around.
57307
57308 2006-08-29  Eric Blake  <ebb9@byu.net>
57309
57310         * lib/error.c (error_at_line, print_errno_message): Match libc, after
57311         resolution of upstream bug 3044.
57312
57313 2006-08-29  Bruno Haible  <bruno@clisp.org>
57314
57315         * modules/localcharset (Depends-on): Add configmake.
57316         (Makefile.am): Remove setting of LIBDIR through DEFS.
57317
57318 2006-08-29  Bruno Haible  <bruno@clisp.org>
57319
57320         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
57321         defined.
57322
57323 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57324
57325         * modules/fcntl: New file.
57326         * modules/chdir-safer (Depends-on): Add fcntl.
57327         * modules/fts: Likewise.
57328         * modules/mkdir-p: Likewise.
57329
57330         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
57331         This undoes the most recent change, since we're now addressing the
57332         problem in a different way.
57333
57334         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
57335         into output, since the output might be called Makefile.am even
57336         if $makefile_name is something different.
57337         (func_import): Use $makefile_am rather than
57338         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
57339         empty.
57340
57341         * modules/inttypes (Files): Add m4/inttypes-h.m4.
57342
57343 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57344
57345         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
57346         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
57347         recent change to stdint.m4, since we're now addressing the problem in a
57348         different way.
57349
57350 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57351
57352         * m4/fcntl_h.m4: New file.
57353
57354 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57355
57356         * lib/fcntl_.h: New file.
57357         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
57358         the fcntl module.
57359         * lib/dirchownmod.c: Likewise.
57360         * lib/fts.c: Likewise.
57361
57362         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
57363         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
57364         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
57365         just before including <inttypes.h>, to avoid circular inclusion.
57366
57367 2006-08-28  Jim Meyering  <jim@meyering.net>
57368
57369         * doc/visibility.texi: Actually read and correct the grammar of the
57370         sentence affected by yesterday's change.
57371
57372 2006-08-28  Eric Blake  <ebb9@byu.net>
57373
57374         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
57375         needs wrapper.
57376
57377 2006-08-28  Eric Blake  <ebb9@byu.net>
57378
57379         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
57380
57381 2006-08-28  Eric Blake  <ebb9@byu.net>
57382
57383         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
57384
57385 2006-08-28  Bruno Haible  <bruno@clisp.org>
57386
57387         * modules/c-strstr: New file, from GNU gettext.
57388         * MODULES.html.sh (String handling): Add c-strstr.
57389
57390 2006-08-28  Bruno Haible  <bruno@clisp.org>
57391
57392         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
57393         macros.
57394         Reported by Eric Blake.
57395
57396 2006-08-28  Bruno Haible  <bruno@clisp.org>
57397
57398         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
57399         (VASNPRINTF): Return a string of length > INT_MAX without failing.
57400         * lib/vasprintf.c: Include errno.h, limits.h.
57401         (EOVERFLOW): New fallback definition.
57402         (vasprintf): Test here whether the string length is > INT_MAX.
57403         * lib/vsnprintf.c: Include errno.h, limits.h.
57404         (EOVERFLOW): New fallback definition.
57405         (vsnprintf): Fix bug when generated string was too long for the buffer.
57406         Test here whether the string length is > INT_MAX.
57407
57408 2006-08-28  Bruno Haible  <bruno@clisp.org>
57409
57410         * lib/inttypes_.h (SCNX*): Remove definitions.
57411         Reported by Eric Blake.
57412
57413 2006-08-28  Bruno Haible  <bruno@clisp.org>
57414
57415         * lib/c-strstr.h: New file, from GNU gettext.
57416         * lib/c-strstr.c: New file, from GNU gettext.
57417
57418 2006-08-28  Bruno Haible  <bruno@clisp.org>
57419
57420         * gnulib-tool: Reorder some statements.
57421
57422 2006-08-28  Bruno Haible  <bruno@clisp.org>
57423
57424         * gnulib-tool: New option --makefile-name.
57425         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
57426         $makefile_name.
57427         (func_import): Write $makefile_name to the cache file, and read it from
57428         there unless explicitly specified. Use $makefile_name as file name
57429         instead of Makefile.am. Adjust the recommendations accordingly.
57430
57431 2006-08-28  Bruno Haible  <bruno@clisp.org>
57432
57433         * gnulib-tool (func_verify_module): Check against misapplying patch.
57434
57435 2006-08-28  Bruno Haible  <bruno@clisp.org>
57436
57437         * gnulib-tool (func_relativize, func_relconcat): New functions.
57438         Give an error if --local-dir is given with --update.
57439         Remove trailing slashes from $local_gnulib_dir.
57440         (func_import): Store the relativized $local_gnulib_dir in
57441         gnulib-cache.m4, and read it from there if not specified explicitly.
57442
57443 2006-08-28  Bruno Haible  <bruno@clisp.org>
57444
57445         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
57446         is the current directory. Respect also $local_gnulib_dir.
57447
57448 2006-08-28  Bruno Haible  <bruno@clisp.org>
57449             Simon Josefsson  <jas@extundo.com>
57450
57451         BeOS portability.
57452         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
57453
57454 2006-08-27  Jim Meyering  <jim@meyering.net>
57455
57456         * doc/visibility.texi: Remove duplicate word: "pointer".
57457
57458 2006-08-26  Bruno Haible  <bruno@clisp.org>
57459
57460         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
57461         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
57462         (Makefile.am): Create inttypes.h from inttypes_.h.
57463         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
57464
57465         * modules/imaxabs: New file.
57466
57467         * modules/imaxdiv: New file.
57468
57469 2006-08-26  Bruno Haible  <bruno@clisp.org>
57470
57471         * m4/inttypes.m4: New file.
57472         * m4/_inttypes_h.m4: Remove file.
57473         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
57474         PRI_MACROS_BROKEN.
57475         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
57476
57477         * m4/imaxabs.m4: New file.
57478
57479         * m4/imaxdiv.m4: New file.
57480
57481 2006-08-26  Bruno Haible  <bruno@clisp.org>
57482
57483         * lib/inttypes_.h: New file.
57484         * lib/inttypes.h: Remove file.
57485         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
57486
57487         * lib/imaxabs.c: New file.
57488
57489         * lib/imaxdiv.c: New file.
57490
57491 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57492
57493         New config-h module, so that "make" output needn't be cluttered
57494         by -DHAVE_CONFIG_H.
57495         * MODULES.html.sh (Support for building libraries and executables):
57496         Add config-h.
57497         * modules/config-h: New file.
57498         * gnulib-tool (nl, sed_transform_lib_file): New vars.
57499         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
57500         the config-h module is used.
57501
57502         New configmake module, so that "make" output needn't be cluttered
57503         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
57504         * MODULES.html.sh (Support for building libraries and executables):
57505         Add configmake.
57506         * modules/configmake: New file.
57507
57508 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
57509
57510         * m4/config-h.m4: New file.
57511
57512 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57513
57514         * config/srclist.txt: Add elisp-comp.
57515
57516 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
57517
57518         * MODULES.html.sh (Support for building libraries and executables):
57519         Add elisp-comp.
57520         * build-aux/elisp-comp: New file.
57521         * modules/elisp-comp: New file.
57522
57523 2006-08-24  Bruno Haible  <bruno@clisp.org>
57524
57525         * gnulib-tool (func_create_testdir): Use non-default values of
57526         sourcebase and m4base.
57527
57528 2006-08-24  Bruno Haible  <bruno@clisp.org>
57529
57530         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
57531         HTML structure.
57532
57533 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
57534
57535         * modules/openat (Depends-on): Add lchown.
57536
57537 2006-08-23  Bruno Haible  <bruno@clisp.org>
57538
57539         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
57540         of gl_LOCK_EARLY instead of gl_LOCK.
57541
57542 2006-08-23  Bruno Haible  <bruno@clisp.org>
57543
57544         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
57545         on OSF/1 to no.
57546         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
57547
57548 2006-08-23  Bruno Haible  <bruno@clisp.org>
57549
57550         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
57551         as unusable.
57552
57553         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
57554         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
57555         (gl_LOCK): New macro.
57556
57557 2006-08-22  Simon Josefsson  <jas@extundo.com>
57558
57559         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
57560         to md5 module.
57561
57562 2006-08-22  Simon Josefsson  <jas@extundo.com>
57563
57564         * MODULES.html.sh: Add "Support for maintaining and release
57565         projects".
57566
57567         * build-aux/gnupload: New file, from coreutils.
57568
57569 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57570
57571         Avoid the need for AC_LIBSOURCES in m4 macros.
57572         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
57573         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
57574         * modules/check-version (EXTRA_DIST): Add check-version.h.
57575         * modules/crc (EXTRA_DIST): Add crc.h.
57576         * modules/des (EXTRA_DIST): Add des.h.
57577         * modules/gc (EXTRA_DIST): Add gc.h.
57578         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
57579         * modules/getline (EXTRA_DIST): Add getline.h.
57580         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
57581         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
57582         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
57583         * modules/md2 (EXTRA_DIST): Add md2.h.
57584         * modules/md4 (EXTRA_DIST): Add md4.h.
57585         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
57586         * modules/read-file (EXTRA_DIST): Add read-file.h.
57587         * modules/readline (EXTRA_DIST): Add readline.h.
57588         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
57589         rijndael-api-fst.h.
57590
57591 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57592
57593         * m4/rijndael.m4 (gl_ARCFOUR):
57594         * m4/arctwo.m4 (gl_ARCTWO):
57595         * m4/check-version.m4 (gl_CHECK_VERSION):
57596         * m4/crc.m4 (gl_CRC):
57597         * m4/des.m4 (gl_DES):
57598         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
57599         * m4/gc.m4 (gl_GC):
57600         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
57601         * m4/getline.m4 (gl_FUNC_GETLINE):
57602         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
57603         * m4/hmac-md5.m4 (gl_HMAC_MD5):
57604         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
57605         * m4/md2.m4 (gl_MD2):
57606         * m4/md4.m4 (gl_MD4):
57607         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
57608         * m4/read-file.m4 (gl_FUNC_READ_FILE):
57609         * m4/readline.m4 (gl_FUNC_READLINE):
57610         * m4/rijndael.m4 (gl_RIJNDAEL):
57611         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57612         to get the necessary .h files and whatnot.
57613
57614 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
57615
57616         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
57617         gnulib rather than the other way around.
57618         * config/srclistvars.sh (COREUTILS): Remove.
57619
57620 2006-08-22  Jim Meyering  <jim@meyering.net>
57621
57622         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
57623
57624         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
57625
57626 2006-08-22  Eric Blake  <ebb9@byu.net>
57627
57628         * modules/regexprops-generic: New file.
57629         * MODULES.html.sh (Support for building documentation): List it.
57630
57631 2006-08-22  Eric Blake  <ebb9@byu.net>
57632
57633         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
57634         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
57635         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
57636         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
57637
57638 2006-08-22  Bruno Haible  <bruno@clisp.org>
57639
57640         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
57641         and lib_LTLIBRARIES like the other lib_* variables.
57642
57643 2006-08-22  Bruno Haible  <bruno@clisp.org>
57644
57645         * build-aux/x-to-1.in: New file, from GNU gettext.
57646
57647 2006-08-22  Bruno Haible  <bruno@clisp.org>
57648
57649         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
57650         <utmpx.h> exists.
57651
57652 2006-08-22  Bruno Haible  <bruno@clisp.org>
57653
57654         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
57655         <utmpx.h> exists.
57656
57657 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57658
57659         BeOS portability.
57660         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
57661         exist.
57662         Problem reported by Bruno Haible.
57663
57664 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57665
57666         Avoid the need for AC_LIBSOURCES in m4 macros.
57667         * modules/acl (EXTRA_DIST): Add acl.h.
57668         * modules/argmatch (Files): Add m4/argmatch.m4.
57669         (configure.ac): Add gl_ARGMATCH.
57670         (EXTRA_DIST): Renamed from lib_SOURCES, for
57671         consistency with the other modules.  Remove argmatch.c.
57672         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
57673         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
57674         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
57675         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
57676         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
57677         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
57678         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
57679         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
57680         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
57681         * modules/closeout (EXTRA_DIST): Add closeout.h.
57682         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
57683         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
57684         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
57685         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
57686         dirname.h; remove basename.c and stripslash.c.
57687         * modules/exclude (EXTRA_DIST): Add exclude.h.
57688         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
57689         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
57690         * modules/file-type (EXTRA_DIST): Add file-type.h.
57691         * modules/filemode (EXTRA_DIST): Add filemode.h.
57692         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
57693         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57694         * modules/fpending (EXTRA_DIST): Add __fpending.h.
57695         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
57696         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
57697         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
57698         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
57699         * modules/getdate (EXTRA_DIST): Add getdate.c.
57700         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
57701         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
57702         * modules/getpass (EXTRA_DIST): Add getpass.h.
57703         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
57704         * modules/group-member (EXTRA_DIST): Add group-member.h.
57705         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
57706         * modules/hash (EXTRA_DIST): Add hash.h.
57707         * modules/human (EXTRA_DIST): Add human.h.
57708         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
57709         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
57710         * modules/lchown (EXTRA_DIST): Add lchown.h.
57711         * modules/long-options (EXTRA_DIST): Add long-options.h.
57712         * modules/lstat (EXTRA_DIST): Add lstat.h.
57713         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
57714         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
57715         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
57716         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
57717         * modules/memxor (EXTRA_DIST): Add memxor.h.
57718         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
57719         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
57720         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
57721         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
57722         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
57723         * modules/physmem (EXTRA_DIST): Add physmem.h.
57724         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
57725         * modules/posixver (EXTRA_DIST): Add posixver.h.
57726         * modules/quote (EXTRA_DIST): Add quote.h.
57727         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
57728         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
57729         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
57730         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
57731         regex_internal.h regexec.c.
57732         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
57733         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
57734         * modules/same (EXTRA_DIST): Add same.h.
57735         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
57736         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
57737         * modules/savedir (EXTRA_DIST): Add savedir.h.
57738         * modules/sha1 (EXTRA_DIST): Add sha1.h.
57739         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
57740         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
57741         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
57742         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
57743         * modules/strdup (EXTRA_DIST): Add strdup.h.
57744         * modules/strftime (EXTRA_DIST): Add strftime.h.
57745         * modules/strndup (EXTRA_DIST): Add strndup.h.
57746         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
57747         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
57748         * modules/time_r (EXTRA_DIST): Add time_r.h.
57749         * modules/timespec (EXTRA_DIST): Add timespec.h.
57750         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57751         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
57752         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
57753         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
57754         * modules/userspec (EXTRA_DIST): Add userspec.h.
57755         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
57756         * modules/utimens (EXTRA_DIST): Add utimens.h.
57757         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
57758         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
57759         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
57760         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
57761         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
57762         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
57763         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
57764         * modules/yesno (EXTRA_DIST): Add yesno.h.
57765
57766 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57767
57768         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57769
57770         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57771         * m4/dev-ino.m4, same-inode.m4: Remove.
57772
57773         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57774         * m4/acl.m4 (AC_FUNC_ACL):
57775         * m4/backupfile.m4 (gl_BACKUPFILE):
57776         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57777         * m4/canon-host.m4 (gl_CANON_HOST):
57778         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57779         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57780         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57781         * m4/cloexec.m4 (gl_CLOEXEC):
57782         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57783         * m4/closeout.m4 (gl_CLOSEOUT):
57784         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57785         * m4/dirname.m4 (gl_DIRNAME):
57786         * m4/exclude.m4 (gl_EXCLUDE):
57787         * m4/exitfail.m4 (gl_EXITFAIL):
57788         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57789         * m4/file-type.m4 (gl_FILE_TYPE):
57790         * m4/filemode.m4 (gl_FILEMODE):
57791         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57792         * m4/fpending.m4 (gl_FUNC_FPENDING):
57793         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57794         * m4/fts.m4 (gl_FUNC_FTS):
57795         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57796         * m4/getdate.m4 (gl_GETDATE):
57797         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57798         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57799         * m4/getpass.m4 (gl_FUNC_GETPASS):
57800         * m4/gettime.m4 (gl_GETTIME):
57801         * m4/getugroups.m4 (gl_GETUGROUPS):
57802         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57803         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57804         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57805         * m4/hash.m4 (gl_HASH):
57806         * m4/idcache.m4 (gl_IDCACHE):
57807         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57808         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57809         * m4/long-options.m4 (gl_LONG_OPTIONS):
57810         * m4/lstat.m4 (gl_FUNC_LSTAT):
57811         * m4/md5.m4 (gl_MD5):
57812         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57813         * m4/memcoll.m4 (gl_MEMCOLL):
57814         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57815         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57816         * m4/memxor.m4 (gl_MEMXOR):
57817         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57818         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57819         * m4/modechange.m4 (gl_MODECHANGE):
57820         * m4/mountlist.m4 (gl_MOUNTLIST):
57821         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57822         * m4/openat.m4 (gl_FUNC_OPENAT):
57823         * m4/pathmax.m4 (gl_PATHMAX):
57824         * m4/physmem.m4 (gl_PHYSMEM):
57825         * m4/posixtm.m4 (gl_POSIXTM):
57826         * m4/posixver.m4 (gl_POSIXVER):
57827         * m4/quote.m4 (gl_QUOTE):
57828         * m4/quotearg.m4 (gl_QUOTEARG):
57829         * m4/readtokens.m4 (gl_READTOKENS):
57830         * m4/readutmp.m4 (gl_READUTMP):
57831         * m4/regex.m4 (gl_REGEX):
57832         * m4/safe-read.m4 (gl_SAFE_READ):
57833         * m4/safe-write.m4 (gl_SAFE_WRITE):
57834         * m4/same.m4 (gl_SAME):
57835         * m4/save-cwd.m4 (gl_SAVE_CWD):
57836         * m4/savedir.m4 (gl_SAVEDIR):
57837         * m4/settime.m4 (gl_SETTIME):
57838         * m4/sha1.m4 (gl_SHA1):
57839         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57840         * m4/stat-macros.m4 (gl_STAT_MACROS):
57841         * m4/stat-time.m4 (gl_STAT_TIME):
57842         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57843         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57844         * m4/strdup.m4 (gl_FUNC_STRDUP):
57845         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57846         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57847         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57848         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57849         * m4/time_r.m4 (gl_TIME_R):
57850         * m4/timespec.m4 (gl_TIMESPEC):
57851         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57852         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57853         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57854         * m4/userspec.m4 (gl_USERSPEC):
57855         * m4/utimecmp.m4 (gl_UTIMECMP):
57856         * m4/utimens.m4 (gl_UTIMENS):
57857         * m4/xalloc.m4 (gl_XALLOC):
57858         * m4/xgetcwd.m4 (gl_XGETCWD):
57859         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57860         * m4/xreadlink.m4 (gl_XREADLINK):
57861         * m4/xstrtod.m4 (gl_XSTRTOD):
57862         * m4/yesno.m4 (gl_YESNO):
57863         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57864         to get the necessary .h files and whatnot.
57865
57866 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57867             Bruno Haible  <bruno@clisp.org>
57868
57869         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57870         /bin/sh understanding of '!' conditional negation.
57871
57872 2006-08-21  Jim Meyering  <jim@meyering.net>
57873
57874         * modules/openat (Depends-on): Really alphabetize.
57875
57876         * modules/acl (Depends-on): Add error and quote.
57877
57878         * check-module (find_included_lib_files): Add at-func.c to the
57879         ok-to-include-more-than-once white list.
57880
57881         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57882
57883 2006-08-21  Bruno Haible  <bruno@clisp.org>
57884
57885         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57886         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57887         Reported by Martin Lambers <marlam@marlam.de>.
57888
57889 2006-08-21  Bruno Haible  <bruno@clisp.org>
57890
57891         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57892         specify an installation location, don't emit a noinst_LIBRARIES or
57893         noinst_LTLIBRARIES assignment.
57894
57895 2006-08-21  Bruno Haible  <bruno@clisp.org>
57896
57897         BeOS portability.
57898         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57899         BeOS has mbrtowc() but no <wctype.h>.
57900
57901 2006-08-21  Bruno Haible  <bruno@clisp.org>
57902
57903         BeOS portability.
57904         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57905         exist.
57906
57907 2006-08-21  Bruno Haible  <bruno@clisp.org>
57908
57909         BeOS portability.
57910         * lib/mbchar.h: Include <wctype.h> only if it exists.
57911
57912 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57913
57914         Remove files that are no longer needed by their respective modules.
57915         * m4/obstack.m4: Remove.
57916         * m4/strerror_r.m4: Remove.
57917         * m4/uint32_t.m4: Remove.
57918         * m4/uintptr_t.m4: Remove.
57919         * m4/ullong_max.m4: Remove.
57920         * m4/xstrtoimax.m4: Remove.
57921         * m4/xstrtoumax.m4: Remove.
57922
57923         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57924         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57925         dependencies now capture this.
57926
57927         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57928         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57929         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57930         * m4/human.m4 (gl_HUMAN): Likewise.
57931         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57932         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57933
57934         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57935
57936         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57937         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57938         stdint.
57939         * m4/human.m4 (gl_HUMAN): Likewise.
57940         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57941         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57942         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57943         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57944         * m4/xstrtol (gl_XSTRTOL): Likewise.
57945
57946         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57947         AC_TYPE_LONG_LONG_INT.
57948         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57949         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57950         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57951         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57952
57953         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57954         on stdbool.
57955
57956         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57957         (gl_PREREQ_XSTRTOUL): Remove.
57958
57959         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57960
57961         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57962         mode.
57963
57964 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57965
57966         Add and change modules to make it easier for coreutils to use
57967         gnulib-tool.
57968         * modules/backupfile (Files): Remove m4/d-ino.m4.
57969         (Depends-on): Add d-ino.
57970         * modules/cycle-check (Depends-on): Add stdint.
57971         (lib_SOURCES): Add cycle-check.h.
57972         * modules/d-ino: New module.
57973         * modules/d-type: New module.
57974         * modules/error (Files): Remove m4/strerror_r.m4.
57975         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57976         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57977         m4/inttypes_h.m4, m4/uintmax_t.m4.
57978         (Depends-on): Add stdint.
57979         (lib_SOURCES): Add fsusage.h.
57980         * modules/getcwd (Files): Remove d-ino.m4.
57981         (Depends-on): Add d-ino.
57982         * modules/getndelim2 (Depends-on): Add stdint.
57983         * modules/glob (Files): Remove m4/d-type.m4.
57984         (Depends-on): Add d-type.
57985         * modules/host-os: New module.
57986         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57987         m4/inttypes_h.m4, m4/uintmax_t.m4.
57988         * Depends-on: Add stdint.
57989         (lib_SOURCES): Add human.h.
57990         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57991         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57992         m4/uintmax_t.m4, m4/ulonglong.m4.
57993         (Depends-on): Add stdint.
57994         (EXTRA_DIST): Add inttostr.h.
57995         * modules/lchmod: New module.
57996         * modules/link-follow: New module.
57997         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57998         (Depends-on): Add lchmod.
57999         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
58000         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
58001         (Depends-on): Add stdint.
58002         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
58003         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
58004         (Depends-on): Add stdint.
58005         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
58006         * modules/perl: New module.
58007         * modules/regex (Depends-on): Add stdint.
58008         * modules/rmdir-errno: New module.
58009         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58010         m4/intmax_t.m4.
58011         (Depends-on): Add stdint.
58012         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58013         m4/uintmax_t.m4.
58014         (Depends-on): Add stdint.
58015         * modules/unlink-busy: New module.
58016         * modules/utimecmp (Depends-on): Add stdint.
58017         * modules/uptime: New module.
58018         * modules/winsz-ioctl: New module.
58019         * modules/winsz-termios: New module.
58020         * modules/xnanosleep (Depends-on): Add nanosleep.
58021         * modules/ullong_max: Remove.
58022         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
58023         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
58024         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
58025         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
58026         (Depends-on): Add inttypes.
58027         (lib_SOURCES): Add xstrtol.h.
58028         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
58029         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
58030         * MODULES.html.sh: Move 'assert' into the assert section.
58031         Move 'dummy' into the linking section.
58032         Remove ullong_max.
58033         Add section for compatibility checks for POSIX:2001 functions,
58034         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
58035         winsz-ioctl, and winsz-termios into it.
58036         Add lchmod.
58037         Add top-level Misc section and put host-os, perl, and uptime
58038         into it.
58039
58040 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58041
58042         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
58043         now assume the stdint module.  Do not include inttypes.h.
58044         * lib/fsusage.h: Likewise.
58045         * lib/getndelim2.c: Likewise.
58046         * lib/human.h: Likewise.
58047         * lib/inttostr.h: Likewise.
58048         * lib/obstack.c: Likewise.
58049         * lib/regex_internal.h: Likewise.
58050         * lib/tempname.c: Likewise.
58051         * lib/utimecmp.c: Likewise.
58052         * lib/xstrtol.h: Likewise.
58053
58054         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
58055
58056         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
58057         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
58058         * lib/xtime.h: Likewise.
58059
58060 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58061
58062         * modules/openat (Files): Add lib/fchmodat.c.
58063         Fixes problem reported by Jay Youngman.
58064
58065 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58066
58067         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
58068         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
58069
58070 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58071             Bruno Haible  <bruno@clisp.org>
58072
58073         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
58074         and is a script that invokes bison. Tighten the code. Add comments.
58075
58076 2006-08-18  Jim Meyering  <jim@meyering.net>
58077
58078         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
58079         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
58080         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
58081         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
58082
58083 2006-08-18  Bruno Haible  <bruno@clisp.org>
58084
58085         * modules/bison-i18n: New file.
58086         * MODULES.html.sh (Internationalization functions): Add it.
58087
58088 2006-08-18  Bruno Haible  <bruno@clisp.org>
58089
58090         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
58091         sys/statvfs.h. When getmntinfo was found, check its declaration and
58092         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
58093
58094 2006-08-18  Bruno Haible  <bruno@clisp.org>
58095
58096         * m4/bison-i18n.m4: New file, from bison.
58097
58098 2006-08-18  Bruno Haible  <bruno@clisp.org>
58099
58100         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
58101         (ME_DUMMY): Treat "kernfs" as a dummy.
58102         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
58103
58104 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58105
58106         Update from coreutils.
58107
58108         2006-08-15  Jim Meyering  <jim@meyering.net>
58109
58110         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
58111
58112         2006-01-17  Jim Meyering  <jim@meyering.net>
58113
58114         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
58115
58116         2006-01-11  Jim Meyering  <jim@meyering.net>
58117
58118         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
58119         Check for the lchmod function.
58120
58121 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58122
58123         Update from coreutils.
58124
58125         * lib/__fpending.h: Add copyright notice.
58126         * lib/fprintftime.h: Likewise.
58127         * lib/savedir.c: Use (C) in copyright notice.
58128         * lib/savedir.h: Likewise.
58129
58130         2006-08-15  Jim Meyering  <jim@meyering.net>
58131
58132         * lib/at-func.c: New file, with the logic of all emulated at-functions.
58133         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
58134         in support of the EXPECTED_ERRNO macro.
58135         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
58136         definitions.  Instead, define the appropriate symbols and include
58137         "at-func.c".
58138         * lib/mkdirat.c (mkdirat): Likewise.
58139         * lib/fchmodat.c (fchmodat): Likewise.
58140         (ENOSYS): Remove definition.
58141         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
58142         it.  Don't include "unistd--.h" -- it wasn't ever used.
58143
58144         2006-01-17  Jim Meyering  <jim@meyering.net>
58145
58146         Rewrite fts.c not to change the current working directory,
58147         by using openat, fstatat, fdopendir, etc..
58148
58149         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
58150         (HAVE_OPENAT_SUPPORT): Define.
58151         [_LIBC] (fchdir): Don't undef or define; no longer used.
58152         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
58153         Now, this `function' always succeeds, and consumes its file descriptor
58154         parameter -- so callers must not close such FDs.  Update callers.
58155         (diropen_fd, opendirat, cwd_advance_fd): New functions.
58156         (diropen): Add parameter, SP.  Adjust all callers.
58157         Implement using diropen_fd, rather than open.
58158         (fts_open): Initialize new member, fts_cwd_fd.
58159         Remove fts_rft-setting code.
58160         (fts_close): Close fts_cwd_fd, if necessary.
58161         (__opendir2): Define in terms of opendir or opendirat,
58162         depending on whether the FST_NOCHDIR flag is set.
58163         (fts_build): Since fts_safe_changedir consumes its FD, and since
58164         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
58165         and close the dup'd file descriptor upon failure.
58166         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
58167         (fts_safe_changedir): Tweak semantics to reflect that this function
58168         now calls cwd_advance_fd and hence consumes its FD argument.
58169         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
58170         [struct FTS] (fts_rft): Remove now-unused member.
58171         [struct FTS] (fts_cycle.state): Improve comment.
58172
58173         * lib/openat.c (openat_needs_fchdir): New function.
58174         * lib/openat.h (openat_needs_fchdir): Declare it.
58175
58176 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
58177
58178         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
58179         Problem and fix reported by Pádraig Brady in
58180         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
58181
58182 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58183
58184         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
58185
58186 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58187
58188         * lib/memcoll.c (memcoll): Optimize for the common case where the
58189         arguments are bytewise equal.
58190
58191 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58192
58193         * doc/regexprops-generic.texi: Add a copyright notice.
58194
58195 2006-08-15  Bruno Haible  <bruno@clisp.org>
58196
58197         * modules/tmpdir (License): Change to LGPL.
58198
58199 2006-08-15  Bruno Haible  <bruno@clisp.org>
58200
58201         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
58202         module.
58203
58204 2006-08-14  Simon Josefsson  <jas@extundo.com>
58205
58206         * config/srclist.txt: Add gnupload.
58207
58208 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58209
58210         Change copyright notice from LGPL 2 to GPL 2, since that's the
58211         standard form used in the gnulib repository.
58212         * tests/test-lock.c: Likewise.
58213         * tests/test-stdint.c: Likewise.
58214         * tests/test-tls.c: Likewise.
58215
58216         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
58217         prelude-manager.  User shorter URLs for GNU projects, without '?'.
58218         Add copyright notice.
58219
58220         * check-module: Add copyright notice.  Output a copyright
58221         notice if "--version" is specified.
58222         * modules/COPYING: New file.
58223         * tests/test-getaddrinfo.c: Add copyright notice.
58224         * tests/test-verify.c: Likewise.
58225
58226 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58227
58228         Change copyright notice from LGPL 2 to GPL 2, since that's the
58229         standard form used in the gnulib repository.
58230         * lib/lock.c: LGPL -> GPL.
58231         * lib/lock.h: Likewise.
58232         * lib/strnlen1.c: Likewise.
58233         * lib/strnlen1.h: Likewise.
58234         * lib/tls.c: Likewise.
58235         * lib/tls.h: Likewise.
58236         * lib/tmpdir.c: Likewise.
58237
58238         * lib/TODO: Remove; this belongs only in coreutils.
58239
58240 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58241
58242         Add copyright notices to long-enough files that lack them, since
58243         otherwise the files aren't clearly free.  Use the same notice that
58244         getdate.texi already uses.
58245         * doc/alloca-opt.texi: Add copyright notice.
58246         * doc/alloca.texi: Likewise.
58247         * doc/ctime.texi: Likewise.
58248         * doc/functions.texi: Likewise.
58249         * doc/gcd.texi: Likewise.
58250         * doc/gnulib-tool.texi: Likewise.
58251         * doc/inet_ntoa.texi: Likewise.
58252         * doc/visibility.texi: Likewise.
58253
58254         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
58255         * doc/quote.texi: Add copyright notice.
58256
58257         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
58258         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
58259         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
58260         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
58261         is now obsolete, and give a pointer to the Sun list.
58262         Add copyright notice.
58263
58264 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58265
58266         * config/srclistvars.sh: Add copyright notice.
58267
58268 2006-08-14  Eric Blake  <ebb9@byu.net>
58269
58270         Import the following change from libc:
58271
58272         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
58273
58274         Upstream bug 2997.
58275         * lib/misc/error.c: Add space between program name and message if file
58276         name is missing.
58277
58278 2006-08-12  Karl Berry  <karl@gnu.org>
58279
58280         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
58281         remove, these originate in gnulib now.
58282
58283 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58284
58285         * doc/Makefile (standards.info standards.html standards.dvi):
58286         Also depend on make-stds.texi.
58287
58288 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58289
58290         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
58291         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
58292
58293         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
58294         in wchar_t.  Problem reported by Eric Blake.
58295
58296         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
58297         LEN is smaller than SIZE.  Suggested by Bruno Haible.
58298         Also, help the compiler to keep LEN in a register.
58299
58300 2006-08-11  Eric Blake  <ebb9@byu.net>
58301
58302         * users.txt: Sort.  Add tar.
58303
58304 2006-08-11  Bruno Haible  <bruno@clisp.org>
58305
58306         * users.txt: New file.
58307
58308 2006-08-11  Bruno Haible  <bruno@clisp.org>
58309
58310         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
58311         before <wchar.h>. Needed for OSF/1 and BSD/OS.
58312
58313 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58314
58315         * modules/snprintf (Depends-on): Remove minmax.
58316         (Maintainer): Add self and Bruno.
58317
58318 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58319
58320         * lib/.cppi-disable: Add snprintf.h, socket_.h.
58321         * lib/snprintf.c: Include <errno.h> and <limits.h>.
58322         (EOVERFLOW): Define if the system does not.
58323         Do not include "minmax.h"; it wasn't used.
58324         (snprintf): Don't assume size_t promotes to an unsigned type.
58325         Fix bug when generated string was too long for the buffer: the
58326         buffer's contents are supposed to be the initial prefix of the
58327         output.  Don't assume vasnprintf returns EOVERFLOW if the size
58328         exceeds INT_MAX; do the check ourselves.
58329
58330         Import the following changes from libc:
58331
58332         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
58333
58334         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
58335         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
58336         set wc to the byte which couldn't be converted.
58337         (re_string_reconstruct): Don't clear valid_raw_len before calling
58338         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
58339         tip_context using re_string_context_at.
58340
58341         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
58342
58343         * lib/posix/regex.h: g++ still cannot handled [restrict].
58344
58345         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
58346
58347         * lib/posix/regex.h: Remove special handling for VMS.
58348
58349 2006-08-10  Jim Meyering  <jim@meyering.net>
58350
58351         * modules/same-inode: New module.
58352         * modules/dev-ino: New module.
58353         * modules/cycle-check: Depend on these modules, rather than simply
58354         including their .h files.
58355         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
58356         required via m4/cycle-check.m4.
58357         * modules/same: Depend on new same-inode module, rather than
58358         including same-inode.h.
58359         * modules/chdir-safer: New file.
58360
58361         * modules/chown (Depends-on): Add stat-macros.
58362
58363 2006-08-10  Jim Meyering  <jim@meyering.net>
58364
58365         * m4/cycle-check.m4: New file.
58366         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
58367         * m4/dev-ino.m4, m4/same-inode.m4: New files.
58368
58369 2006-08-10  Eric Blake  <ebb9@byu.net>
58370
58371         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
58372         in from original proposal.
58373
58374 2006-08-10  Eric Blake  <ebb9@byu.net>
58375         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58376
58377         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
58378         namespace.
58379
58380 2006-08-10  Bruno Haible  <bruno@clisp.org>
58381
58382         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
58383         as well.
58384
58385 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58386
58387         Sync from coreutils.
58388
58389         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
58390
58391         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
58392         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
58393
58394 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58395
58396         * modules/restrict: Remove; no longer needed now that we assume
58397         Autoconf 2.59 or later.
58398         * MODULES.html.sh: Remove 'restrict'.
58399         * modules/argp (Depends-on): Remove 'restrict'.
58400         * modules/base64 (Depends-on): Likewise.
58401         * modules/gc (Depends-on): Likewise.
58402         * modules/getaddrinfo (Depends-on): Likewise.
58403         * modules/glob (Depends-on): Likewise.
58404         * modules/inet_ntop (Depends-on): Likewise.
58405         * modules/inet_pton (Depends-on): Likewise.
58406         * modules/memxor (Depends-on): Likewise.
58407         * modules/regex (Depends-on): Likewise.
58408         * modules/strtok_r (Depends-on): Likewise.
58409         * modules/time_r (Depends-on): Likewise.
58410
58411 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58412
58413         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
58414         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
58415         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58416         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
58417         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
58418         * m4/memxor.m4 (gl_MEMXOR): Likewise.
58419         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
58420         gl_C_RESTRICT replaced by AC_C_RESTRICT.
58421
58422         Merge from coreutils.
58423         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
58424         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
58425         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
58426         * m4/time_r.m4 (gl_TIME_R): Likewise.
58427
58428 2006-08-09  Karl Berry  <karl@gnu.org>
58429
58430         * config/srclist.txt: no more gettext-tools, per Bruno.
58431
58432 2006-08-08  Eric Blake  <ebb9@byu.net>
58433
58434         * modules/verror: New module.
58435         * MODULES.html.sh: Document it.
58436
58437 2006-08-08  Eric Blake  <ebb9@byu.net>
58438
58439         * lib/verror.h, lib/verror.c: New files.
58440
58441 2006-08-08  Eric Blake  <ebb9@byu.net>
58442
58443         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
58444         verror_at_line output complies with GNU Coding Standards even when
58445         file is NULL.
58446
58447 2006-08-07  Bruno Haible  <bruno@clisp.org>
58448
58449         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
58450         versions of AIX.
58451         Reported by Ralf Wildenhues.
58452
58453 2006-08-07  Bruno Haible  <bruno@clisp.org>
58454
58455         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
58456         in an AC_DEFUN. Needed so that the autoconf snippets can use
58457         AC_REQUIRE.
58458
58459 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58460
58461         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58462         Initialize pkgdata_DATA.
58463         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
58464         overriding it.
58465
58466 2006-08-06  Eric Blake  <ebb9@byu.net>
58467
58468         * lib/error.h: Fold in some upstream changes from glibc.
58469         * lib/error.c: Likewise.
58470
58471 2006-08-04  Bruno Haible  <bruno@clisp.org>
58472
58473         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58474         Make the mostlyclean-local rule depend on mostlyclean-generic.
58475         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
58476
58477 2006-07-31  Bruno Haible  <bruno@clisp.org>
58478
58479         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
58480         <stdlib.h>, <string.h>.
58481
58482 2006-07-30  Bruno Haible  <bruno@clisp.org>
58483
58484         * modules/readlink (License): Change to LGPL.
58485
58486 2006-07-30  Bruno Haible  <bruno@clisp.org>
58487
58488         * modules/javaversion (Makefile.am): Distribute javaversion.java and
58489         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
58490         set PKGDATADIR to point to it.
58491
58492 2006-07-30  Bruno Haible  <bruno@clisp.org>
58493
58494         * modules/csharpexec (configure.ac): Comment out macro invocation.
58495         * modules/javaexec (configure.ac): Likewise.
58496         * modules/javacomp-script (configure.ac): Likewise.
58497
58498         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
58499
58500 2006-07-30  Bruno Haible  <bruno@clisp.org>
58501
58502         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
58503         linked-list.
58504
58505 2006-07-30  Bruno Haible  <bruno@clisp.org>
58506
58507         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
58508
58509 2006-07-30  Bruno Haible  <bruno@clisp.org>
58510
58511         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58512         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
58513         get removed.
58514
58515 2006-07-29  Bruno Haible  <bruno@clisp.org>
58516
58517         Make it possible for gnulib-tool to work with locally modified or
58518         augmented gnulib repositories.
58519         * gnulib-tool (func_usage): Document --local-dir option.
58520         (local_gnulib_dir): New variable.
58521         Handle --local-dir option.
58522         (func_lookup_file): New function.
58523         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
58524         (func_get_description, func_get_filelist, func_get_description,
58525         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
58526         func_get_automake_snippet, func_get_include_directive,
58527         func_get_license, func_get_maintainer): Use func_lookup_file.
58528         (func_import, func_create_testdir): Use func_lookup_file.
58529
58530 2006-07-29  Bruno Haible  <bruno@clisp.org>
58531
58532         * modules/setenv (Depends-on): Add unistd.
58533
58534 2006-07-29  Bruno Haible  <bruno@clisp.org>
58535
58536         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
58537
58538 2006-07-29  Bruno Haible  <bruno@clisp.org>
58539
58540         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
58541
58542 2006-07-29  Bruno Haible  <bruno@clisp.org>
58543
58544         * gnulib-tool (import, update): If there is no Makefile.am, look at
58545         aclocal.m4, instead of bailing out.
58546
58547 2006-07-29  Bruno Haible  <bruno@clisp.org>
58548
58549         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
58550         Categorize the options by when they are useful.
58551
58552 2006-07-29  Bruno Haible  <bruno@clisp.org>
58553
58554         * gnulib-tool (func_usage): Document option --no-libtool.
58555         Handle option --no-libtool.
58556         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
58557         for changed semantics of $libtool variable.
58558         (func_import): Likewise. If libtool is not used, show this through
58559         an option --no-libtool.
58560         (func_create_testdir): Update.
58561
58562 2006-07-29  Bruno Haible  <bruno@clisp.org>
58563
58564         * gnulib-tool (func_import): Extend error message about missing
58565         --doc-base.
58566
58567 2006-07-29  Bruno Haible  <bruno@clisp.org>
58568
58569         * gnulib-tool (func_import): Don't create the $docbase directory if
58570         there is no file to store there.
58571
58572 2006-07-29  Bruno Haible  <bruno@clisp.org>
58573
58574         * gnulib-tool (autoconf_minversion): If a --dir option is given and
58575         relevant, look for configure.ac there, not in the current directory.
58576         Also use a simple search for AC_PREREQ, not "autoconf --trace".
58577
58578 2006-07-29  Bruno Haible  <bruno@clisp.org>
58579
58580         * gnulib-tool (SORT): New variable.
58581         (func_usage): Undocument --assume-autoconf option.
58582         Remove --assume-autoconf option handling.
58583         (autoconf_minversion): Determine from the contents of configure.ac.
58584         (func_import): Remove autoconf_minversion handling.
58585         Suggested by Eric Blake.
58586
58587 2006-07-29  Bruno Haible  <bruno@clisp.org>
58588
58589         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
58590
58591 2006-07-29  Bruno Haible  <bruno@clisp.org>
58592
58593         * config/srclist.txt (*setenv.[ch]): Remove rules.
58594
58595 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58596
58597         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
58598
58599 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58600
58601         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
58602         arpa/inet.h.
58603
58604 2006-07-28  Simon Josefsson  <jas@extundo.com>
58605
58606         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
58607         * modules/inet_pton (Depends-on): Likewise.
58608
58609 2006-07-28  Simon Josefsson  <jas@extundo.com>
58610
58611         * m4/netinet_in_h.m4: New file.
58612
58613 2006-07-28  Simon Josefsson  <jas@extundo.com>
58614
58615         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
58616         #include's.
58617
58618 2006-07-28  Simon Josefsson  <jas@extundo.com>
58619
58620         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
58621         #include's.
58622
58623 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
58624
58625         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
58626         setgid on directories only if they set these bits.
58627         * lib/modechange.h: Remove obsolete comment about masks.
58628
58629 2006-07-28  Eric Blake  <ebb9@byu.net>
58630
58631         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
58632         macro expansion.
58633
58634 2006-07-28  Bruno Haible  <bruno@clisp.org>
58635
58636         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
58637
58638 2006-07-28  Bruno Haible  <bruno@clisp.org>
58639
58640         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
58641
58642 2006-07-28  Bruno Haible  <bruno@clisp.org>
58643
58644         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58645         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58646         Define fallbacks.
58647         Avoids link error on FreeBSD 4.x.
58648         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58649
58650         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
58651         encoding.
58652         * lib/mbswidth.c (iswcntrl): Likewise.
58653
58654 2006-07-27  Bruno Haible  <bruno@clisp.org>
58655
58656         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
58657         test.
58658
58659 2006-07-27  Bruno Haible  <bruno@clisp.org>
58660
58661         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
58662         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
58663         defined.
58664
58665 2006-07-26  Eric Blake  <ebb9@byu.net>
58666
58667         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
58668
58669 2006-07-26  Eric Blake  <ebb9@byu.net>
58670
58671         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
58672         like mingw that lack mkstemp.
58673         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
58674         avoid compilation warning on mingw.
58675
58676 2006-07-26  Bruno Haible  <bruno@clisp.org>
58677
58678         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
58679         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
58680         INT_FAST*_MIN, INTPTR_MIN.
58681
58682 2006-07-25  Bruno Haible  <bruno@clisp.org>
58683
58684         * modules/version-etc (Depends-on): Add stdarg.
58685
58686 2006-07-25  Bruno Haible  <bruno@clisp.org>
58687
58688         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
58689         complex commands.
58690
58691 2006-07-25  Bruno Haible  <bruno@clisp.org>
58692
58693         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
58694         defined in <stdarg.h> or config.h.
58695
58696 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58697
58698         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
58699         (gl_STDIO_SAFER): Remove.
58700
58701 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
58702
58703         * MODULES.html.sh (File stream based Input/Output):
58704         Add fopen-safer, tmpfile-safer; remove stdio-safer.
58705         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
58706         * modules/fopen-safer, modules/tmpfile-safer: New files.
58707         * modules/stdio-safer: Remove.
58708
58709 2006-07-24  Bruno Haible  <bruno@clisp.org>
58710
58711         * modules/tmpdir: New file.
58712         * MODULES.html.sh (File system functions): Add it.
58713
58714 2006-07-24  Bruno Haible  <bruno@clisp.org>
58715
58716         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
58717         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
58718
58719 2006-07-24  Bruno Haible  <bruno@clisp.org>
58720
58721         * modules/clean-temp: New file.
58722
58723 2006-07-24  Bruno Haible  <bruno@clisp.org>
58724
58725         * m4/tmpdir.m4: New file, from GNU gettext.
58726
58727 2006-07-24  Bruno Haible  <bruno@clisp.org>
58728
58729         * lib/tmpdir.h: New file, from GNU gettext.
58730         * lib/tmpdir.c: New file, from GNU gettext.
58731
58732 2006-07-24  Bruno Haible  <bruno@clisp.org>
58733
58734         * lib/clean-temp.h: New file, from GNU gettext.
58735         * lib/clean-temp.c: New file, from GNU gettext.
58736
58737 2006-07-23  Eric Blake  <ebb9@byu.net>
58738
58739         * modules/stdio-safer (Files): Add tmpfile-safer.c.
58740         (Depends-on): Add binary-io.
58741
58742 2006-07-23  Eric Blake  <ebb9@byu.net>
58743
58744         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
58745
58746 2006-07-23  Eric Blake  <ebb9@byu.net>
58747
58748         * lib/tmpfile-safer.c: New file.
58749         * lib/stdio-safer.h (fopen_safer): Add prototype.
58750         * lib/stdio--.h (tmpfile): Make safer.
58751
58752 2006-07-23  Bruno Haible  <bruno@clisp.org>
58753
58754         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
58755         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
58756         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
58757         gl_linked_remove_at): Use it.
58758
58759 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58760         and Simon Josefsson <jas@extundo.com>
58761
58762         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
58763
58764         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58765
58766 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58767
58768         * modules/close-stream: New file.
58769         * modules/closeout (Description): Make it clear that it exits
58770         with a diagnostic on error.
58771         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58772         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58773
58774 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58775
58776         * m4/close-stream.m4: New file.
58777
58778 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58779
58780         * lib/close-stream.c, lib/close-stream.h: New files.
58781
58782 2006-07-22  Bruno Haible  <bruno@clisp.org>
58783
58784         Merge from GNU gettext 0.15.
58785
58786         2006-05-01  Bruno Haible  <bruno@clisp.org>
58787
58788                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58789
58790         2006-07-22  Bruno Haible  <bruno@clisp.org>
58791
58792                 * modules/javaversion: New file.
58793                 * MODULES.html.sh (Java): Add javaversion.
58794
58795         2006-03-12  Bruno Haible  <bruno@clisp.org>
58796
58797                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58798
58799         2005-12-04  Bruno Haible  <bruno@clisp.org>
58800
58801                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58802                 (untested).
58803
58804         2006-06-21  Bruno Haible  <bruno@clisp.org>
58805
58806                 Avoid warnings from recent versions of mcs.
58807                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58808                 -o, -L, -r any more. Use options documented since mcs-1.0
58809                 instead. Similarly for -g.
58810
58811         2005-12-04  Bruno Haible  <bruno@clisp.org>
58812
58813                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58814                 .resources, not .resource.
58815
58816         2005-07-09  Bruno Haible  <bruno@clisp.org>
58817
58818                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58819                 add a .dll suffix.
58820                 Reported by Mark Junker <mjscod@gmx.de>.
58821
58822         2006-07-22  Bruno Haible  <bruno@clisp.org>
58823
58824                 * modules/gettext: Upgrade to gettext-0.15.
58825                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58826                 m4/visibility.m4.
58827                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58828
58829 2006-07-22  Bruno Haible  <bruno@clisp.org>
58830
58831         Merge from GNU gettext 0.15.
58832
58833         2006-03-25  Bruno Haible  <bruno@clisp.org>
58834
58835                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58836
58837         2006-07-21  Bruno Haible  <bruno@clisp.org>
58838
58839                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58840                 "1.1".
58841
58842         2006-05-09  Bruno Haible  <bruno@clisp.org>
58843
58844                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58845                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58846                 for the conftestver execution.
58847
58848         2006-05-01  Bruno Haible  <bruno@clisp.org>
58849
58850                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58851                 optional target-version argument. Verify that the compiler
58852                 groks source of the specified source-version, or add -source
58853                 option as necessary. Verify that the compiler produces
58854                 bytecode in the specified target-version, or add -target and
58855                 -source options as necessary. Make the result of the test
58856                 available as variable CONF_JAVAC. Also log error output in
58857                 config.log.
58858
58859         2006-03-11  Bruno Haible  <bruno@clisp.org>
58860
58861                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58862
58863         2006-05-09  Bruno Haible  <bruno@clisp.org>
58864
58865                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58866                 CLASSPATH_SEPARATOR to a semicolon.
58867
58868         2006-03-12  Bruno Haible  <bruno@clisp.org>
58869
58870                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58871                 available as variable CONF_JAVA, for subsequent autoconf
58872                 tests. Also log error output in config.log.
58873
58874         2006-07-19  Bruno Haible  <bruno@clisp.org>
58875
58876                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58877                 that getline works on glibc2 systems. Needed to avoid trouble
58878                 in relocatable.c.
58879                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58880
58881         2005-12-04  Bruno Haible  <bruno@clisp.org>
58882
58883                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58884                 launcher (untested).
58885
58886         2005-12-04  Bruno Haible  <bruno@clisp.org>
58887
58888                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58889
58890         2006-07-22  Bruno Haible  <bruno@clisp.org>
58891
58892                 * gettext.m4: Update from GNU gettext-0.15.
58893                 * nls.m4: Likewise.
58894                 * po.m4: Likewise.
58895                 * inttypes-pri.m4: Likewise.
58896                 * inttypes-h.m4: Renamed from inttypes.m4.
58897                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58898
58899 2006-07-22  Bruno Haible  <bruno@clisp.org>
58900
58901         Merge from GNU gettext 0.15.
58902
58903         2005-07-05  Bruno Haible  <bruno@clisp.org>
58904
58905                 * printf-args.c (printf_fetchargs): Work around broken
58906                 definition of wint_t on mingw.
58907
58908         2005-02-12  Bruno Haible  <bruno@clisp.org>
58909
58910                 * xallocsa.h: Add extern "C" for C++.
58911
58912         2006-05-17  Bruno Haible  <bruno@clisp.org>
58913
58914                 Cygwin portability.
58915                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58916
58917         2006-04-30  Bruno Haible  <bruno@clisp.org>
58918
58919                 * progreloc.c: Include <mach-o/dyld.h> if available.
58920                 (find_executable): Use _NSGetExecutablePath when possible.
58921
58922         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58923
58924                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58925                 function.
58926
58927         2005-12-29  Bruno Haible  <bruno@clisp.org>
58928
58929                 * progreloc.c (set_program_name_and_installdir): Fix
58930                 compilation error.
58931
58932         2005-12-04  Bruno Haible  <bruno@clisp.org>
58933
58934                 Cygwin portability.
58935                 * progreloc.c: Include <windows.h> also on Cygwin.
58936                 (find_executable): Add support for Cygwin.
58937                 (set_program_name_and_installdir): Handle also platforms with
58938                 nonempty EXEEXT.
58939
58940         2006-07-11  Bruno Haible  <bruno@clisp.org>
58941
58942                 * javacomp.c: Fix a comment.
58943                 Reported by Jim Meyering.
58944
58945         2006-04-30  Bruno Haible  <bruno@clisp.org>
58946
58947                 * javacomp.h (compile_java_class): Add source_version,
58948                 target_version arguments.
58949                 * javacomp.c: Rewritten to choose only a compiler that
58950                 respects the specified source_version and target_version.
58951
58952         2006-06-27  Bruno Haible  <bruno@clisp.org>
58953
58954                 Assume correct S_ISDIR macro.
58955                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58956
58957         2006-07-22  Bruno Haible  <bruno@clisp.org>
58958
58959                 * javaversion.h: New file, from GNU gettext.
58960                 * javaversion.c: New file, from GNU gettext.
58961                 * javaversion.java: New file, from GNU gettext.
58962                 * javaversion.class: New file, from GNU gettext.
58963
58964         2006-05-17  Bruno Haible  <bruno@clisp.org>
58965
58966                 Cygwin portability.
58967                 * javaexec.c (execute_java_class): Test for jview program
58968                 also on Cygwin.
58969
58970         2006-04-09  Bruno Haible  <bruno@clisp.org>
58971
58972                 * fatal-signal.c: Don't include string.h.
58973                 (at_fatal_signal): Use a copying loop instead of memcpy.
58974
58975         2005-12-04  Bruno Haible  <bruno@clisp.org>
58976
58977                 * csharpexec.c: Add support for 'clix' launcher (untested).
58978                 (execute_csharp_using_sscli): New function.
58979                 (execute_csharp_program): Call it.
58980
58981         2006-06-21  Bruno Haible  <bruno@clisp.org>
58982
58983                 Avoid warnings from recent versions of mcs.
58984                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58985                 -o, -L, -r any more. Use options documented since mcs-1.0
58986                 instead. Similarly for -g.
58987
58988         2005-07-09  Bruno Haible  <bruno@clisp.org>
58989
58990                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58991                 add a .dll suffix.
58992                 Reported by Mark Junker <mjscod@gmx.de>.
58993
58994         2006-06-17  Bruno Haible  <bruno@clisp.org>
58995
58996                 * config.charset: Update for NetBSD 3.0.
58997
58998         2006-05-17  Bruno Haible  <bruno@clisp.org>
58999
59000                 Cygwin portability.
59001                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
59002
59003         2006-05-16  Bruno Haible  <bruno@clisp.org>
59004
59005                 * localcharset.c [CYGWIN]: Include <windows.h>.
59006                 (get_charset_aliases): For Cygwin, return the same CPxxx
59007                 aliases list as under WIN32.
59008                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
59009                 the environment variables. Fall back to GetACP().
59010
59011         2006-04-05  Bruno Haible  <bruno@clisp.org>
59012
59013                 * config.charset: Update Juan Manuel Guerrero's address.
59014
59015         2005-02-12  Bruno Haible  <bruno@clisp.org>
59016
59017                 * allocsa.h: Add extern "C" for C++.
59018
59019         2005-02-10  Bruno Haible  <bruno@clisp.org>
59020
59021                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
59022                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
59023
59024         2006-07-22  Bruno Haible  <bruno@clisp.org>
59025
59026                 * gettext.h: Update to GNU gettext-0.15.
59027
59028 2006-07-22  Bruno Haible  <bruno@clisp.org>
59029
59030         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
59031         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
59032         lib-prefix.m4, longdouble.m4, ssize_t.m4.
59033
59034 2006-07-21  Eric Blake  <ebb9@byu.net>
59035
59036         * modules/stdlib-safer: New file.
59037         * MODULES.html.sh (File stream based Input/Output): Add
59038         stdlib-safer.
59039
59040 2006-07-21  Eric Blake  <ebb9@byu.net>
59041
59042         * lib/stdlib-safer.h: New file from coreutils, required by
59043         stdlib--.h.
59044
59045 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
59046
59047         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
59048
59049 2006-07-20  Bruno Haible  <bruno@clisp.org>
59050
59051         * gnulib-tool: Recognize new option --assume-autoconf.
59052         (autoconf_minversion): New variable.
59053         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
59054
59055 2006-07-20  Bruno Haible  <bruno@clisp.org>
59056
59057         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
59058
59059 2006-07-19  Derek R. Price  <derek@ximbiot.com>
59060
59061         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
59062         Reindent and repaginate.
59063
59064 2006-07-19  Derek Price  <derek@ximbiot.com>
59065
59066         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
59067         Correct grammar.
59068
59069 2006-07-17  Bruno Haible  <bruno@clisp.org>
59070
59071         * modules/list: New file.
59072         * modules/array-list: New file.
59073         * modules/carray-list, modules/carray-list-tests: New files.
59074         * modules/linked-list, modules/linked-list-tests: New files.
59075         * modules/avltree-list, modules/avltree-list-tests: New files.
59076         * modules/rbtree-list, modules/rbtree-list-tests: New files.
59077         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
59078         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
59079         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
59080         * modules/oset: New file.
59081         * modules/array-oset: New file.
59082         * modules/avltree-oset, modules/avltree-oset-tests: New files.
59083         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
59084         * tests/test-carray_list.c: New file.
59085         * tests/test-linked_list.c: New file.
59086         * tests/test-avltree_list.c: New file.
59087         * tests/test-rbtree_list.c: New file.
59088         * tests/test-linkedhash_list.c: New file.
59089         * tests/test-avltreehash_list.c: New file.
59090         * tests/test-rbtreehash_list.c: New file.
59091         * tests/test-avltree_oset.c: New file.
59092         * tests/test-rbtree_oset.c: New file.
59093         * MODULES.html.sh (Container data structures): New section.
59094
59095 2006-07-17  Bruno Haible  <bruno@clisp.org>
59096
59097         * m4/gl_list.m4: New file.
59098
59099 2006-07-17  Bruno Haible  <bruno@clisp.org>
59100
59101         * lib/gl_list.h: New file.
59102         * lib/gl_list.c: New file.
59103         * lib/gl_array_list.h: New file.
59104         * lib/gl_array_list.c: New file.
59105         * lib/gl_carray_list.h: New file.
59106         * lib/gl_carray_list.c: New file.
59107         * lib/gl_linked_list.h: New file.
59108         * lib/gl_linked_list.c: New file.
59109         * lib/gl_anylinked_list1.h: New file.
59110         * lib/gl_anylinked_list2.h: New file.
59111         * lib/gl_avltree_list.h: New file.
59112         * lib/gl_avltree_list.c: New file.
59113         * lib/gl_anyavltree_list1.h: New file.
59114         * lib/gl_anyavltree_list2.h: New file.
59115         * lib/gl_rbtree_list.h: New file.
59116         * lib/gl_rbtree_list.c: New file.
59117         * lib/gl_anyrbtree_list1.h: New file.
59118         * lib/gl_anyrbtree_list2.h: New file.
59119         * lib/gl_anytree_list1.h: New file.
59120         * lib/gl_anytree_list2.h: New file.
59121         * lib/gl_linkedhash_list.h: New file.
59122         * lib/gl_linkedhash_list.c: New file.
59123         * lib/gl_anyhash_list1.h: New file.
59124         * lib/gl_anyhash_list2.h: New file.
59125         * lib/gl_avltreehash_list.h: New file.
59126         * lib/gl_avltreehash_list.c: New file.
59127         * lib/gl_rbtreehash_list.h: New file.
59128         * lib/gl_rbtreehash_list.c: New file.
59129         * lib/gl_anytreehash_list1.h: New file.
59130         * lib/gl_anytreehash_list2.h: New file.
59131
59132         * lib/gl_oset.h: New file.
59133         * lib/gl_oset.c: New file.
59134         * lib/gl_array_oset.h: New file.
59135         * lib/gl_array_oset.c: New file.
59136         * lib/gl_avltree_oset.h: New file.
59137         * lib/gl_avltree_oset.c: New file.
59138         * lib/gl_rbtree_oset.h: New file.
59139         * lib/gl_rbtree_oset.c: New file.
59140         * lib/gl_anytree_oset.h: New file.
59141
59142 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59143
59144         * m4/mkancesdirs.m4: New file.
59145         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
59146         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
59147         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
59148         it.
59149
59150 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59151
59152         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
59153         * lib/mkancesdirs.h: New files.
59154         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
59155         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
59156         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
59157         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
59158         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
59159         callers changed.  Revamp internals significantly, by not
59160         attempting to create directories that are temporarily more
59161         permissive than the final results.  Do not attempt to use
59162         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
59163         This removes some race conditions, fixes some bugs, and simplifies
59164         things.  Use new dirchownmod function to do owner and mode changes.
59165         * lib/mkdir-p.h: Likewise.
59166         * lib/modechange.c (octal_to_mode): New function.
59167         (struct mode_change): New member mentioned.
59168         (make_node_op_equals): New arg mentioned.  All callers changed.
59169         (mode_compile): Keep track of which mode bits the user has explicitly
59170         mentioned.
59171         (mode_adjust): New arg DIR, so that we implement the X op correctly.
59172         New arg PMODE_BITS, to keep track of which mode bits the user
59173         mentioned; it treats S_ISUID and S_ISGID speciall.
59174         All callers changed.
59175         * lib/modechange.h: Likewise.
59176
59177 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59178
59179         * MODULES.html.sh: Add mkancestors.
59180         * modules/mkancesdirs: New module.
59181         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
59182         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
59183         The chdir-safer and afs files are now orphans; I'll remove them
59184         unless someone speaks up.
59185         Add lib/dirchownmod.c, lib/dirchownmod.h.
59186         (Depends-on): Remove alloca, chown, save-cwd, dirname.
59187         Add lchown, mkancesdirs.
59188         (Maintainer): Add self.
59189
59190 2006-07-15  Karl Berry  <karl@gnu.org>
59191
59192         * gnulib-tool: help message wording/arrangement.
59193
59194 2006-07-14  Simon Josefsson  <jas@extundo.com>
59195
59196         * doc/gnulib.texi (Libtool and Windows): New section.
59197
59198 2006-07-12  Simon Josefsson  <jas@extundo.com>
59199
59200         * modules/gendocs (License): Fix license, approved by Karl.
59201
59202 2006-07-12  Eric Blake  <ebb9@byu.net>
59203
59204         * MODULES.html.sh: Add gendocs.
59205
59206 2006-07-11  Eric Blake  <ebb9@byu.net>
59207
59208         * modules/fdl: New module, to install doc/fdl.texi.
59209         * MODULES.html.sh: Add new section for documentation modules.
59210         * gnulib-tool: Avoid space-tab.
59211         (--doc-base): New option, to manage files from doc.
59212
59213 2006-07-11  Eric Blake  <ebb9@byu.net>
59214
59215         * m4/absolute-header.m4: Fix comments to match recent change.
59216
59217 2006-07-11  Eric Blake  <ebb9@byu.net>
59218
59219         * gnulib-tool: List --doc-base before --tests-base.
59220
59221 2006-07-11  Derek R. Price  <derek@ximbiot.com>
59222
59223         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
59224
59225 2006-07-11  Bruno Haible  <bruno@clisp.org>
59226
59227         * README: Mention where to put documentation.
59228
59229 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59230
59231         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
59232
59233 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59234
59235         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
59236         to stdint.m4.
59237
59238 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59239
59240         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
59241         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
59242         "no/such/file/stdint.h" when there is no such file, so that
59243         the resulting C code can be parsed by dodgy compilers.
59244         Problems reported by Bob Proulx.
59245
59246 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59247
59248         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
59249         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59250         macros into the GNU _D_EXACT_NAMLEN.
59251         * lib/savedir.c:  Likewise.
59252         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
59253
59254 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59255         and Paul Eggert  <eggert@cs.ucla.edu>
59256
59257         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
59258         * m4/savedir.m4:
59259         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59260         macros into the GNU _D_EXACT_NAMLEN.
59261
59262 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59263
59264         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
59265         around the absolute name, to work around a problem with the HP-UX
59266         11.23 native C compiler, reported by Bob Proulx.
59267
59268 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59269
59270         * doc/maintain.texi, make-stds.texi: Sync from
59271         <http://savannah.gnu.org/projects/gnustandards>.
59272
59273 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59274
59275         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
59276
59277 2006-07-09  Jim Meyering  <jim@meyering.net>
59278
59279         * m4/glob.m4: Remove a doubled word in a comment.
59280
59281 2006-07-09  Jim Meyering  <jim@meyering.net>
59282
59283         * lib/argp-pv.c: Remove a doubled word in a comment.
59284         * lib/check-version.c (check_version): Likewise.
59285         * lib/javacomp.c (compile_java_class): Likewise.
59286
59287 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59288
59289         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
59290         for the benefit of people using Autoconf 2.60.  If you want to
59291         support older Autoconf versions you can copy m4/onceonly_2_57.m4
59292         (or m4/onceonly.m4, if pre-2.57) manually.
59293
59294 2006-07-08  Jim Meyering  <jim@meyering.net>
59295
59296         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
59297         comment.
59298         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
59299         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
59300         comment.
59301
59302 2006-07-08  Jim Meyering  <jim@meyering.net>
59303
59304         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
59305
59306 2006-07-07  Simon Josefsson  <jas@extundo.com>
59307
59308         * tests/test-crc.c: Change expected crc value, the test vector
59309         were probably computed using the old broken crc.c?
59310
59311 2006-07-06  Simon Josefsson  <jas@extundo.com>
59312
59313         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
59314         now the canonical place for the M4 file).
59315
59316         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
59317         from the sys_socket dependency now.
59318
59319         * modules/inet_pton (Files): Ditto.
59320
59321         * modules/inet_ntop (Files): Ditto.
59322
59323 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59324
59325         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
59326         not gl_PREREQ_GETUSERSHELL.
59327
59328 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59329
59330         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
59331         with only one argument, for Autoconf 2.60.
59332         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
59333         expand to nothing, so add a shell command to avoid syntax error.
59334         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59335
59336 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59337
59338         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
59339
59340 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59341
59342         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
59343         no longer needed.  Check for isblank decl.
59344         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
59345         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
59346         of existence.
59347
59348 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59349
59350         * lib/getloadavg.c: Use __VMS, not VMS.
59351         * lib/getopt.c: Likewise.
59352         * lib/getpagesize.h: Likewise.
59353         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
59354         and probably does not work.
59355
59356 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59357
59358         * lib/.cppi-disable: Add wcwidth.
59359         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
59360         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
59361         (ISGRAPH): Remove.  All uses changed to isgraph.
59362         (FOLD) [!defined _LIBC]: Remove special case.
59363         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
59364         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
59365         HAVE_ISBLANK.
59366         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
59367         case.
59368
59369 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59370
59371         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
59372         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
59373         brackets.  Other minor changes to suppress some compiler
59374         warnings.
59375
59376 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59377         and Paul Eggert  <eggert@cs.ucla.edu>
59378
59379         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
59380         of invoking obsolescent AC_HEADER_DIRENT macro.
59381         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
59382         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
59383         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
59384         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
59385         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
59386         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59387         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
59388         * m4/readdir.m4: Remove; no longer needed.
59389
59390 2006-07-06  Derek R. Price  <derek@ximbiot.com>
59391         and Paul Eggert  <eggert@cs.ucla.edu>
59392
59393         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
59394         Don't worry about this obsolete case any more.
59395         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
59396         directories.
59397         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
59398         worry about this obsolete case any more.
59399         * lib/fts.c: Likewise.
59400         * lib/getcwd.c: Likewise.
59401         * lib/glob.h: Likewise.
59402         * lib/savedir.c: Likewise.
59403
59404 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59405
59406         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
59407         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
59408         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
59409         needed.
59410         All uses removed.
59411         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59412         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59413         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
59414         needed.
59415         * m4/getdate.m4 (gl_GETDATE): Likewise.
59416         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59417         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59418         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59419         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59420         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
59421         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59422         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
59423         needed.
59424
59425 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59426
59427         * lib/memcasecmp.c: Include <limits.h>.
59428         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
59429         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
59430         Don't assume isdigit succeeds only on '0' through '9'.
59431
59432 2006-07-05  Eric Blake  <ebb9@byu.net>
59433
59434         * modules/getaddrinfo (Depends-on): Add snprintf.
59435
59436 2006-07-05  Eric Blake  <ebb9@byu.net>
59437
59438         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
59439         to avoid 'header present but could not be compiled' on cygwin.
59440
59441 2006-07-05  Eric Blake  <ebb9@byu.net>
59442
59443         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
59444         missing from netdb.h.
59445         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
59446
59447 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59448
59449         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
59450         no longer needed.
59451         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
59452         * m4/getdate.m4 (gl_GETDATE): Likewise.
59453         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
59454         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
59455         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
59456         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
59457         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
59458
59459 2006-07-05  Derek R. Price  <derek@ximbiot.com>
59460
59461         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
59462         All uses of is_space replaced by isspace.
59463         * lib/exit.h: Don't talk about STDC_HEADERS.
59464         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
59465         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
59466         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
59467         replaced by isprint etc.
59468         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
59469         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59470         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
59471         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
59472         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
59473         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
59474
59475 2006-07-05  Bruno Haible  <bruno@clisp.org>
59476
59477         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
59478         the function exists, before testing against AIX.
59479         Reported by Martin Lambers <marlam@marlam.de>.
59480
59481 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59482
59483         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
59484         From Mark D. Baushke.
59485
59486 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
59487
59488         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
59489         to the absolute name, not just one, to bypass Sun C 5.8's
59490         "warning: #include of /usr/include/... may be non-portable".
59491
59492 2006-07-04  Eric Blake  <ebb9@byu.net>
59493
59494         * modules/dirname-tests: New test module.
59495         * tests/test-dirname.c: New file, replacing dirname.c
59496         TEST_DIRNAME section that was recently deleted.
59497
59498 2006-07-04  Bruno Haible  <bruno@clisp.org>
59499
59500         Assume ANSI C header files and <ctype.h> functions.
59501         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
59502         (mbsnwidth): Use isprint, iscntrl instead.
59503
59504 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59505
59506         Merge from coreutils.
59507         * MODULES.html.sh: Add xstrtold.
59508         * modules/xstrtold: New file.
59509         * modules/cycle-check (Files): Add lib/same-inode.h.
59510         * modules/dirname (Files): Add m4/double-slash-root.m4.
59511         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
59512         * modules/mkdir-p (Files): Add lib/same-inode.h.
59513         * modules/same (Files): Add lib/same-inode.h.
59514
59515 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59516
59517         * m4/absolute-header.m4: Renamed from full-header-path.m4.
59518         This is to keep the terminology clean; POSIX talks about
59519         "absolute pathnames", not "full pathnames", but the GNU
59520         Coding Standards say to use "path" for something else;
59521         so use "absolute" to keep both sides happy.
59522         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
59523         Set gl_absolute_header, not gl_full_header_path.
59524         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
59525         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
59526         All uses changed.
59527
59528         Merge from coreutils.
59529
59530         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59531
59532         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
59533         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
59534         want to require the building of c-strtod.o.
59535         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
59536         needs -lm directly.
59537         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
59538
59539         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59540
59541         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
59542         --as-needed option if available.  Problem reported by Albert Chin in
59543         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
59544         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
59545         cc merely issues a bunch of annoying warnings for --as-needed
59546         (this problem was reported by Bob Proulx).  Also, try linking with
59547         -lm to detect a bug in binutils 2.16 (this problem was reported
59548         by Ralf Wildenhues).
59549
59550         2006-06-18  Jim Meyering  <jim@meyering.net>
59551
59552         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
59553         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
59554         macro.
59555         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
59556         also check for glibc-2.4's abort-inducing bug.
59557
59558         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
59559         Low-probability clean-up should be to use rmdir to get rid of
59560         the just-created directory, not unlink.
59561
59562         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
59563         configure fail, and request a bug report to inform us about it.
59564         Add a comment that, barring reports to the contrary, in 2007 we'll
59565         assume ftruncate is universally available.
59566
59567         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59568
59569         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
59570
59571         2006-03-12  Jim Meyering  <jim@meyering.net>
59572
59573         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
59574         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
59575         * m4/same.m4 (gl_SAME): Likewise.
59576         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
59577
59578         2006-03-11  Eric Blake  <ebb9@byu.net>
59579
59580         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
59581         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
59582         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
59583         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
59584
59585 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59586
59587         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
59588         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
59589         reported by Mark D. Baushke, one in
59590         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
59591
59592         Merge from coreutils.
59593
59594         * lib/.cppi-disable: Add stdint_.h.
59595         * lib/.cvsignore: Add stdint.h.
59596
59597         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
59598
59599         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
59600         both double and long double versions.
59601         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
59602         * lib/xstrtold.c: New file.
59603         * lib/xstrtod.h (xstrtold): New decl.
59604
59605         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
59606
59607         * lib/filemode.c (setst): Remove.
59608         (strmode): Rewrite to avoid setst.  This makes the code shorter,
59609         (arguably) clearer, and the generated code is a bit smaller on my
59610         Debian GNU/Linux stable x86 host.
59611
59612         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
59613
59614         * lib/filemode.c: Include "filemode.h" first, to test the interface.
59615         Assume that filemode.h includes sys/types.h and sys/stat.h.
59616         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
59617         (ftypelet): Reorder to put common cases first, for efficiency.
59618         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
59619         to do 'M'.
59620         (strmode): Renamed from mode_string, and now stores 12 bytes instead
59621         of 10, for compatibility with FreeBSD.  All callers changed.
59622         (filemodestring): Now stores 12 bytes instead of 10, and sets file
59623         types that can't be deduced solely from st_mode.  First arg is now a
59624         const pointer.
59625         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
59626         (strmode): Renamed from mode_string.
59627         (filemodestring): New decl.
59628         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
59629         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
59630         needed.
59631         (S_ISPORT, S_ISWHT): New macros, if not already defined.
59632
59633         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
59634
59635         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
59636         fsusage.h now does that.  Include fsusage.h first, to test interface.
59637         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
59638         at most one method (the old code could have generated decls that
59639         didn't conform to C89, not that this was ever exercised).
59640         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
59641
59642         2006-03-19  Jim Meyering  <jim@meyering.net>
59643
59644         Work even in a chroot where d_ino values for entries in "/"
59645         don't match the stat.st_ino values for the same names.
59646         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
59647         number, iterate through all entries again, using lstat instead.
59648         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
59649         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
59650
59651         * lib/getcwd.c (__getcwd): Clarify a comment.
59652         Use memcpy in place of a call to strcpy.
59653
59654         2006-03-12  Jim Meyering  <jim@meyering.net>
59655
59656         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
59657         matches that of the current directory (which we're about to chdir ".."
59658         out of), then save the dev-ino of the parent, instead.
59659
59660         * lib/same-inode.h (SAME_INODE): New file/macro.
59661         * lib/chdir-safer.c (SAME_INODE): Remove definition.
59662         Include "same-inode.h", instead.
59663         * lib/same.c: Likewise.
59664         * lib/cycle-check.h: Include "same-inode.h".
59665         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
59666         * lib/cycle-check.c (SAME_INODE): Remove definition.
59667         * lib/root-dev-ino.h: Include "same-inode.h".
59668
59669         2006-03-11  Eric Blake  <ebb9@byu.net>
59670
59671         * lib/same.c (same_name): s/base_name/last_component/
59672         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
59673         * lib/filenamecat.c (file_name_concat): Likewise.
59674
59675         2006-03-11  Eric Blake  <ebb9@byu.net>,
59676                     Paul Eggert  <eggert@cs.ucla.edu>
59677
59678         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
59679         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
59680         drive prefix.
59681         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
59682         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
59683         (last_component): New method.
59684         * lib/dirname.c (dir_len): Determine when drive letters need a
59685         subsequent slash.  Preserve // when it is special.
59686         (dir_name): Don't append dot when drive letter is absolute.
59687         [TEST_DIRNAME]: Move into a full-blown gnulib test.
59688         * lib/basename.c (base_name): New semantics - malloc the result.
59689         Preserve // when it is special.  Preserve relative files that look
59690         like drive letters.
59691         (base_len): Preserve // when it is special.
59692         (last_component): New method, similar to old base_name semantics.
59693         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
59694         base_name.  Strip redundant slashes from ///.
59695
59696 2006-07-03  Jim Meyering  <jim@meyering.net>
59697
59698         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
59699         macro is used before the first cycle_check call.
59700
59701 2006-07-03  Eric Blake  <ebb9@byu.net>
59702
59703         * modules/dirname (Depends-on): Add xstrndup.
59704
59705 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59706
59707         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
59708         test cases, so that config.log is a bit easier to follow.
59709
59710 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59711
59712         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
59713         both are 64 bits, since this seems to be the tradition, and this
59714         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
59715         we ever run into a host that prefers long long to long in this
59716         case, we'll need another configure-time test.  Problem reported by
59717         Jim Meyering.
59718
59719 2006-07-02  Eric Blake  <ebb9@byu.net>
59720
59721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
59722
59723 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59724
59725         * modules/inttypes (Depends-on): No longer depends on stdint.
59726         * modules/stdint (Description): Say more about assumptions.
59727         Say that the fast types might differ.  Say macros are used.
59728         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
59729         (Makefile.am): Revise list of substituted symbols to match
59730         new stdint.m4.
59731         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
59732         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
59733         * tests/test-stdint.c (verify_same_types)
59734         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
59735         the code conforms to C99/C89.
59736         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
59737         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
59738
59739 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59740
59741         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
59742         but fix a bug, by requiring at least 64 bits.
59743         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59744         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
59745         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
59746         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
59747
59748         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
59749         changes.  Make 2.59 a prerequisite.  Check and substitute for
59750         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
59751         inttypes.h.  Do not use special include files; just use the
59752         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
59753         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
59754         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
59755         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
59756         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
59757         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
59758         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
59759         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
59760         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
59761         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
59762         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
59763         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
59764         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59765         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59766         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59767         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59768         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59769         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59770         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59771         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59772         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59773         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59774         not check for things that C99 does not require, e.g., int8_t.  If
59775         a test isn't needed unless <stdint.h> isn't working, and is
59776         unlikely to be needed for any other reason, then don't do it
59777         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59778         size_t, since we assume C89 freestanding at least.  Do not check
59779         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59780         the right thing even if the types are not defined.  Instead use:
59781         (gl_STDINT_TYPE_PROPERTIES): New macro.
59782         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59783         testing whether <sys/types.h> clashes, as Autoconf does this for
59784         us now.  All uses removed.
59785         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59786         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59787         (gl_CHECK_TYPE_SAME):
59788         Remove; no longer needed.
59789         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59790         exists, since we'll return 0 anyway in that case.
59791         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59792
59793 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59794
59795         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59796         possible collision with system files.
59797         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59798         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59799         WCHAR_MIN and WCHAR_MAX in this case.
59800         (<stddef.h>): Do not include; no longer needed.
59801         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59802         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59803         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59804         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59805         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59806         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59807         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59808         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59809         !defined(__c99))]: Include in this case too, since it's harmless
59810         now.
59811         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59812         dangerous to do so.
59813         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59814         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59815         (_STDINT_MIN, _STDINT_MAX): New macros.
59816         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59817         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59818         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59819         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59820         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59821         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59822         macros, not typedefs; this simplifies things quite a bit.
59823         Use long int for all types narrower than int64_t.
59824         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59825         Define in terms of long long int or int64_t or long int,
59826         not int64_t or int32_t.  This saves some compile-time testing.
59827         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59828         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59829         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59830         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59831         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59832         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59833         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59834         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59835         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59836         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59837         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59838         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59839         undef any previous version and define our own version, for
59840         simplicity and consistency with the new macros for types.
59841         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59842         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59843         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59844         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59845         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59846         @WINT_T_SUFFIX@ to keep things simple here.
59847         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59848         Simplify by assuming typical 8/16/32/64 host, since we're
59849         already doing that elsewhere anyway.
59850         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59851         and assume long long int is 64 bits if available.  This
59852         speeds up 'configure'.
59853
59854 2006-07-01  Eric Blake  <ebb9@byu.net>
59855
59856         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59857         Reported by Andreas Buening.
59858
59859 2006-07-01  Eric Blake  <ebb9@byu.net>
59860
59861         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59862
59863 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59864
59865         * lib/getaddrinfo.c: fixed typo
59866
59867 2006-06-29  Jim Meyering  <jim@meyering.net>
59868
59869         * modules/strftime (Maintainer): Add my name, since with the
59870         FPRINTFTIME changes strftime.c has forked from glibc.
59871
59872 2006-06-29  Eric Blake  <ebb9@byu.net>
59873
59874         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59875
59876 2006-06-29  Eric Blake  <ebb9@byu.net>
59877
59878         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59879
59880 2006-06-29  Eric Blake  <ebb9@byu.net>
59881
59882         * lib/stat_.h: New file.
59883
59884 2006-06-29  Eric Blake  <ebb9@byu.net>
59885
59886         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59887         unused static function.
59888
59889 2006-06-29  Eric Blake  <ebb9@byu.net>
59890
59891         * doc/functions.texi (Function Portability): Document missing lstat
59892         on mingw.
59893
59894 2006-06-29  Eric Blake  <ebb9@byu.net>
59895
59896         * MODULES.html.sh: Add sys_stat.
59897         * modules/sys_stat: New module.
59898         * modules/mkstemp (Depends-on): Add sys_stat.
59899
59900 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59901
59902         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59903
59904 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59905
59906         * m4/c-bs-a.m4: Removed.
59907
59908 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59909
59910         * lib/strftime.c: Assume strftime() exists.
59911
59912 2006-06-29  Derek Price  <derek@ximbiot.com>
59913
59914         * modules/c-bs-a: Removed - \a is C89.
59915         * MODULES.html.sh: Remove c-bs-a.
59916
59917 2006-06-29  Bruno Haible  <bruno@clisp.org>
59918
59919         * modules/wcwidth (License): Change to LGPL.
59920
59921 2006-06-28  Simon Josefsson  <jas@extundo.com>
59922
59923         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59924         on _WIN32.
59925
59926         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59927         getnameinfo.
59928
59929 2006-06-28  Simon Josefsson  <jas@extundo.com>
59930
59931         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59932
59933 2006-06-28  Simon Josefsson  <jas@extundo.com>
59934
59935         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59936         functions there.  It will succeed on Windows XP, but on Windows
59937         2000 and (presumably) earlier, it will fail, and use the internal
59938         re-implementation.
59939         (use_win32_p): New function.
59940         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59941         Support AI_NUMERICSERV to disable getservbyname.
59942         (getnameinfo): New function, only supports
59943         NI_NUMERICHOST|NI_NUMERICSERV for now.
59944
59945         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59946         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59947         getnameinfo.
59948
59949 2006-06-28  Eric Blake  <ebb9@byu.net>
59950
59951         * modules/wcwidth: New file.
59952         * modules/mbchar (Depends-on): Add wcwidth.
59953         * modules/mbswidth (Depends-on): Add wcwidth.
59954         * MODULES.html.sh: Add wcwidth.
59955
59956 2006-06-28  Eric Blake  <ebb9@byu.net>
59957
59958         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59959         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59960
59961 2006-06-28  Eric Blake  <ebb9@byu.net>
59962
59963         * lib/xvasprintf.h: Fix comments.
59964
59965 2006-06-28  Eric Blake  <ebb9@byu.net>
59966
59967         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59968         * lib/mbswidth.c (wcwidth): Move from here...
59969         * lib/wcwidth.h: ...to this new file.
59970
59971 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59972
59973         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59974
59975         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59976         it's obsolete.
59977         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59978
59979 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59980
59981         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59982         Autoconf 2.60 says this stuff was obsolete.
59983
59984 2006-06-28  Bruno Haible  <bruno@clisp.org>
59985
59986         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59987
59988 2006-06-28  Bruno Haible  <bruno@clisp.org>
59989
59990         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59991         gt_TYPE_WCHAR_T.
59992
59993 2006-06-28  Bruno Haible  <bruno@clisp.org>
59994
59995         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59996         declaration for wcwidth.
59997         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59998
59999 2006-06-28  Bruno Haible  <bruno@clisp.org>
60000
60001         * lib/mkdtemp.c [MINGW]: Include <io.h>.
60002         (mkdir): Define using _mkdir.
60003
60004 2006-06-28  Bruno Haible  <bruno@clisp.org>
60005
60006         * lib/getaddrinfo.h: Fix POSIX URL.
60007         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
60008         _WIN32.
60009         (use_win32_p): Make static.
60010         (getaddrinfo): Reject service name if it is empty or does not consist
60011         solely of decimal digits, or if its value is > 65535.
60012         (getnameinfo): Remove useless casts.
60013
60014 2006-06-27  Simon Josefsson  <jas@extundo.com>
60015
60016         * modules/sys_select: New file, suggested by Bruno Haible, Paul
60017         Eggert and Martin Lambers.
60018
60019 2006-06-27  Simon Josefsson  <jas@extundo.com>
60020
60021         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
60022         Eggert and Martin Lambers.
60023
60024 2006-06-27  Bruno Haible  <bruno@clisp.org>
60025
60026         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
60027         result to 0, not to empty.
60028         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
60029
60030 2006-06-27  Bruno Haible  <bruno@clisp.org>
60031
60032         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
60033
60034 2006-06-26  Simon Josefsson  <jas@extundo.com>
60035
60036         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
60037         present.
60038
60039 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
60040
60041         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
60042         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
60043         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
60044
60045 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
60046
60047         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
60048
60049 2006-06-26  Bruno Haible  <bruno@clisp.org>
60050
60051         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
60052
60053 2006-06-26  Bruno Haible  <bruno@clisp.org>
60054
60055         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
60056
60057 2006-06-26  Bruno Haible  <bruno@clisp.org>
60058
60059         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
60060         SGI C compiler in pre-C99 mode.
60061         Suggested by Mark D. Baushke and Larry Jones.
60062
60063 2006-06-26  Bruno Haible  <bruno@clisp.org>
60064
60065         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
60066         WCHAR_MAX.
60067         Reported by Mark D. Baushke and Larry Jones.
60068
60069 2006-06-26  Bruno Haible  <bruno@clisp.org>
60070
60071         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
60072         in pre-C99 mode.
60073         Suggested by Mark D. Baushke and Larry Jones.
60074
60075 2006-06-23  Simon Josefsson  <jas@extundo.com>
60076             Bruno Haible  <bruno@clisp.org>
60077
60078         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
60079         Emit mostlyclean-local rule.
60080         (func_emit_tests_Makefile_am): Likewise.
60081         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
60082
60083 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
60084
60085         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
60086
60087 2006-06-23  Bruno Haible  <bruno@clisp.org>
60088
60089         * tests/test-stdint.c: Update to match ISO C 99 Technical
60090         Corrigendum 1.
60091
60092 2006-06-23  Bruno Haible  <bruno@clisp.org>
60093
60094         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
60095
60096 2006-06-23  Bruno Haible  <bruno@clisp.org>
60097
60098         * lib/stdint_.h: Treat IRIX like OpenBSD.
60099
60100 2006-06-23  Bruno Haible  <bruno@clisp.org>
60101
60102         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
60103         ISO C 99 Technical Corrigendum 1.
60104
60105 2006-06-22  Simon Josefsson  <jas@extundo.com>
60106
60107         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
60108         MinGW.
60109
60110 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60111
60112         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
60113         needed.  Some compiler complained about some of them.  Problem reported
60114         by Larry Jones in
60115         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
60116
60117 2006-06-21  Simon Josefsson  <jas@extundo.com>
60118
60119         * tests/test-getaddrinfo.c: New file.
60120
60121         * modules/getaddrinfo-tests: New file.
60122
60123         * MODULES.html.sh: Add inet_pton.
60124
60125         * modules/inet_pton: New file.
60126
60127 2006-06-21  Simon Josefsson  <jas@extundo.com>
60128
60129         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
60130         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
60131         of using the (limited) gnulib implementation on Windows XP.
60132
60133         * m4/inet_pton.m4: New file.
60134
60135 2006-06-21  Simon Josefsson  <jas@extundo.com>
60136
60137         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
60138         variable.
60139
60140         * lib/socket_.h: Don't define WINVER.
60141
60142         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
60143         slightly modified to work in gnulib.
60144
60145 2006-06-21  Simon Josefsson  <jas@extundo.com>
60146
60147         * doc/gnulib.texi (Windows sockets): Add.
60148
60149 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60150
60151         * lib/read-file.c (fread_file): Start with buffer allocation of
60152         0 bytes rather than 1 byte; this simplifies the code.
60153         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
60154         code to free buffer and save/restore errno.
60155         (internal_read_file): Remove unused local.
60156
60157 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60158
60159         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
60160         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
60161         Problem reported by Denis Excoffier in
60162         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
60163
60164 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60165
60166         * modules/sys_socket, modules/socklen: Include sys/types since
60167         FreeBSD 4.x's sys/socket.h needs it.
60168
60169 2006-06-19  Simon Josefsson  <jas@extundo.com>
60170
60171         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
60172
60173 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60174
60175         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
60176
60177 2006-06-19  Bruno Haible  <bruno@clisp.org>
60178
60179         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
60180         and FULL_PATH_INTTYPES_H in angle brackets.
60181         Reported by Mark D. Baushke <mdb@gnu.org>.
60182
60183 2006-06-17  Eric Blake  <ebb9@byu.net>
60184
60185         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
60186         errno.
60187
60188 2006-06-17  Bruno Haible  <bruno@clisp.org>
60189
60190         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
60191         <sys/inttypes.h>.
60192
60193 2006-06-17  Bruno Haible  <bruno@clisp.org>
60194
60195         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
60196         whether errno is declared. Assume <errno.h> declares errno.
60197
60198 2006-06-17  Bruno Haible  <bruno@clisp.org>
60199
60200         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
60201
60202 2006-06-17  Bruno Haible  <bruno@clisp.org>
60203
60204         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
60205         problem on Solaris 2.5.1.
60206
60207 2006-06-16  Eric Blake  <ebb9@byu.net>
60208
60209         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
60210         * lib/unicodeio.c [!defined errno]: Likewise.
60211         * lib/strtol.c [!defined errno]: Likewise.
60212         * lib/strtod.c [!defined errno]: Likewise.
60213
60214 2006-06-15  Eric Blake  <ebb9@byu.net>
60215
60216         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
60217
60218 2006-06-15  Eric Blake  <ebb9@byu.net>
60219
60220         * config/srclist.txt (ssize_t.m4): Lose sync.
60221
60222 2006-06-15  Bruno Haible  <bruno@clisp.org>
60223
60224         * modules/stdint (Files): Include m4/full-header-path.m4,
60225         m4/size_max.m4, m4/wchar_t.m4.
60226         (Makefile.am): Many more substitutions.
60227         * modules/stdint-tests: New file.
60228         * tests/test-stdint.c: New file.
60229
60230 2006-06-15  Bruno Haible  <bruno@clisp.org>
60231
60232         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
60233         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
60234         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
60235         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
60236         gl_CHECK_TYPE_SAME): New macros.
60237
60238 2006-06-15  Bruno Haible  <bruno@clisp.org>
60239
60240         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
60241
60242 2006-06-15  Bruno Haible  <bruno@clisp.org>
60243
60244         * lib/stdint_.h: Rewritten to be fully auto-configured.
60245         Fixes bug on HP-UX/IA64.
60246
60247 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
60248
60249         * lib/getdate.y (__attribute__): Don't define if already defined.
60250         Problem reported by Larry Jones.
60251         * lib/utimens.c (__attribute__): Likewise.
60252
60253 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
60254
60255         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
60256         reported by Andreas Schwab.
60257
60258 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60259             Bruno Haible  <bruno@clisp.org>
60260
60261         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
60262         check for the declaration of strnlen and a run test that exposes the
60263         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
60264         rpl_strndup.
60265
60266 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60267             Bruno Haible  <bruno@clisp.org>
60268
60269         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
60270
60271 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60272
60273         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
60274         compile test, for Tru64 4.0D.
60275
60276 2006-05-28  Karl Berry  <karl@gnu.org>
60277
60278         * config/srclist.txt (printf-args.c): lose sync.
60279
60280 2006-05-26  Martin Lambers  <marlam@marlam.de>
60281
60282         * lib/getpass.c: Updates the test for the native W32 API, and adds
60283         missing includes, thus fixing compilation warnings.
60284
60285 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60286
60287         * lib/exclude.c (exclude_fnmatch): New function.
60288         (excluded_file_name): Call exclude_fnmatch.
60289         * lib/exclude.h (excluded_file_name): New prototype
60290
60291 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
60292
60293         * lib/tempname.c (small_open, large_open): New macros.
60294         (__open, __open64) [!_LIBC]: Remove.
60295         (__gen_tempname): Use small_open and large_open instead of __open
60296         and __open64.  This fixes a portability bug on HP-UX 11.11i
60297         reported by Simon Wing-Tang in
60298         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
60299
60300 2006-05-24  Bruno Haible  <bruno@clisp.org>
60301
60302         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
60303         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
60304         Reported by Thorsten Maerz <torte@netztorte.de> via
60305         Aaron Stone <aaron@serendipity.cx>.
60306
60307 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60308
60309         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
60310         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
60311         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
60312         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
60313         not really conditional on the cache.
60314         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
60315
60316 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60317
60318         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
60319         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
60320         (my_usleep): Don't mishandle maximum value.
60321
60322 2006-05-19  Jim Meyering  <jim@meyering.net>
60323
60324         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
60325
60326 2006-05-17  Bruno Haible  <bruno@clisp.org>
60327
60328         Cygwin portability.
60329         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
60330
60331 2006-05-17  Bruno Haible  <bruno@clisp.org>
60332
60333         * lib/stdint_.h: Fix recognition of Cygwin.
60334
60335 2006-05-15  Bruno Haible  <bruno@clisp.org>
60336
60337         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
60338         on libtool patch by Ralf Wildenhues.
60339
60340 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60341
60342         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
60343         test for C99 conformance; (bool) 0.5 is an integer constant
60344         expression, but (bool) -0.5 is not.  Problem reported by Fedor
60345         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
60346
60347 2006-05-11  Simon Josefsson  <jas@extundo.com>
60348
60349         * m4/xvasprintf.m4: Fix obvious typo.
60350
60351 2006-05-11  Jim Meyering  <jim@meyering.net>
60352
60353         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
60354         James Lemley.
60355
60356 2006-05-10  Simon Josefsson  <jas@extundo.com>
60357
60358         * lib/md4.c: Typo fix, update copyright years.
60359         (K1, K2): Don't use L because it turn computations into 64-bit on
60360         64-bit platforms.
60361
60362 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
60363
60364         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
60365         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
60366         unwanted sign propagation, e.g., on hosts with 64-bit int.
60367         There still are some problems with reeelly weird theoretical hosts
60368         (e.g., 33-bit int) but it's not worth worrying about now.
60369         * lib/sha1.c (rol): Likewise.
60370         (K1, K2, K3, K4): Remove unnecessary L suffix.
60371
60372 2006-05-10  Bruno Haible  <bruno@clisp.org>
60373
60374         * lib/des.c: Cast to avoid warnings.
60375
60376 2006-05-09  Bruno Haible  <bruno@clisp.org>
60377
60378         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
60379         (Depends-on): Depend also on xsize, stdarg.
60380         (configure.ac): Add gl_XVASPRINTF.
60381
60382 2006-05-09  Bruno Haible  <bruno@clisp.org>
60383
60384         * m4/xvasprintf.m4: New file.
60385
60386 2006-05-09  Bruno Haible  <bruno@clisp.org>
60387
60388         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
60389         (EOVERFLOW): Define fallback value.
60390         (xstrcat): New function.
60391         (xvasprintf): Recognize the special case of a string concatenation.
60392
60393 2006-05-08  Eric Blake  <ebb9@byu.net>
60394
60395         * gnulib-tool (func_version): Base copyright year on CVS date.
60396         (func_emit_copyright_notice): New function.
60397         (func_emit_lib_Makefile_am): Use it.
60398         (func_emit_tests_Makefile_am): Likewise.
60399         (func_import): Likewise.
60400
60401 2006-05-08  Bruno Haible  <bruno@clisp.org>
60402
60403         * modules/stdarg: New file.
60404         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
60405
60406 2006-05-08  Bruno Haible  <bruno@clisp.org>
60407
60408         * m4/stdarg.m4: New file, from GNU gettext.
60409
60410 2006-05-08  Bruno Haible  <bruno@clisp.org>
60411
60412         * config/srclist.txt (build-aux/config.rpath): different from latest
60413         release.
60414
60415 2006-05-08  Bruno Haible  <bruno@clisp.org>
60416
60417         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
60418
60419 2006-05-05  Jim Meyering  <jim@meyering.net>
60420
60421         * m4/warning.m4: New file, derived from bison's file by the same name.
60422
60423 2006-05-03  Bruno Haible  <bruno@clisp.org>
60424
60425         * lib/stdint_.h: Shorter URL.
60426         * lib/inttypes.h: Likewise.
60427
60428 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60429
60430         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
60431
60432 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60433
60434         * lib/verify.h: Document the internals better.  Most of this change
60435         was written by Bruno Haible.
60436
60437 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60438
60439         * doc/verify.texi: New file, partly based on a proposal by
60440         Bruno Haible.
60441
60442 2006-05-02  Bruno Haible  <bruno@clisp.org>
60443
60444         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
60445         test from here...
60446         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
60447
60448 2006-04-29  Bruno Haible  <bruno@clisp.org>
60449
60450         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
60451         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
60452
60453 2006-04-29  Bruno Haible  <bruno@clisp.org>
60454
60455         * gnulib-tool: Make --update option actually work.
60456
60457 2006-04-29  Bruno Haible  <bruno@clisp.org>
60458
60459         * doc/gcd.texi: New file.
60460         * doc/gnulib.texi: Include it.
60461
60462 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
60463
60464         * lib/getdate.y (get_date): When adding relative date, start with the
60465         initial time, not with the result of the first mktime call.
60466
60467 2006-04-25  Bruno Haible  <bruno@clisp.org>
60468
60469         * gnulib-tool (func_import): Output the include directives in three
60470         blocks, sorted separately.
60471         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60472
60473 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60474
60475         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
60476         to define main with arguments, for C++.  Reported by Eric Blake.
60477         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
60478         Prefer 'int main ()' to 'int main (void)', for C++.
60479         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
60480         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
60481         for 'main', for C99 and C++.
60482
60483 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
60484
60485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
60486         Don't assume that exit status -1 is valid.
60487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60488         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60489         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
60490         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
60491         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
60492         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
60493         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
60494         functions can be used without declaring them, or that you can
60495         exit with status -1.
60496         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
60497
60498 2006-04-24  Karl Berry  <karl@gnu.org>
60499
60500         * config/srclist.txt (longdouble.m4): sync lost.
60501
60502 2006-04-24  Eric Blake  <ebb9@byu.net>
60503
60504         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
60505
60506 2006-04-24  Bruno Haible  <bruno@clisp.org>
60507
60508         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
60509         poll() implementation in AIX.
60510         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60511
60512 2006-04-24  Bruno Haible  <bruno@clisp.org>
60513
60514         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
60515         assigned exactly once.
60516
60517 2006-04-23  Claudio Fontana  <claudio@gnu.org>
60518             Bruno Haible  <bruno@clisp.org>
60519
60520         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
60521         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
60522         for AM_CPPFLAGS.
60523
60524 2006-04-23  Bruno Haible  <bruno@clisp.org>
60525
60526         * modules/copy-file: Depend on unistd.
60527         * modules/execute: Likewise.
60528         * modules/fatal-signal: Likewise.
60529         * modules/findprog: Likewise.
60530         * modules/mkdtemp : Likewise.
60531         * modules/pipe: Likewise.
60532         * modules/wait-process: Likewise.
60533
60534 2006-04-23  Bruno Haible  <bruno@clisp.org>
60535
60536         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
60537         condition was already detected.
60538         Reported by Ben Pfaff <blp@cs.stanford.edu>.
60539
60540 2006-04-23  Bruno Haible  <bruno@clisp.org>
60541
60542         * lib/copy-file.c: Include <unistd.h> unconditionally.
60543         * lib/execute.c: Likewise.
60544         * lib/fatal-signal.c: Likewise.
60545         * lib/findprog.c: Likewise.
60546         * lib/mkdtemp.c: Likewise.
60547         * lib/pipe.h: Likewise.
60548         * lib/pipe.c: Likewise.
60549         * lib/wait-process.h: Likewise.
60550
60551 2006-04-23  Bruno Haible  <bruno@clisp.org>
60552
60553         * gnulib-tool (func_usage): Fix --import description. Document
60554         --update.
60555         (func_import): Create temporary file in a temporary directory, if
60556         --dry-run is specified. Silence errors from 'grep' when there are no
60557         m4 files in $m4dir.
60558         (func_create_testdir): Silence errors from 'grep' when there are no
60559         m4 files in $m4dir.
60560         Reported by Karl Berry <karl@freefriends.org>.
60561
60562 2006-04-20  Bruno Haible  <bruno@clisp.org>
60563
60564         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
60565         one argument, so that the code will be portable to Autoconf 2.60.
60566         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
60567         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60568         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
60569
60570 2006-04-19  Derek Price  <derek@ximbiot.com>
60571             Eric Blake  <ebb9@byu.net>
60572
60573         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
60574         rather than "/full/path.h".  Update comment to match.  Shorten &
60575         generalize m4_translit call via AS_TR_CPP.
60576
60577 2006-04-19  Derek Price  <derek@ximbiot.com>
60578             Eric Blake  <ebb9@byu.net>
60579
60580         * lib/inttypes.h: Correct grammar in comment.
60581
60582 2006-04-18  Derek Price  <derek@ximbiot.com>
60583             Paul Eggert  <eggert@cs.ucla.edu>
60584
60585         * modules/inttypes: New file.
60586         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
60587
60588 2006-04-18  Derek Price  <derek@ximbiot.com>
60589             Paul Eggert  <eggert@cs.ucla.edu>
60590
60591         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
60592         New files.
60593
60594 2006-04-18  Derek Price  <derek@ximbiot.com>
60595             Paul Eggert  <eggert@cs.ucla.edu>
60596
60597         * lib/inttypes.h: New file.
60598         * lib/strtoimax.c: Assume <inttypes.h>.
60599
60600 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
60601
60602         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
60603         isn't mounted.  Problem reported by Kir Kolyshkin.
60604
60605 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60606
60607         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
60608         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
60609         Derek R. Price.
60610         * lib/regex.h (RE_DUP_MAX): Update comment to match current
60611         implementation.
60612
60613 2006-04-12  Eric Blake  <ebb9@byu.net>
60614
60615         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
60616         is now done automatically by the corresponding Autoconf macro.
60617
60618 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
60619
60620         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
60621         time_r.h.
60622
60623 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60624
60625         Merge regex changes from libc, removing some of our
60626         POSIX-conformance changes that were rejected and redoing them in a
60627         less-intrusive way.
60628
60629         * lib/regcomp.c (re_compile_internal, init_dfa):
60630         Length arg is now size_t, not Idx.  All uses changed.
60631         (peek_token): Forward decl now says internal_function.
60632         (__re_error_msgid, __re_error_msgid_idx):
60633         Now static rather than extern with attribute_hidden.
60634         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
60635         For some reason libc prefers K&R style defns for external functions.
60636         (regerror) [!defined _LIBC]: Likewise.
60637         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
60638         (seek_collating_symbol_entry, lookup_collation_sequence_value):
60639         (build_range_exp, build_collating_symbol):
60640         Use K&R-style defn.
60641         (re_compile_fastmap): Use '\0' to memset, not 0.
60642         (utf8_sb_map): Make the calculations more obvious.
60643         (init_dfa, parse_bracket_exp, build_charclass_op):
60644         Call calloc and cast result, as glibc does.
60645         (init_word_char, fetch_token, peek_token, peek_token_bracket):
60646         (build_range_exp, build_collating_symbol):
60647         Now internal functions.
60648
60649         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
60650
60651         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
60652         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
60653         Don't depend on VMS; depend on __VMS instead, for POSIX
60654         namespace cleanness.
60655         (regoff_t): Define to ssize_t, not long int.
60656
60657         Remove the REG_ macros named below.  Instead, make the old names
60658         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
60659         __USE_GNU_REGEX.
60660         (REG_BACKSLASH_ESCAPE_IN_LISTS):
60661         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
60662         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
60663         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
60664         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
60665         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
60666         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
60667         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
60668         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
60669         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
60670         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
60671         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
60672         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
60673         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
60674         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
60675         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
60676         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
60677         (REG_NREGS):
60678         Remove.  All uses replaced by the old RE_* names.
60679         (RE_BACKSLASH_ESCAPE_IN_LISTS):
60680         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
60681         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
60682         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
60683         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
60684         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
60685         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
60686         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
60687         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
60688         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
60689         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
60690         Don't bother having these macros be independent of each others'
60691         values, since they no longer exist in the POSIX name space.
60692
60693         Rename the following member names back to their old names,
60694         unless !__USE_GNU_REGEX.  All uses changed back.
60695         (buffer): Renamed from re_buffer.
60696         (allocated): Renamed from re_allocated.
60697         (used): Renamed from re_used.
60698         (syntax): Renamed from re_syntax.
60699         (fastmap): Renamed from re_fastmap.
60700         (translate): Renamed from re_translate.
60701         (can_be_null): Renamed from re_can_be_null.
60702         (regs_allocated): Renamed from re_regs_allocated.
60703         (fastmap_accurate): Renamed from re_fastmap_accurate.
60704         (no_sub): Renamed from re_no_sub.
60705         (not_bol): Renamed from re_not_bol.
60706         (not_eol): Renamed from re_not_eol.
60707         (newline_anchor): Renamed from re_newline_anchor.
60708         (num_regs): Renamed from rm_num_regs.
60709         (start): Renamed from rm_start.
60710         (end): Renamed from rm_end.
60711
60712         (free_state): Move up a bit.
60713
60714         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
60715         #define to be empty.
60716         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
60717         when that is what is intended.
60718         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
60719         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
60720         (MAX): New macro.
60721         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
60722         All uses changed back to re_malloc, etc.  It's now the caller's
60723         responsibility to check for overflow; all callers changed.
60724         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
60725         (re_x2nrealloc): Remove.
60726         (free_state): Remove decl.
60727
60728         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
60729         (re_set_registers, re_exec):
60730         Use K&R-style defn.
60731
60732         2006-01-31  Roland McGrath  <roland@redhat.com>
60733
60734         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
60735         Reported by Mike Frysinger <vapier@gentoo.org>.
60736
60737         2006-01-15  Andreas Jaeger  <aj@suse.de>
60738
60739         [BZ #1950]
60740         * lib/regex_internal.c (re_string_reconstruct): Adjust for
60741         build_wcs_upper_buffer change.
60742         (build_wcs_upper_buffer): Change return type.
60743
60744         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
60745
60746         * lib/regex_internal.h: Include <stdint.h> if available.
60747
60748         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
60749
60750         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
60751
60752         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60753
60754         * lib/regcomp.c: Adjust for changed secondary hash function.
60755
60756         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
60757
60758         * lib/regex.h: Pretty printing.
60759         Clean up namespace a bit.
60760
60761         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
60762
60763         * lib/regexec.c (update_cur_sifted_state, check_arrival,
60764         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60765
60766         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60767                     Ulrich Drepper  <drepper@redhat.com>
60768
60769         [BZ #1302]
60770         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60771         changed.
60772         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60773
60774         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60775
60776         [BZ #281]
60777         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60778         * lib/regcomp.c: Remove unnecessary uses of
60779         unsigned RE_TRANSLATE_TYPE.
60780         * lib/regex_internal.h: Likewise.
60781         * lib/regex_internal.c: Likewise.
60782         * lib/regexec.c: Likewise.
60783         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60784
60785         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60786
60787         * lib/regexec.c (find_recover_state): Remove unnecessary
60788         initialization.
60789         (transit_state_bkref): Make DFA a const pointer.
60790         (get_subexp): Likewise.
60791         (check_arrival): Likewise.
60792         (update_cur_sifted_state): Likewise.
60793         (re_search_internal): Likewise.
60794         (prune_impossible_nodes): Likewise.
60795         (acquire_init_state_context): Likewise.
60796         (proceed_next_node): Likewise.
60797         (set_regs): Likewise.
60798         (free_fail_stack_return): Likewise.
60799         (check_arrival_expand_ecl): Mark DFA parameter as const.
60800         (check_arrival_expand_ecl_sub): Likewise.
60801         (check_subexp_limits): Likewise.
60802         (sub_epsilon_src_nodes):  Likewise.
60803         (add_epsilon_src_nodes):  Likewise.
60804         (merge_state_array): Likewise.
60805         (update_regs): Likewise.
60806         (build_trtable): Likewise.
60807         (sift_states_backward): Mark MCTX parameter as const.
60808         (build_sifted_states): Likewise.
60809         (update_cur_sifted_state): Likewise.
60810         (sift_states_mkref): Likewise.
60811         (check_arrival_expand_ecl): Mark eclosure as const.
60812         (check_dst_limits_calc_pos_1): Likewise.
60813         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60814         pointer.
60815
60816         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60817
60818         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60819         (transit_state_sb): Likewise.
60820         (transit_state_mb): Likewise.
60821         (sift_states_iter_mb): Likewise.
60822         (check_arrival_add_next_nodes): Likewise.
60823         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60824         [_LIBC] (re_search_2_stub): Use mempcpy.
60825
60826         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60827         mbrtowc for very simple UTF-8 case.
60828
60829         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60830         a pointer-to-const.
60831         (re_acquire_state_context): Likewise.
60832         * lib/regex_internal.h: Adjust prototypes.
60833
60834         * lib/regex.c: Prevent using C++ compilers.
60835
60836         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60837         (re_acquire_state_context): Likewise.
60838
60839 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60840
60841         * modules/regex (Depends-on): Add ssize_t.
60842
60843 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60844
60845         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60846         translation table.
60847
60848 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60849
60850         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60851
60852 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60853             Bruno Haible  <bruno@clisp.org>
60854
60855         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60856         <sys/types.h> and <inttypes.h>.
60857
60858 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60859
60860         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60861         `__error_t_defined', so argp.h will not typedef the former.
60862
60863 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60864
60865         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60866         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60867         glibc names.  Even if glibc is changed to conform to POSIX, the
60868         traditional names will be available anyway, since regex depends on
60869         the extensions module.  Also, fix a longstanding typo in the
60870         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60871         reported by Emanuele Giaquinta.  Also, change sense of cached
60872         variable, so that the message makes sense.
60873
60874 2006-03-24  Simon Josefsson  <jas@extundo.com>
60875
60876         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60877         including some doc fixes.
60878         (base64_encode_alloc): Fix +1 bug on allocation failures.
60879
60880 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60881
60882         * lib/base64.c (base64_encode): Do not read past end of array with
60883         unsanitized input on systems with CHAR_BIT > 8.
60884
60885 2006-03-24  Eric Blake  <ebb9@byu.net>
60886
60887         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60888
60889 2006-03-22  Karl Berry  <karl@gnu.org>
60890
60891         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60892         * config/srclistvars.sh (COREUTILS): new var.
60893
60894 2006-03-17  Jim Meyering  <jim@meyering.net>
60895
60896         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60897         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60898
60899 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60900
60901         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60902         no longer needs it.  Instead, check that regoff_t is as least
60903         as wide as ptrdiff_t.
60904
60905         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60906         so that our regex.h stays compatible with the installed regex.
60907         This is helpful for installers who configure --without-included-regex.
60908         Problem reported by Emanuele Giaquinta.
60909
60910 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60911
60912         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60913         Typedef to long int, not to off_, as POSIX will likely change
60914         in that direction.
60915
60916 2006-03-15  Eric Blake  <ebb9@byu.net>
60917
60918         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60919
60920 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60921
60922         * lib/argp-help.c (validate_uparams): Fix typo
60923         * lib/argp-parse.c (argp_default_options): Consistently begin help
60924         messages with a lowercase letter.
60925
60926 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60927
60928         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60929         overrun buffers and shouldn't be used (much as gets shouldn't be
60930         used).
60931         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60932
60933 2006-03-08  Simon Josefsson  <jas@extundo.com>
60934
60935         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60936         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60937
60938 2006-03-08  Simon Josefsson  <jas@extundo.com>
60939
60940         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60941         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60942
60943 2006-03-08  Simon Josefsson  <jas@extundo.com>
60944
60945         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60946         signal that configure disabled the device.
60947
60948 2006-03-08  Simon Josefsson  <jas@extundo.com>
60949
60950         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60951         languages.
60952
60953 2006-03-07  Simon Josefsson  <jas@extundo.com>
60954
60955         * modules/getopt (Depends-on): Add unistd.
60956
60957         * modules/unistd: New file.
60958
60959 2006-03-07  Simon Josefsson  <jas@extundo.com>
60960
60961         * modules/gc-random: New file.
60962
60963 2006-03-07  Simon Josefsson  <jas@extundo.com>
60964
60965         * m4/unistd_h.m4: New file.
60966
60967 2006-03-07  Simon Josefsson  <jas@extundo.com>
60968
60969         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60970         test to be side-effect free by storing the result in the cache
60971         variable gl_cv_lib_readline, and moving the assignment of
60972         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60973         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60974
60975 2006-03-07  Simon Josefsson  <jas@extundo.com>
60976
60977         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60978         error on missing devices (the functions will return an error).
60979
60980         * m4/gc.m4: Move random stuff to gc-random.m4
60981
60982 2006-03-07  Simon Josefsson  <jas@extundo.com>
60983
60984         * lib/unistd_.h: New file.
60985
60986 2006-03-07  Simon Josefsson  <jas@extundo.com>
60987
60988         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60989
60990 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60991
60992         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60993         Problem reported by Juan Manuel Guerrero.
60994
60995 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60996
60997         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60998         the unistd module.
60999         * lib/getlogin_r.c: Likewise.
61000         * lib/getlogin_r.h: Likewise.
61001         * lib/glob.c: Likewise.
61002         * lib/pagealign_alloc.c: Likewise.
61003         * lib/unistd_.h: Remove; no longer needed.
61004
61005 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61006
61007         * MODULES.html.sh (Support for systems lacking POSIX:2001):
61008         Add unistd.
61009         * modules/c-stack (Depends-on): Add unistd.
61010         * modules/getlogin_r: Likewise.
61011         * modules/glob: Likewise.
61012         * modules/pagealign_alloc: Likewise.
61013         * modules/unistd (Files): Remove lib/unistd_.h.
61014         (EXTRA_DIST): Remove.
61015         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
61016         need unistd_.h.
61017         (MOSTLYCLEANFILES): Remove unistd.h-t.
61018
61019 2006-03-03  Simon Josefsson  <jas@extundo.com>
61020
61021         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
61022
61023 2006-03-03  Simon Josefsson  <jas@extundo.com>
61024
61025         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
61026         libidn and bison.
61027
61028 2006-03-03  Simon Josefsson  <jas@extundo.com>
61029
61030         * build-aux/maint.mk: Add indent target.
61031
61032 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
61033
61034         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
61035         our replacement poll.h in any case, to avoid a differing
61036         declaration from a system header.  Seen on AIX.
61037
61038 2006-03-01  Simon Josefsson  <jas@extundo.com>
61039
61040         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
61041         <kasal@ucw.cz>.
61042
61043 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61044
61045         * modules/gettime (Depends-on): Add extensions module.
61046         * modules/nanosleep (Depends-on): Likewise.
61047         * modules/settime (Depends-on): Likewise.
61048
61049 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61050
61051         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
61052         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
61053         pedantically.
61054         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61055         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
61056
61057         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
61058         not "==".  Reported by Ralf Wildenhues.
61059
61060 2006-03-01  Karl Berry  <karl@gnu.org>
61061
61062         * doc/Copyright/request-*: new files, synced from gnuorg.
61063
61064 2006-03-01  Karl Berry  <karl@gnu.org>
61065
61066         * config/srclist.txt (Copyright/*): new entries.
61067
61068 2006-02-28  Simon Josefsson  <jas@extundo.com>
61069
61070         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
61071
61072 2006-02-27  Simon Josefsson  <jas@extundo.com>
61073
61074         * lib/base64.h: Indent #define's.  From Jim Meyering
61075         <jim@meyering.net>.
61076
61077 2006-02-27  Jim Meyering  <jim@meyering.net>
61078
61079         Revert the change of 2006-02-24, so these files can continue
61080         to be sync'd from gettext.
61081         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
61082         of `config.h'.
61083
61084 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61085
61086         * modules/intprops: New file.
61087         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61088         Add intprops.
61089         * modules/getloadavg (Files): Remove lib/intprops.h.
61090         (Depends-on): Add intprops.
61091         * modules/human: Likewise.
61092         * modules/inttostr: Likewise.
61093         * modules/openat: Likewise.
61094         * modules/sig2str: Likewise.
61095         * modules/userspec: Likewise.
61096         * modules/utimecmp: Likewise.
61097         * modules/xnanosleep: Likewise.
61098         * modules/xstrtol: Likewise.
61099
61100 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
61101
61102         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
61103         * modules/lock-tests (TESTS): Use $(EXEEXT).
61104         * modules/tls-tests: Likewise.
61105         * modules/argp-tests: Likewise.
61106         (check_PROGRAMS): New var, replacing...
61107         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
61108
61109 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61110
61111         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
61112         `config.h'.
61113
61114 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61115
61116         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
61117
61118 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61119
61120         Sync from coreutils.
61121         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
61122         gl_CHDIR_SAFER.
61123
61124 2006-02-22  Jim Meyering  <jim@meyering.net>
61125
61126         Sync from coreutils.
61127         * m4/chdir-safer.m4: New file.
61128
61129 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61130
61131         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
61132         AT_FDCWD exceeds INT_MAX.
61133         * lib/openat.h (AT_FDCWD): Likewise.
61134
61135 2006-02-17  Eric Blake  <address@hidden>
61136
61137         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
61138
61139 2006-02-16  Simon Josefsson  <jas@extundo.com>
61140
61141         * modules/getaddrinfo (Depends-on): Add sys_socket.
61142
61143 2006-02-15  Simon Josefsson  <jas@extundo.com>
61144
61145         * build-aux/maint.mk: Add dsyntax-check rule.
61146
61147 2006-02-15  Eric Blake  <ebb9@byu.net>
61148
61149         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
61150         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
61151         'present but cannot compile' warnings on cygwin.
61152         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
61153         use ws2tcpip.h if sys/socket.h works.
61154         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
61155         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
61156
61157 2006-02-14  Simon Josefsson  <jas@extundo.com>
61158
61159         * modules/maintainer-makefile (Files): Rename.
61160
61161         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
61162         and (the local) Makefile.cfg to maint-cfg.mk.
61163
61164         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
61165         to the latter.
61166
61167         * modules/maintainer-makefile: New module.
61168
61169         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
61170         severaly stripped to make it possible to build it up from scratch
61171         with reliable tests.
61172
61173         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
61174         fixes to permit overriding the default actions when configure and
61175         makefile are not available.
61176
61177 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
61178
61179         Sync from coreutils.
61180         * modules/lstat (Depends-on): Don't depend on xalloc.
61181         (License): Change from GPL to LGPL, since this is now simply a
61182         replacement for a libc function.
61183
61184 2006-02-14  Jim Meyering  <jim@meyering.net>
61185
61186         Sync from coreutils.
61187
61188         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
61189         failure on deficient systems, and simplify gnulib lgpl dependencies.
61190         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
61191         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
61192
61193         * lib/xalloc-die.c: Remove unused definition of N_.
61194
61195 2006-02-14  Jim Meyering  <jim@meyering.net>
61196
61197         Sync from coreutils.
61198         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
61199         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
61200         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
61201         double-quote uses of that variable, to accommodate the rare case in
61202         which getmntent is available in none of the libraries checked.  This
61203         happens at least on FreeBSD 5.0.
61204
61205 2006-02-13  Simon Josefsson  <jas@extundo.com>
61206
61207         * gnulib-tool (Usage): Fix --import, from
61208         karl@freefriends.org (Karl Berry).
61209
61210 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61211
61212         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
61213
61214 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
61215
61216         * lib/argp-namefrob.h: Restore changes accidentally lost during the
61217         "autoupdate" on 2005-12-12.
61218
61219 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61220
61221         * modules/closeout (Depends-on): Remove atexit.
61222
61223 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61224
61225         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
61226         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
61227
61228 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61229
61230         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
61231         __EXTENSIONS__ if this causes compilation to fail.  Problem
61232         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
61233         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
61234
61235 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
61236
61237         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
61238         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
61239         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
61240         All uses changed.
61241
61242 2006-01-26  Simon Josefsson  <jas@extundo.com>
61243
61244         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
61245         prototype is visible on mingw32.
61246
61247         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
61248         for mingw32.
61249
61250         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
61251         mingw32).
61252
61253 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61254
61255         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
61256         attempt to open for write; this always fails, at least on POSIX
61257         hosts.  This reinstates the 2006-01-09 change, which was
61258         inadvertently removed.
61259
61260 2006-01-26  Bruno Haible  <bruno@clisp.org>
61261
61262         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
61263         Reported by Paul Eggert.
61264
61265 2006-01-26  Bruno Haible  <bruno@clisp.org>
61266             Paul Eggert  <eggert@cs.ucla.edu>
61267
61268         * lib/stdbool_.h (_Bool)
61269         [(! (defined __cplusplus || defined __BEOS__)
61270           && !defined __GNUC__
61271           && !(defined __HP_cc || defined __xlc__
61272                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
61273                || defined __sgi))]:
61274         #define to signed char in these cases too; this simplifies
61275         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
61276         etc., separately) and makes it more conservative.
61277
61278 2006-01-25  Simon Josefsson  <jas@extundo.com>
61279
61280         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
61281         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
61282         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
61283
61284 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61285
61286         * lib/argp-namefrob.h: Bugfix. Remove stray #
61287
61288 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61289
61290         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
61291         so that we test the test.
61292         Check for yet another HP-UX cc bug involving *bool |= bool.
61293
61294 2006-01-25  Karl Berry  <karl@gnu.org>
61295
61296         * config/srclist.txt (vasnprintf.c): sync lost.
61297
61298 2006-01-25  Jim Meyering  <jim@meyering.net>
61299
61300         Sync from the stable (b5) branch of coreutils:
61301
61302         * lib/fts.c (fts_children): Don't let close() clobber errno from
61303         failed fchdir().
61304
61305         * lib/fts.c (fts_stat): When following a symlink-to-directory,
61306         don't necessarily interpret stat-fails+lstat-succeeds as indicating
61307         a dangling symlink.  That can also happen at least for ELOOP.
61308         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
61309         FYI, this bug predates the inclusion of fts.c in coreutils.
61310
61311         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
61312         in their own block, so pre-c99 compilers don't object.
61313
61314         Avoid the double-free (first in fts_read, second in fts_close) that
61315         would occur when an `active' directory is made inaccessible (e.g.,
61316         via chmod a-x) during a traversal.
61317         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61318         before returning.  Reproduce this failure by
61319         mkdir -p a/b; cd a; chmod a-x . b
61320         Reported by Stavros Passas.
61321
61322 2006-01-25  Jim Meyering  <jim@meyering.net>
61323
61324         * lib/fileblocks.c: Remove more useless parentheses.
61325         * lib/readutmp.h: Likewise.
61326
61327 2006-01-25  Bruno Haible  <bruno@clisp.org>
61328
61329         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
61330         warnings.
61331         Reported by Paul Eggert.
61332
61333 2006-01-25  Bruno Haible  <bruno@clisp.org>
61334
61335         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
61336         rid of a trap command. For Solaris sh.
61337         Reported by Mark D. Baushke <mdb@gnu.org>.
61338
61339 2006-01-24  Simon Josefsson  <jas@extundo.com>
61340
61341         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
61342         Bruno.
61343
61344 2006-01-24  Karl Berry  <karl@gnu.org>
61345
61346         * config/srclist.txt (argp-namefrob.h): sync lost.
61347
61348 2006-01-24  Jim Meyering  <jim@meyering.net>
61349
61350         * modules/openat (Files): Add lib/intprops.h.
61351         From Mark D. Baushke.
61352
61353 2006-01-24  Jim Meyering  <jim@meyering.net>
61354
61355         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
61356         Reported by Mark D. Baushke.
61357
61358 2006-01-24  Jim Meyering  <jim@meyering.net>
61359
61360         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
61361
61362 2006-01-24  Bruno Haible  <bruno@clisp.org>
61363
61364         * modules/strnlen (Maintainer): Change from glibc to all.
61365
61366 2006-01-24  Bruno Haible  <bruno@clisp.org>
61367
61368         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
61369         Patch by Paul Eggert.
61370
61371 2006-01-24  Bruno Haible  <bruno@clisp.org>
61372
61373         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
61374         already has it.
61375         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
61376         2005-11-26.
61377
61378         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
61379         'signed char' to avoid problems with the built-in _Bool type.
61380         Reported by Paul Eggert on 2005-11-26.
61381
61382 2006-01-24  Bruno Haible  <bruno@clisp.org>
61383
61384         * gnulib-tool (func_import): Avoid constructing complicated sed
61385         expressions inside backquote.
61386         Report and solution by Mark D. Baushke <mdb@gnu.org>.
61387
61388 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
61389
61390         These changes imported from libc.
61391         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
61392         test and two separate function calls.
61393         * lib/strndup.c (__strndup): Add libc_hidden_def.
61394
61395 2006-01-23  Simon Josefsson  <jas@extundo.com>
61396
61397         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
61398         Remove the test_*_SOURCES variable: automake infers it by default.
61399         * modules/tls-tests: Likewise.
61400
61401 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61402
61403         Work around porting bugs reported by Dieter in
61404         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
61405         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
61406         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
61407         Include "getopt.h" first, to check interface.
61408         (getenv): Declare only if defined HAVE_DECL_GETENV &&
61409         !HAVE_DECL_GETENV.
61410         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
61411         (__strndup): Revert to K&R-style function dfns, the glibc style.
61412         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
61413         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
61414         Include strnlen.h first, to get prototype properly.
61415         (strnlen): Renamed from __strnlen.
61416         Remove weak alias.
61417
61418 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61419
61420         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
61421
61422 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61423
61424         * config/srclist.txt: Adjust to reflect glibc reorganization.
61425         This affects only comments.
61426
61427 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
61428
61429          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
61430          Reported by Bruce Korb <bkorb@gnu.org>.
61431
61432 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
61433
61434         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
61435         to pacify gcc -Wswitch-default.
61436
61437 2006-01-22  Bruno Haible  <bruno@clisp.org>
61438
61439         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
61440         temporary buffer for sprintf, take into account the precision also
61441         for 'd', 'i', 'u', 'o', 'x', 'X'.
61442
61443 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61444
61445         * modules/argp-tests: New module
61446         * tests/test-argp.c: New file
61447         * tests/test-argp-2.sh: New file
61448
61449 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
61450
61451         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
61452         (__argp_base_name): Removed
61453         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
61454         typo.
61455         (__argp_base_name): Provide macro definition or extern declaration
61456         depending on the configuration
61457
61458 2006-01-20  Simon Josefsson  <jas@extundo.com>
61459
61460         * modules/inet_ntop (Depends-on): Depend on sys_socket.
61461
61462 2006-01-20  Simon Josefsson  <jas@extundo.com>
61463
61464         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
61465
61466 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61467
61468         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
61469         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
61470         Suggested by Bruno Haible.
61471
61472 2006-01-20  Karl Berry  <karl@gnu.org>
61473
61474         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
61475         until changes propagate, I guess.
61476
61477 2006-01-19  Simon Josefsson  <jas@extundo.com>
61478
61479         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
61480
61481 2006-01-19  Simon Josefsson  <jas@extundo.com>
61482
61483         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
61484
61485 2006-01-19  Simon Josefsson  <jas@extundo.com>
61486
61487         * gnulib-tool: Set check_PROGRAMS.
61488
61489         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61490         modules/des-tests, modules/gc-arcfour-tests,
61491         modules/gc-arctwo-tests, modules/gc-des-tests,
61492         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61493         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61494         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61495         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61496         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61497         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
61498         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
61499         test_*_SOURCES.
61500
61501 2006-01-18  Simon Josefsson  <jas@extundo.com>
61502
61503         * modules/socklen (Depends-on): Depend on sys_socket.
61504
61505 2006-01-18  Simon Josefsson  <jas@extundo.com>
61506
61507         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
61508         modules/des-tests, modules/gc-arcfour-tests,
61509         modules/gc-arctwo-tests, modules/gc-des-tests,
61510         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
61511         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
61512         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
61513         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
61514         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
61515         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
61516         $(EXEEXT) to automake TESTS variable, for mingw32.
61517
61518 2006-01-17  Simon Josefsson  <jas@extundo.com>
61519
61520         * modules/socklen (Include): Need sys/socket.h.
61521
61522 2006-01-17  Bruno Haible  <bruno@clisp.org>
61523
61524         * modules/ssize_t (Include): Add <sys/types.h>.
61525
61526 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
61527
61528         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
61529         it's not portable and it doesn't work with cross-compiles.
61530         Problem reported by Bruno Haible.  Fix missing-$ typo in
61531         'test "gl_cv_ignore_unused_libraries" ...' that prevented
61532         -zignore from being used with Sun's C compiler.
61533
61534 2006-01-12  Simon Josefsson  <jas@extundo.com>
61535
61536         * lib/base64.c: Fix warning, reported by Bruno Haible
61537         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
61538
61539 2006-01-12  Bruno Haible  <bruno@clisp.org>
61540
61541         * modules/ldd: New file.
61542         * build-aux/ldd.sh.in: New file.
61543         * MODULES.html.sh (Support for building libraries and executables): Add
61544         ldd.
61545
61546 2006-01-12  Bruno Haible  <bruno@clisp.org>
61547
61548         * m4/ldd.m4: New file.
61549
61550 2006-01-12  Bruno Haible  <bruno@clisp.org>
61551
61552         * gnulib-tool (func_import, func_create_testdir): Don't go into an
61553         endless loop while replacing $auxdir with build-aux.
61554
61555 2006-01-11  Simon Josefsson  <jas@extundo.com>
61556
61557         * lib/stdint_.h (SIZE_MAX): Add missing (.
61558
61559 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
61560
61561         Sync from coreutils.
61562         * lib/md5.c: Fix commentary typos.
61563         (alignof, UNALIGNED_P): No need for a GCC-specific version.
61564         * lib/md5.h (__attribute__): Remove; unused.
61565         * lib/sha1.c: Fix commentary to match md5 better.
61566         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
61567         so that we don't need to worry about alignment.  All uses changed.
61568         This merges the 2005-10-28 md5 change into sha1.
61569
61570 2006-01-11  Jim Meyering  <jim@meyering.net>
61571
61572         Sync from coreutils.
61573         * lib/md5.c (OP): Fix spacing.
61574
61575 2006-01-11  Bruno Haible  <bruno@clisp.org>
61576
61577         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61578         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
61579         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
61580
61581 2006-01-11  Bruno Haible  <bruno@clisp.org>
61582
61583         Ensure automatic ordering between gl_LOCK and gl_ARGP.
61584         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
61585         the "early" section as well.
61586
61587 2006-01-11  Bruno Haible  <bruno@clisp.org>
61588
61589         Avoid "ar: no archive members specified" error on MacOS X.
61590         * gnulib-tool (func_modules_add_dummy): New function.
61591         (func_import, func_create_testdir): Invoke it.
61592
61593 2006-01-11  Bruno Haible  <bruno@clisp.org>
61594
61595         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
61596         with $auxdir in AC_CONFIG_FILES statements.
61597
61598 2006-01-11  Bruno Haible  <bruno@clisp.org>
61599
61600         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61601         Initialize also noinst_HEADERS to empty.
61602
61603 2006-01-11  Bruno Haible  <bruno@clisp.org>
61604
61605         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
61606         variables.
61607         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
61608         autoreconf.
61609
61610 2006-01-11  Bruno Haible  <bruno@clisp.org>
61611
61612         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
61613         overridable by the user.
61614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61615
61616 2006-01-10  Simon Josefsson  <jas@extundo.com>
61617
61618         * modules/sys_socket: New file.
61619
61620 2006-01-10  Simon Josefsson  <jas@extundo.com>
61621
61622         * m4/sys_socket_h.m4: New file.
61623
61624 2006-01-10  Simon Josefsson  <jas@extundo.com>
61625
61626         * lib/socket_.h: New file.
61627
61628 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61629
61630         * modules/readutmp (Maintainer): Add myself.
61631
61632 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61633
61634         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
61635         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
61636         People who are still concerned with buggy memcmp implementations
61637         can invoke gl_FUNC_MEMCMP themselves.
61638
61639 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61640
61641         * lib/regex_internal.h (BITSET_WORD_BITS):
61642         Work around a bug in 64-bit PGC (before version 6.1-2), where the
61643         preprocessor mishandles large unsigned values as if they were signed.
61644         Problem reported by Claudio Fontana in
61645         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
61646
61647 2006-01-10  Jim Meyering  <jim@meyering.net>
61648
61649         Avoid the double-free (first in fts_read, second in fts_close) that
61650         would occur when an `active' directory is made inaccessible (e.g.,
61651         via chmod a-x) during a traversal.
61652         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61653         before returning.  Reproduce this failure by
61654         mkdir -p a/b; cd a; chmod a-x . b
61655         Reported by Stavros Passas.
61656
61657         Sync from coreutils.
61658         * lib/sha1.c: Tweak grammar in a comment.
61659
61660 2006-01-10  Jim Meyering  <jim@meyering.net>
61661
61662         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
61663         Patch by Joerg Sonnenberger.
61664
61665 2006-01-10  Bruno Haible  <bruno@clisp.org>
61666
61667         * modules/readutmp: Depend on module free.
61668         * modules/strtok_r: Depend on module restrict.
61669
61670 2006-01-10  Bruno Haible  <bruno@clisp.org>
61671
61672         * modules/gettext (configure.ac): Add an invocation of
61673         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
61674
61675 2006-01-10  Bruno Haible  <bruno@clisp.org>
61676
61677         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
61678         Reported by Werner Lemberg <wl@gnu.org>.
61679
61680 2006-01-10  Bruno Haible  <bruno@clisp.org>
61681
61682         * lib/localcharset.c: Update from GNU gettext.
61683
61684 2006-01-10  Bruno Haible  <bruno@clisp.org>
61685
61686         * lib/argp.h (__const): Remove macro. Use const instead.
61687         * lib/argp-fmtstream.h (__const): Likewise.
61688         * lib/glob_.h (__const): Remove macro.
61689         * lib/glob-libc.h: Use const instead of __const.
61690
61691 2006-01-10  Bruno Haible  <bruno@clisp.org>
61692
61693         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
61694         variable.
61695         Needed to avoid an automake error regarding the 'gettext' module.
61696
61697 2006-01-09  Simon Josefsson  <jas@extundo.com>
61698
61699         * modules/inet_ntop (Depends-on): Add restrict.
61700
61701 2006-01-09  Simon Josefsson  <jas@extundo.com>
61702
61703         * modules/gc-rijndael-tests (License): Put under LGPL.
61704
61705         * modules/gc-des-tests (License): Likewise.
61706
61707         * modules/gc-arcfour-tests (License): Likewise.
61708
61709         * modules/gc-arctwo-tests (License): Likewise.
61710
61711         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
61712
61713         * modules/gc-hmac-sha1-tests (Files): Likewise.
61714
61715         * modules/gc-hmac-md5-tests (License): Likewise.
61716
61717         * modules/gc-sha1-tests (License): Likewise.
61718
61719         * modules/gc-md5-tests (License): Likewise.
61720
61721         * modules/gc-md4-tests (License): Likewise.
61722
61723         * modules/gc-md2-tests (License): Likewise.
61724
61725         * modules/gc-tests (License): Likewise.
61726
61727         * modules/des-tests (License): Likewise.
61728
61729         * modules/md4-tests (License): Likewise.
61730
61731         * modules/md2-tests (License): Likewise.
61732
61733 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61734
61735         Sync from coreutils:
61736
61737         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
61738         * modules/lib-ignore: New file.
61739         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
61740         chdir-safer.m4, lchmod.m4.
61741         * modules/openat: Add mkdirat.c, openat-priv.h.
61742
61743 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61744
61745         Sync from coreutils.
61746         * m4/lib-ignore.m4: New file.
61747         * m4/lchmod.m4: New file.
61748
61749 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61750
61751         Sync from coreutils.
61752         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
61753         for write access: POSIX says that must fail.
61754         * lib/fts.c (diropen): Likewise.
61755         * lib/save-cwd.c (save_cwd): Likewise.
61756         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
61757         well, for minor improvements on hosts that lack O_DIRECTORY.
61758         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
61759         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
61760         Fall back on chown if open failed with EACCES.
61761
61762         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
61763         Report an error at compile-time if only a 1-second nominal clock
61764         resolution is found.
61765
61766         * lib/lchmod.h: New file.
61767         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61768         (make_dir_parents): Use lchown rather than chown, and
61769         lchmod rather than chmod.
61770
61771         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61772         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61773         "proc" reported by n0dalus.
61774
61775         * lib/mountlist.c: Include <limits.h>.
61776         (dev_from_mount_options)
61777         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61778         New function.  It no longer assumes "dev=" has the System V meaning
61779         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61780         (read_file_system_list)
61781         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61782         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61783         dev= in that case.
61784
61785         * lib/posixtm.h (PDS_PRE_2000): New macro.
61786         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61787         allow_century.  All usages changed.  Reject dates outside the range
61788         1969-1999 if PDS_PRE_2000 is used.
61789
61790 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61791
61792         Sync from coreutils.
61793         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61794         (Time of day items): Mention the possibility of leap seconds.
61795         Problem reported by Dr. David Alan Gilbert.
61796
61797 2006-01-09  Jim Meyering  <jim@meyering.net>
61798
61799         Sync from coreutils.
61800
61801         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61802
61803         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61804
61805         * lib/modechange.c (mode_compile): Reject an invalid mode string
61806         that starts with an octal digit.  From Andreas Gruenbacher.
61807
61808         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61809         and dup to open_safer and dup_safer, respectively.
61810         (openat_permissive): Fix typo in comment.
61811
61812         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61813         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61814         (_): Remove; no longer needed.
61815         (openat): Renamed from rpl_openat; no need for rpl_openat
61816         since openat.h renames openat for us.
61817         Replace most of the body with a call to openat_permissive,
61818         to avoid duplicate code.
61819         Port to (probably hypothetical) environments were mode_t is
61820         wider than int.
61821         (openat_permissive): Require mode arg, so that we can check
61822         types better.  Put it just after flags.  Change cwd failure
61823         indicator from pointer-to-bool to pointer-to-errno-value.
61824         All callers changed.
61825         Invoke openat_save_fail and/or openat_restore_fail if
61826         cwd_errno is null, so that openat can call us.
61827         (openat_permissive, fdopendir, fstatat, unlinkat):
61828         Simplify errno handling to avoid some duplicate code,
61829         as it's OK to set errno on success.
61830         * lib/openat.h: Revamp code so that function macros depend on
61831         __OPENAT_PREFIX only, not also on AT_FDCWD.
61832         (openat_ro): Remove.  Caller changed to use openat_permissive.
61833         (openat_permissive): Now a macro, if not a function.
61834         (openat_restore_fail, openat_save_fail): Now always functions,
61835         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61836
61837         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61838         and openat.c.
61839         * lib/mkdirat.c: Include openat-priv.h.
61840         Remove definitions of macros defined therein.
61841         * lib/openat.c: Likewise.
61842
61843         * lib/mkdirat.c (mkdirat): New file and function.
61844         * lib/openat.h (mkdirat): Declare.
61845
61846         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61847
61848         * lib/openat.h (openat_permissive): Declare.
61849         (openat_ro): Define.
61850
61851         * lib/openat.c (EXPECTED_ERRNO): New macro.
61852         (openat_permissive): New function -- used in remove.c rewrite.
61853         (all functions): Set errno just before returning, only if there
61854         was an actual failure.
61855         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61856
61857         Emulate openat-family functions using Linux's procfs, if possible.
61858         Idea and some code based on Ulrich Drepper's glibc changes.
61859
61860         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61861         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61862         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61863         before falling back on save_cwd and restore_cwd.
61864         (fdopendir, fstatat, unlinkat): Likewise.
61865
61866         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61867         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61868
61869         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61870         as second argument to va_arg.  Otherwise, some versions of gcc
61871         warn that `if this code is reached, the program will abort'.
61872
61873 2006-01-09  Jim Meyering  <jim@meyering.net>
61874
61875         Sync from coreutils.
61876         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61877         Require openat-priv.h.
61878
61879 2006-01-09  Bruno Haible  <bruno@clisp.org>
61880
61881         * modules/strnlen (Include): Use strnlen.h.
61882
61883 2006-01-09  Bruno Haible  <bruno@clisp.org>
61884
61885         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61886
61887 2006-01-09  Bruno Haible  <bruno@clisp.org>
61888
61889         * lib/sysexit_.h (EX_OK): New macro.
61890         Suggested by Martin Lambers <marlam@marlam.de>.
61891
61892 2006-01-09  Bruno Haible  <bruno@clisp.org>
61893
61894         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61895         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61896
61897 2006-01-09  Bruno Haible  <bruno@clisp.org>
61898
61899         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61900         numbers.
61901
61902 2006-01-09  Bruno Haible  <bruno@clisp.org>
61903
61904         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61905         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61906         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61907         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61908
61909 2006-01-09  Bruno Haible  <bruno@clisp.org>
61910
61911         * build-aux/javacomp.sh.in: New file, moved from lib/.
61912         * modules/javacomp-script (Files): Update.
61913         (configure.ac): Add AC_CONFIG_FILES invocation.
61914         (EXTRA_DIST): Remove variable.
61915
61916         * build-aux/javaexec.sh.in: New file, moved from lib/.
61917         * modules/javaexec (Files): Update.
61918         (configure.ac): Add AC_CONFIG_FILES invocation.
61919         (EXTRA_DIST): Remove javaexec.sh.in.
61920
61921         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61922         * modules/csharpcomp-script (Files): Update.
61923         (configure.ac): Add AC_CONFIG_FILES invocation.
61924         (EXTRA_DIST): Remove variable.
61925
61926         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61927         * modules/csharpexec (Files): Update.
61928         (configure.ac): Add AC_CONFIG_FILES invocation.
61929         (EXTRA_DIST): Remove csharpexec.sh.in.
61930
61931 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61932
61933         Sync from coreutils.
61934
61935         Add POSIX ACL support
61936         * lib/acl.h (copy_acl, set_acl): Add declarations.
61937         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61938         systems other than Linux.
61939         (chmod_or_fchmod): New function: use fchmod when possible,
61940         and chmod otherwise.
61941         (file_has_acl): Add a POSIX ACL implementation, with a
61942         Linux-specific subcase.
61943         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61944         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61945         acls are unsupported.
61946         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61947         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61948         are unsupported.
61949
61950 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61951
61952         Sync from coreutils.
61953         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61954
61955 2006-01-07  Bruno Haible  <bruno@clisp.org>
61956
61957         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61958         gl_EARLY.
61959
61960 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61961
61962         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61963         Problem reported for Mingw by Mark Junker.
61964
61965 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61966
61967         * README: Gnulib normally doesn't generate a tarball.
61968
61969 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61970
61971         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61972         long int, not int, for nanosecond counts, so that people who are
61973         used to POSIX struct timespec won't be surprised.  Reported by Jim
61974         Meyering.
61975
61976 2005-12-28  Bruno Haible  <bruno@clisp.org>
61977
61978         * build-aux/config.rpath: Update from GNU gettext.
61979
61980 2005-12-16  Jim Meyering  <jim@meyering.net>
61981
61982         * modules/fprintftime: New module.
61983         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61984
61985 2005-12-16  Jim Meyering  <jim@meyering.net>
61986
61987         * m4/fprintftime.m4: New file.
61988
61989 2005-12-16  Jim Meyering  <jim@meyering.net>
61990
61991         * lib/fprintftime.c, lib/fprintftime.h: New files.
61992
61993 2005-12-15  Simon Josefsson  <jas@extundo.com>
61994
61995         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61996         new m4/socklen.m4.
61997
61998 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61999
62000         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
62001         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
62002
62003 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62004
62005         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
62006         * lib/argp-help.c (fill_in_uparams): Check if the constructed
62007         struct uparams is valid. Fall back to the default values if it is
62008         not.
62009
62010 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62011
62012         * modules/argp (Files): Add argp-pin.c
62013         (Depends-on): dirname
62014         (lib_SOURCES): Add argp-pin.c
62015
62016 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62017
62018         * m4/argp.m4:  Check if program_invocation_name and
62019         program_invocation_short_name are declared and define appropriate
62020         macros if they are not.
62021
62022 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62023
62024         * lib/argp-help.c (__argp_base_name): New function
62025         (__argp_short_program_name): Rewrite using __argp_base_name
62026         * lib/argp-namefrob.h: Define program_invocation_name and
62027         program_invocation_short_name if requested
62028         (__argp_base_name): Add prototype
62029         * lib/argp-parse.c (argp_def): Use gettext wrappers
62030         (argp_default_parser): Use __argp_base_name
62031         * lib/argp-pin.c: New file. Defines program_invocation_name and
62032         program_invocation_short_name on systems that lack them.
62033
62034 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62035
62036         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
62037         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62038         porting problem reported by Georg Schwarz in
62039         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62040
62041 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
62044         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62045         porting problem reported by Georg Schwarz in
62046         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62047
62048 2005-12-05  Bruno Haible  <bruno@clisp.org>
62049
62050         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
62051         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
62052         Reported by Mark Junker <mjscod@gmx.de>.
62053
62054 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
62055
62056         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
62057         Use implementation from Albert Chin, with some
62058         comments/corrections by Stepan Kasal and myself.
62059
62060 2005-12-02  Bruno Haible  <bruno@clisp.org>
62061
62062         * gnulib-tool (func_import): Accept GPLed build tool modules when
62063         --lgpl is given.
62064         * modules/csharpcomp-script: New file.
62065         * modules/csharpcomp: Depend on it.
62066         * modules/javacomp-script: New file.
62067         * modules/javacomp: Depend on it.
62068         Suggested by Simon Josefsson.
62069
62070 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62071
62072         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
62073         statement, to work around an HP-UX 10.20 compiler bug reported by
62074         Peter O'Gorman.
62075
62076 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62077
62078         * modules/savedir (Depends-on): Add openat.
62079
62080 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62081
62082         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
62083         (uintmax_t) [defined uintmax_t]: Do not declare.
62084         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
62085         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
62086         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
62087         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
62088         sake of portability to weird hosts that C allows (though we don't
62089         know of any practical examples).
62090
62091         * lib/savedir.h (fdsavedir): New decl.
62092         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
62093         contains most of the former guts of savedir.
62094         (savedir): Use savedirstream.
62095         Include "openat.h".
62096
62097 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62098
62099         * modules/obstack (Files): Add m4/ulonglong.m4.
62100         Problem reported by Davide Angelocola.
62101
62102 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62103
62104         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
62105         coreutils no longer futzes with rounding modes.
62106
62107 2005-11-14  Jim Meyering  <jim@meyering.net>
62108
62109         * lib/mkstemp-safer.c: Include <config.h>, required for possible
62110         replacement of mkstemp.
62111
62112 2005-11-10  Simon Josefsson  <jas@extundo.com>
62113
62114         * lib/readline.c: Remove EOL.
62115
62116 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62117
62118         * modules/gethrxtime (Depends-on): Add gettime.
62119
62120 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62121
62122         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
62123         or gettimeofday; no longer needed.
62124
62125 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62126
62127         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
62128         time business.
62129         (gethrxtime) [! (HAVE_NANOUPTIME
62130         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
62131         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
62132         our own approximation.
62133
62134 2005-11-08  Eric Blake  <ebb9@byu.net>
62135
62136         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62137
62138 2005-11-08  Eric Blake  <ebb9@byu.net>
62139
62140         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62141
62142 2005-11-04  Bruno Haible  <bruno@clisp.org>
62143
62144         * gnulib-tool: Implement --update mode.
62145
62146 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62147
62148         Fix porting problem reported by Theodoros V. Kalamatianos.
62149         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
62150         Don't assume that futimes failing means we must fail.
62151
62152 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62153
62154         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
62155         variables to suggest the intended function of the PATH_MAX check.
62156
62157 2005-10-30  Kean Johnston  <jkj@sco.com>
62158
62159         Trivial changes to support SCO systems.
62160         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
62161         as PATH_MAX.
62162         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
62163         where __ptr is null when no I/O is pending.
62164
62165 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62166
62167         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
62168         leave errno alone.  Problem reported by Dmitry V. Levin.
62169
62170 2005-10-28  Simon Josefsson  <jas@extundo.com>
62171
62172         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
62173         Test more.
62174
62175         * tests/test-gc-md2.c, tests/test-md2.c: New files.
62176
62177         * modules/md2, modules/md2-tests: New files.
62178
62179 2005-10-28  Simon Josefsson  <jas@extundo.com>
62180
62181         * m4/inet_ntop.m4: More tests.
62182
62183         * m4/gc-md2.m4, md2.m4: New file.
62184
62185 2005-10-28  Simon Josefsson  <jas@extundo.com>
62186
62187         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
62188         "restrict" keywords, as per POSIX.  Protect the function
62189         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
62190         Don't use K&R prototypes.  Check the sprintf return values.
62191         Re-define EAFNOSUPPORT if not present.  Indent.
62192
62193         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
62194         suggested by Bruno Haible <bruno@clisp.org>.
62195
62196         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
62197
62198         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
62199
62200         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
62201         libgcrypt).
62202
62203         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
62204
62205         * lib/md2.h, lib/md2.c: New files.
62206
62207 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
62208
62209         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
62210         errno alone.  Problem reported by Frederic Jolliton.
62211
62212 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62213
62214         * modules/verify (License): Change from GPL to LGPL.  This is a
62215         tiny module and there are apparently near-equivalents that are
62216         under the BSD license.
62217
62218 2005-10-24  Simon Josefsson  <jas@extundo.com>
62219
62220         * modules/sha1: Relicense to LGPL.
62221
62222 2005-10-24  Simon Josefsson  <jas@extundo.com>
62223
62224         * lib/md4.h: Shrink buffer size, now that we changed the type.
62225
62226 2005-10-23  Simon Josefsson  <jas@extundo.com>
62227
62228         * gnulib-tool (func_import): Fix --tests-base.
62229
62230 2005-10-22  Simon Josefsson  <jas@extundo.com>
62231
62232         * modules/arcfour (Depends-on): Need stdint.
62233
62234 2005-10-22  Simon Josefsson  <jas@extundo.com>
62235
62236         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
62237         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
62238
62239 2005-10-22  Simon Josefsson  <jas@extundo.com>
62240
62241         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
62242         suggested by Bruno Haible <bruno@clisp.org>.
62243
62244 2005-10-22  Simon Josefsson  <jas@extundo.com>
62245
62246         * lib/crc.h: Include stddef.h, for size_t.
62247
62248 2005-10-22  Simon Josefsson  <jas@extundo.com>
62249
62250         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
62251         arcfour_context struct (simplify test vector testing in GNU
62252         Shishi).
62253
62254 2005-10-21  Simon Josefsson  <jas@extundo.com>
62255
62256         * modules/des, modules/des-tests: New files.
62257
62258         * modules/gc-des, modules/gc-des-tests: New files.
62259
62260         * tests/test-des.c, tests/test-gc-des.c: New file.
62261
62262 2005-10-21  Simon Josefsson  <jas@extundo.com>
62263
62264         * modules/arctwo, modules/arctwo-tests: New files.
62265
62266         * tests/test-arctwo.c: New file.
62267
62268         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
62269
62270         * tests/test-gc-arctwo.c: New file.
62271
62272 2005-10-21  Simon Josefsson  <jas@extundo.com>
62273
62274         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
62275         Bruno Haible <bruno@clisp.org>.
62276
62277         * m4/gc-des.m4: New file.
62278
62279 2005-10-21  Simon Josefsson  <jas@extundo.com>
62280
62281         * m4/arctwo.m4: New file.
62282
62283         * m4/gc-arctwo.m4: New file.
62284
62285 2005-10-21  Simon Josefsson  <jas@extundo.com>
62286
62287         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
62288         block.
62289
62290 2005-10-21  Simon Josefsson  <jas@extundo.com>
62291
62292         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
62293         <bruno@clisp.org>.
62294
62295         * lib/hmac-sha1.c (hmac_sha1): Likewise.
62296
62297         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
62298         Bruno Haible <bruno@clisp.org>.
62299
62300         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
62301         <bruno@clisp.org>.
62302
62303 2005-10-21  Simon Josefsson  <jas@extundo.com>
62304
62305         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
62306
62307 2005-10-21  Simon Josefsson  <jas@extundo.com>
62308
62309         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
62310
62311 2005-10-21  Simon Josefsson  <jas@extundo.com>
62312
62313         * lib/des.h, lib/des.c: New files.
62314
62315         * lib/gc-gnulib.c: Support DES.c
62316
62317 2005-10-21  Simon Josefsson  <jas@extundo.com>
62318
62319         * lib/arctwo.h, lib/arctwo.c: New files.
62320
62321         * lib/gc-gnulib.c: Support ARCTWO.
62322
62323 2005-10-21  Simon Josefsson  <jas@extundo.com>
62324
62325         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
62326         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62327
62328 2005-10-21  Simon Josefsson  <jas@extundo.com>
62329
62330         * gnulib-tool (func_import, func_create_testdir): Define automake
62331         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
62332         Makefile.am snippet),
62333         suggested by Bruno Haible <bruno@clisp.org>.
62334
62335         * modules/gc (Makefile.am): Use it.
62336
62337 2005-10-21  Bruno Haible  <bruno@clisp.org>
62338
62339         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
62340         patch.
62341
62342 2005-10-19  Simon Josefsson  <jas@extundo.com>
62343
62344         * tests/test-gc-rijndael.c: New file.
62345
62346         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
62347
62348 2005-10-19  Simon Josefsson  <jas@extundo.com>
62349
62350         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
62351         interface too.
62352
62353 2005-10-19  Simon Josefsson  <jas@extundo.com>
62354
62355         * tests/test-gc-arcfour.c: New file.
62356
62357         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
62358
62359 2005-10-19  Simon Josefsson  <jas@extundo.com>
62360
62361         * modules/gc-md4, modules/gc-md4-tests: New file.
62362
62363         * tests/test-gc-md4.c: New file.
62364
62365 2005-10-19  Simon Josefsson  <jas@extundo.com>
62366
62367         * m4/gc-md4.m4: New file.
62368
62369 2005-10-19  Simon Josefsson  <jas@extundo.com>
62370
62371         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
62372         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
62373         <kasal@ucw.cz>.
62374
62375 2005-10-19  Simon Josefsson  <jas@extundo.com>
62376
62377         * m4/gc-arcfour.m4: New file.
62378
62379         * m4/gc-rijndael.m4: New file.
62380
62381 2005-10-19  Simon Josefsson  <jas@extundo.com>
62382
62383         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
62384
62385 2005-10-19  Simon Josefsson  <jas@extundo.com>
62386
62387         * lib/gc-gnulib.c: Support ARCFOUR.
62388
62389 2005-10-19  Simon Josefsson  <jas@extundo.com>
62390
62391         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
62392         support.
62393
62394         * lib/gc.h: Add ECB enum type.
62395
62396         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
62397
62398 2005-10-18  Simon Josefsson  <jas@extundo.com>
62399
62400         * tests/test-md5.c: New file.
62401
62402         * modules/md5-tests: New file.
62403
62404 2005-10-18  Simon Josefsson  <jas@extundo.com>
62405
62406         * tests/test-md4.c: New file.
62407
62408         * modules/md4, modules/md4-tests: New files.
62409
62410 2005-10-18  Simon Josefsson  <jas@extundo.com>
62411
62412         * m4/md4.m4: New file.
62413
62414 2005-10-18  Simon Josefsson  <jas@extundo.com>
62415
62416         * lib/md4.h, lib/md4.c: New files, based on md5.?.
62417
62418 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
62419
62420         * gnulib-tool (func_create_testdir): Omit the second check whether
62421         BUILT_SOURCES in nonempty.
62422
62423 2005-10-17  Simon Josefsson  <jas@extundo.com>
62424
62425         * tests/test-rijndael.c: New file.
62426
62427 2005-10-17  Simon Josefsson  <jas@extundo.com>
62428
62429         * modules/sha1: Depend on stdint instead of md5.
62430
62431         * modules/md5: Depend on stdint, remove uint32_t.
62432
62433 2005-10-17  Simon Josefsson  <jas@extundo.com>
62434
62435         * modules/gc-sha1-tests: New file.
62436
62437         * tests/test-gc-sha1.c: New file.
62438
62439 2005-10-17  Simon Josefsson  <jas@extundo.com>
62440
62441         * m4/md5.m4: Remove call to uint32_t.m4.
62442
62443 2005-10-17  Simon Josefsson  <jas@extundo.com>
62444
62445         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
62446
62447         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
62448         md5.h.
62449
62450         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
62451
62452         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
62453
62454 2005-10-17  Simon Josefsson  <jas@extundo.com>
62455
62456         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
62457
62458 2005-10-17  Simon Josefsson  <jas@extundo.com>
62459
62460         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
62461
62462 2005-10-17  Simon Josefsson  <jas@extundo.com>
62463
62464         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
62465
62466         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
62467
62468 2005-10-17  Bruno Haible  <bruno@clisp.org>
62469
62470         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
62471         that it can also be used in a test.
62472
62473 2005-10-16  Bruno Haible  <bruno@clisp.org>
62474
62475         * gnulib-tool (func_emit_tests_Makefile_am): Also define
62476         TESTS_ENVIRONMENT, so that individual tests can augment it.
62477
62478         * gnulib-tool (func_create_testdir): Use an intermediate target for
62479         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
62480         macros, like $(ALLOCA_H), which cannot be passed through the command
62481         line.
62482
62483 2005-10-15  Simon Josefsson  <jas@extundo.com>
62484
62485         * modules/rijndael-tests: New file.
62486
62487         * modules/rijndael: New file.
62488
62489 2005-10-15  Simon Josefsson  <jas@extundo.com>
62490
62491         * m4/rijndael.m4: New file.
62492
62493 2005-10-15  Simon Josefsson  <jas@extundo.com>
62494
62495         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
62496
62497         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
62498
62499 2005-10-14  Simon Josefsson  <jas@extundo.com>
62500
62501         * tests/test-arcfour.c: New file.
62502
62503         * modules/arcfour, modules/arcfour-tests: New files.
62504
62505 2005-10-14  Simon Josefsson  <jas@extundo.com>
62506
62507         * m4/arcfour.m4: New file.
62508
62509 2005-10-14  Simon Josefsson  <jas@extundo.com>
62510
62511         * lib/arcfour.h, lib/arcfour.c: New files.
62512
62513 2005-10-14  Roland McGrath  <roland@redhat.com>
62514
62515         Import from libc.  [BZ #1331]
62516         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
62517         macro argument.
62518         Reported by Matej Vela <vela@debian.org>.
62519
62520 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62521
62522         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
62523         include <wchar.h>; no longer needed.
62524
62525 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62526
62527         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
62528
62529 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
62530         and  Ulrich Drepper  <drepper@redhat.com>
62531
62532         Import from libc.
62533         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
62534         instead of inline stream orientation test and two separate
62535         function calls.  Pay no attention to USE_IN_LIBIO.
62536
62537 2005-10-13  Simon Josefsson  <jas@extundo.com>
62538
62539         * modules/gc-hmac-md5-tests: New file.
62540
62541         * tests/test-gc-hmac-sha1.c: New file.
62542
62543         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
62544
62545         * modules/gc-hmac-md5-tests: New file.
62546
62547         * tests/test-gc-md5.c: New file.
62548
62549         * modules/gc-md5-tests: New file.
62550
62551 2005-10-13  Simon Josefsson  <jas@extundo.com>
62552
62553         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
62554         Move memory allocation outside of loop.
62555
62556 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
62557
62558         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
62559         intermediate directory is in a read-only file system.  Problem
62560         reported by Eric Blake.
62561
62562 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
62563
62564         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
62565
62566 2005-10-12  Simon Josefsson  <jas@extundo.com>
62567
62568         * tests/test-hmac-sha1.c: New file.
62569
62570         * modules/hmac-sha1-tests: New file.
62571
62572         * modules/hmac-sha1: New file.
62573
62574 2005-10-12  Simon Josefsson  <jas@extundo.com>
62575
62576         * modules/gc-sha1: New file.
62577
62578 2005-10-12  Simon Josefsson  <jas@extundo.com>
62579
62580         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
62581
62582         * tests/test-gc-pbkdf2-sha1.c: New file.
62583
62584 2005-10-12  Simon Josefsson  <jas@extundo.com>
62585
62586         * modules/gc-md5, modules/gc-hmac-md5: New files.
62587
62588         * modules/gc (Files): Remove md5, memxor and hmac files.
62589
62590 2005-10-12  Simon Josefsson  <jas@extundo.com>
62591
62592         * m4/gc-pbkdf2-sha1.m4: New file.
62593
62594         * m4/gc-hmac-sha1.m4: New file.
62595
62596         * m4/gc-sha1: New file.
62597
62598         * m4/hmac-sha1.m4: New file.
62599
62600 2005-10-12  Simon Josefsson  <jas@extundo.com>
62601
62602         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
62603
62604         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
62605
62606 2005-10-12  Simon Josefsson  <jas@extundo.com>
62607
62608         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
62609         suggested by Bruno Haible <bruno@clisp.org>.
62610
62611 2005-10-12  Simon Josefsson  <jas@extundo.com>
62612
62613         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
62614
62615 2005-10-12  Simon Josefsson  <jas@extundo.com>
62616
62617         * lib/gc-pbkdf2-sha1.c: New file.
62618
62619         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
62620
62621 2005-10-12  Simon Josefsson  <jas@extundo.com>
62622
62623         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
62624
62625         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
62626
62627 2005-10-12  Simon Josefsson  <jas@extundo.com>
62628
62629         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
62630         GC_USE_HMAC_MD5, respectively.
62631
62632         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
62633         (gc_md5): Fix typo.
62634
62635         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
62636
62637         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
62638
62639         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
62640
62641 2005-10-12  Bruno Haible  <bruno@clisp.org>
62642
62643         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
62644         Reported by Stepan Kasal <kasal@ucw.cz>.
62645
62646 2005-10-11  Simon Josefsson  <jas@extundo.com>
62647
62648         * tests/test-crc.c: New file.
62649
62650         * modules/crc, modules/crc-tests: New files.
62651
62652 2005-10-11  Simon Josefsson  <jas@extundo.com>
62653
62654         * m4/crc.m4: New file.
62655
62656 2005-10-11  Simon Josefsson  <jas@extundo.com>
62657
62658         * lib/gc.h: Add gc_hash and gc_hash_buffer.
62659
62660         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
62661
62662         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
62663
62664 2005-10-11  Simon Josefsson  <jas@extundo.com>
62665
62666         * lib/crc.h, lib/crc.c: New files.
62667
62668         * lib/gc.h (gc_hash_buffer): Add doc.
62669
62670 2005-10-11  Bruno Haible  <bruno@clisp.org>
62671
62672         * modules/c-strcasestr: New file.
62673         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
62674
62675 2005-10-11  Bruno Haible  <bruno@clisp.org>
62676
62677         * modules/c-strcase: New file.
62678         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
62679
62680 2005-10-11  Bruno Haible  <bruno@clisp.org>
62681
62682         * lib/strcasecmp.c: Include limits.h.
62683         (strcasecmp): Avoid integer overflow on exotic platforms.
62684         * lib/strncasecmp.c: Include limits.h.
62685         (strncasecmp): Avoid integer overflow on exotic platforms.
62686         Reported by Paul Eggert.
62687
62688 2005-10-11  Bruno Haible  <bruno@clisp.org>
62689
62690         * lib/c-strcasestr.h: New file, from GNU gettext.
62691         * lib/c-strcasestr.c: New file, from GNU gettext.
62692
62693 2005-10-11  Bruno Haible  <bruno@clisp.org>
62694
62695         * lib/c-strcase.h: New file, from GNU gettext.
62696         * lib/c-strcasecmp.c: New file, from GNU gettext.
62697         * lib/c-strncasecmp.c: New file, from GNU gettext.
62698
62699 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62700
62701         * modules/mempcpy (License): GPL -> LGPL.
62702         * modules/strchrnul (License): Likewise.
62703         * modules/sysexits (License): Likewise.
62704
62705 2005-10-08  Simon Josefsson  <jas@extundo.com>
62706
62707         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
62708
62709 2005-10-07  Simon Josefsson  <jas@extundo.com>
62710
62711         * m4/memxor.m4: Remove gl_C_RESTRICT call.
62712
62713 2005-10-06  Simon Josefsson  <jas@extundo.com>
62714
62715         * tests/test-hmac-md5.c: New file.
62716
62717         * modules/hmac-md5-tests: New file.
62718
62719         * modules/hmac-md5: New file.
62720
62721 2005-10-06  Simon Josefsson  <jas@extundo.com>
62722
62723         * m4/hmac-md5.m4: New file.
62724
62725         * m4/memxor.m4: Require gl_C_RESTRICT.
62726
62727 2005-10-06  Simon Josefsson  <jas@extundo.com>
62728
62729         * lib/memxor.c (memxor): Avoid casts and warnings.
62730
62731 2005-10-06  Simon Josefsson  <jas@extundo.com>
62732
62733         * lib/hmac-md5.c: New file.
62734
62735         * lib/hmac.h: New file.
62736
62737 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62738
62739         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
62740         promotes to int, not unsigned int, to catch the AIX 5.3
62741         compiler bug.
62742
62743 2005-10-05  Simon Josefsson  <jas@extundo.com>
62744
62745         * modules/memxor: New file.
62746
62747         * modules/iconv (Files): Move config.rpath to havelib, it is used
62748         there.
62749
62750         * modules/havelib (Files): Add config.rpath.
62751
62752 2005-10-05  Simon Josefsson  <jas@extundo.com>
62753
62754         * m4/memxor.m4: New file.
62755
62756 2005-10-05  Simon Josefsson  <jas@extundo.com>
62757
62758         * lib/memxor.c (memxor): Fix compiler error.
62759
62760         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
62761         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
62762
62763         * lib/memxor.h, lib/memxor.c: New files.
62764
62765         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62766         we assume all systems have it, suggested by Jim Meyering
62767         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62768         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62769         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62770         same reasons.
62771
62772 2005-10-05  Simon Josefsson  <jas@extundo.com>
62773
62774         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62775
62776 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62777
62778         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62779         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62780         needed, since the source code now assumes these .h files.
62781
62782 2005-10-05  Derek Price  <derek@ximbiot.com>
62783
62784         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62785
62786 2005-10-05  Bruno Haible  <bruno@clisp.org>
62787
62788         * modules/stdint (License): Change to LGPL.
62789
62790 2005-10-04  Simon Josefsson  <jas@extundo.com>
62791
62792         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62793         D. Baushke" <mdb@gnu.org>.
62794
62795 2005-10-04  Bruno Haible  <bruno@clisp.org>
62796
62797         * lib/verify.h (verify_true): Provide alternative definition for C++.
62798
62799 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62802         (SSIZE_MAX): New macro, if not already defined.
62803         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62804         than 2 GiB.
62805
62806 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62807
62808         Sync from coreutils.
62809         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62810         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62811         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62812         ULLONG_MAX doesn't work with 2.7.2.1.
62813
62814 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62815
62816         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62817         From Ben Pfaff.
62818
62819         * modules/exclude (Depends-on): Depend on verify.
62820         * modules/strtoimax (Depends-on): Likewise.
62821         * modules/utimecmp (Depends-on): Likewise.
62822
62823 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62824
62825         * lib/exclude.c: Include verify.h.
62826         (verify): Remove.  All callers changed to use verify.h's version.
62827         * lib/strtoimax.c: Likewise.
62828         * lib/utimecmp.c: Likewis.e
62829
62830         Sync from coreutils.
62831         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62832         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62833         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62834         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62835         bother returning ENOSYS if settimeofday or stime fails; just let
62836         them return whatever errno they want to return.
62837         * lib/utimens.c: Include unistd.h, for dup2.
62838         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62839         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62840
62841 2005-10-02  Jim Meyering  <jim@meyering.net>
62842
62843         Sync from coreutils.
62844         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62845         from glibc-2.2.5 that fails for read-only files.
62846
62847 2005-10-02  Jim Meyering  <jim@meyering.net>
62848
62849         Sync from coreutils.
62850         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62851         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62852         `#if HAVE_CONFIG_H'.
62853         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62854         Remove AT_FDCWD test.
62855         Do not consume the fd unless successful.
62856         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62857         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62858         block, so that we don't even try to compile it if settimeofday is
62859         available.  This works around a compilation failure on OSF1 V5.1,
62860         due to stime requiring a `long int*' while tv_sec is `int'.
62861
62862 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62863
62864         Sync from coreutils.
62865         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62866         against `yes', rather than just testing for nonempty.
62867
62868 2005-10-01  Simon Josefsson  <jas@extundo.com>
62869
62870         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62871         and Darwin.
62872
62873         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62874         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62875         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62876         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62877         Check if struct addrinfo is declared.
62878
62879 2005-10-01  Simon Josefsson  <jas@extundo.com>
62880
62881         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62882         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62883         AI_* and EAI_* definitions.  Protect function declarations.
62884
62885 2005-10-01  Jim Meyering  <jim@meyering.net>
62886
62887         Sync from coreutils.
62888
62889         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62890         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62891         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62892         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62893         in the inet and nsl libraries.  Required on Solaris 5.7.
62894
62895 2005-10-01  Jim Meyering  <jim@meyering.net>
62896
62897         Sync from coreutils.
62898         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62899         in the inet and nsl libraries.  Required on Solaris 5.7.
62900
62901 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62902
62903         * lib/getdelim.c (getdelim): Remove unused variables.
62904
62905 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62906
62907         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62908         so that the code works even with ancient cpp.  Portability problem
62909         with GCC 2.7.2.1 reported by Thomas M.Ott.
62910
62911 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62912
62913         * modules/regex (Depends-on): Add strcase.
62914
62915         * modules/gethostname (Licence): Change from GPL to LGPL, since
62916         gethostname.c is a trivial implementation of a standard library
62917         function.
62918         * modules/poll (License): Change from GPL to LGPL, since it's
62919         derived from LGPL code.
62920
62921 2005-09-27  Jim Meyering  <jim@meyering.net>
62922
62923         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62924         HAVE_CONFIG_H.
62925
62926         * lib/intprops.h (signed_type_or_expr__): Define.
62927         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62928         for unsigned types.
62929
62930 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62931
62932         * lib/verify.h (verify_expr): Remove, replacing with:
62933         (verify_true): New macro that returns true instead of void.
62934         (verify_type__): Remove.
62935         (verify): Use verify_true rather than verify_type__.
62936
62937 2005-09-26  Bruno Haible  <bruno@clisp.org>
62938
62939         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62940         is necessary.
62941         (lib_SOURCES): Remove mbchar.c.
62942         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62943         (Files): Add m4/mbrtowc.m4.
62944         * modules/mbiter: Likewise.
62945         * modules/mbuiter: Likewise.
62946
62947 2005-09-26  Bruno Haible  <bruno@clisp.org>
62948
62949         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62950         compile mbchar.c if they are not both present.
62951         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62952         * m4/mbiter.m4 (gl_MBITER): Likewise.
62953         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62954         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62955         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62956
62957 2005-09-25  Jim Meyering  <jim@meyering.net>
62958
62959         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62960         also uses socklen_t.
62961
62962 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62963
62964         * lib/utimens.c (ENOSYS): Define if not already defined.
62965         (futimens): Support having a null PATH if the file descriptor
62966         is nonnegative.
62967
62968         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62969         Remove.
62970         (__attribute): Define to empty unless GCC 3.1 or later.
62971         This works around a core dump on OpenBSD 3.4, which has GCC
62972         2.95.3, which dumps core when given __attribute__(()).  It also
62973         simplifies other tests, since we really don't want to bother with
62974         worrying about which ancient version of GCC supported what.
62975         Original problem reported by Yoann Vandoorselaere, with part of
62976         the fix suggested by Derek Price.
62977
62978 2005-09-24  Jim Meyering  <jim@meyering.net>
62979
62980         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62981         so we can once again use a positive bitfield width of 1 -- now we
62982         don't have to explain why we were using a bitfield width of 2.
62983
62984 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62985
62986         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62987         and similarly for the other external symbols.  Problem reported
62988         by James Gallager.
62989
62990         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62991         bug reported by Jim Meyering.
62992
62993         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62994         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62995         not needed, since socklen is a prerequisite module.
62996
62997 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62998
62999         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
63000         Problem reported by Eric Blake.
63001         (getaddrinfo): Initialize se so that it's not garbage.
63002         Redo internal storage allocation so that it doesn't make unportable
63003         assumptions about alignment.
63004         Fix a memory leak.
63005
63006         * lib/utimens.c (futimens): Use futimesat if available.
63007         Prefer it to futimes since it doesn't have the futimes bug.
63008
63009         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
63010         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
63011         Instead, declare a function that returns a pointer to an array,
63012         and use verify_type__ to declare the size of the array.
63013         Problem and germ of a solution reported by Bruno Haible.
63014         (verify_type__): Use 2, not 1, for bitfield size, to avoid
63015         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
63016
63017 2005-09-23  Jim Meyering  <jim@meyering.net>
63018
63019         Sync from coreutils.
63020         Correct build failure (socklen_t not defined) on at least
63021         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
63022         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
63023
63024 2005-09-23  Jim Meyering  <jim@meyering.net>
63025
63026         * modules/getaddrinfo (Depends-on): Add socklen.
63027
63028 2005-09-23  Bruno Haible  <bruno@clisp.org>
63029
63030         * tests/test-verify.c: New file.
63031
63032 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63033
63034         Sync from coreutils.
63035
63036         * modules/argmatch (Depends-on): Add verify.
63037         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
63038         unistd-safer.
63039         * modules/save-cwd (Depends-on): Likewise.
63040
63041         * modules/openat (Files): Add lib/openat-die.c.
63042         (Depends-on): Remove error, exitfail.
63043         Add dirname.
63044
63045         * modules/verify: New file.
63046         * MODULES.html.sh (Diagnostics <assert.h>): New section,
63047         with "verify" module.
63048
63049 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63050
63051         Sync from coreutils.
63052
63053         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
63054         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
63055         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
63056         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
63057         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
63058         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
63059         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
63060         Don't bother checking for string.h, stdlib.h, unistd.h.
63061         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
63062         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
63063         module's job.
63064         * m4/jm-macros.m4 (gl_MACROS): Likewise.
63065         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
63066
63067         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
63068         (gl_GETDATE): Use it.
63069
63070         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
63071
63072 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63073
63074         Sync from coreutils.
63075
63076         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
63077         stat-time.h.
63078         * lib/argmatch.h: Include verify.h
63079         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
63080         (ARGMATCH_ASSERT): Remove; unused.
63081         * lib/canonicalize.c: Assume STDC_HEADERS.
63082         * lib/exclude.c: Include "strcase.h".
63083         * lib/regex_internal.h [!defined _LIBC]: Likewise.
63084         * lib/getusershell.c: Include stdio--.h rather than stdio.h
63085         and stdio-safer.h.
63086         (getusershell): Call fopen, not fopen_safer.
63087         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
63088         Do not include unistd-safer.h.
63089         (save_cwd): Don't call fd_safer; no longer needed
63090         now that we include fcntl--.h.
63091
63092         * lib/getdate.y (relative_time): New type.
63093         (RELATIVE_TIME_0): New constant.
63094         (parser_control): Use relative_time instead of doing it ourselves.
63095         (%union): Add new relative_time rel member.
63096         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
63097         Now typeless.
63098         (relunit, relunit_snumber): Now of type rel.
63099         (zone, rel, relunit, get_date): Adjust to above changes.
63100
63101         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
63102         Do not include unistd-safer.h.
63103         (getloadavg): Don't call fd_safer; no longer needed
63104         now that we include fcntl--.h.
63105
63106         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
63107         (make_dir_parents): Treat ENOSYS like EEXIST.
63108
63109         Improve quality of diagnostics on restore_cwd failure.
63110         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
63111         (make_dir_parents): Last arg is now int * (for errno), not bool *.
63112         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
63113         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
63114         each time through the loop.  Do not diagnose restore_cwd failure;
63115         that is the caller's job (and perhaps the caller does not care).
63116
63117         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
63118         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
63119         If the file already exists but is not a directory, don't bother
63120         to try to make its parents.
63121         Close potential file descriptor leak if we can't chdir("/") (!).
63122         Don't always return true if chdir($PWD) fails; return true only
63123         if the requested action was done successfully (except for the
63124         chdir($PWD)).
63125         Don't log final directory unless we actually made it.
63126         Refactor to avoid duplicate code to fix up permissions.
63127         Don't attempt to fix up parent permissions if chdir($PWD) fails.
63128
63129         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
63130         to make it a bit faster and (I hope) clearer.
63131         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
63132         Fix bug in formats like %2N.
63133
63134         * lib/verify.h: New file.
63135
63136 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63137
63138         Sync from coreutils.
63139         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
63140
63141 2005-09-22  Jim Meyering  <jim@meyering.net>
63142
63143         Sync from coreutils.
63144
63145         * m4/lstat.m4 (gl_FUNC_LSTAT):
63146         Use AC_LIBSOURCES to require lstat.c and lstat.h.
63147         Remove obsolete comment.
63148         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
63149         * m4/xstrtod.m4: Likewise.
63150
63151         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
63152
63153 2005-09-22  Jim Meyering  <jim@meyering.net>
63154
63155         Sync from coreutils.
63156
63157         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
63158
63159         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
63160         the .tm_year member, since otherwise gcc-4.0 would now warn about
63161         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
63162
63163         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
63164         order to avoid an unsuppressible warning from gcc on 64-bit systems.
63165
63166         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
63167         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
63168         when run in a time zone for which daylight savings time is in effect
63169         for the starting date.
63170
63171         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
63172         stop us from restricting permissions of just-created absolute-named
63173         directories.
63174         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
63175         to restore initial working directory.
63176         * lib/mkdir-p.c (make_dir_parents): New parameter:
63177         different_working_dir, to tell caller if/when we change the working
63178         directory and are unable to return to the initial one.
63179         * lib/mkdir-p.h (make_dir_parents): Update prototype.
63180         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
63181         `return false'.  This fixes a bug introduced on 2004-07-30.
63182
63183         * lib/openat.c (fdopendir): Be sure to close the supplied
63184         file descriptor before returning.  This makes our replacement
63185         implementation a little closer to Solaris's, where fdopendir
63186         ties the file descriptor to the returned DIR* pointer.
63187         * lib/openat.c (unlinkat): New function.
63188         * lib/openat.h (unlinkat): Add prototype.
63189         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
63190         (openat_restore_fail): Rename from openat_restore_die.
63191         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
63192
63193         Provide an alternative to exiting immediately upon save_cwd or
63194         restore_cwd failure.  Now, an application can arrange e.g.,
63195         to perform a longjump in that case.
63196         * lib/openat.c: Include dirname.h.
63197         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
63198         (rpl_openat, fdopendir, fstatat): Call openat_save_die
63199         and openat_restore_die rather than calling error directly.
63200         Don't include "error.h" or "exitfail.h"; they're no longer needed.
63201
63202         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
63203         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
63204         define.
63205
63206         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
63207         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
63208                             int utc, int nanoseconds);
63209         Background:
63210         date should not have to allocate a megabyte of virtual memory to
63211         handle a format argument like +%1048575T.  When implemented with
63212         strftime, it must allocate such a buffer, use strftime to fill it
63213         in, print it, then free it.
63214         With fprintftime, it simply prints everything and exits.
63215         With no need for memory allocation, that's one fewer way to fail.
63216         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
63217         optional field width, not before, so we accept %9:z, not %:9z.
63218         (my_strftime): Be sure to use L_('x') for literals.
63219
63220         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
63221         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
63222         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
63223         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
63224         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
63225         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
63226         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
63227         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
63228         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
63229         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
63230         * lib/xgethostname.c, lib/xreadlink.c:
63231         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
63232
63233         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
63234         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
63235         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
63236         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63237         and don't include <sys/file.h>).
63238
63239 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
63240
63241         Sync from coreutils.
63242
63243         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
63244         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
63245         [!LDAV_DONE]: Avoid unused variable warning.
63246
63247 2005-09-21  Bruno Haible  <bruno@clisp.org>
63248
63249         * lib/unicodeio.h (unicode_to_mb): New declaration.
63250
63251 2005-09-20  Derek Price  <derek@ximbiot.com>
63252
63253         * lib/getaddrinfo.c: Don't include <netdb.h> included from
63254         getaddrinfo.h.
63255
63256 2005-09-20  Bruno Haible  <bruno@clisp.org>
63257
63258         * gnulib-tool: Remove trailing slashes from the values specified for
63259         --source-base, --m4-base, --tests-base, --aux-dir.
63260         Suggested by Simon Josefsson <jas@extundo.com>.
63261
63262 2005-09-20  Bruno Haible  <bruno@clisp.org>
63263
63264         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
63265         func_modules_to_filelist, func_import, func_create_testdir): Make all
63266         sorting results locale-independent, so that gnulib-cache.m4 doesn't
63267         change when gnulib-tool is invoked in a different locale.
63268
63269 2005-09-19  Simon Josefsson  <jas@extundo.com>
63270
63271         * m4/socklen.m4: Fix typo.
63272
63273 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63274
63275         Use a consistent style for including <config.h>.
63276         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
63277         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
63278         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
63279         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
63280         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
63281         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
63282         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
63283         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
63284         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
63285         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
63286         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
63287         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
63288         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
63289         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
63290         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
63291         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
63292         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
63293         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
63294         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
63295         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
63296         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
63297         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
63298         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
63299         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
63300         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
63301         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
63302         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
63303         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
63304         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
63305         lib/xstrtoumax.c, lib/yesno.c:
63306         Standardize inclusion of config.h.
63307         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
63308         lib/inttostr.h:  Removed inclusion of config.h from header files.
63309         * lib/inttostr.c:  Adjusted in-tree users.
63310         * lib/timespec.h: Remove superfluous warning to include config.h.
63311         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
63312         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
63313         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
63314         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
63315         config.h with HAVE_CONFIG_H.
63316
63317 2005-09-19  Jim Meyering  <jim@meyering.net>
63318
63319         * modules/pathmax (License): Change to LGPL.
63320
63321 2005-09-19  Derek Price  <derek@ximbiot.com>
63322
63323         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
63324
63325 2005-09-19  Bruno Haible  <bruno@clisp.org>
63326
63327         * gnulib-tool (import): Provide default for --tests-base.
63328
63329 2005-09-19  Bruno Haible  <bruno@clisp.org>
63330
63331         * doc/quote.texi: New file, extracted from gnulib.texi.
63332         * doc/ctime.texi: New file, extracted from gnulib.texi.
63333         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
63334         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
63335         * doc/gnulib.texi: Include them.
63336
63337 2005-09-18  Bruno Haible  <bruno@clisp.org>
63338
63339         Portability fix.
63340         * gnulib-tool (func_readlink): New function.
63341         (func_ln_if_changed): Use it.
63342
63343 2005-09-18  Bruno Haible  <bruno@clisp.org>
63344
63345         * gnulib-tool: Support --with-tests also with --import.
63346         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
63347         (func_import): Use variables $testsbase and $inctests. Emit a
63348         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
63349         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
63350         SUBDIRS += $testsdir.
63351         (func_create_testdir): Update.
63352
63353 2005-09-18  Bruno Haible  <bruno@clisp.org>
63354
63355         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
63356         instead of $dry_run.
63357         (func_cp_if_changed, func_mv_if_changed): Remove functions.
63358         (func_ln_if_changed): Don't handle dry-run here.
63359         (func_import): In dry-run mode, detect more precisely which actions
63360         would be performed, and don't use "...ing" verbs.
63361
63362 2005-09-18  Bruno Haible  <bruno@clisp.org>
63363
63364         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
63365         (func_import): Use join on two temporary files instead of three nested
63366         loops, in order to determine which files are new or old.
63367
63368 2005-09-18  Bruno Haible  <bruno@clisp.org>
63369
63370         * gnulib-tool (func_import): Comment out code that spits out the
63371         new files with --dry-run.
63372
63373 2005-09-18  Bruno Haible  <bruno@clisp.org>
63374
63375         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
63376
63377 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63378
63379         * lib/stat-time.h: New file.
63380         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
63381         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
63382         in a different way.
63383         (timespec_cmp): New function.
63384         * lib/utimecmp.c: Include stat-time.h.
63385         (SYSCALL_RESOLUTION): Depend on whether various struct stat
63386         members exist, not on the obsolescent ST_MTIM_NSEC.
63387         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
63388
63389 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63390
63391         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
63392
63393 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
63394
63395         * MODULES.html.sh (File system functions): Add stat-time.
63396         * modules/stat-time: New file.
63397         * modules/timespec (Files): Remove m4/st_mtim.m4; this
63398         is now done in a different way, by the stat-time module.
63399         * modules/utimecmp (Depends-on): Add stat-time.
63400
63401 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63402
63403         * m4/st_mtim.m4: Remove.  Superseded by...
63404         * m4/stat-time.m4: New file.
63405         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
63406         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
63407
63408 2005-09-15  Derek Price  <derek@ximbiot.com>
63409
63410         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
63411
63412 2005-09-15  Derek Price  <derek@ximbiot.com>
63413
63414         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
63415         * lib/regex_internal.c: Ditto, using this...
63416         (__GNUC_PREREQ): ...new macro.
63417         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
63418         using...
63419         (__GNUC_PREREQ): ...this new macro.
63420
63421         * lib/strstr.h: Include string.h. Define strstr as a macro here.
63422
63423 2005-09-15  Derek Price  <derek@ximbiot.com>
63424             Paul Eggert  <eggert@cs.ucla.edu>
63425
63426         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
63427         changes, consolidating in...
63428         * lib/regex_internal.h: ...this file.
63429
63430 2005-09-13  Jim Meyering  <jim@meyering.net>
63431
63432         * lib/canon-host.c: Filter through gnu indent and reword comments
63433         slightly.
63434         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
63435
63436 2005-09-13  Derek Price  <derek@ximbiot.com>
63437
63438         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
63439         failure.
63440         Reported by Jim Meyering  <jim@meyering.net>.
63441
63442 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63443
63444         * lib/base64.c: Typo.
63445         (base64_encode): Put b64str in initialized data section.
63446
63447 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
63448
63449         Merge glibc and coreutils changes into gnulib, plus a few
63450         extra fixes.
63451         * lib/md5.c: Use #error rather than a string.
63452         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
63453         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
63454         (__attribute__): Define to empty for non recent-GCC.
63455         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
63456         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
63457         Renamed from their non-__ counterparts, with new macros replacing
63458         them if not _LIBC.  Add __THROW attribute.
63459         (rol): Remove.
63460         (struct md5_ctx): Align buffer if using GCC.
63461         * lib/sha1.h (struct sha1_ctx): Likewise.
63462         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
63463         The old name was backwards.
63464         (NOTSWAP): Remove; not used.
63465         (rol): New macro, moved here from md5.h.
63466         (sha1_process_block): Remove a FIXME that doesn't make sense.
63467
63468 2005-09-12  Derek Price  <derek@ximbiot.com>
63469
63470         Return usable errors from canon-host.
63471         * lib/canon-host.h: New file.
63472         * lib/canon-host.c (canon_host): Wrap...
63473         (canon_host_r): ...this new function, which now relies exclusively on
63474         getaddrinfo.
63475         (ch_strerror): New function.
63476         (last_cherror): New global.
63477         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
63478         interface.
63479         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
63480         void *.
63481         (freeaddrinfo): Free ai->ai_canonname when set.
63482
63483 2005-09-12  Derek Price  <derek@ximbiot.com>
63484
63485         Make canon-host require getaddrinfo.
63486         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
63487         AC_LIBSOURCE canon-host.h.  Call...
63488         (gl_PREREQ_CANON_HOST): ...this new function, which requires
63489         gl_GETADDRINFO.
63490         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
63491
63492 2005-09-12  Derek Price  <derek@ximbiot.com>
63493
63494         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
63495         LGPL.
63496         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
63497
63498 2005-09-12  Derek Price  <derek@ximbiot.com>
63499
63500         * lib/gai_strerror.c: Include config.h when available.  Include
63501         getaddrinfo.h before other headers to test interface.
63502         Reported by Larry Jones <lawrence.jones@ugs.com>.
63503
63504 2005-09-12  Derek Price  <derek@ximbiot.com>
63505             Paul Eggert  <eggert@cs.ucla.edu>
63506
63507         * modules/glob (Files): Add glob-libc.h.
63508
63509 2005-09-12  Derek Price  <derek@ximbiot.com>
63510             Paul Eggert  <eggert@cs.ucla.edu>
63511
63512         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
63513         glob_.h, glob-libc.h.
63514         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
63515
63516 2005-09-12  Derek Price  <derek@ximbiot.com>
63517             Paul Eggert  <eggert@cs.ucla.edu>
63518
63519         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
63520         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
63521         protecting things that should be done only in gnulib contexts.
63522         * lib/glob_.h: New file, containing only the glob things needed for
63523         gnulib.
63524         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
63525         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
63526         (glob, globfree, glob_pattern_p): Now defined simply in terms of
63527         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
63528         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
63529         and to respect the namespace rules better.
63530
63531 2005-09-08  Simon Josefsson  <jas@extundo.com>
63532
63533         * modules/socklen: New file.
63534
63535 2005-09-08  Simon Josefsson  <jas@extundo.com>
63536
63537         * m4/socklen.m4: New file.
63538
63539 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63540
63541         * modules/utimens (Files): Add m4/utimbuf.m4, since
63542         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
63543         Reported by Sergey Poznyakoff.
63544
63545 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63546
63547         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
63548         definitions, since that's the preferred style in glibc.
63549         Fix a minor spacing issue, and update copyright notice to match
63550         glibc's.
63551
63552 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63553
63554         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
63555
63556 2005-09-06  Simon Josefsson  <jas@extundo.com>
63557
63558         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
63559         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
63560
63561 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63562
63563         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
63564         warning.
63565
63566 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63567
63568         * config/srclist.txt: Add glibc bug 1302.
63569
63570 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
63571
63572         Change bitset word type from unsigned int to unsigned long int,
63573         as this has better performance on typical 64-bit hosts.
63574         Port bitset code to hosts with unusual word sizes.
63575         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
63576         (build_collating_symbol):
63577         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
63578         argument is a bitset.  This is merely a style issue, but it makes
63579         it clearer that an entire array is expected.
63580         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
63581         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
63582         Port to the case where bitset_word is not the same as unsigned int.
63583         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63584         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
63585         Likewise.
63586         * lib/regexec.c (check_dst_limits_calc_pos_1,
63587         check_subexp_matching_top):
63588         (build_trtable, group_nodes_into_DFAstates):
63589         Likewise.
63590         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
63591         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
63592         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
63593         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
63594         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
63595         * lib/regcomp.c (optimize_subexps, lower_subexp):
63596         Work even if bitset_word has holes in its bitwise representation.
63597         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
63598         * lib/regexec.c (check_dst_limits_calc_pos_1,
63599         check_subexp_matching_top):
63600         Likewise.
63601         * lib/regex_internal.c (re_string_reconstruct):
63602         Don't assume UCHAR_MAX == 255.
63603         * lib/regex_internal.h (bitset_set_all): Likewise.
63604         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
63605         All uses changed.
63606         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
63607         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
63608         All uses changed.
63609         (BITSET_WORD_MAX): New macro.
63610         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
63611         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
63612         (bitset_empty, bitset_copy):
63613         Prefer sizeof (bitset) to multiplying it out ourselves.
63614         (bitset_not_merge): Remove; unused.
63615         (bitset_contain): Return bool, not unsigned int with one bit on.
63616         All callers changed.
63617         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
63618         alignment than re_node_set; do this by defining a new internal
63619         type struct dests_alloc and using it to allocate memory.
63620
63621 2005-09-05  Bruno Haible  <bruno@clisp.org>
63622
63623         * gnulib-tool (func_import): Fix comparison in handling of symbolic
63624         links.
63625
63626 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
63627
63628         * modules/size_max (Makefile.am): Add size_max.h
63629
63630 2005-09-04  Derek Price  <derek@ximbiot.com>
63631
63632         * gnulib-tool (func_import): Fix reversed $symbolic logic.
63633
63634 2005-09-03  Simon Josefsson  <jas@extundo.com>
63635
63636         * gnulib-tool: Fix typo.
63637
63638 2005-09-03  Simon Josefsson  <jas@extundo.com>
63639
63640         * config/srclist.txt: Add glibc bug 1293.
63641
63642 2005-09-03  Derek Price  <derek@ximbiot.com>
63643
63644         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
63645         From Larry Jones <lawrence.jones@ugs.com>.
63646
63647 2005-09-02  Simon Josefsson  <jas@extundo.com>
63648
63649         * modules/socklen: New file.
63650
63651 2005-09-02  Simon Josefsson  <jas@extundo.com>
63652
63653         * modules/havelib: New module.
63654
63655         * modules/gettext, modules/iconv, modules/lock, modules/readline:
63656         Use havelib.
63657
63658 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63659
63660         Check for arithmetic overflow when calculating sizes, to prevent
63661         some buffer-overflow issues.  These patches are conservative, in the
63662         sense that when I couldn't determine whether an overflow was possible,
63663         I inserted a run-time check.
63664         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
63665         macros.
63666         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
63667         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
63668         (re_xnrealloc, re_x2nrealloc): New inline functions.
63669         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
63670         parse_bracket_exp):
63671         (build_equiv_class, build_charclass): Check for arithmetic overflow
63672         in size expression calculations.
63673         * lib/regex_internal.c (re_string_realloc_buffers):
63674         (build_wcs_upper_buffer, re_node_set_add_intersect):
63675         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
63676         (re_dfa_add_node, register_state): Likewise.
63677         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
63678         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
63679         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
63680         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
63681
63682 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
63683
63684         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
63685         m4/ulonglong.m4.  Problem reported by Martin Lambers.
63686
63687 2005-09-02  Bruno Haible  <bruno@clisp.org>
63688
63689         Support for lib vs. lib64 distinction on biarch platforms.
63690         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
63691         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
63692         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
63693
63694 2005-09-02  Bruno Haible  <bruno@clisp.org>
63695
63696         * gnulib-tool (import): In the other first-use case, provide defaults
63697         as well.
63698
63699 2005-09-02  Bruno Haible  <bruno@clisp.org>
63700
63701         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
63702         patches not yet found in the latest gettext release.
63703
63704 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63705
63706         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
63707         to avoid a collision with bits/local_lim.h in glibc.
63708         All uses changed.  Problem reported by Dmitry V. Levin in
63709         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
63710
63711         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
63712         bugs in int versus size_t comparisons.
63713         (re_string_context_at): Fix bug where the code assumed that
63714         Idx is signed.
63715
63716         Use bool where appropriate.
63717         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
63718         All callers changed.
63719         (calc_eclosure_iter): Likewise, for ROOT arg.
63720         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
63721         (build_charclass_op): Likewise, for NON_MATCH arg.
63722         * lib/regex_internal.c (re_string_allocate, re_string_construct):
63723         (re_string_construct_common): Likewise, for ICASE arg.
63724         * lib/regexec.c (re_search_2_stub, re_search_stub):
63725         Likewise, for RET_LEN arg.
63726         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
63727         (set_regs): Likewise, for FL_BACKTRACK arg.
63728         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
63729         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
63730         (calc_eclosure_iter, parse_bracket_exp):
63731         Use bool for internal variables that are booleans.
63732         * lib/regexec.c (re_search_internal, check_matching,
63733         proceed_next_node):
63734         (set_regs, build_sifted_states, sift_states_bkref):
63735         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
63736         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63737         (find_collation_sequence_value):
63738         Likewise.
63739         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
63740         (re_node_set_compare):
63741         Return bool, not int. All callers changed.
63742         * lib/regexec.c (check_halt_node_context, check_dst_limits):
63743         (build_trtable, check_node_accept): Likewise.
63744         * lib/regex_internal.h: Include stdbool.h.
63745
63746         Fix bugs uncovered when converting to bool.
63747         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
63748         failure instead of charging ahead blindly.
63749         * lib/regex_internal.c (register_state): Likewise.
63750         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
63751         for freeing internal storage.
63752         (group_nodes_into_DFA_states): Use unsigned int, not int, for
63753         bitset pieces used as boolean, to avoid undefined behavior
63754         on hosts that do int overflow checking.
63755
63756 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63757
63758         * config/srclist.txt: Add glibc bugs 1285-1287.
63759
63760 2005-09-01  Jim Meyering  <jim@meyering.net>
63761
63762         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
63763         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
63764         Require gl_STAT_MACROS, too.
63765
63766 2005-09-01  Bruno Haible  <bruno@clisp.org>
63767
63768         * gnulib-tool (import): In the first-use case, provide defaults.
63769
63770 2005-09-01  Bruno Haible  <bruno@clisp.org>
63771
63772         * gnulib-tool (func_import): Remove the .tmp files.
63773
63774 2005-09-01  Bruno Haible  <bruno@clisp.org>
63775
63776         * gnulib-tool (func_import): Fix handling of symbolic links.
63777
63778 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63779
63780         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63781         old glibc regex code mishandles strings longer than 2**31 bytes.
63782         This patch fixes this when the regex code is used in gnulib
63783         (i.e., outside glibc).
63784
63785         This patch should not affect the use of the regex code inside
63786         glibc.  No doubt this problem also needs to be handled for glibc
63787         as well, but the result will be an incompatible change to the
63788         glibc ABI, and the old ABI will have to be supported too.  That
63789         can be the the subject for another patch.
63790
63791         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63792         governing whether the rest of this patch is active.  By default,
63793         the macro is disabled and the patch has no effect.
63794         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63795         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63796         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63797         (re_match_2, re_set_registers): Use the new types.
63798         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63799         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63800         New macros.
63801         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63802         (re_string_context_at, bin_tree_t, re_dfastate_t):
63803         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63804         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63805         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63806         (re_string_char_size_at, re_string_wchar_at):
63807         (re_string_elem_size_at):
63808         Use the new types and macros to port to 64-bit hosts.
63809         Use unsigned types for internal values, so that the code
63810         mostly works even for arrays larger than SSIZE_MAX.
63811         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63812         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63813         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63814         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63815         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63816         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63817         (calc_inveclosure, parse_dup_op, build_range_exp):
63818         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63819         (fetch_number, create_token_tree, mark_opt_subexp):
63820         Likewise.
63821         * lib/regex_internal.c (re_string_construct_common,
63822         create_ci_newstate):
63823         (create_cd_newstate, re_string_allocate, re_string_construct):
63824         (re_string_realloc_buffers, build_wcs_upper_buffer):
63825         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63826         (re_string_reconstruct, re_string_peek_byte_case):
63827         (re_string_fetch_byte_case, re_string_context_at):
63828         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63829         (re_node_set_init_copy, re_node_set_add_intersect):
63830         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63831         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63832         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63833         (re_acquire_state, re_acquire_state_context, register_state):
63834         Likewise.
63835         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63836         search_cur_bkref_entry):
63837         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63838         (re_search_internal, re_search_2_stub, re_search_stub)
63839         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63840         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63841         (update_cur_sifted_state, check_dst_limits):
63842         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63843         (check_subexp_limits, sift_states_bkref, merge_state_array):
63844         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63845         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63846         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63847         (expand_bkref_cache, check_node_accept_bytes):
63848         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63849         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63850         (acquire_init_state_context, check_halt_node_context):
63851         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63852         (sift_states_backward, clean_state_log_if_needed):
63853         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63854         (find_recover_state, transit_state_sb, transit_state_mb):
63855         (transit_state_bkref, build_trtable, match_ctx_clean):
63856         Likewise.
63857         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63858         to work around an assumption that REG_MISSING is negative.
63859
63860         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63861         (seek_collating_symbol_entry) [defined _LIBC]:
63862         (lookup_collation_sequence_value) [defined _LIBC]:
63863         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63864         Use prototypes rather than old-style function definitions.
63865         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63866         (transit_state_sb) [0]:
63867         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63868
63869         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63870         rm_eo.
63871
63872         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63873         (optimize_subexps, lower_subexp):
63874         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63875         since the signed shift might overflow.  Use 1u<<31 instead.
63876         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63877         Likewise.
63878         * lib/regexec.c (check_dst_limits_calc_pos_1,
63879         check_subexp_matching_top): Likewise.
63880
63881         * lib/regcomp.c (optimize_subexps, lower_subexp):
63882         Use CHAR_BIT rather than 8, for clarity.
63883         * lib/regexec.c (check_dst_limits_calc_pos_1):
63884         (check_subexp_matching_top): Likewise.
63885         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63886         have to worry about portability issues when shifting it left.
63887         Remove no-longer-needed test for table_size > 0.
63888         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63889         in a word, as the resulting behavior is undefined.
63890         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63891         in one case, a <= should have been an <, and in another case the
63892         whole test was missing.
63893         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63894         the standard name CHAR_BIT.
63895         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63896         this is not true on one's complement and signed-magnitude hosts.
63897
63898         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63899         next_last_offset.
63900         (struct re_dfa_t): Remove unused member states_alloc.
63901         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63902
63903 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63904
63905         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63906         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63907         and large-file glibc and in 32-bit large-file Solaris.
63908
63909 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63910
63911         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63912         lengths fit in regoff_t; this isn't true if regoff_t is the same
63913         width as size_t.
63914         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63915         (= START + RANGE) instead of RANGE.  This avoids overflow
63916         problems when regoff_t is the same width as size_t.
63917         All callers changed.
63918         (re_search_2_stub): Check for overflow when adding the
63919         sizes of the two strings.
63920         (re_search_stub): Check for overflow when adding START
63921         to RANGE; if it occurs, substitute the extreme value.
63922
63923 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63924
63925         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63926
63927 2005-08-31  Jim Meyering  <jim@meyering.net>
63928
63929         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63930         a pointer-to-const.
63931         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63932         (register_state): Likewise.
63933         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63934         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63935         (group_nodes_into_DFAstates): Likewise.
63936
63937 2005-08-31  Jim Meyering  <jim@meyering.net>
63938
63939         * check-module: Add a FIXME comment.
63940
63941 2005-08-31  Eric Blake  <ebb9@byu.net>
63942
63943         * modules/unistd-safer (Files): Add unistd--.h.
63944         * modules/stdio-safer (Files): Add stdio--.h.
63945
63946 2005-08-31  Derek Price  <derek@ximbiot.com>
63947
63948         * lib/getdelim.c (getdelim): Return EOF on EOF.
63949         Reported by Larry Jones <lawrence.jones@ugs.com>.
63950
63951 2005-08-31  Bruno Haible  <bruno@clisp.org>
63952
63953         Avoid unnecessary diffs in the generated lib/Makefile.am.
63954         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63955         the generated files.
63956         (func_import): Don't set cmd.
63957
63958 2005-08-31  Bruno Haible  <bruno@clisp.org>
63959
63960         * lib/strstr.c: Include <stddef.h>, for NULL.
63961         * lib/strcasestr.c: Likewise.
63962         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63963
63964 2005-08-31  Bruno Haible  <bruno@clisp.org>
63965
63966         * gnulib-tool: New option --macro-prefix.
63967         (func_import): Use macro_prefix.
63968         (import): Handle option --macro-prefix.
63969
63970 2005-08-31  Bruno Haible  <bruno@clisp.org>
63971
63972         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63973         Also use new variables cached_lgpl, cached_libtool.
63974
63975 2005-08-31  Bruno Haible  <bruno@clisp.org>
63976
63977         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63978         always instantiating them.
63979
63980 2005-08-31  Bruno Haible  <bruno@clisp.org>
63981
63982         * gnulib-tool (func_import): Read the previous cached settings
63983         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63984         earlier added by gnulib but are now dropped. Warn when a gnulib file
63985         overwrites a non-gnulib file.
63986
63987 2005-08-31  Bruno Haible  <bruno@clisp.org>
63988
63989         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63990         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63991         projects that don't keep autogenerated files in CVS. Put into
63992         actioncmd only the specified modules, not the transitive closure.
63993
63994 2005-08-31  Bruno Haible  <bruno@clisp.org>
63995
63996         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63997         Create directories that shall be filled.
63998         (import): Don't look for gl_* macros in configure.ac. Recurse across
63999         all directories containing a gnulib-cache.m4 files, if meaningful.
64000
64001 2005-08-31  Bruno Haible  <bruno@clisp.org>
64002
64003         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
64004         (import): Set seen_libtool when we see gl_LIBTOOL.
64005
64006 2005-08-31  Bruno Haible  <bruno@clisp.org>
64007
64008         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
64009         declaration macro definitions from generated gnulib.m4.
64010
64011 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
64012
64013         * lib/iconvme.h: Add prototype for iconv_alloc.
64014
64015 2005-08-29  Simon Josefsson  <jas@extundo.com>
64016
64017         * lib/iconvme.c: Fix errno.
64018
64019 2005-08-29  Bruno Haible  <bruno@clisp.org>
64020
64021         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
64022         that it works when the directory contains spaces.
64023
64024 2005-08-29  Bruno Haible  <bruno@clisp.org>
64025
64026         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
64027
64028 2005-08-29  Bruno Haible  <bruno@clisp.org>
64029
64030         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
64031         Emit more advice.
64032
64033 2005-08-29  Bruno Haible  <bruno@clisp.org>
64034         and Stepan Kasal  <kasal@ucw.cz>
64035
64036         * check-module: If more parameters are given, check each of them
64037         separately; add more exceptions, as noted by Jim Meyering.
64038         (check_module): New procedure.
64039         (%exempt_header): Now contains all exceptions.
64040
64041 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
64042
64043         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
64044
64045 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
64046
64047         * lib/iconvme.c: Split iconv_string into iconv_alloc.
64048
64049 2005-08-28  Bruno Haible  <bruno@clisp.org>
64050
64051         * m4/gnulib-tool.m4: New file.
64052
64053 2005-08-27  Jim Meyering  <jim@meyering.net>
64054
64055         * modules/unistd-safer (Files): Add pipe-safer.c.
64056         * modules/fcntl-safer (Files): Add creat-safer.c.
64057
64058 2005-08-27  Jim Meyering  <jim@meyering.net>
64059
64060         * m4/stdlib-safer.m4: New file.  From coreutils.
64061         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
64062         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
64063         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
64064         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
64065         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
64066
64067 2005-08-27  Jim Meyering  <jim@meyering.net>
64068
64069         * lib/fopen-safer.c: Merge minor changes from coreutils.
64070         * lib/dup-safer.c: Likewise.
64071         * lib/fd-safer.c: Likewise.
64072
64073         Merge from coreutils.
64074         * lib/stdio--.h: New file.
64075         * lib/stdlib--.h: New file.
64076         * lib/mkstemp-safer.c: New file.
64077
64078         GNU tar needs these.
64079         * lib/pipe-safer.c: New file.
64080         * lib/creat-safer.c: New file.
64081         * lib/fcntl--.h (creat): Define to creat_safer.
64082         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
64083         * lib/unistd--.h (pipe): Define to pipe_safer.
64084         * lib/unistd-safer.h: Declare pipe_safer.
64085
64086 2005-08-26  Simon Josefsson  <jas@extundo.com>
64087
64088         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
64089         Haible <bruno@clisp.org>.
64090
64091 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
64092
64093         * lib/regex_internal.h: Remove all references to
64094         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
64095         or better.
64096         (bitset_not, bitset_merge, bitset_not_merge):
64097         (bitset_mask, re_string_allocate, re_string_construct):
64098         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
64099         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
64100         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
64101         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
64102         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64103         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64104         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
64105         (re_acquire_state_context):
64106         Remove unnecessary forward decls.
64107         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
64108         Put __attribute at function definition,
64109         now that the function decl has been removed.
64110         * lib/regex_internal.c (re_string_peek_byte_case):
64111         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
64112         Likewise.
64113
64114 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
64115
64116         * m4/regex.m4: Add AC_PREREQ(2.50).
64117         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
64118
64119 2005-08-25  Simon Josefsson  <jas@extundo.com>
64120
64121         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
64122         __fsetlocking.
64123
64124 2005-08-25  Simon Josefsson  <jas@extundo.com>
64125
64126         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
64127         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
64128         GLIBC specific code.
64129
64130 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64131
64132         Make regex safe for g++.  This fixes one real bug (an "err"
64133         that should have been "*err").  g++ problem reported by
64134         Sam Steingold.
64135         * lib/regex_internal.h (re_calloc): New macro, consistent with
64136         re_malloc etc.  All callers of calloc changed to use re_calloc.
64137         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
64138         not int.  All callers changed.
64139         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
64140         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
64141         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
64142         (find_recover_state): Change "err" to "*err"; this fixes what
64143         appears to be a real bug.
64144         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
64145         versus int.
64146
64147 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64148
64149         * modules/regex (Depends-on): Add malloc, since the code
64150         assumes that !malloc(0) means failure.
64151
64152 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64153
64154         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
64155
64156         alloca modernization/simplification for regex.
64157         * lib/regex.c: Remove portability cruft for alloca.  This no longer
64158         needs to be at the start of the file, and can be moved into
64159         regex_internal.h and simplified.
64160         * lib/regex_internal.h: Include <alloca.h>.
64161         (__libc_use_alloca) [!defined _LIBC]: New macro.
64162         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
64163         now works outside glibc.
64164
64165 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64166
64167         * config/srclist.txt: Add glibc bugs 1241, 1245.
64168
64169 2005-08-25  Jim Meyering  <jim@meyering.net>
64170
64171         * lib/open-safer.c: Include <config.h>.
64172         Otherwise, we'd lose LARGEFILE support in any file using
64173         e.g. "fcntl--.h"
64174
64175 2005-08-25  Bruno Haible  <bruno@clisp.org>
64176
64177         * m4/minmax.m4: Require autoconf 2.52.
64178         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
64179         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
64180         alternatives of translit over the alphabet.
64181         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
64182
64183 2005-08-24  Simon Josefsson  <jas@extundo.com>
64184
64185         * tests/test-getpass.c: New file.
64186
64187 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64188
64189         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
64190         for GNU regex features.
64191
64192 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64193
64194         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
64195         * lib/regex.h (regerror): Likewise.
64196
64197         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
64198         requires this.  (The code never needed it.)
64199
64200         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
64201         All uses of recently-renamed identifiers changed to use the new,
64202         POSIX-compliant names.  The code will build and run just fine
64203         without these changes, but it's better to eat our own dog food
64204         and use the standard-conforming names.
64205
64206         * lib/regex.h: Fix a multitude of POSIX name space violations.
64207         These changes have an effect only for programs that define
64208         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
64209         do not change anything for programs compiled in the normal way.
64210         Also, there is no effect on the ABI.
64211
64212         (_REGEX_SOURCE): New macro.
64213         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
64214         defined and _GNU_SOURCE is not; this fixes a name space violation.
64215
64216         Rename the following macros to obey POSIX requirements.
64217         The old names are still visible as macros if _REGEX_SOURCE is defined.
64218         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
64219         RE_BACKSLASH_ESCAPE_IN_LISTS.
64220         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
64221         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
64222         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
64223         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
64224         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
64225         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
64226         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
64227         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
64228         (REG_INTERVALS): renamed from RE_INTERVALS.
64229         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
64230         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
64231         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
64232         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
64233         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
64234         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
64235         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
64236         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
64237         RE_UNMATCHED_RIGHT_PAREN_ORD.
64238         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
64239         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
64240         (REG_DEBUG): renamed from RE_DEBUG.
64241         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
64242         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
64243         unusual, since we can't clash with the POSIX REG_ICASE.
64244         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
64245         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
64246         (REG_NO_SUB): renamed from RE_NO_SUB.
64247         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
64248         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
64249         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
64250         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
64251         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
64252         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
64253         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
64254         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
64255         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
64256         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
64257         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
64258         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
64259         RE_SYNTAX_POSIX_MINIMAL_BASIC.
64260         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
64261         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
64262         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
64263         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
64264         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
64265         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
64266         (REG_FIXED): Renamed from REGS_FIXED.
64267         (REG_NREGS): Renamed from RE_NREGS.
64268
64269         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
64270         of other REG_* macros, since POSIX says the user is allowed to
64271         #undef these macros selectively.
64272
64273         (reg_errcode_t): Update comment stating what other tables need
64274         to be consistent.
64275
64276         Rename the following enum values to obey POSIX requirements.
64277         The old names are still visible as macros.
64278         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
64279         is not defined, since GNU is supposed to be a superset of POSIX as
64280         much as possible, and since we want reg_errcode_t to be a signed
64281         type for implementation consistency.
64282         (_REG_NOERROR): Renamed from REG_NOERROR.
64283         (_REG_NOMATCH): Renamed from REG_NOMATCH.
64284         (_REG_BADPAT): Renamed from REG_BADPAT.
64285         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
64286         (_REG_ECTYPE): Renamed from REG_ECTYPE.
64287         (_REG_EESCAPE): Renamed from REG_EESCAPE.
64288         (_REG_ESUBREG): Renamed from REG_ESUBREG.
64289         (_REG_EBRACK): Renamed from REG_EBRACK.
64290         (_REG_EPAREN): Renamed from REG_EPAREN.
64291         (_REG_EBRACE): Renamed from REG_EBRACE.
64292         (_REG_BADBR): Renamed from REG_BADBR.
64293         (_REG_ERANGE): Renamed from REG_ERANGE.
64294         (_REG_ESPACE): Renamed from REG_ESPACE.
64295         (_REG_BADRPT): Renamed from REG_BADRPT.
64296         (_REG_EEND): Renamed from REG_EEND.
64297         (_REG_ESIZE): Renamed from REG_ESIZE.
64298         (_REG_ERPAREN): Renamed from REG_ERPAREN.
64299         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
64300         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
64301         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
64302         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
64303
64304         (_REG_RE_NAME, _REG_RM_NAME): New macros.
64305         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
64306         changed.  But support the old name if the new one is not defined
64307         and if _REGEX_SOURCE.
64308
64309         Change the following member names in struct re_pattern_buffer.
64310         The old names are still supported if !_REGEX_SOURCE.
64311         The new names are always supported, regardless of _REGEX_SOURCE.
64312         (re_buffer): Renamed from buffer.
64313         (re_allocated): Renamed from allocated.
64314         (re_used): Renamed from used.
64315         (re_syntax): Renamed from syntax.
64316         (re_fastmap): Renamed from fastmap.
64317         (re_translate): Renamed from translate.
64318         (re_can_be_null): Renamed from can_be_null.
64319         (re_regs_allocated): Renamed from regs_allocated.
64320         (re_fastmap_accurate): Renamed from fastmap_accurate.
64321         (re_no_sub): Renamed from no_sub.
64322         (re_not_bol): Renamed from not_bol.
64323         (re_not_eol): Renamed from not_eol.
64324         (re_newline_anchor): Renamed from newline_anchor.
64325
64326         Change the following member names in struct re_registers.
64327         The old names are still supported if !_REGEX_SOURCE.
64328         The new names are always supported, regardless of _REGEX_SOURCE.
64329         (rm_num_regs): Renamed from num_regs.
64330         (rm_start): Renamed from start.
64331         (rm_end): Renamed from end.
64332
64333         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
64334         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
64335         Prepend __ to parameter names.
64336
64337         Undo yesterday's changes.
64338
64339 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64340
64341         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
64342         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
64343         lib/regex.c.
64344
64345 2005-08-24  Jim Meyering  <jim@meyering.net>
64346
64347         Sync from coreutils.
64348         * m4/fcntl-safer.m4: New file.
64349
64350         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
64351         and object files for this module.
64352
64353 2005-08-24  Jim Meyering  <jim@meyering.net>
64354
64355         Sync from coreutils.
64356         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
64357
64358 2005-08-24  Jim Meyering  <jim@meyering.net>
64359
64360         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
64361         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
64362
64363 2005-08-24  Jim Meyering  <jim@meyering.net>
64364
64365         * modules/fcntl-safer: New module.
64366         * modules/fts (Depends-on): Add fcntl-safer.
64367         * MODULES.html.sh (File descriptor based Input/Output):
64368         Add fcntl-safer.
64369
64370 2005-08-24  Bruno Haible  <bruno@clisp.org>
64371
64372         Support for unit test modules.
64373         * modules/README: Mention tests modules.
64374         * modules/TEMPLATE-TESTS: New file.
64375         * gnulib-tool: New options --extract-tests-module, --with-tests and
64376         --tests-base (unused for the moment).
64377         (testsbase, inctests): New variables.
64378         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
64379         (func_verify_module): Exclude TEMPLATE-TESTS.
64380         (func_verify_nontests_module, func_verify_tests_module): New functions.
64381         (func_get_dependencies): Add implicit dependency for tests modules.
64382         (func_get_tests_module): New function.
64383         (func_modules_transitive_closure): When --with-tests was specified,
64384         include the unit tests as well, unless explicitly avoided.
64385         (func_emit_lib_Makefile_am): Ignore the tests modules here.
64386         (func_emit_tests_Makefile_am): New function.
64387         (func_create_testdir): When --with-tests was specified, emit a
64388         tests/ directory.
64389         * MODULES.html.sh (Future developments): Update.
64390
64391 2005-08-24  Bruno Haible  <bruno@clisp.org>
64392
64393         * modules/tls-tests: New file.
64394         * tests/test-tls.c: New file, from GNU gettext.
64395
64396 2005-08-24  Bruno Haible  <bruno@clisp.org>
64397
64398         * modules/lock-tests: New file.
64399         * tests/test-lock.c: New file, from GNU gettext.
64400
64401 2005-08-24  Bruno Haible  <bruno@clisp.org>
64402
64403         * lib/lock.h: Add multiple inclusion guard.
64404         * lib/tls.h: Add multiple inclusion guard.
64405
64406 2005-08-24  Bruno Haible  <bruno@clisp.org>
64407
64408         * gnulib-tool: Add support for the --aux-dir option to
64409         --create-testdir, --create-megatestdir, --test, --megatest.
64410         (func_create_testdir, func_create_megatestdir): Optionally emit a
64411         AC_CONFIG_AUX_DIR directive.
64412         (create-testdir, create-megatestdir, test, megatest): Provide a
64413         default value for $auxdir.
64414
64415 2005-08-24  Bruno Haible  <bruno@clisp.org>
64416
64417         * gnulib-tool (import): Use compound statement instead of subshell
64418         where possible.
64419
64420 2005-08-24  Bruno Haible  <bruno@clisp.org>
64421
64422         * gnulib-tool (import): Change --aux-dir default to "build-aux".
64423
64424 2005-08-24  Bruno Haible  <bruno@clisp.org>
64425
64426         * gnulib-tool (func_version): Update.
64427
64428 2005-08-24  Bruno Haible  <bruno@clisp.org>
64429
64430         * gnulib-tool (func_import, func_create_testdir,
64431         func_create_megatestdir): Quote all autoconf macro arguments.
64432
64433 2005-08-24  Bruno Haible  <bruno@clisp.org>
64434
64435         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
64436         option --force, because --force causes the aclocal.m4 of each
64437         subdirectory to be newer than the corresponding config.h.in.
64438
64439 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64440
64441         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
64442         All contents moved to gl_REGEX.
64443         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
64444         assume that it does.
64445
64446 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64447
64448         * lib/regex.h (REG_NOSYS)
64449         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
64450         Define, since POSIX requires it as of 2001.
64451         (_REG_ENOSYS)
64452         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
64453         New private symbol, used to keep the enum signed in all cases.
64454         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
64455         Youngman in
64456         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
64457
64458         * lib/regex_internal.c (re_string_skip_chars, register_state):
64459         (calc_state_hash):
64460         Remove forward decls; no longer needed now that we use prototypes.
64461         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
64462         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
64463         (clean_state_log_if_needed): Likewise.
64464
64465 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64466
64467         * config/srclist.txt: Add glibc bugs 1231-1233.
64468
64469 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64470
64471         Fix problems reported by Sam Steingold in
64472         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
64473         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
64474         assumed that reg_errcode_t is a signed type, which is not
64475         necessarily true if _XOPEN_SOURCE is not defined.
64476         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
64477         since some compilers warn about it otherwise.
64478
64479 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64480
64481         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
64482         (init_word_char, create_initial_state, duplicate_node_closure):
64483         (fetch_token, peek_token_bracket, build_range_exp):
64484         (build_collating_symbol): Remove forward decls; no longer needed
64485         now that we use prototypes.
64486
64487         * lib/regcomp.c:
64488         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
64489         (re_compile_fastmap_iter, regcomp, regerror, regfree):
64490         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
64491         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
64492         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
64493         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
64494         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
64495         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
64496         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
64497         (build_range_exp, build_collating_symbol, parse_bracket_exp):
64498         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
64499         (build_charclass, build_charclass_op, fetch_number, create_tree):
64500         (create_token_tree, mark_opt_subexp, duplicate_tree):
64501         Use prototypes rather than old-style definitions.
64502
64503         * lib/regex_internal.c:
64504         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
64505         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
64506         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64507         (re_string_reconstruct, re_string_peek_byte_case):
64508         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
64509         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64510         (re_node_set_init_copy, re_node_set_add_intersect):
64511         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64512         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64513         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64514         (re_acquire_state, re_acquire_state_context, register_state):
64515         (create_ci_newstate, create_cd_newstate, free_state):
64516         Likewise.
64517         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
64518         re_search_2):
64519         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
64520         (re_search_internal, prune_impossible_nodes):
64521         (acquire_init_state_context, check_matching, static):
64522         (check_halt_node_context, check_halt_state_context, proceed_next_node):
64523         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
64524         (update_regs, sift_states_backward, build_sifted_states):
64525         (clean_state_log_if_needed, merge_state_array):
64526         (update_cur_sifted_state, add_epsilon_src_nodes):
64527         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
64528         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
64529         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
64530         (find_recover_state, check_subexp_matching_top, transit_state_mb):
64531         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
64532         (check_arrival, check_arrival_add_next_nodes):
64533         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64534         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64535         (check_node_accept_bytes, check_node_accept, extend_buffers):
64536         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
64537         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
64538         (sift_ctx_init):
64539         Likewise.
64540
64541         * lib/regex_internal.h:
64542         (re_string_allocate, re_string_construct, re_string_reconstruct):
64543         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
64544         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
64545         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
64546         (re_string_context_at, re_string_peek_byte_case):
64547         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
64548         is defined, since we now use prototypes always.
64549
64550         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
64551         C89 or better.  All uses removed.
64552
64553 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64554
64555         * config/srclist.txt: Add glibc bugs 1220-1227.
64556
64557 2005-08-20  Jim Meyering  <jim@meyering.net>
64558
64559         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
64560         of unused local, dfa.
64561
64562 2005-08-20  Bruno Haible  <bruno@clisp.org>
64563
64564         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
64565
64566 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64567
64568         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
64569         (re_node_set_insert_last, re_dfa_add_node):
64570         Rename local variables to avoid GCC shadowing warnings.
64571
64572 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64573
64574         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
64575         [defined lint]: Suppress bogus uninitialized-variable warnings.
64576
64577         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
64578         and let the caller return REG_ESPACE if out of space.  This
64579         removes an uninitialied-variable warning with GCC 4.0.1, and also
64580         avoids taking the address of a local variable.  All callers
64581         changed.
64582
64583 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64584
64585         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
64586         $LIBCSRC/posix/regexec.c.
64587         Add glibc bug 1217 for regcomp.c.
64588
64589 2005-08-19  Jim Meyering  <jim@meyering.net>
64590
64591         * lib/regexec.c (proceed_next_node): Redo local variables to
64592         avoid GCC shadowing warnings.
64593
64594 2005-08-18  Bruno Haible  <bruno@clisp.org>
64595
64596         * lib/strstr.c (strstr): Fix return value in multibyte case.
64597         * lib/strcasestr.c (strcasestr): Likewise.
64598
64599 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64600
64601         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
64602
64603 2005-08-17  Jim Meyering  <jim@meyering.net>
64604
64605         Make the %s format (seconds since the epoch) work for a negative
64606         number and when used with a zero-padded field width, e.g. %015s.
64607
64608         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
64609         label so that it precedes the code to set `digits'.  Otherwise,
64610         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
64611         print `00-22'.  Now, it prints `-0022', as it should.
64612
64613 2005-08-17  Bruno Haible  <bruno@clisp.org>
64614
64615         * modules/strstr (Files): Add m4/mbrtowc.m4.
64616         (Depends-on): Add mbuiter.
64617
64618 2005-08-17  Bruno Haible  <bruno@clisp.org>
64619
64620         * modules/strcasestr: New file.
64621         * MODULES.html.sh (String handling, based on ANSI C 89): Add
64622         strcasestr.
64623
64624 2005-08-17  Bruno Haible  <bruno@clisp.org>
64625
64626         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
64627
64628 2005-08-17  Bruno Haible  <bruno@clisp.org>
64629
64630         * modules/mbuiter: New file.
64631         * MODULES.html.sh (Extended multibyte and wide character utilities):
64632         Add mbuiter.
64633
64634 2005-08-17  Bruno Haible  <bruno@clisp.org>
64635
64636         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
64637         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
64638
64639 2005-08-17  Bruno Haible  <bruno@clisp.org>
64640
64641         * m4/strcasestr.m4: New file.
64642
64643 2005-08-17  Bruno Haible  <bruno@clisp.org>
64644
64645         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
64646         * lib/strstr.c: Completely rewritten, with multibyte locale support.
64647
64648 2005-08-17  Bruno Haible  <bruno@clisp.org>
64649
64650         * lib/strcasestr.h: New file.
64651         * lib/strcasestr.c: New file.
64652
64653 2005-08-17  Bruno Haible  <bruno@clisp.org>
64654
64655         * lib/strcasecmp.c: Use mbuiter.h.
64656
64657 2005-08-17  Bruno Haible  <bruno@clisp.org>
64658
64659         * lib/mbuiter.h: New file.
64660
64661 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64662
64663         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
64664         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
64665         and gl_GETOPT are both invoked via different paths (as happens
64666         with GNU tar CVS because it uses both argp and getopt), the former
64667         wins.
64668
64669 2005-08-16  Bruno Haible  <bruno@clisp.org>
64670
64671         * modules/tls: New file.
64672         * MODULES.html.sh (Multithreading): Add tls.
64673
64674 2005-08-16  Bruno Haible  <bruno@clisp.org>
64675
64676         * modules/strnlen1: New file.
64677         * MODULES.html.sh (String handling): Add strnlen1.
64678
64679 2005-08-16  Bruno Haible  <bruno@clisp.org>
64680
64681         * modules/strcase (Files): Add m4/mbrtowc.m4.
64682         (Depends-on): Add strnlen1, mbchar.
64683
64684 2005-08-16  Bruno Haible  <bruno@clisp.org>
64685
64686         * modules/mbiter: New file.
64687         * MODULES.html.sh (Extended multibyte and wide character utilities):
64688         Add mbiter.
64689
64690 2005-08-16  Bruno Haible  <bruno@clisp.org>
64691
64692         * modules/mbfile: New file.
64693         * MODULES.html.sh (Extended multibyte and wide character utilities):
64694         Add mbfile.
64695
64696 2005-08-16  Bruno Haible  <bruno@clisp.org>
64697
64698         * modules/mbchar: New file.
64699         * MODULES.html.sh (Extended multibyte and wide character utilities):
64700         New section.
64701
64702 2005-08-16  Bruno Haible  <bruno@clisp.org>
64703
64704         * m4/tls.m4: New file, from GNU gettext.
64705
64706 2005-08-16  Bruno Haible  <bruno@clisp.org>
64707
64708         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
64709         always.
64710         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
64711
64712 2005-08-16  Bruno Haible  <bruno@clisp.org>
64713
64714         * m4/mbiter.m4: New file.
64715
64716 2005-08-16  Bruno Haible  <bruno@clisp.org>
64717
64718         * m4/mbfile.m4: New file.
64719
64720 2005-08-16  Bruno Haible  <bruno@clisp.org>
64721
64722         * m4/mbchar.m4: New file.
64723
64724 2005-08-16  Bruno Haible  <bruno@clisp.org>
64725
64726         * lib/tls.h: New file, from GNU gettext.
64727         * lib/tls.c: New file, from GNU gettext.
64728
64729 2005-08-16  Bruno Haible  <bruno@clisp.org>
64730
64731         * lib/strnlen1.h: New file.
64732         * lib/strnlen1.c: New file.
64733
64734 2005-08-16  Bruno Haible  <bruno@clisp.org>
64735
64736         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
64737         (mbi_init): Update.
64738         (mbi_avail, mbi_advance): Let the iteration end before the terminating
64739         NUL byte, not after it.
64740
64741 2005-08-16  Bruno Haible  <bruno@clisp.org>
64742
64743         * lib/strcase.h (strcasecmp): Add note in comments.
64744         * lib/strncasecmp.c: Use code from strcasecmp.c.
64745         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
64746         (strcasecmp): Work correctly in multibyte locales.
64747
64748 2005-08-16  Bruno Haible  <bruno@clisp.org>
64749
64750         * lib/mbiter.h: New file.
64751
64752 2005-08-16  Bruno Haible  <bruno@clisp.org>
64753
64754         * lib/mbfile.h: New file.
64755
64756 2005-08-16  Bruno Haible  <bruno@clisp.org>
64757
64758         * lib/mbchar.h: New file.
64759         * lib/mbchar.c: New file.
64760
64761 2005-08-16  Bruno Haible  <bruno@clisp.org>
64762
64763         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
64764         the valid ones. Makes the comparison operations transitive:
64765         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64766         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64767
64768 2005-08-15  Simon Josefsson  <jas@extundo.com>
64769
64770         * modules/ssize_t (License): Change to 'unlimited'.
64771
64772         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64773
64774 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64775
64776         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64777         Add comments for each pending glibc patch.
64778
64779 2005-08-15  Bruno Haible  <bruno@clisp.org>
64780
64781         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64782         __cplusplus is defined.
64783
64784 2005-08-14  Jim Meyering  <jim@meyering.net>
64785
64786         Sync from coreutils.
64787
64788         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64789         Use the hash-table-based cycle-detection code not just when
64790         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64791         Reported by James Youngman in
64792         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64793         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64794         FTS_TIGHT_CYCLE_CHECK.
64795         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64796         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64797         once again.
64798         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64799         * lib/fts.c (fd_safer): Remove decl.
64800         Include fcntl--.h rather than unistd-safer.h
64801         (fts_safe_changedir): Don't call fd_safer; no longer needed
64802         now that we include fcntl--.h.
64803
64804 2005-08-12  Simon Josefsson  <jas@extundo.com>
64805
64806         * modules/getndelim2: Use ssize_t module.
64807         * modules/getnline: Likewise.
64808         * modules/safe-read: Likewise.
64809         * modules/xreadlink: Likewise.
64810
64811         * modules/ssize_t: New file.
64812
64813 2005-08-12  Simon Josefsson  <jas@extundo.com>
64814
64815         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64816
64817 2005-08-12  Simon Josefsson  <jas@extundo.com>
64818
64819         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64820         ssize_t.
64821
64822 2005-08-12  Simon Josefsson  <jas@extundo.com>
64823
64824         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64825         readline, getdelim and check_version.
64826         (Support for systems lacking ISO C 99: Sizes of integer types):
64827         Add size_max.
64828
64829 2005-08-12  Bruno Haible  <bruno@clisp.org>
64830
64831         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64832
64833 2005-08-11  Simon Josefsson  <jas@extundo.com>
64834
64835         * modules/readline: New file.
64836
64837         * modules/strnlen (Files): Add strnlen.h.
64838
64839 2005-08-11  Simon Josefsson  <jas@extundo.com>
64840
64841         * m4/readline.m4: New file.
64842
64843 2005-08-11  Simon Josefsson  <jas@extundo.com>
64844
64845         * lib/readline.h, readline.c: New file.
64846
64847 2005-08-11  Simon Josefsson  <jas@extundo.com>
64848
64849         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64850         gl_AVOID.
64851
64852 2005-08-11  Bruno Haible  <bruno@clisp.org>
64853
64854         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64855
64856 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64857
64858         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64859
64860 2005-08-10  Simon Josefsson  <jas@extundo.com>
64861
64862         * tests/test-iconvme.c: New file.
64863
64864 2005-08-10  Simon Josefsson  <jas@extundo.com>
64865
64866         * m4/strnlen.m4: New file.
64867
64868         * m4/strndup.m4: Don't check for strnlen declaration, done in
64869         strnlen.m4.
64870
64871 2005-08-10  Simon Josefsson  <jas@extundo.com>
64872
64873         * lib/strndup.c: Use strnlen.h.
64874
64875         * lib/strnlen.h: New file.
64876
64877 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64878
64879         * README: Typos.
64880
64881 2005-08-02  Simon Josefsson  <jas@extundo.com>
64882
64883         * modules/readline: New file.
64884
64885 2005-08-02  Simon Josefsson  <jas@extundo.com>
64886
64887         * modules/getdelim: New file.
64888
64889         * modules/getline: Rewrite, don't use getndelim2.
64890
64891 2005-08-02  Simon Josefsson  <jas@extundo.com>
64892
64893         * m4/getline.m4: Separate out getdelim stuff into separate module.
64894
64895         * m4/getdelim.m4: New file.
64896
64897 2005-08-02  Simon Josefsson  <jas@extundo.com>
64898
64899         * lib/getline.h, getline.c: Rewrite.
64900
64901         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64902
64903 2005-07-31  Bruno Haible  <bruno@clisp.org>
64904
64905         * lib/lock.h (gl_lock_initializer): New macro.
64906         (gl_lock_define_initialized): Use it.
64907         (gl_rwlock_initializer): New macro.
64908         (gl_rwlock_define_initialized): Use it.
64909         (gl_recursive_lock_initializer): New macro.
64910         (gl_recursive_lock_define_initialized): Use it.
64911
64912 2005-07-30  Karl Berry  <karl@gnu.org>
64913
64914         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64915         Report from Ben Pfaff, regarding getopt.
64916
64917 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64918
64919         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64920         normal way.
64921         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64922         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64923         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64924         (gl_GETOPT): Use the new macros.  Most of the implementation
64925         is moved to the new macros.  This is for programs like Emacs
64926         that don't want all the functionality of gl_GETOPT.
64927
64928 2005-07-26  Bruno Haible  <bruno@clisp.org>
64929
64930         * m4/lock.m4: Update from GNU gettext.
64931
64932 2005-07-26  Bruno Haible  <bruno@clisp.org>
64933
64934         * lib/lock.h: Update from GNU gettext.
64935         * lib/lock.c: Update from GNU gettext.
64936
64937 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64938
64939         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64940         obsolescent AC_TRY_RUN.  Include the default includes files, for
64941         'exit'.
64942
64943 2005-07-24  Bruno Haible  <bruno@clisp.org>
64944
64945         * modules/visibility: New file.
64946         * MODULES.html.sh (Misc): Add visibility.
64947
64948 2005-07-24  Bruno Haible  <bruno@clisp.org>
64949
64950         * m4/visibility.m4: New file.
64951
64952 2005-07-24  Bruno Haible  <bruno@clisp.org>
64953
64954         * doc/visibility.texi: New file.
64955
64956 2005-07-22  Bruno Haible  <bruno@clisp.org>
64957
64958         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64959         $(ALLOCA_H), redundant through BUILT_SOURCES.
64960         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64961         redundant through BUILT_SOURCES.
64962         * modules/byteswap (Makefile.am): Remove explicit dependency on
64963         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64964         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64965         $(FNMATCH_H), redundant through BUILT_SOURCES.
64966         * modules/getopt (Makefile.am): Remove explicit dependency on
64967         $(GETOPT_H), redundant through BUILT_SOURCES.
64968         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64969         redundant through BUILT_SOURCES.
64970         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64971         redundant through BUILT_SOURCES.
64972         * modules/stdbool (Makefile.am): Remove explicit dependency on
64973         $(STDBOOL_H), redundant through BUILT_SOURCES.
64974         * modules/stdint (Makefile.am): Remove explicit dependency on
64975         $(STDINT_H), redundant through BUILT_SOURCES.
64976         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64977         Remove explicit dependency on $(SYSEXITS_H).
64978         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64979
64980 2005-07-18  Simon Josefsson  <jas@extundo.com>
64981
64982         * lib/check-version.c (check_version): Accept identical versions too.
64983
64984 2005-07-18  Bruno Haible  <bruno@clisp.org>
64985
64986         * modules/lock: New file.
64987         * MODULES.html.sh (Multithreading): New section.
64988
64989 2005-07-18  Bruno Haible  <bruno@clisp.org>
64990
64991         * m4/lock.m4: New file, from GNU gettext.
64992
64993 2005-07-18  Bruno Haible  <bruno@clisp.org>
64994
64995         * lib/lock.h: New file, from GNU gettext.
64996         * lib/lock.c: New file, from GNU gettext.
64997
64998 2005-07-18  Bruno Haible  <bruno@clisp.org>
64999
65000         * lib/lock.h (gl_once_t): New type.
65001         (gl_once_define, gl_once): New macros.
65002         * lib/lock.c (fresh_once): New variable.
65003         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
65004         functions.
65005
65006 2005-07-16  Simon Josefsson  <jas@extundo.com>
65007
65008         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
65009         workaround, suggested by Bruno.
65010
65011 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65012
65013         * modules/xalloc (Depends-on): Add xalloc-die.
65014         * modules/xvasprintf (Depends-on): Add xalloc-die.
65015
65016 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65017
65018         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
65019         with a minor change.
65020
65021 2005-07-15  Bruno Haible  <bruno@clisp.org>
65022
65023         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
65024         When using lib/poll.c, define poll as rpl_poll.
65025
65026 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
65027
65028         * modules/argp (Depends-on): Remove unlocked-io.
65029
65030 2005-07-14  Derek Price  <derek@ximbiot.com>
65031
65032         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
65033         for glob symlink bug.
65034
65035 2005-07-14  Bruno Haible  <bruno@clisp.org>
65036
65037         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
65038         Instead, test for *_unlocked function declarations directly.
65039
65040 2005-07-11  Simon Josefsson  <jas@extundo.com>
65041
65042         * modules/size_max: New file.
65043
65044         * modules/xsize: Depend on size_max module for size_max.m4.
65045
65046 2005-07-11  Simon Josefsson  <jas@extundo.com>
65047
65048         * lib/size_max.h: New file.
65049
65050 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
65051
65052         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
65053         copyright symbol and the year.
65054         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
65055         (version_etc_va): Use parameterized copyright notice.
65056         Reword to conform to the current GNU coding standards.
65057
65058 2005-07-11  Karl Berry  <karl@gnu.org>
65059
65060         * doc/gnulib.texi (Quoting): new node.
65061         (Initial import): more info, from Patrice.
65062
65063 2005-07-11  Bruno Haible  <bruno@clisp.org>
65064
65065         * gnulib-tool (func_usage): Document option --avoid.
65066         (Command line options): Handle --avoid.
65067         (func_acceptable): New function.
65068         (func_modules_transitive_closure): Use it.
65069
65070 2005-07-11  Bruno Haible  <bruno@clisp.org>
65071
65072         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
65073         Reported by Jim Meyering.
65074
65075 2005-07-10  Bruno Haible  <bruno@clisp.org>
65076
65077         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
65078         Needed when size_t is smaller than 'unsigned int'.
65079         Reported by Paul Eggert.
65080
65081 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65082
65083         * modules/argp (Depends-on): Add unlocked-io
65084
65085 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65086
65087         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
65088         block of defines.
65089
65090 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65091
65092         * config/srclist.txt: Comment out regcomp.c, since we have a porting
65093         fix now.
65094
65095 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
65096         and Paul Eggert  <eggert@cs.ucla.edu>
65097
65098         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
65099         in wint_t, not wchar_t.  Remove now-unnecessary cast.
65100
65101 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65102
65103         * modules/regex (Files): Add lib/regex_internal.c,
65104         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
65105         (Depends-on): Add extensions.
65106         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
65107
65108 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65109
65110         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
65111         pathconf.
65112         * m4/same.m4 (gl_SAME): Likewise.
65113         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
65114
65115         * m4/regex.m4: Adjust to new libc regex implementation.
65116         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
65117         all the .c and .h parts of (the new) regex.
65118         Quote the m4 stuff better.
65119         Check for RE_ICASE bug of old gnulib.
65120         Check for REG_STARTEND of recent libc.
65121         Rename local variables from jm_* to gl_*.
65122         Quote operand of "test -f".
65123         Say "recent enough" version of libc, not "version 2".
65124         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
65125         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
65126         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
65127         Remove check for btowc, isascii.
65128         Require AM_LANGINFO_CODESET.
65129
65130 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65131
65132         * lib/regex.c, regex.h: Sync from libc.
65133         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
65134         * lib/regexec.c:
65135         New files, synced from libc, except that regex_internal.h
65136         currently has a small porting fix.
65137
65138 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65139
65140         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
65141         regex_internal.c, regexec.c.
65142         Add regex_internal.h too, but as a comment, since the libc version
65143         is currently broken in gnulib mode.
65144
65145 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65146
65147         Support programs like Emacs that use gnulib but not gettext.
65148         * MODULES.html.sh (Internationalization functions): Add gettext-h.
65149         * modules/gettext-h: New file.
65150         * modules/gettext (Files): Remove lib/gettext.h.
65151         (Depends-on): Add gettext-h.
65152         (Makefile.am): Remove lib_SOURCES.
65153         * modules/argmatch, modules/c-stack, modules/closeout:
65154         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
65155         * modules/execute, modules/file-type, modules/getaddrinfo:
65156         * modules/getopt, modules/human, modules/javacomp:
65157         * modules/javaexec, modules/mkdir-p, modules/obstack:
65158         * modules/openat, modules/pagealign_alloc, modules/pipe:
65159         * modules/quotearg, modules/regex, modules/rpmatch:
65160         * modules/unicodeio, modules/userspec, modules/version-etc:
65161         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
65162         * modules/xsetenv:
65163         Depend on gettext-h, not gettext.
65164
65165 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65166
65167         * gnulib-tool (func_import): Add support for 'public domain' license.
65168         * modules/alloca, modules/atexit, modules/memmove:
65169         Now public domain, not GPL.
65170         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
65171         * modules/realloc, modules/strerror, modules/strtod:
65172         Now LGPL, not GPL.
65173
65174 2005-07-05  Bruno Haible  <bruno@clisp.org>
65175
65176         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
65177         autoconf CVS. Needed for mingw.
65178
65179 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65180
65181         Remove the dependency of the strftime module on the tzset module.
65182         * modules/strftime (Depends-on): Remove dependency on tzset.
65183
65184 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65185
65186         Remove the dependency of the strftime module on the tzset module.
65187         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
65188         gl_FUNC_TZSET_CLOBBER.
65189
65190 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65191
65192         Remove the dependency of the strftime module on the tzset module.
65193         * lib/strftime.c (my_strftime)
65194         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
65195         Copy the input structure, to work around some of the bug with
65196         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
65197         Solaris releases, you should also use the tzset module, but we won't
65198         require it as a dependency any more since we don't want LGPLed code
65199         to depend on GPLed code.
65200
65201 2005-07-02  Jim Meyering  <jim@meyering.net>
65202
65203         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
65204         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
65205         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
65206         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
65207
65208 2005-07-02  Jim Meyering  <jim@meyering.net>
65209
65210         * lib/backupfile.c (backup_args): Change a `0' to NULL.
65211
65212 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65213
65214         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
65215         declares only 'struct timespec;' (!).
65216
65217 2005-07-01  Jim Meyering  <jim@meyering.net>
65218
65219         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
65220         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
65221         * lib/save-cwd.c, tempname.c:
65222         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65223         and don't include <sys/file.h>).
65224
65225 2005-06-29  Jim Meyering  <jim@meyering.net>
65226
65227         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
65228         type name.  Use the variable name instead.
65229         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
65230         Likewise.
65231
65232 2005-06-28  Simon Josefsson  <jas@extundo.com>
65233
65234         * modules/check-version (Files): Add check-version.m4.
65235
65236 2005-06-28  Simon Josefsson  <jas@extundo.com>
65237
65238         * m4/check-version.m4: New file, suggested by Jim Meyering
65239         <jim@meyering.net>.
65240
65241 2005-06-28  Simon Josefsson  <jas@extundo.com>
65242
65243         * lib/check-version.h, lib/check-version.c: New files.
65244
65245 2005-06-28  Simon Josefsson  <jas@extundo.com>
65246
65247         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
65248         collision with global variable.  Better indentation.  Don't
65249         increment buffer pointer beyond buffer end.  Based on comments
65250         from Paul Eggert <eggert@cs.ucla.edu>.
65251
65252         * lib/base64.h: Indent.
65253
65254 2005-06-28  Simon Josefsson  <jas@extundo.com>
65255
65256         * doc/gnulib.texi (Library version handling): New section.
65257
65258 2005-06-28  Jim Meyering  <jim@meyering.net>
65259
65260         * check-module (find_included_lib_files): Hard-code another
65261         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
65262         but modules/fts-lgpl (correctly) does not list those files.
65263
65264         * modules/canonicalize (Files): Add lib/pathmax.h.
65265
65266 2005-06-25  Simon Josefsson  <jas@extundo.com>
65267
65268         * modules/check-version: New file.
65269
65270 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
65271
65272         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
65273         initializer of struct addrinfo, as an indication that we don't
65274         care how many members the structure has.
65275
65276 2005-06-24  Derek Price  <derek@ximbiot.com>
65277         and Bruno Haible  <bruno@clisp.org>
65278
65279         Remove stat module & update lstat.
65280         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
65281         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65282         * m4/stat.m4: Remove this file.
65283
65284 2005-06-24  Derek Price  <derek@ximbiot.com>
65285         and Bruno Haible  <bruno@clisp.org>
65286
65287         Remove stat module & update lstat.
65288         * lib/stat.c: Remove this file...
65289         (slash_aware_lstat): ...moving this content and its support...
65290         * lib/lstat.c (rpl_lstat): ...into here.
65291         * lib/lstat.h: New file.
65292
65293 2005-06-24  Derek Price  <derek@ximbiot.com>
65294         and Bruno Haible  <bruno@clisp.org>
65295
65296         Remove stat module & update lstat.
65297         * config/srclist.txt (libc sources): Remove stat.
65298
65299 2005-06-24  Derek Price  <derek@ximbiot.com>
65300         and Bruno Haible  <bruno@clisp.org>
65301
65302         Remove stat module & update lstat.
65303         * MODULES.html.sh (stat): Remove.
65304         * MODULES.html: Regenerated.
65305         * modules/lstat (Description): Correct function name.
65306         (Files): Add "lstat.h".
65307         (Depends-on): Remove stat, add xalloc, stat-macros.
65308         * modules/stat: Remove this file.
65309         (Include): Add "lstat.h", remove <sys/stat.h>.
65310
65311 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65312
65313         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
65314         (ranged_convert): Don't save conversion in a temporary struct.
65315         This causes a warning with GCC 4.0.0, and anyway in the typical
65316         case it's not worth the extra 100 bytes or so of code.
65317         (ranged_convert, __mktime_internal): When calling a function via a
65318         pointer P, use P () rather than (*P) (), as we now assume C89 or
65319         better.
65320
65321 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65322
65323         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
65324         "who -r" failed to give output.  Problem reported by Tim Waugh.
65325
65326         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
65327         (xcalloc): Use it to avoid needless tests.
65328         Problem reported by Jim Meyering.
65329
65330 2005-06-20  Derek Price  <derek@ximbiot.com>
65331
65332         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
65333         unnecessary for Autoconfs > 2.59c.
65334
65335 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65336
65337         * lib/argp.h (__option_is_short): Check upper limit of
65338         __key. Isprint() requires its argument to have the value
65339         of an unsigned char or EOF.
65340
65341 2005-06-16  Jim Meyering  <jim@meyering.net>
65342
65343         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
65344         when either N or S is zero.
65345
65346 2005-06-16  Derek Price  <derek@ximbiot.com>
65347
65348         * m4/bison.m4: Declare YACC & YFLAGS precious.
65349
65350 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
65351
65352         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
65353         multibyte string or pattern, fall back on unibyte matching.
65354         Problem reported by James Youngman.
65355
65356 2005-06-08  Bruno Haible  <bruno@clisp.org>
65357
65358         * modules/csharpcomp: New file.
65359         * MODULES.html.sh (C#): Add csharpcomp.
65360
65361 2005-06-08  Bruno Haible  <bruno@clisp.org>
65362
65363         * m4/csharpcomp.m4: New file, from GNU gettext.
65364
65365 2005-06-08  Bruno Haible  <bruno@clisp.org>
65366
65367         * lib/csharpcomp.h: New file, from GNU gettext.
65368         * lib/csharpcomp.c: New file, from GNU gettext.
65369         * lib/csharpcomp.sh.in: New file, from GNU gettext.
65370
65371 2005-06-08  Bruno Haible  <bruno@clisp.org>
65372
65373         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
65374         warning on mingw.
65375
65376 2005-06-07  Derek Price  <derek@ximbiot.com>
65377
65378         Sync from CVS.
65379         * lib/glob_.h: Indent nested #ifdef.
65380
65381 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65382
65383         Sync from coreutils.
65384         Use "file name" when talking about file names, instead of "filename"
65385         or "path", as per the GNU coding standards.
65386         * lib/mkdir-p.c: Renamed from makepath.c.
65387         (make_dir_parents): Renamed from make_path.  All callers changed.
65388         * lib/mkdir-p.h: Likewise.  All includers changed.
65389         * lib/filenamecat.c: Renamed from path-concat.c.
65390         (file_name_concat): Renamed from path_concat.  All callers changed.
65391         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
65392         * lib/filenamecat.h: Likewise.  All includers changed.
65393         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
65394         in comments or local variable names.
65395         * lib/basename.c: Likewise.
65396         * lib/canonicalize.c, canonicalize.h: Likewise.
65397         * lib/dirname.c, dirname.h: Likewise.
65398         * lib/euidaccess.c: Likewise.
65399         * lib/exclude.c: Likewise
65400         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
65401         * lib/fsusage.c, fsuage.h: Likewise.
65402         * lib/fts.c, fts_.h: Likewise.
65403         * lib/getcwd.c: Likewise.
65404         * lib/getloadavg.c: Likewise.
65405         * lib/mkstemp.c: Likewise.
65406         * lib/mountlist.c, mountlist.h: Likewise.
65407         * lib/openat.c, openat.h: Likewise.
65408         * lib/readlink-stub.c: Likewise.
65409         * lib/readutmp.c, readutmp.h: Likewise.
65410         * lib/rename.c: Likewise.
65411         * lib/rmdir.c: Likewise.
65412         * lib/same.c: Likewise.
65413         * lib/savedir.c: Likewise.
65414         * lib/stripslash.c: Likewise.
65415         * lib/tempname.c: Likewise.
65416         * lib/xreadlink.c: Likewise.
65417         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
65418         All uses changed.
65419         * lib/exclude.h: Likewise.
65420
65421         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
65422         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65423         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
65424         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65425         * lib/pathmax.h: Include <limits.h> unconditionally, since other
65426         files have been getting away with it for years (MORE/BSD 4.3
65427         is extinct now).
65428         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
65429         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
65430
65431         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
65432         Define to 256, not 255, as per modern POSIX.
65433
65434 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65435
65436         Sync from coreutils.
65437         Use "file name" when talking about file names, instead of "filename"
65438         or "path", as per the GNU coding standards.
65439         * MODULES.html.sh: mkdir-p renamed from makepath.
65440         filenamecat renamed from path-concat.
65441         * modules/filenamecat: Renamed from modules/path-concat.
65442         (Files): filenamecat.h and filenamecat.c renamed from
65443         path-concat.h and path-concat.c.
65444         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
65445         (Include): filenamecat.h, not path-concat.h.
65446         * modules/mkdir-p: Renamed from modules/makepath.
65447         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
65448         makepath.c.
65449         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
65450         (Include): mkdir-p.h, not makepath.h.
65451
65452 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
65453
65454         Sync from coreutils.
65455         * m4/mkdir-p.m4: Renamed from makepath.m4.
65456         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
65457         Rename files from makepath.c to mkdir-p.c, and from
65458         makepath.h to mkdir-p.h.
65459         * m4/filenamecat.m4: Renamed from path-concat.m4.
65460         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
65461         Rename files from path-concat.c to filenamecat.c,
65462         and from path-concat.h to filenamecat.h.
65463         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
65464         "file name" in local variables or comments.
65465         * m4/rename.m4: Likewise.
65466
65467 2005-06-01  Bruno Haible  <bruno@clisp.org>
65468
65469         * modules/csharpexec: New file.
65470         * MODULES.html.sh (C#): New section.
65471
65472 2005-06-01  Bruno Haible  <bruno@clisp.org>
65473
65474         * m4/csharp.m4: New file, from GNU gettext.
65475         * m4/csharpexec.m4: New file, from GNU gettext.
65476
65477 2005-06-01  Bruno Haible  <bruno@clisp.org>
65478
65479         * lib/csharpexec.h: New file, from GNU gettext.
65480         * lib/csharpexec.c: New file, from GNU gettext.
65481         * lib/csharpexec.sh.in: New file, from GNU gettext.
65482
65483 2005-05-31  Derek Price  <derek@ximbiot.com>
65484             Paul Eggert  <eggert@cs.ucla.edu>
65485
65486         Sync from cvs.
65487         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65488
65489 2005-05-31  Derek Price  <derek@ximbiot.com>
65490             Paul Eggert  <eggert@cs.ucla.edu>
65491
65492         Sync from cvs.
65493         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
65494
65495 2005-05-29  Derek Price  <derek@ximbiot.com>
65496
65497         * config/srclist.txt (glob_.h, glob.c): Add these files.
65498
65499 2005-05-29  Derek Price  <derek@ximbiot.com>
65500
65501         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
65502         * modules/glob: New file.
65503         * modules/getlogin_r: Add link to POSIX spec in description.
65504
65505 2005-05-29  Derek Price  <derek@ximbiot.com>
65506             Paul Eggert  <eggert@cs.ucla.edu>
65507
65508         * m4/glob.m4: New file.
65509
65510 2005-05-29  Derek Price  <derek@ximbiot.com>
65511             Paul Eggert  <eggert@cs.ucla.edu>
65512
65513         * lib/glob_.h, lib/glob.c: New files.
65514
65515 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65516
65517         * modules/fts (Files): Remove m4/inttypes-pri.m4.
65518         * modules/fts-lgpl (Depends-on): Remove gettext.
65519
65520 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65521
65522         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
65523         and don't require gt_INTTYPES_PRI.
65524
65525 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
65526
65527         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
65528
65529         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
65530         the configuration hassle isn't worth it.
65531         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
65532         (LONGEST_MODIFIER, PRIuMAX): Remove.
65533
65534 2005-05-27  Bruno Haible  <bruno@clisp.org>
65535
65536         * lib/getlogin_r.h: Remove second include of <stddef.h>.
65537
65538 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
65539
65540         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
65541         _POSIX_PTHREAD_SEMANTICS for Solaris.
65542
65543 2005-05-25  Derek Price  <derek@ximbiot.com>
65544
65545         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
65546
65547 2005-05-25  Derek Price  <derek@ximbiot.com>
65548             Paul Eggert  <eggert@cs.ucla.edu>
65549
65550         * modules/getlogin_r, m4/getlogin_r.m4: New files.
65551         * lib/getlogin_r.c, getlogin_r.h: New files.
65552
65553 2005-05-25  Bruno Haible  <bruno@clisp.org>
65554             Derek Price  <derek@ximbiot.com>
65555
65556         * lib/getlogin_r.h: Simplify API documentation.
65557
65558 2005-05-23  Derek Price  <derek@ximbiot.com>
65559
65560         * modules/minmax (Files): Add m4/minmax.m4.
65561         (configure.ac): Add gl_MINMAX.
65562
65563 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
65564
65565         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
65566         so that unistd-safer.h (GPL'ed code) need not be included.
65567
65568 2005-05-22  Bruno Haible  <bruno@clisp.org>
65569
65570         * m4/minmax.m4: New file.
65571         Based on a patch by Derek Price <derek@ximbiot.com>.
65572
65573 2005-05-22  Bruno Haible  <bruno@clisp.org>
65574
65575         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
65576         (INT64_MIN): Fix definition.
65577         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
65578
65579         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
65580         NEED_SIGNED_INT_TYPES.
65581
65582         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
65583         HAVE_SYSTEM_INTTYPES.
65584
65585 2005-05-22  Bruno Haible  <bruno@clisp.org>
65586
65587         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
65588         Also include <sys/param.h> if it defines MIN, MAX.
65589         Based on a patch by Derek Price <derek@ximbiot.com>.
65590
65591 2005-05-21  Jim Meyering  <jim@meyering.net>
65592
65593         * modules/fts (Files): Add m4/inttypes-pri.m4.
65594         (Depends-on): Add lstat and remove gettext.  Alphabetize.
65595
65596 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65597
65598         New fts module.
65599         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
65600         (setup_dir, free_dir): New functions.
65601         (enter_dir, leave_dir): Define trivial
65602         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
65603         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
65604         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
65605         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
65606         Move to fts-cycle.c.
65607         (fts_open): Use setup_dir.
65608         (fts_close): Use free_dir.
65609         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
65610         This adds a label and some gotos, but the alternatives were messier.
65611         Check for memory allocation failure when entering a dir.
65612         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
65613         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
65614         (FTS): New member fts_cycle, that is a union that contains the
65615         old active_dir_ht and cycle_state.  All uses changed to mention
65616         fts_cycle.ht and fts_cycle.state.
65617         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
65618         fts.c, with the following changes:
65619         (setup_dir, free_dir): New functions.
65620         (enter_dir): Now returns bool.  Return true if successful, false
65621         if memory exhausted.  All callers changed.
65622         Do not bother partly cleaning up on
65623         memory allocation failure; that is free_dir's job.
65624         However, free ad if hash_insert fails, to avoid memory leak.
65625         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
65626         fts->fts_options to see which union member to use.
65627
65628 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65629
65630         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
65631         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
65632
65633 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65634
65635         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
65636
65637 2005-05-20  Jim Meyering  <jim@meyering.net>
65638
65639         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
65640         Now a macro, to pacify GCC.
65641
65642 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65643
65644         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
65645         of -1.
65646
65647 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
65648
65649         * lib/chown.c (rpl_chown): Return -1 on failure.
65650
65651 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65652
65653         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
65654         Don't check for stddef.h.
65655         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
65656         don't use its results.
65657         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
65658         since we include them unconditionally.  Don't require
65659         AM_STDBOOL_H, since stdbool is a prerequisite.
65660         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
65661         since we assume C89 or better.
65662         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
65663         as we don't use their results.
65664         Don't check for fchdir, memmove, memset, strrchr, as we use
65665         them unconditionally.
65666         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
65667         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
65668
65669 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
65670
65671         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
65672         Include <stddef.h> unconditionally, since we assume C89 now.
65673         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
65674         * lib/fts.c: Include fts_.h first, to check interface.
65675         Do not include intprops.h; no longer needed.
65676         Include cycle-check.h and hash.h, since fts_.h no longer does.
65677         Remove unnecessary casts of closedir to void.
65678         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
65679         decide whether to decrement nlinks.
65680         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
65681         (FTS): Use struct hash_table * instead of Hash_table, so that
65682         we no longer need to include hash.h here.
65683
65684 2005-05-18  Jim Meyering  <jim@meyering.net>
65685
65686         * modules/dirfd (License): Change to LGPL.  Most of the code
65687         is already in the public domain.
65688
65689 2005-05-18  Jim Meyering  <jim@meyering.net>
65690
65691         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
65692         Reported by Yoann Vandoorselaere.
65693
65694 2005-05-17  Jim Meyering  <jim@meyering.net>
65695
65696         * m4/fts.m4: New file, from coreutils.
65697
65698 2005-05-17  Jim Meyering  <jim@meyering.net>
65699
65700         * lib/fts.c, lib/fts_.h: New files, from coreutils.
65701
65702 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65703
65704         Sync from coreutils.
65705         * m4/unlinkdir.m4: New file.
65706
65707 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65708
65709         Sync from coreutils.
65710         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
65711         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
65712         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
65713         White space changes only.
65714         * lib/makepath.c (make_path): Port to hosts where leading "//" is
65715         special.
65716         * lib/yesno.c: Include getline.h, not ctype.h.
65717         (yesno): Don't remove leading white space; POSIX doesn't allow it.
65718         Use getline to remove arbitrary restriction on response length.
65719
65720 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65721
65722         * config/srclist-update: Spell out "Street" in FSF postal
65723         mail address; this is the style the FSF seems to prefer.
65724
65725         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
65726         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
65727         this updates FSF postal mail address.
65728
65729         Sync from coreutils.
65730         * modules/unlinkdir: New file.
65731         * modules/yesno (Depends-on): Add getline.
65732         * MODULES.html.sh (File system functions): Add unlinkdir.
65733
65734 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65735
65736         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
65737         lib/strsep.h:
65738         Change the initial comment to refer to GPL, not LGPL.
65739         gnulib-tool will change it to LGPL as needed.
65740
65741         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
65742         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
65743         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
65744         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
65745         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
65746         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
65747         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
65748         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
65749         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
65750         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
65751         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
65752         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
65753         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
65754         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
65755         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
65756         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
65757         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
65758         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
65759         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
65760         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
65761         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
65762         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
65763         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
65764         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65765         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65766         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65767         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65768         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65769         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65770         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65771         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65772         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65773         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65774         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65775         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65776         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65777         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65778         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65779         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65780         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65781         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65782         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65783         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65784         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65785         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65786         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65787         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65788         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65789         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65790         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65791         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65792         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65793         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65794         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65795         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65796         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65797         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65798         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65799         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65800         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65801         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65802         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65803         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65804         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65805         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65806         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65807         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65808         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65809         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65810         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65811         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65812         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65813         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65814         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65815         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65816         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65817         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65818         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65819         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65820         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65821         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65822         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65823         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65824         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65825         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65826         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65827         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65828         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65829         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65830         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65831         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65832         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65833         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65834         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65835         lib/yesno.c, lib/yesno.h:
65836         Update FSF postal mail address.
65837
65838 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65839
65840         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65841         tests/test-memmem.c, tests/test-stpncpy.c:
65842         Update FSF postal mail address.
65843
65844 2005-05-13  Bruno Haible  <bruno@clisp.org>
65845
65846         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65847         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65848         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65849         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65850         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65851         Add support for 64-bit integers in the MSVC compiler.
65852
65853 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65854
65855         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65856
65857 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65858
65859         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65860
65861 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65862
65863         * doc/getdate.texi (General date syntax): Don't say that date
65864         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65865         Problem reported by Nic Ferrier.
65866
65867 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65868
65869         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65870         specified in ai_socktype. Fix invalid ai_protocol
65871         check. ai_protocol is usually set to 0 or depending on
65872         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65873         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65874         ai_socktype / ai_protocol in the returned addrinfo structure.
65875
65876 2005-05-10  Simon Josefsson  <jas@extundo.com>
65877
65878         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65879         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65880
65881 2005-05-10  Karl Berry  <karl@gnu.org>
65882
65883         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65884         (from http://www.gnu.org/licenses).
65885         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65886         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65887         fdl.texi suffices.
65888
65889 2005-05-10  Karl Berry  <karl@gnu.org>
65890
65891         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65892         (COPYING.DOC): remove.
65893
65894         * config/srclist-update: new FSF address.
65895
65896 2005-05-10  Derek Price  <derek@ximbiot.com>
65897
65898         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65899         possible.
65900
65901 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65902             Bruno Haible  <bruno@clisp.org>
65903
65904         * modules/inet_ntop: New file.
65905         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65906         inet_ntop.
65907
65908 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65909             Bruno Haible  <bruno@clisp.org>
65910
65911         * m4/inet_ntop.m4: New file.
65912
65913 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65914             Bruno Haible  <bruno@clisp.org>
65915
65916         * lib/inet_ntop.h: New file.
65917         * lib/inet_ntop.c: New file, from glibc with modifications.
65918
65919 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65920
65921         * modules/time_r (License): Change to LGPL.
65922         * modules/extensions (License): Change to LGPL.  Actually,
65923         the license is more permissive than that, but currently gnulib-tool
65924         doesn't know how to handle more-permissive licenses.
65925
65926         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65927         Problem reported by Dave Love.
65928
65929 2005-05-08  Jim Meyering  <jim@meyering.net>
65930
65931         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65932         blank.
65933
65934 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65935
65936         * modules/argmatch (Depends-on): Add stdbool.
65937         * modules/backupfile (Depends-on): Likewise.
65938         * modules/chdir-long (Depends-on): Likewise.
65939         * modules/closeout (Depends-on): Likewise.
65940         * modules/cycle-check (Depends-on): Likewise.
65941         * modules/dirname (Depends-on): Likewise.
65942         * modules/fnmatch (Depends-on): Likewise.
65943         * modules/fsusage (Depends-on): Likewise.
65944         * modules/fwriteerror (Depends-on): Likewise.
65945         * modules/getcwd (Depends-on): Likewise.
65946         * modules/getloadavg (Depends-on): Likewise.
65947         * modules/hard-locale (Depends-on): Likewise.
65948         * modules/makepath (Depends-on): Likewise.
65949         * modules/mountlist (Depends-on): Likewise.
65950         * modules/nanosleep (Depends-on): Likewise.
65951         * modules/posixtm (Depends-on): Likewise.
65952         * modules/quotearg (Depends-on): Likewise.
65953         * modules/readtokens (Depends-on): Likewise.
65954         * modules/readtokens0 (Depends-on): Likewise.
65955         * modules/readutmp (Depends-on): Likewise.
65956         * modules/save-cwd (Depends-on): Likewise.
65957         * modules/strftime (Depends-on): Likewise.
65958         * modules/userspec (Depends-on): Likewise.
65959         * modules/utimecmp (Depends-on): Likewise.
65960         * modules/xgetcwd (Depends-on): Likewise.
65961         * modules/xnanosleep (Depends-on): Likewise.
65962         * modules/xstrtod (Depends-on): Likewise.
65963         * modules/yesno (Depends-on): Likewise.
65964
65965 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65966
65967         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65968         needless checks.
65969
65970 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65971
65972         Merge from coreutils.  Among other things,
65973         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65974         * lib/fd-safer.c: New file.
65975         * lib/fcntl-safer.h, open-safer.c: Remove.
65976         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65977         * lib/dup-safer.c: Include unistd-safer.h first.
65978         Don't include errno.h.
65979         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65980         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65981         * lib/file-type.c: Rely on file-type.h change.
65982         * lib/getloadavg.c: Include unistd-safer.h.
65983         (getloadavg): Use safer open.
65984         * lib/getusershell.c: Include "stdio-safer.h".
65985         (getusershell): Use safer fopen.
65986         * lib/long-options.c (long_options): Use NULL rather than 0.
65987         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65988         'free'.
65989         * lib/modechange.c: Likewise.
65990         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65991         (MODE_DONE): New constant.
65992         (struct mode_change): Remove 'next' member.
65993         (make_node_op_equals): New function; like the old one of the
65994         same name, except it allocates an array.
65995         (mode_compile, mode_create_from_ref): Use it.
65996         (mode_compile): Allocate result as an array, not a linked list.
65997         Parse octal string ourself, so that we catch mistakes like "+0".
65998         (mode_adjust): Arg is an array, not a linked list.
65999         * lib/modechange.c: Include stat-macros.h, xalloc.h.
66000         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
66001         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
66002         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
66003         Remove.  This is now stat-macros.h's job.
66004         (talloc): Remove.  All callers replaced by xalloc, so that
66005         our invokers don't have to worry about reporting memory failures.
66006         (make_node_op_equals): Remove.
66007         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66008         New constants.
66009         (struct mode_change): Moved here from modechange.h.
66010         (mode_append_entry): Remove.
66011         (mode_compile): Remove MASKED_OPS arg, since it encouraged
66012         apps to have incorrect behavior.  Use simpler algorithm for head
66013         and tail.  Don't futz with umask; that's now the job of mode_adjust.
66014         Detect more invalid usages rather than having somewhat-random behavior.
66015         Don't insert an "a=" action, as that leads to incorrect behavior.
66016         (mode_compile, mode_create_from_ref): Return NULL on error instead
66017         of an enum, since now there's only one way to have an error.  All
66018         callers changed.
66019         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
66020         at the correct time.  Simplify calculation of "+u" and its ilk.
66021         Don't mishandle "+X".
66022         (mode_free): Remove "register" and localize decls.
66023         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66024         (struct mode_change): Move to modechange.c; callers don't
66025         need to see this stuff.
66026         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
66027         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
66028         (mode_change, mode_adjust): Reflect the new signatures noted above.
66029         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
66030         that might redefine system include files.
66031         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
66032         (my_usleep): Use NULL rather than (void *) 0.
66033         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
66034         Use siginterrupt to specify that system calls should be interrupted.
66035         (rpl_nanosleep): Move initialization of suspended closer to call of
66036         my_usleep.
66037         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
66038         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
66039         (desirable_utmp_entry): New function.
66040         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
66041         using x2nrealloc, to simplify logic.
66042         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
66043         size calculation.  Do not assume utmp file is a regular file.
66044         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
66045         (READ_UTMP_CHECK_PIDS): New constant.
66046         * lib/save-cwd.c: Include unistd-safer.h.
66047         (save_cwd): Use fd_safer.
66048         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
66049         [!_LIBC] Include "stat-macros.h" instead.
66050         * lib/unistd-safer.h (fd_safer): New decl.
66051
66052 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66053
66054         * modules/getloadavg (Depends-on): Add unistd-safer.
66055         * modules/getusershell (Depends-on): Add stdio-safer.
66056         * modules/lstat (Depends-on): Remove xalloc.
66057         * modules/mkstemp (Depends-on): Add stat-macros.
66058         * modules/modechange (Depends-on): Remove xstrtol.
66059         Add stat-macros, xalloc.
66060         * modules/save-cwd (Depends-on): Add unistd-safer.
66061         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
66062         * modules/unistd-safer (Files): Add lib/fd-safer.c
66063         (Makefile.am): Remove lib_SOURCES.
66064
66065         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
66066         Remove fcntl-safer; unistd-safer supersedes it.
66067
66068 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66069
66070         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
66071         AC_HEADER_STAT.
66072         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
66073         (gl_PREREQ_CHOWN): Remove.
66074         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
66075         it.  Don't require AC_HEADER_STAT.
66076         (gl_PREREQ_LSTAT): Remove.
66077         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
66078         Don't require AC_HEADER_STAT.
66079         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
66080         (gl_PREREQ_RMDIR): Remove.
66081         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
66082         mention stat-macros.h or AC_HEADER_STAT, since we'll make
66083         the stat-macros module a prerequisite.
66084         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
66085         * m4/filemode.m4 (gl_FILEMODE): Likewise.
66086         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
66087         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
66088         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
66089         variable names.
66090         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
66091         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
66092         variable prefixes.
66093         * m4/fcntl-safer.m4: Remove.
66094         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
66095         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
66096         Invoke gl_PREREQ_FD_SAFER.
66097         (gl_PREREQ_FD_SAFER): New macro.
66098         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
66099         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
66100         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
66101         Remove duplicate call to AC_LIBOBJ(readutmp).
66102         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
66103
66104         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
66105         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
66106
66107 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66108
66109         * MODULES.html.sh (Misc): Add byteswap.
66110
66111 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66112
66113         * modules/getcwd (Depends-on): Add extensions.
66114         * modules/openat (Depends-on): Likewise.
66115
66116 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66117
66118         * modules/byteswap: New file.
66119
66120 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66121
66122         * m4/byteswap.m4: New file.
66123
66124 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66125
66126         * lib/byteswap_.h: New file.
66127
66128 2005-04-25  Karl Berry  <karl@gnu.org>
66129
66130         * m4/gettext.m4: Update from GNU gettext 0.14.4.
66131
66132 2005-04-25  Albert Chin  <china@thewrittenword.com>
66133
66134         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
66135         Toolkit C bug.
66136
66137 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
66138
66139         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
66140         (func_ln_if_changed) Remove forcibly for no error message
66141         in case file does not exist.
66142
66143 2005-04-19  Simon Josefsson  <jas@extundo.com>
66144
66145         * gnulib-tool (Options): Make --symlink mean --symbolic.
66146
66147 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
66148
66149         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
66150
66151 2005-04-16  Simon Josefsson  <jas@extundo.com>
66152
66153         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
66154
66155 2005-04-15  Simon Josefsson  <jas@extundo.com>
66156
66157         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
66158
66159 2005-04-15  Simon Josefsson  <jas@extundo.com>
66160
66161         * gnulib-tool: Rename --symlink to --symbolic.
66162
66163 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
66164
66165         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
66166         symbolic links to files instead of copying/moving.  Add --aux-dir,
66167         specifying directory relative --dir where auxiliary build tools
66168         are placed.
66169
66170 2005-04-14  Bruno Haible  <bruno@clisp.org>
66171
66172         * modules/allocsa (License): Change to LGPL.
66173         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
66174
66175 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66176
66177         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
66178         that "UTC +1 second" continues to work.  Problem reported
66179         by Dmitry V. Levin.
66180         (relunit_snumber): New rule.
66181         (relunit): Use it.
66182
66183 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66184
66185         * lib/getdate.y (universal_time_zone_table): New constant.
66186         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
66187         universal_time_zone_table.
66188         (lookup_zone): Prefer universal_time_zone_table to
66189         local_time_zone_table, so that "GMT" time stamps are allowed in
66190         London during the summer.  Problem reported by Ian Abbott.
66191
66192 2005-04-12  Jim Meyering  <jim@meyering.net>
66193
66194         * lib/human.c (humblock): Set *options even when returning due to
66195         xstrtoumax conversion failure.  Thanks to a used-uninitialized
66196         warning from gcc-4.
66197
66198 2005-04-09  Jim Meyering  <jim@meyering.net>
66199
66200         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
66201         -Wuninitialized: initialize tm0.tm_year.
66202
66203 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66204
66205         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
66206         count, since there's no maximum.  All uses changed.
66207         Add member dsts_seen.
66208         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
66209         not being INT_MAX.
66210         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
66211         Use pc_rels_seen to decide whther a date is absolute.
66212
66213         * lib/getdate.y (number): Don't overwrite year.
66214         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
66215         check.
66216
66217 2005-04-02  Simon Josefsson  <jas@extundo.com>
66218
66219         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
66220         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
66221
66222 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
66223
66224         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
66225         where no absolute path name can be longer than PATH_MAX.
66226
66227 2005-03-27  Jim Meyering  <jim@meyering.net>
66228
66229         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
66230
66231 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66232
66233         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
66234         "one's complement" -> "ones' complement" in comment, as per Knuth.
66235         "value of type" -> "type or expression" in comment.
66236         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
66237
66238 2005-03-26  Jim Meyering  <jim@meyering.net>
66239
66240         Comment nits.
66241         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
66242         Correct typos: s/or/of/.
66243
66244 2005-03-26  Jim Meyering  <jim@meyering.net>
66245
66246         * modules/check-include-files: Move to ../ and rename to...
66247         * check-module: ...this.
66248
66249 2005-03-25  Jim Meyering  <jim@meyering.net>
66250
66251         * modules/xvasprintf (Files): Add xalloc.h.
66252
66253 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66254
66255         * modules/gettext (Files): config/config.rpath ->
66256         build-aux/config.rpath
66257         * modules/iconv (Files): Likewise.
66258         Problem reported by Oskar Liljeblad.
66259
66260 2005-03-23  Jim Meyering  <jim@meyering.net>
66261
66262         * modules/check-include-files: New script to check for
66263         missing dependencies, multiple includes, etc.
66264
66265         * modules/c-strtold (Depends-on): Add xalloc.
66266         * modules/c-strtod (Depends-on): Add xalloc.
66267         * modules/hash (Depends-on): Add xalloc.
66268         (Files): Remove lib/xalloc.h.
66269
66270         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
66271         * modules/userspec (Files): Add lib/inttostr.h.
66272
66273 2005-03-23  Jim Meyering  <jim@meyering.net>
66274
66275         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
66276
66277 2005-03-22  Jim Meyering  <jim@meyering.net>
66278
66279         * modules/stat-macros: New module.
66280         * modules/canonicalize, modules/euidaccess, modules/file-type,
66281         * modules/filemode, modules/lchown, modules/makepath,
66282         * modules/rmdir, modules/stat: Depend on new stat-macros module
66283         rather than listing lib/stat-macros.h manually.
66284         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
66285
66286 2005-03-22  Jim Meyering  <jim@meyering.net>
66287
66288         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
66289
66290 2005-03-22  Bruno Haible  <bruno@clisp.org>
66291
66292         * config/srclist.txt: Replace target directory 'config' with
66293         'build-aux'.
66294         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
66295         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
66296         ../build-aux/.
66297
66298 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66299
66300         * modules/chdir-long (Depends-on): Add mempcpy.
66301
66302         * modules/acl, modules/backupfile, modules/c-strtod,
66303         modules/c-strtold, modules/canon-host, modules/canonicalize,
66304         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
66305         modules/exclude, modules/exitfail, modules/file-type,
66306         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
66307         modules/getdate, modules/getline, modules/getpagesize,
66308         modules/getpass, modules/getugroups, modules/group-member,
66309         modules/hard-locale, modules/hash, modules/human, modules/idcache,
66310         modules/inttostr, modules/long-options, modules/makepath,
66311         modules/md5, modules/memcasecmp, modules/memcoll,
66312         modules/modechange, modules/mountlist, modules/path-concat,
66313         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
66314         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
66315         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
66316         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
66317         modules/strftime, modules/strndup, modules/strverscmp,
66318         modules/timespec, modules/unlocked-io, modules/userspec,
66319         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
66320         modules/yesno:
66321         Remove lib_SOURCES line from Makefile.am section, as this is now
66322         done automatically by the corresponding Autoconf macro.
66323
66324 2005-03-21  Jim Meyering  <jim@meyering.net>
66325
66326         Changes imported from coreutils.
66327
66328         * lib/cycle-check.c: Don't include xalloc.h.
66329
66330         * lib/path-concat.c: Don't include assert.h.
66331         (path_concat): Remove assertion that would have triggered
66332         for ABASE starting with more than one slash.
66333         Reported by Andreas Schwab.
66334
66335         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
66336         properly when ABASE is an absolute file name.
66337         Correct the description of this function.
66338         Include <assert.h>.
66339         Add an assertion and a test driver.
66340         This fixes a bug introduced on 2004-07-02.
66341         Andreas Schwab reported the resulting failure of cp --parents:
66342         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
66343
66344 2005-03-21  Jim Meyering  <jim@meyering.net>
66345
66346         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
66347         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
66348
66349 2005-03-21  Jim Meyering  <jim@meyering.net>
66350         and  Paul Eggert  <eggert@cs.ucla.edu>
66351
66352         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
66353         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
66354         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
66355         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
66356         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
66357         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
66358         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
66359         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
66360         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
66361         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
66362         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
66363         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
66364         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
66365         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
66366         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
66367         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
66368         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
66369         for these modules.
66370
66371 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
66372
66373         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
66374         (which shouldn't happen), generate nothing instead of returning 0
66375         immediately, so that nstrftime (NULL, ...) doesn't return 0.
66376
66377 2005-03-16  Bruno Haible  <bruno@clisp.org>
66378
66379         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
66380         HAVE_LONGLONG_64BIT.
66381
66382 2005-03-16  Bruno Haible  <bruno@clisp.org>
66383
66384         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
66385         HAVE_LONGLONG_64BIT.
66386
66387 2005-03-16  Bruno Haible  <bruno@clisp.org>
66388
66389         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
66390         HAVE_LONGLONG_64BIT.
66391
66392 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66393
66394         * lib/strftime.c (my_strftime): Prepend space to format so that we can
66395         reliably distinguish strftime failure from empty output on POSIX
66396         hosts.
66397
66398 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
66399
66400         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
66401         (iconv_string): Don't guess a size-zero buffer, as that might cause
66402         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
66403         result would be 'too large', where 'too large' is (heuristically)
66404         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
66405         overflow concerns.  This will prevent some unwanted malloc failures
66406         when the inputs are very large.
66407
66408 2005-03-15  Karl Berry  <karl@gnu.org>
66409
66410         * config/srclist.txt (config.rpath): from gettext.
66411         * config/config.rpath: update.
66412
66413 2005-03-15  Bruno Haible  <bruno@clisp.org>
66414
66415         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
66416         to 'negate'.
66417
66418         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
66419         variable.
66420
66421         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
66422         results.
66423
66424 2005-03-14  Simon Josefsson  <jas@extundo.com>
66425
66426         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
66427         <fx@gnu.org>.
66428
66429 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
66430
66431         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
66432         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
66433         intprops.h.
66434         * lib/strtol.c: Likewise.
66435
66436 2005-03-14  Jim Meyering  <jim@meyering.net>
66437
66438         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
66439         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
66440         to be nonzero so that we (and caller) can detect the difference
66441         between a valid zero-length expansion and an error return, even
66442         when the underlying strftime fails before writing anything into
66443         that location.
66444
66445 2005-03-14  Bruno Haible  <bruno@clisp.org>
66446
66447         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
66448         Update from GNU gettext 0.14.3.
66449
66450 2005-03-10  Jim Meyering  <jim@meyering.net>
66451
66452         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
66453
66454 2005-03-10  Jim Meyering  <jim@meyering.net>
66455
66456         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
66457         so that this module works on systems without fchdir.
66458
66459 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
66460
66461         Factor int-properties macros into a single file, except for
66462         glibc-related files.
66463         * lib/intprops.h: New file.
66464         * lib/getloadavg.c: Include it instead of limits.h.
66465         (INT_STRLEN_BOUND): Remove.
66466         * lib/human.c: Include intprops.h.
66467         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
66468         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
66469         302/1000.
66470         * lib/inttostr.h: Include intprops.h instead of limits.h.
66471         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
66472         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
66473         for consistency with intprops.h.
66474         (time_t_is_integer, twos_complement_arithmetic): Use them.
66475         * lib/sig2str.h: Include <signal.h>, intprops.h.
66476         (INT_STRLEN_BOUND): Remove.
66477         * lib/strftime.c (TYPE_SIGNED): Remove.
66478         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
66479         * lib/strtol.c: Adjust comments to match intprops.h.
66480         * lib/userspec.c: Include intprops.h.
66481         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
66482         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
66483         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
66484         instead of rolling our own expressions.
66485         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
66486
66487         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
66488         instead of int.
66489         (my_strftime): Do not mishandle years close to INT_MAX, by doing
66490         the right thing even if adding 1900 would overflow.  Similarly
66491         for tm_mon + 1 and tm_yday + 1.
66492         Make %Y always equivalent to %C%y, and similarly for %G and %g.
66493         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
66494         (DO_SIGNED_NUMBER): New macro.
66495         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
66496
66497 2005-03-07  Bruno Haible  <bruno@clisp.org>
66498
66499         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
66500
66501 2005-03-07  Bruno Haible  <bruno@clisp.org>
66502
66503         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
66504
66505 2005-03-04  Derek R. Price  <derek@ximbiot.com>
66506
66507         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
66508         (func_import): Only replace files via --import when they have actually
66509         changed.
66510
66511 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66512
66513         * m4/mmap-anon.m4: New file.
66514         * m4/pagealign_alloc.m4: New file.
66515
66516 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66517             Bruno Haible  <bruno@clisp.org>
66518
66519         * modules/pagealign_alloc: New file.
66520         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
66521
66522 2005-03-03  Derek R. Price  <derek@ximbiot.com>
66523             Bruno Haible  <bruno@clisp.org>
66524
66525         * lib/pagealign_alloc.h: New file.
66526         * lib/pagealign_alloc.c: New file.
66527
66528 2005-03-03  Bruno Haible  <bruno@clisp.org>
66529
66530         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
66531         Use an all-permissive copyright notice, recommended by RMS.
66532
66533 2005-03-02  Bruno Haible  <bruno@clisp.org>
66534
66535         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
66536         of AIX, the replacement has to be done only after <string.h> is
66537         included, therefore not in config.h. stpncpy.h does the replacement,
66538         and stpncpy.c uses it.
66539
66540 2005-03-02  Bruno Haible  <bruno@clisp.org>
66541
66542         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
66543         stpncpy.c uses it.
66544
66545 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66546
66547         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
66548         The workaround isn't strictly needed for POSIX conformance, and
66549         it's too much of a pain to configure and maintain.  We'll ask
66550         people to fix their kernels instead.
66551         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
66552         (NANOSLEEP_BUG_WORKAROUND): Remove.
66553         (xnanosleep): Remove the workaround.
66554
66555 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66556
66557         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
66558         Reported by Derek Price.
66559         (Include): Add "timespec.h".
66560
66561         * modules/xnanosleep (Depends-on): Remove gethrxtime.
66562
66563 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
66566         to detect nanosleep bug.
66567
66568 2005-03-01  Bruno Haible  <bruno@clisp.org>
66569
66570         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
66571
66572 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
66573
66574         * modules/gethrxtime: New file.
66575         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
66576         (Depends-on): Add gethrxtime.
66577         (configure.ac): Add gl_XNANOSLEEP.
66578         (Makefile.am): Remove lib_SOURCES line.
66579
66580 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66581
66582         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
66583         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
66584
66585 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66586
66587         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
66588         * lib/timespec.h (gettime): Return void, since it always
66589         succeeds now.  All uses changed.
66590         * lib/gettime.c (gettime) Likewise.
66591         [HAVE_NANOTIME]: Prefer nanotime.
66592         Assume gettimeofday succeeds, as POSIX requires.
66593         Assime time () succeeds, since other code already does.
66594         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
66595         (timespec_subtract): Remove.
66596         (NANOSLEEP_BUG_WORKAROUND): New constant.
66597         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
66598         things considerably.  Use it only on GNU/Linux hosts, since the
66599         workaround shouldn't be needed elsewhere.
66600
66601 2005-02-24  Bruno Haible  <bruno@clisp.org>
66602
66603         * modules/gettext (Files): Add m4/glibc2.m4.
66604
66605 2005-02-24  Bruno Haible  <bruno@clisp.org>
66606
66607         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
66608         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
66609         * m4/progtest.m4:
66610         Update from GNU gettext 0.14.2.
66611         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
66612
66613 2005-02-24  Bruno Haible  <bruno@clisp.org>
66614
66615         * lib/localcharset.c: Update from GNU gettext 0.14.2.
66616         * lib/config.charset: Update from GNU gettext 0.14.2.
66617
66618 2005-02-24  Bruno Haible  <bruno@clisp.org>
66619
66620         * lib/gettext.h: Update from GNU gettext 0.14.2.
66621
66622 2005-02-23  Simon Josefsson  <jas@extundo.com>
66623
66624         * m4/iconvme.m4: New file.
66625
66626 2005-02-23  Jim Meyering  <jim@meyering.net>
66627
66628         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
66629         change.
66630         Thanks to Bruno Haible for catching it.
66631
66632 2005-02-22  Simon Josefsson  <jas@extundo.com>
66633
66634         * modules/iconvme: New file.
66635
66636         * MODULES.html.sh: Add iconvme.
66637
66638 2005-02-22  Simon Josefsson  <jas@extundo.com>
66639
66640         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
66641
66642 2005-02-22  Simon Josefsson  <jas@extundo.com>
66643
66644         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
66645
66646 2005-02-22  Jim Meyering  <jim@meyering.net>
66647
66648         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
66649         s/ifndef/ifdef/.
66650
66651 2005-02-20  Neil Conway  <neilc@samurai.com>
66652
66653         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
66654         returned by OSX/Darwin if the specified buffer is not large
66655         enough for the hostname.
66656
66657 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66658
66659         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
66660         pass it to _help, otherwise the latter coredumps trying to
66661         dereference state.root_argp.
66662
66663 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66664
66665         * modules/chdir-long (Depends-on): Add memrchr.
66666         * modules/memrchr (Files): Add lib/memrchr.h.
66667         (Include): "memrchr.h".
66668
66669 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66670
66671         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
66672
66673 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
66674
66675         * lib/memrchr.h: New file.
66676         * lib/chdir-long.c: Include it.
66677         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
66678         Don't bother including stddef.h.
66679
66680 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
66681
66682         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
66683         inclusion.
66684         Include <sys/types.h>, for dev_t.
66685         (ME_DUMMY, ME_REMOTE): Move from here....
66686         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
66687         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
66688         Dmitry V. Levin.
66689         Include mountlist.h first, to test the interface.
66690
66691 2005-01-29  Bruno Haible  <bruno@clisp.org>
66692
66693         * lib/progname.c (program_name): Initialize.
66694         Needed when linking statically on MacOS X.
66695
66696 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66697
66698         Sync from coreutils.
66699         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
66700         (Depends-on): Add c-strtod.
66701         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
66702
66703 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
66704
66705         Sync from coreutils.
66706         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
66707
66708         Remove files that are specific to coreutils.
66709         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
66710
66711 2005-01-28  Bruno Haible  <bruno@clisp.org>
66712
66713         * modules/javacomp: New file.
66714         * MODULES.html.sh (Java): Add javacomp.
66715
66716 2005-01-28  Bruno Haible  <bruno@clisp.org>
66717
66718         * m4/javacomp.m4: New file, from GNU gettext.
66719
66720 2005-01-28  Bruno Haible  <bruno@clisp.org>
66721
66722         * lib/javacomp.sh.in: New file, from GNU gettext.
66723         * lib/javacomp.h: New file, from GNU gettext.
66724         * lib/javacomp.c: New file, from GNU gettext.
66725
66726 2005-01-26  Simon Josefsson  <jas@extundo.com>
66727
66728         * lib/gai_strerror.c: Use GPL in header.
66729
66730 2005-01-26  Bruno Haible  <bruno@clisp.org>
66731
66732         * modules/javaexec: New file.
66733         * MODULES.html.sh (Java): Add javaexec.
66734
66735 2005-01-26  Bruno Haible  <bruno@clisp.org>
66736
66737         * m4/javaexec.m4: New file, from GNU gettext.
66738
66739 2005-01-26  Bruno Haible  <bruno@clisp.org>
66740
66741         * lib/javaexec.sh.in: New file, from GNU gettext.
66742         * lib/javaexec.h: New file, from GNU gettext.
66743         * lib/javaexec.c: New file, from GNU gettext.
66744
66745 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66746
66747         * modules/lchown (Depends-on): Remove lchown.h
66748
66749 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66750
66751         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
66752         must be defined if the header file was not found, in order
66753         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
66754
66755 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66756
66757         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
66758         initializers for struct pentry_state.
66759         (__argp_error): Check return value of __asprintf
66760         (__argp_failure): Translate error message
66761
66762         * lib/argp-parse.c: Removed braces around the expansion of N_()
66763
66764 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66765
66766         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66767         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66768         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66769         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66770         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66771         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66772         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66773         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66774         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66775         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66776         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66777         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66778         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66779         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66780         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66781         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66782         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66783         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66784         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66785         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66786         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66787         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66788         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66789         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66790         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66791         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66792         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66793         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66794         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66795         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66796         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66797         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66798         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66799         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66800         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66801         Use an all-permissive copyright notice, recommended by RMS.
66802
66803 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66804
66805         * modules/chdir-long (Depends-on): Remove mempcpy.
66806
66807 2005-01-21  Jim Meyering  <jim@meyering.net>
66808
66809         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66810         same value as for Solaris 9.
66811
66812         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66813         component length.  This included changing the parameter to be
66814         of type `char *' rather than `char const *'.
66815         * lib/chdir-long.h (chdir_long): Update prototype.
66816
66817         * lib/openat.c (fdopendir, fstatat): New functions.
66818         * lib/openat.h: Include headers required for use of DIR and struct
66819         stat.
66820         [AT_SYMLINK_NOFOLLOW]: Define.
66821         (fdopendir, fstatat): Add prototypes.
66822
66823 2005-01-21  Bruno Haible  <bruno@clisp.org>
66824
66825         * modules/classpath: New file.
66826         * MODULES.html.sh (Java): Add classpath.
66827
66828 2005-01-21  Bruno Haible  <bruno@clisp.org>
66829
66830         * lib/classpath.h: New file, from GNU gettext.
66831         * lib/classpath.c: New file, from GNU gettext.
66832
66833 2005-01-20  Simon Josefsson  <jas@extundo.com>
66834
66835         * modules/version-etc-fsf: New file.
66836
66837 2005-01-20  Simon Josefsson  <jas@extundo.com>
66838
66839         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66840         * lib/version-etc.c: Remove version_etc_copyright.
66841         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66842         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66843
66844 2005-01-20  Simon Josefsson  <jas@extundo.com>
66845
66846         * lib/base64.h (isbase64): Add.
66847
66848         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66849         using a unsigned prototype, don't inline.
66850         (base64_decode): Use it.
66851
66852 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66853
66854         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66855         it.
66856
66857 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66858
66859         * lib/save-cwd.c (save_cwd): Remove code to support the case
66860         where fchdir is missing or flaky.
66861
66862 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66863
66864         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66865
66866 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66867
66868         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66869         AC_LIBSOURCES now does this.
66870         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66871         with new ullong_max module.
66872
66873 2005-01-19  Bruno Haible  <bruno@clisp.org>
66874
66875         * modules/sh-quote: New file.
66876         * MODULES.html.sh (Executing programs): Add sh-quote.
66877
66878 2005-01-19  Bruno Haible  <bruno@clisp.org>
66879
66880         * lib/sh-quote.h: New file, from GNU gettext.
66881         * lib/sh-quote.c: New file, from GNU gettext.
66882
66883 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66884
66885         Merge from coreutils.
66886         * m4/ullong_max.m4: New file.
66887         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66888         (gl_MACROS): Assume localeconv exists.
66889
66890 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66891
66892         Merge changes from coreutils, as described below in several
66893         changelogs dated today.
66894
66895         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66896         (O_DIRECTORY): Remove; not needed here, since "." must be
66897         a directory.  All uses removed.
66898         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66899         universal on Suns, and we also need to test for IRIX.
66900         Revamp code to use 'if' rather than '#if'.
66901         Avoid unnecessary comparison of cwd->desc to 0.
66902
66903         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66904         for known valid error numbers rather than observed invalid ones.
66905
66906 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66907
66908         * modules/ullong_max: New file.
66909
66910         * modules/chdir-long, modules/openat: New files.
66911         * modules/save-cwd (Depends-on): Depend on chdir-long.
66912         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66913
66914 2005-01-18  Jim Meyering  <jim@meyering.net>
66915
66916         Merge from coreutils.
66917         * m4/chdir-long.m4, m4/openat.m4: New files.
66918         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66919         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66920         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66921         is sane and DOES follow symlinks.  Besides, testing 20 different
66922         systems found no broken chown implementations.
66923         Prompted by a change in rsync's copy of this macro.
66924         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66925
66926         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66927
66928         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66929         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66930         NULL-means-set-to-current-time semantics.
66931         Remove temporary file immediately, rather than waiting
66932         for configure's at-exit trap code to do it.
66933
66934 2005-01-18  Jim Meyering  <jim@meyering.net>
66935
66936         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66937
66938         * lib/utimens.c (futimens): Account for the fact that futimes
66939         can also fail with errno == ENOSYS or errno == ENOENT.
66940         Patch from Dmitry V. Levin.
66941
66942         Change the name of the robust chdir function from chdir to chdir_long.
66943         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66944         (restore_cwd): Use chdir_long, not chdir.
66945         * lib/chdir-long.c: Renamed from chdir.c.
66946         * lib/chdir-long.h: Renamed from chdir.h.
66947         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66948         Hurd.
66949
66950 2005-01-18  Bruno Haible  <bruno@clisp.org>
66951
66952         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66953         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66954         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66955         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66956         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66957         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66958         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66959         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66960         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66961         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66962         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66963         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66964         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66965         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66966         Use an all-permissive copyright notice, recommended by RMS.
66967
66968 2005-01-18  Bob Proulx  <bob@proulx.com>
66969
66970         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66971         simplify offsetof() macro construct to avoid compile failure with
66972         native HP-UX 11.0 ANSI C compiler.
66973
66974 2005-01-17  Bruno Haible  <bruno@clisp.org>
66975
66976         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66977         redundant because stpncpy.m4 takes care of it.
66978
66979 2005-01-17  Bruno Haible  <bruno@clisp.org>
66980
66981         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66982
66983 2005-01-17  Bruno Haible  <bruno@clisp.org>
66984
66985         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66986         used.
66987
66988 2005-01-17  Bruno Haible  <bruno@clisp.org>
66989
66990         * lib/fwriteerror.h (fwriteerror): Change specification to include
66991         fclose.
66992         * lib/fwriteerror.c: Include <stdbool.h>.
66993         (fwriteerror): At the end, close the file stream. Record whether
66994         stdout was already closed.
66995
66996 2005-01-17  Bruno Haible  <bruno@clisp.org>
66997
66998         * lib/execute.c (environ): Declare if needed.
66999         * lib/pipe.c (environ): Likewise.
67000         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
67001
67002 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67003
67004         * modules/argp: Depend on vsnprintf
67005
67006 2005-01-10  Jim Meyering  <jim@meyering.net>
67007
67008         * modules/closeout (Depends-on): Add atexit.
67009
67010 2005-01-06  Bruno Haible  <bruno@clisp.org>
67011
67012         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
67013
67014 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67015
67016         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
67017         definitions to be after all include files, to avoid collisions.
67018         Problem reported by Bob Proulx.
67019
67020 2005-01-04  Jim Meyering  <jim@meyering.net>
67021
67022         Changes imported from coreutils.
67023         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
67024         as the mkstemp template, use a temporary directory and an
67025         8.3-friendly template to avoid trouble on systems like DJGPP.
67026         Reported by Juan M. Guerrero via Stepan Kasal.
67027         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
67028         close. Remove the temporary directory right away, rather than waiting
67029         for configure's at-exit trap code to do it.
67030         Suggestion from Stepan Kasal.
67031
67032 2005-01-01  Simon Josefsson  <jas@extundo.com>
67033
67034         * gnulib-tool: Print #include directives when --import'ing.
67035
67036 2004-12-28  Simon Josefsson  <jas@extundo.com>
67037
67038         * tests/test-base64.c: Include required header files.  Remove
67039         unused variables.
67040
67041 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67042
67043         * modules/error (Depends-on): Remove gettext.
67044
67045 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67046
67047         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
67048         not needed.  This removes a dependency on the gettext module.
67049         [defined _LIBC]: Do not include <libintl.h>; not needed.
67050
67051 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67052
67053         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
67054         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
67055
67056 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67057
67058         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
67059         HAVE_DECL_STRTOLD.
67060
67061 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67062
67063         * modules/getdate (Depends-on): Remove alloca-opt.
67064
67065 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67066
67067         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
67068
67069 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67070
67071         * lib/argp-parse.c: Include <stddef.h>.
67072         (alignof, alignto): New macros.
67073         (parser_init): Don't assume that void * is aligned sufficiently
67074         for struct option.
67075
67076         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
67077         need to extend the stack.
67078         (YYINITDEPTH): New macro, so that the initial stack isn't overly
67079         large.
67080
67081 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67082
67083         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
67084
67085 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67086
67087         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
67088         (2004-10-24) change.  Apparently this was a false alarm.
67089
67090         * modules/getdate: Depend on alloca-opt, not alloca.
67091
67092 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67093
67094         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
67095         Remove now-obsolete comment about AIX.
67096         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
67097         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
67098         (YYMAXDEPTH): New macro.
67099
67100 2004-12-18  Simon Josefsson  <jas@extundo.com>
67101
67102         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
67103
67104 2004-12-18  Bruno Haible  <bruno@clisp.org>
67105
67106         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
67107
67108 2004-12-18  Bruno Haible  <bruno@clisp.org>
67109
67110         * lib/fatal-signal.c (fatal_signals): Make non-const.
67111         (init_fatal_signals): New function.
67112         (uninstall_handlers, install_handlers): Ignore signals that were set to
67113         SIG_IGN.
67114         (at_fatal_signal): Call init_fatal_signals.
67115         (init_fatal_signal_set): Likewise. Ignore signals that were set to
67116         SIG_IGN.
67117         Reported by Paul Eggert.
67118
67119 2004-12-18  Bruno Haible  <bruno@clisp.org>
67120
67121         * doc/alloca.texi: New file.
67122         * doc/alloca-opt.texi: New file.
67123
67124 2004-12-17  Jim Meyering  <jim@meyering.net>
67125
67126         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
67127         Otherwise, install-sh could exit with improper exit status when
67128         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
67129
67130 2004-12-16  Simon Josefsson  <jas@extundo.com>
67131
67132         * tests/test-base64.c: Add license.
67133
67134 2004-12-15  Stepan Kasal  <address@hidden>
67135
67136         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
67137
67138 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
67139
67140         * modules/getcwd (Files): Add m4/d-ino.m4.
67141         Suggested by Mark D. Baushke.
67142
67143 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67144
67145         * lib/getdate.y (textint): New member "negative".
67146         (time_zone_hhmm): New function.
67147         Expect 14 shift-reduce conflicts, not 13.
67148         (o_colon_minutes): New rule.
67149         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
67150         (yylex): Set the "negative" member of signed numbers.
67151
67152 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67153
67154         * doc/getdate.texi (Time of day items, Time zone items):
67155         Describe new formats +00:00, UTC+00:00.
67156
67157 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67158
67159         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
67160         spurious "-l"s.  Problem reported by Stepan Kasal.
67161
67162 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
67163
67164         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
67165         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
67166
67167 2004-12-04  Simon Josefsson  <jas@extundo.com>
67168
67169         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
67170         Vandoorselaere <yoann@prelude-ids.org>.
67171
67172 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67173
67174         Changes imported from coreutils.
67175         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
67176         exist.
67177         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
67178
67179 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67180
67181         Changes imported from coreutils.
67182         * lib/hard-locale.c: Assume <locale.h> exists.
67183         Include "strdup.h".
67184         (GLIBC_VERSION): New macro.
67185         (hard_locale): Assume setlocale exists.
67186         Rewrite to avoid #ifdef.
67187         Use strdup rather than malloc + strcpy.
67188         * lib/human.c: Assume <locale.h> exists.
67189         (human_readable): Assume localeconv exists.
67190
67191 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67192
67193         * modules/hard-locale (Depends-on): Add strdup.
67194
67195 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67196
67197         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
67198         convert T2, not T.  (Imported from libc.)
67199
67200 2004-11-30  Simon Josefsson  <jas@extundo.com>
67201
67202         * modules/restrict (License): Change to LGPL.
67203
67204 2004-11-30  Simon Josefsson  <jas@extundo.com>
67205
67206         * m4/restrict.m4: Add copyright and copying conditions.
67207
67208 2004-11-30  Simon Josefsson  <jas@extundo.com>
67209
67210         * m4/base64.m4: New file.
67211
67212 2004-11-30  Simon Josefsson  <jas@extundo.com>
67213
67214         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
67215         base64.
67216
67217         * tests/test-base64.c: New file.
67218
67219         * modules/base64: New file.
67220
67221 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67222
67223         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
67224         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
67225
67226         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
67227
67228 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67229
67230         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
67231         (__getcwd.c): Don't restore errno; glibc doesn't.
67232         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
67233         first, falling back to our code only if its results look suspicious.
67234         Ensure that the resulting buffer is only as large as necessary.
67235
67236         * lib/readutmp.c: Include readutmp.h first.
67237         Include <errno.h>, since readutmp.h no longer does that.
67238         * lib/readutmp.h: Don't include <errno.h>,
67239         <sys/param.h>, <time.h>; not needed to establish interface.
67240         (errno): Remove decl.
67241         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
67242         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
67243         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
67244
67245 2004-11-28  Simon Josefsson  <jas@extundo.com>
67246
67247         * lib/base64.h, base64.c: New file.
67248
67249 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67250
67251         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
67252
67253 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67254
67255         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
67256         (Depends-on): Remove pathmax, same.  Add mempcpy.
67257         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
67258         (Makefile.am): Append getcwd.h to lib_SOURCES.
67259         (Include): Add getcwd.h.
67260         (Maintainer): Change from Jim Meyering to "all, glibc",
67261         since getdate now uses intended-for-glibc code.
67262         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
67263         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
67264
67265 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67266
67267         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
67268         HP's ANSI C compiler.
67269         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
67270         Declaring int functions causes warnings on some modern systems and
67271         shouldn't be needed to compile on ancient ones.
67272         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
67273         defined.
67274
67275         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
67276         with the following changes.
67277         (__set_errno): Parenthesize properly.
67278         Include <stdbool.h>.
67279         (MIN, MAX, MATCHING_INO): New macros.
67280         (__getcwd): Define with prototype, not K&R form.
67281         Use heuristics to allocate default buffer on stack if possible.
67282         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
67283         behavior, and to avoid the PATH_MAX limit when computing
67284         ../../../../...
67285         Use MATCHING_INO to compare inode number to file.
67286         Check for arithmetic overflow in size calculations.
67287         Fix bug in reallocation of dot array that caused getcwd to fail
67288         on directories nested deeper than 75.
67289         Be more careful about saving errno on error.
67290         Do not use realloc; use only free+malloc, as this is a bit
67291         more flexible and avoids a needless copy operation.
67292         Do not inspect st_dev and st_ino for symbolic links; POSIX
67293         doesn't specify the latter.
67294         Check for closedir errors.
67295         Avoid needless casts.
67296         Use "#ifdef weak_alias" around weak_alias, to be like other
67297         glibc code.
67298         The following changes to getcwd.c have effect only when used in
67299         gnulib; they have no effect inside glibc proper.
67300         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
67301         as alloca isn't used.
67302         (alloca, __alloca): Likewise.
67303         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
67304         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67305         unconditionally, as gnulib assumes C89 or better.
67306         Do not include <sys/param.h>.
67307         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
67308         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
67309         better.
67310         (NULL) [!defined NULL]: Remove; we assume C89 or better.
67311         Include <dirent.h> in a way that is compatible with modern Autoconf.
67312         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
67313         New macros, if not already defined.
67314         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
67315         Use "_LIBC", not "defined _LIBC", for consistency.
67316         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
67317         a mempcpy module.
67318         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
67319         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
67320         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
67321         credit only to Jim Meyering and adjust the copyright dates.
67322         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
67323         <stdlib.h>, <unistd.h>, "pathmax.h".
67324         Instead, include "xgetcwd.h" (first) and "getcwd.h".
67325         (INITIAL_BUFFER_SIZE): Remove.
67326         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
67327
67328 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67329
67330         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
67331         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
67332         Use the _ONCE methods, for efficiency.
67333         Check for fcntl.h.  In test program, include <errno.h>
67334         and <fcntl.h> if available.  Remove old K&R cruft from
67335         test program.  Check for common errors in GNU/Linux,
67336         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
67337         don't do AC_LIBOBJ, as that's getcwd.m4's job.
67338         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
67339         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
67340         name accordingly.
67341         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
67342         accommodate new getcwd.c.
67343         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
67344         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
67345         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
67346         that's all we need now.
67347
67348 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67349
67350         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
67351         argp-parse.c depends on getopt internals, that means we should
67352         always use our getopt, to be on the safe side.
67353         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
67354         order not to spoil the result of an eventual previous invocation
67355         of gl_GETOPT_SUBSTITUTE.
67356
67357 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67358
67359         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
67360         redefinition warnings. To avoid them, include the defines
67361         in `#if !defined __need_getopt ... #endif'. The only place
67362         where __getopt_argv_const is used is in definitions
67363         of getopt_long and getopt_long_only below, which are as well
67364         protected by `#ifndef __need_getopt'.
67365         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
67366         __need_getopt after including <stdio.h> and <unistd.h> These
67367         headers might have defined it.
67368
67369 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67370
67371         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
67372
67373 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67374
67375         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
67376         (futimens): New function, which uses futimes if available.
67377         (futimens, utimens): Support timespec==NULL, with same semantics
67378         as utime and utimens.
67379         * lib/utimens.h (futimens): New decl.
67380
67381 2004-11-23  Jim Meyering  <jim@meyering.net>
67382
67383         * lib/getopt_.h: Remove trailing blanks.
67384
67385 2004-11-23  Jim Meyering  <jim@meyering.net>
67386
67387         * lib/__fpending.c: Add comment.
67388
67389 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
67390
67391         * modules/canonicalize (Depends-on): Add xreadlink.
67392         Problem reported by James Youngman.
67393
67394 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67395
67396         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
67397         New macros.
67398         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
67399         optopt): Use them instead of invoking ## directly; otherwise, the
67400         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
67401
67402 2004-11-19  Bruno Haible  <bruno@clisp.org>
67403
67404         * lib/strtok_r.c: Move comments from here...
67405         * lib/strtok_r.h: ... to here.
67406
67407 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67408
67409         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
67410         implementations that mishandle size_t overflow.
67411
67412 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67413
67414         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
67415         might fail.  Problem reported by Yoann Vandoorselaere.
67416         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
67417         implementations that mishandle size_t overflow.
67418
67419 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67420
67421         * modules/canon-host (Depends-on): Add strdup.
67422
67423 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67424
67425         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
67426
67427 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67428
67429         * lib/canon-host.c: Include "strdup.h".
67430         (canon_host): Use getaddrinfo if available, so that IPv6 works.
67431         Use strdup instead of malloc/strcpy to duplicate strings.
67432
67433         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
67434         (human_space_before_unit): New constant.
67435         * lib/human.c (human_readable): Support it.
67436
67437         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
67438         (xgetcwd): Set errno correctly when failing.
67439         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
67440         the failure is actually due to a PATH_MAX problem.
67441
67442         Further getopt changes to make it more likely that glibc will
67443         buy the changes back.
67444         * lib/getopt.c (POSIXLY_CORRECT): New constant.
67445         (getopt): Use it, so to preserve glibc semantic
67446         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
67447         when compiling for libc.
67448         * lib/getopt_.h (__getopt_argv_const): Bring it back.
67449         (getopt_long, getopt_long_only): Use it.
67450
67451         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67452         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
67453         (getopt): Argv is now char * const *, as per standard.
67454         (_getopt_internal_r, _getopt_internal): Argv is now char **,
67455         not char *__getopt_argv_const *.
67456         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67457         _getopt_long_only_r): Likewise.
67458         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
67459         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67460         _getopt_long_r, _getopt_long_only_r): Likewise.
67461         * lib/getopt_.h (__getopt_argv_const): Remove.
67462         (getopt): Argv is now char * const *, as per standard.
67463
67464         * lib/getdate.y (tORDINAL): New token.
67465         (day, relunit): Allow it for relative times.
67466         (relative_time_table): Use tORDINAL for ordinals.
67467
67468 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67469
67470         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
67471         Document that "second" isn't allowed as an ordinal number.
67472
67473 2004-11-16  Jim Meyering  <jim@meyering.net>
67474
67475         * modules/closeout (Depends-on): Add fpending.
67476
67477 2004-11-15  Jim Meyering  <jim@meyering.net>
67478
67479         * lib/closeout.c: Include "__fpending.h" once again.
67480         Include <stdbool.h>.
67481         (close_stdout): Don't fail just because stdout was closed initially,
67482         since some programs don't write to stdout in the normal course of
67483         operation (other than --version and --help), and we don't want this
67484         function to make e.g. `touch file >&-' fail.
67485         But do fail if it was closed and someone has tried to write to it.
67486         E.g., `printf foo >&-' must fail.
67487
67488 2004-11-13  Jim Meyering  <jim@meyering.net>
67489
67490         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
67491
67492 2004-11-12  Simon Josefsson  <jas@extundo.com>
67493
67494         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
67495         small doc fix is still pending.
67496
67497 2004-11-11  Simon Josefsson  <jas@extundo.com>
67498
67499         * modules/strtok_r: New file.
67500
67501         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67502         strtok_r.
67503
67504 2004-11-11  Simon Josefsson  <jas@extundo.com>
67505
67506         * m4/strtok_r.m4: New file.
67507
67508         * m4/getopt.m4: Replace opterr.
67509
67510 2004-11-11  Simon Josefsson  <jas@extundo.com>
67511
67512         * lib/strtok_r.h, strtok_r.c: New file.
67513
67514 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67515
67516         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
67517         of replacing opterr, getopt, etc.  This should handle the
67518         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
67519
67520 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
67521
67522         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
67523         we can stop lying to compilers about the constness of argv when we
67524         are compiled outside glibc.
67525         (getopt, getopt_long, getopt_long_only): Use it.
67526         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
67527         _getopt_internal, getopt): Likewise.
67528         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
67529         _getopt_long_only_r): Likewise.
67530         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
67531         _getopt_long_r, _getopt_long_only_r): Likewise.
67532
67533         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
67534         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
67535         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
67536         the other external symbols.
67537         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
67538         declaration, since the above renaming now works around collisions.
67539
67540 2004-11-11  Jim Meyering  <jim@meyering.net>
67541
67542         * lib/linebreak.c: Remove trailing blanks.
67543         * lib/alloca_.h: Likewise.
67544         * lib/acosl.c: Likewise.
67545         * lib/euidaccess.c: Likewise.
67546         * lib/allocsa.h: Likewise.
67547
67548 2004-11-10  Simon Josefsson  <jas@extundo.com>
67549
67550         * m4/getaddrinfo.m4: New file.
67551
67552 2004-11-10  Simon Josefsson  <jas@extundo.com>
67553
67554         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
67555
67556 2004-11-10  Simon Josefsson  <jas@extundo.com>
67557
67558         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67559         getaddrinfo.
67560
67561         * modules/getaddrinfo: New file.
67562
67563 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67564
67565         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
67566
67567 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67568
67569         * lib/mktime.c (SHR): New macro, which is a portable
67570         substitute for >> that should work even on Crays.
67571         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
67572         Problem reported by Mark D. Baushke in
67573         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
67574         * lib/getdate.y (SHR): Likewise.
67575         (tm_diff): Use it.
67576         * lib/strftime.c (SHR): Likewise.
67577         (tm_diff): Use it.
67578         * lib/quotearg.c (struct quoting_options): Use unsigned int for
67579         quote_these_too, so that right shifts are well defined.  All uses
67580         changed.
67581
67582 2004-11-10  Jim Meyering  <jim@meyering.net>
67583
67584         Ensure that no close failure goes unreported.
67585         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
67586         return early when it seems there's nothing to flush.
67587         Don't include __fpending.h.
67588
67589 2004-11-10  Jim Meyering  <jim@meyering.net>
67590
67591         * modules/closeout (Depends-on): Remove fpending.
67592
67593 2004-11-10  Jim Meyering  <jim@meyering.net>
67594
67595         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
67596
67597 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67598
67599         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
67600         gl_FUNC_STRFTIME.
67601         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
67602         and AC_REQUIRE when possible, to avoid duplicate checks.
67603         Check for <wchar.h>.
67604
67605 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67606
67607         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
67608
67609 2004-11-09  Bruno Haible  <bruno@clisp.org>
67610
67611         * m4/sockpfaf.m4: New file.
67612
67613 2004-11-05  Bruno Haible  <bruno@clisp.org>
67614
67615         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
67616         Reported by Mark D. Baushke <mdb@cvshome.org>.
67617
67618 2004-11-04  Bruno Haible  <bruno@clisp.org>
67619
67620         2004-09-11  Bruno Haible  <bruno@clisp.org>
67621                 * allocsa.valgrind: New file.
67622         2004-02-06  Bruno Haible  <bruno@clisp.org>
67623                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
67624                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
67625                 Reported by Christopher Seip <chris.seip@hp.com>.
67626
67627 2004-11-04  Bruno Haible  <bruno@clisp.org>
67628
67629         * modules/allocsa (Files): Add lib/allocsa.valgrind.
67630         (Makefile.am): Distribute it.
67631
67632 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
67633
67634         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
67635         with errno == ERANGE if the buffer is too small.
67636         Problem reported by Mark D. Baushke.
67637
67638 2004-11-03  Albert Chin  <china@thewrittenword.com>
67639             Paul Eggert  <eggert@cs.ucla.edu>
67640
67641         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
67642         equivalent, substitute $ac_type for equivalent type rather than
67643         blindly using uint32_t *always* which won't work if uint32_t is not
67644         available.  Define _UINT32_T to work around typedef of uint32_t if
67645         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
67646         2.5.1.
67647
67648 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67649
67650         * m4/jm-macros.m4: Sync from coreutils.
67651         (gl_MACROS): Check for mbrlen, for pathchk.
67652         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
67653
67654 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67655
67656         * lib/xreadlink.c (MAXSIZE): New macro.
67657         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
67658         size does not exceed MAXSIZE.  Avoid cast.
67659         As suggested by Mark D. Baushke in
67660         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
67661         if readlink fails with buffer size just under MAXSIZE, try again
67662         with MAXSIZE.
67663
67664 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
67665
67666         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
67667
67668 2004-11-02  Derek R. Price  <derek@ximbiot.com>
67669         and  Paul Eggert  <eggert@cs.ucla.edu>
67670
67671         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
67672         (get_date): Overparenthesize to avoid GCC warning.
67673
67674 2004-11-02  Bruno Haible  <bruno@clisp.org>
67675
67676         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
67677         returns void.
67678
67679 2004-11-02  Bruno Haible  <bruno@clisp.org>
67680
67681         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
67682         function returns void.
67683
67684 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67685
67686         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
67687         fflush_unlocked, flockfile, funlockfile, funlockfile,
67688         fputs_unlocked, putc_unlocked.
67689
67690 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
67691
67692         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67693         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
67694         already declared.
67695
67696 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67697
67698         * modules/getdate (Files): Add doc/getdate.texi.
67699         (Depends-on): Add setenv, xalloc.
67700
67701 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67702
67703         * lib/getdate.y: Add support for TZ="foo" within a date string.
67704         Fix some bugs near time_t boundaries.  Reject dates with
67705         out-of-range components, e.g., "Sept 31".
67706         Include <stdlib.h>, "setenv.h", "xalloc.h".
67707         (ISDIGIT_LOCALE): Remove; unused.
67708         Note that the TZ and time functions used here are not reentrant.
67709         (mktime_ok, get_tz): New functions.
67710         (TZBUFSIZE): New constant.
67711         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
67712         This requires that we sometimes generate our own TZ="XXX..." setting.
67713
67714 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67715
67716         * doc/getdate.texi: New file, from coreutils with modifications for
67717         the new TZ parsing.
67718
67719 2004-10-27  Derek R. Price  <derek@ximbiot.com>
67720
67721         * lib/mktime.c (not_equal_tm): Remove redundant check.
67722
67723 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67724
67725         * modules/regex (lib_SOURCES): Add regex.c.
67726         Reported by James Youngman in
67727         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
67728
67729 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67730
67731         * lib/getdate.y: Use Bison 1.875 features, and some minor
67732         code cleanups.  This change does not affect semantics.
67733         Don't include <stdlib.h>; no longer needed.
67734         Don't include unlocked-io.h; only the "#if TEST" code uses
67735         stdio, and performance isn't crucial there.
67736         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
67737         Bison 1.875 features as described below.
67738         All uses of "PC." replaced by "pc->".
67739         (YYSTYPE): Add a forward declaration.
67740         (yylex, yyerror): Use full prototypes in forward decls.
67741         Use "%pure-parser" rather than obsolescent "%pure_parser".
67742         Use %parse-param and %lex-param instead of obsolescent
67743         YYPARSE_PARAM and YYLEX_PARAM.
67744         (meridian_table, month_and_day_table, time_units_table,
67745         relative_time_table, time_zone_table, military_table,
67746         lookup_zone, lookup_word, get_date):
67747         Use NULL instead of 0 where appropriate.
67748         (to_hour): Avoid abort (), to avoid a dependency on
67749         stdlib.h.
67750         (yyerror, yylex): Now accepts parser_control * arg.
67751         (main) [TEST]: Use '\0' rather than 0 for char.
67752
67753 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67754
67755         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
67756
67757 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67758
67759         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
67760         It's now the caller's responsibility to handle the case where
67761         !HAVE_GETPAGESIZE && !defined getpagesize.
67762
67763         * lib/mktime.c (leapyear): Arg is long int, not int.
67764
67765 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67766
67767         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67768
67769 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67770
67771         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67772         missing.  Problem reported by James Youngman.
67773
67774 2004-10-16  Simon Josefsson  <jas@extundo.com>
67775
67776         * gnulib-tool: Fix comments.  Fix parse problem.
67777         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67778
67779 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67780
67781         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67782         implementation of getopt_long.  Problem reported by Alexander Taler in:
67783         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67784
67785 2004-10-15  Bruno Haible  <bruno@clisp.org>
67786
67787         * gnulib-tool: Untabify. Initialize supplied_libname.
67788         (func_usage): More homogenous output.
67789         (func_modules_transitive_closure, func_modules_to_filelist,
67790         func_emit_lib_Makefile_am): New functions.
67791         (func_import): New function, extracted from big case statement. Use
67792         func_get_license, func_modules_transitive_closure,
67793         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67794         opt_lgpl. Don't use test -a, as it's not portable.
67795         (func_create_testdir): Use func_modules_transitive_closure,
67796         func_modules_to_filelist, func_emit_lib_Makefile_am.
67797
67798 2004-10-15  Bruno Haible  <bruno@clisp.org>
67799
67800         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67801
67802 2004-10-15  Bruno Haible  <bruno@clisp.org>
67803
67804         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67805         the portions belonging to each module.
67806         Suggested by Derek Robert Price <derek@ximbiot.com>.
67807
67808 2004-10-12  Simon Josefsson  <jas@extundo.com>
67809
67810         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67811         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67812         to real functions.
67813
67814 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67815
67816         * modules/vsnprintf: New file.
67817
67818 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67819
67820         * m4/vsnprintf.m4: New file.
67821
67822 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67823
67824         * lib/vsnprintf.h: New file.
67825         * lib/vsnprintf.c: New file.
67826
67827 2004-10-11  Bruno Haible  <bruno@clisp.org>
67828
67829         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67830         vsnprintf.
67831
67832 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67833
67834         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67835
67836 2004-10-07  Bruno Haible  <bruno@clisp.org>
67837
67838         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67839         fits into the provided buffer.
67840
67841 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67842
67843         * lib/diacrit.c, diacrit.h: Add GPL notice.
67844
67845         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67846         notice.
67847         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67848         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67849         This avoids a potential constant-folding bug.
67850
67851 2004-10-05  Bruno Haible  <bruno@clisp.org>
67852
67853         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67854         for the declaration of strsep.
67855
67856 2004-10-05  Bruno Haible  <bruno@clisp.org>
67857
67858         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67859
67860 2004-10-04  Simon Josefsson  <jas@extundo.com>
67861
67862         * modules/memmem: New file.
67863         * tests/test-memmem.c: New file.
67864         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67865
67866 2004-10-04  Simon Josefsson  <jas@extundo.com>
67867
67868         * m4/memmem.m4: New file.
67869
67870 2004-10-04  Simon Josefsson  <jas@extundo.com>
67871
67872         * lib/memmem.h: New file.
67873         * lib/memmem.c: New file, taken from glibc.
67874
67875 2004-10-04  Simon Josefsson  <jas@extundo.com>
67876
67877         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67878         '#ifdef USE_UNLOCKED_IO'.
67879
67880 2004-10-04  Simon Josefsson  <jas@extundo.com>
67881
67882         * config/srclist.txt: Add memmem from glibc.
67883
67884 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67885
67886         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67887
67888         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67889         modules/exclude, modules/getdate, modules/getline,
67890         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67891         modules/getusershell, modules/linebuffer, modules/md5,
67892         modules/mountlist, modules/posixtm, modules/readtokens,
67893         modules/readutmp, modules/regex, modules/sha1,
67894         modules/version-etc, modules/yesno:
67895         Remove dependency on unlocked-io.
67896
67897 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67898
67899         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67900
67901         * m4/unlocked-io.m4: Add copyright notice.
67902         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67903
67904 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67905
67906         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67907         * lib/xmalloc.c (xmemdup): Likewise.
67908         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67909         XFREE): Remove these long-obsolescent macros.
67910         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67911         * lib/xstrdup.c: Remove.
67912
67913         * lib/regex.c (re_comp): Cast gettext return value to char *,
67914         Problem reported by Martin Neitzel via Mark D. Baushke.
67915
67916 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67917
67918         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67919         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67920         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67921         regex.c, sha1.c, version-etc.c, yesno.c:
67922         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67923         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67924         the includer's responsibility.
67925
67926         Sync from coreutils.
67927
67928         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67929         points to the start of a string, as the C Standard says the
67930         resulting behavior is undefined.
67931
67932         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67933         simple -> simple_backups, numbered_existing ->
67934         numbered_existing_backups, numbered -> numbered_backups
67935         to avoid shadowing problems.  All uses changed.
67936         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67937         * lib/backupfile.c (check_extension, numbered_backup):
67938         Rename locals to avoid shadowing 'basename'.
67939         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67940         once.
67941
67942         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67943         * lib/.cvsignore: Add getopt.h.
67944
67945 2004-10-04  Bruno Haible  <bruno@clisp.org>
67946
67947         * modules/README: New file.
67948         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67949         not a module.
67950
67951 2004-10-02  Jim Meyering  <jim@meyering.net>
67952
67953         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67954
67955 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67956
67957         * modules/strsep: New file.
67958
67959 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67960
67961         * m4/strsep.m4: New file.
67962
67963 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67964
67965         * lib/strsep.h: New file.
67966         * lib/strsep.c: New file.
67967
67968 2004-10-01  Simon Josefsson  <jas@extundo.com>
67969
67970         * lib/snprintf.c (snprintf): Handle size==0.
67971
67972 2004-10-01  Simon Josefsson  <jas@extundo.com>
67973             Bruno Haible  <bruno@clisp.org>
67974
67975         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67976         (snprintf): Declare 'args'.
67977
67978 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67979
67980         * lib/snprintf.c: Remove comments as to why each header is needed.
67981
67982 2004-10-01  Bruno Haible  <bruno@clisp.org>
67983
67984         * MODULES.html.sh: Add strsep.
67985
67986 2004-09-30  Simon Josefsson  <jas@extundo.com>
67987
67988         * modules/snprintf: New file.
67989
67990 2004-09-30  Simon Josefsson  <jas@extundo.com>
67991
67992         * m4/snprintf.m4: New file.
67993
67994 2004-09-30  Simon Josefsson  <jas@extundo.com>
67995
67996         * lib/snprintf.h, lib/snprintf.c: New files.
67997
67998 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67999
68000         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
68001         (hol_entry_help): Never translate an empty string.
68002         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
68003         * lib/argp.h (OPTION_NO_TRANS): New option.
68004
68005 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68006
68007         * modules/argp (Maintainer): Replace Simon Josefsson
68008         by Sergey Poznyakoff.
68009
68010 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68011
68012         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
68013         changes merged back into glibc.
68014
68015 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68016
68017         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
68018
68019 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68020
68021         * lib/xvasprintf.c: Include xalloc.h.
68022         (xvasprintf): Use xalloc_die, not xmalloc_die.
68023
68024 2004-09-29  Bruno Haible  <bruno@clisp.org>
68025
68026         * modules/alloca-opt: New file, derived from modules/alloca.
68027         * modules/allocsa: Depend on alloca-opt instead of alloca.
68028         * modules/setenv: Likewise.
68029         * modules/vasnprintf: Likewise.
68030         * MODULES.html.sh: Add alloca-opt.
68031
68032 2004-09-28  Simon Josefsson  <jas@extundo.com>
68033
68034         * gnulib-tool: New parameter --lgpl, to asseert that modules are
68035         LGPL, and to replace license template from GPL to LGPL.
68036
68037 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68038
68039         * modules/dummy: Change license to LGPL.
68040
68041 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68042
68043         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
68044
68045 2004-09-24  Simon Josefsson  <jas@extundo.com>
68046
68047         * modules/minmax (License): Change from GPL to LGPL.
68048
68049 2004-09-23  Simon Josefsson  <jas@extundo.com>
68050
68051         * gnulib-tool (--import): Typo.
68052
68053 2004-09-23  Simon Josefsson  <jas@extundo.com>
68054
68055         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
68056
68057 2004-09-22  Bruno Haible  <bruno@clisp.org>
68058
68059         * modules/*: Add 'License' field.
68060         * gnulib-tool: Accept --extract-license option.
68061         (func_get_license): New function.
68062
68063 2004-09-21  Bruno Haible  <bruno@clisp.org>
68064
68065         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
68066         Reported by Simon Josefsson.
68067
68068 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68069
68070         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
68071         gl_AC_TYPE_LONG_LONG.
68072
68073 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68074
68075         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
68076
68077 2004-09-18  Simon Josefsson  <jas@extundo.com>
68078         and  Paul Eggert  <eggert@cs.ucla.edu>
68079
68080         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
68081         calls with autoreconf.  Define GL_LIB.
68082
68083 2004-09-14  Karl Berry  <karl@gnu.org>
68084
68085         * config/srclist.txt: unsync setenv.c, sigh.
68086
68087 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68088
68089         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
68090         Problem reported by Bruno Haible in:
68091         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
68092
68093 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68094
68095         * config/srclist.txt: Comment out argp-pvh.c.
68096
68097 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
68098
68099         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
68100         in case some system header has #define'd it.  Problem reported by
68101         Soeren D. Schulze in
68102         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
68103
68104 2004-09-09  Karl Berry  <karl@gnu.org>
68105
68106         * regex.[ch]: delete from the root.  These were supposed to be
68107                 synced with emacs cvs, but this has not happened for about
68108                 a year, and anyway nothing else uses emacs regex.[ch].
68109                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
68110                 lib/regex[.ch] is untouched.
68111
68112 2004-09-09  Bruno Haible  <bruno@clisp.org>
68113
68114         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
68115
68116 2004-09-09  Bruno Haible  <bruno@clisp.org>
68117
68118         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
68119         modifications.
68120         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
68121
68122 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68123
68124         * modules/xvasprintf: New file.
68125         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
68126
68127 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68128
68129         * lib/xvasprintf.h: New file.
68130         * lib/xvasprintf.c: New file.
68131         * lib/xasprintf.c: New file.
68132
68133 2004-09-08  Bruno Haible  <bruno@clisp.org>
68134
68135         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
68136
68137 2004-09-08  Bruno Haible  <bruno@clisp.org>
68138
68139         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
68140         length is > INT_MAX.
68141         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
68142         more.
68143
68144 2004-09-08  Bruno Haible  <bruno@clisp.org>
68145
68146         * lib/stdint_.h: New file, taken from GNU clisp.
68147
68148 2004-09-08  Bruno Haible  <bruno@clisp.org>
68149             Oskar Liljeblad  <oskar@osk.mine.nu>
68150
68151         * modules/stdint: New file.
68152         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
68153
68154 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68155
68156         Import from coreutils.
68157         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
68158         strings on unbounded length.  alloca's performance benefits aren't
68159         that important here.
68160         (V_STRDUP): Remove.
68161         (parse_with_separator): New function, with most of the internals
68162         of the old parse_user_spec.  Allow user to omit both user and group,
68163         for compatibility with FreeBSD.
68164         Clone only the user name, not the entire spec.
68165         Do not set *uid, *gid unless entirely successful.
68166         Avoid memory leak in some failing cases.
68167         Fix regression for USER.GROUP reported by Dmitry V. Levin in
68168         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
68169         (parse_user_spec): Rewrite to use parse_with_separator.
68170
68171 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68172
68173         * modules/userspec: Don't depend on alloca.
68174
68175 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68176
68177         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
68178
68179 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68180
68181         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
68182         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
68183         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
68184
68185 2004-08-16  Simon Josefsson  <jas@extundo.com>
68186
68187         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
68188         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
68189         Add --dry-run for --import.
68190         Let user provided command line parameters override configure.ac
68191         settings.
68192
68193 2004-08-12  Simon Josefsson  <jas@extundo.com>
68194
68195         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
68196         as discussed with Paul Eggert in threads rooted at
68197         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
68198         and
68199         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
68200         Before, the test was empty, and relied on ELIDE_CODE in source
68201         code.)
68202         (gl_PREREQ_GETOPT): New macro.
68203         (gl_GETOPT): Use them.
68204
68205 2004-08-12  Simon Josefsson  <jas@extundo.com>
68206
68207         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
68208         * lib/getopt_.h: Renamed from getopt.h.
68209
68210 2004-08-12  Simon Josefsson  <jas@extundo.com>
68211
68212         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
68213         Change default library name from libfoo to libgnu.
68214         Now, if you have a configure.ac that says:
68215                 gl_SOURCE_BASE(gl)
68216                 gl_M4_BASE(gl/m4)
68217                 gl_MODULES(error getopt etcetera)
68218                 gl_INIT
68219         you can import all you need by running:
68220                 ../gnulib/gnulib-tool --import
68221
68222         * modules/getopt (Files): Rename getopt.h to getopt_.h.
68223         (Makefile.am): Rewrite, use logic from argz.
68224         (Include): Use <getopt.h> instead of "getopt.h".
68225
68226 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68227
68228         * modules/argp (Files): Add m4/unlocked-io.m4.
68229         (Depends-on): Add extensions.
68230
68231 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68232
68233         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
68234         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
68235         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
68236         Check for program_invocation_name, program_invocation_short_name,
68237         flockfile, funlockfile, features.h, _getopt_long_only_r.
68238
68239 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68240
68241         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
68242         its complicated substitute.
68243         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
68244         and program_invocation_name.
68245         (__argp_basename) [!_LIBC]: Remove; the only use was
68246         replaced by its body.
68247         (__argp_short_program_name): Change condition from
68248         !defined __argp_short_program_name to
68249         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
68250         to match argp-namefrob.h.
68251         (__argp_failure): Don't assume strerror_r returns char *.
68252         * lib/argp-parse.c (N_): Define unconditionally.
68253         (argp_default_options): Fill out initializers with 0 to avoid
68254         gcc warnings.
68255
68256 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68257
68258         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
68259         getopt1.c.
68260
68261 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68262
68263         Merge from coreutils.
68264
68265         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
68266
68267         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
68268         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
68269
68270 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68271
68272         Merge from coreutils.
68273
68274         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
68275         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
68276         for Reliant Unix 5.43.
68277
68278         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
68279         (union fooround): Use uintmax_t, not long int.
68280         The rest is a merge from libc:
68281         [defined _LIBC]: Include <shlib-compat.h>.
68282         (_obstack) [defined _LIBC]: Remove after 2.3.4.
68283
68284         * lib/settime.c (settime): Recode to avoid warning with
68285         Sun Forte C 6U2.
68286
68287         * lib/strverscmp.c: Convert to UTF-8.
68288
68289 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68290
68291         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68292         m4/uintmax_t.m4.
68293
68294 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68295
68296         * modules/xalloc-die: New file.
68297         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
68298
68299         * modules/md5 (Files): Add m4/uint32_t.m4.
68300         * modules/sha1: Renamed from modules/sha.
68301         (Files):
68302         Rename lib/sha.h to lib/sha1.h.
68303         Rename lib/sha.c to lib/sha1.c.
68304         Rename m4/sha.m4 to m4/sha1.m4.
68305         (lib_SOURCES): Likewise.
68306         (configure.ac): Rename gl_SHA to gl_SHA1.
68307         (Include): sha.h -> sha1.h.
68308
68309 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68310
68311         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
68312         * m4/sha1.m4: Renamed from sha.m4.
68313         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
68314
68315 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68316
68317         * lib/obstack.h (obstack_empty_p):
68318         Don't assume that chunk->contents is suitably aligned.
68319         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
68320         Likewise. Problem reported by Benno in
68321         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
68322
68323         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
68324         readable.  This could be improved further but it'd take some work.
68325
68326 2004-08-08  Simon Josefsson  <jas@extundo.com>
68327
68328         * modules/xgethostname (Depends-on): Remove exit and error (not
68329         used).
68330
68331         * modules/getpass-gnu: Add getpass.h.
68332         (Depends-on): Add stdbool.
68333         * modules/getpass: Add getpass.h.
68334
68335 2004-08-08  Simon Josefsson  <jas@extundo.com>
68336
68337         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
68338         Check getpass declaration.
68339
68340 2004-08-08  Simon Josefsson  <jas@extundo.com>
68341
68342         * lib/xgethostname.c: Don't include error.h (not used).
68343
68344         * lib/getpass.h: Add.
68345         * lib/getpass.c: Include getpass.h first.
68346
68347 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
68348
68349         * lib/xalloc-die.c: New file.
68350         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
68351         All uses removed.
68352         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
68353         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
68354         xalloc-die.c.
68355         (_, N_, xalloc_die): Move to xalloc-die.c.
68356         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
68357         so that we needn't mess with xalloc_msg_memory_exhausted.
68358
68359         * lib/sha1.h: Renamed from sha.h.
68360         (SHA1_H): Renamed from _SHA_H.
68361         (sha1_ctx): Renamed from sha_ctx.
68362         (sha1_init_ctx): Renamed from sha_init_ctx.
68363         (sha1_process_block): Renamed from sha_process_block.
68364         (sha1_process_bytes): Renamed from sha_process_bytes.
68365         (sha1_finish_ctx): Renamed from sha_finish_ctx.
68366         (sha1_read_ctx): Renamed from sha_read_ctx.
68367         (sha1_stream): Renamed from sha_stream.
68368         (sha1_buffer): Renamed from sha_buffer.
68369         * lib/sha1.c: Likewise; renamed from sha.c.
68370         Do not include <sys/types.h>.
68371         Include <stddef.h> rather than <stdlib.h>.
68372
68373 2004-08-08  Bruno Haible  <bruno@clisp.org>
68374
68375         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
68376         FILESYSTEM_PREFIX_LEN.
68377         * lib/progreloc.c: Likewise.
68378         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
68379
68380 2004-08-06  Simon Josefsson  <jas@extundo.com>
68381
68382         * modules/progname (Depends-on): Don't depend on stdbool.
68383
68384 2004-08-06  Simon Josefsson  <jas@extundo.com>
68385
68386         * modules/getsubopt: New file.
68387         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68388         getsubopt.
68389
68390 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68391
68392         More merge from coreutils.
68393
68394         * m4/utimens.m4, m4/utimecmp.m4: New files.
68395         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
68396         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
68397         prereq.m4, sha.m4: Import changes from coreutils.
68398
68399 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68400
68401         More merge from coreutils.
68402         * modules/raise, modules/readtokens0, modules/utimens:
68403         * modules/utimecmp, module/xnanosleep: New files.
68404         * modules/strftime: Add lib/strftime.h.
68405         Change include from <time.h> to "strftime.h".
68406         * modules/yesno: Add lib/yesno.h.
68407         * modules/backupfile: Remove lib/addext.c.
68408         * modules/euidaccess: Add stat-macros.h.
68409         * modules/canonicalize, modules/euidaccess,
68410         modules/filemode, modules/lchown, modules/makepath,
68411         modules/rmdir, modules/stat: Likewise.
68412
68413 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
68414
68415         Merge from tar.
68416         * lib/argp-help.c (make_hol, hol_append): Don't assume that
68417         SIZE_MAX is a valid preprocessor constant.
68418         (__argp_basename): Change from "#ifndef _LIBC"
68419         to "#ifndef __argp_short_program_name", so that
68420         we don't compile these functions for tar.
68421
68422         More merges from coreutils.
68423         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
68424         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
68425         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
68426         * lib/addext.c: Remove; no longer needed.
68427         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
68428         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
68429         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
68430         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
68431         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
68432         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
68433         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
68434         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
68435         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
68436         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
68437         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
68438         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
68439         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
68440         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
68441         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
68442         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
68443         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
68444         Import changes from coreutils.
68445
68446 2004-08-05  Simon Josefsson  <jas@extundo.com>
68447
68448         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
68449
68450 2004-08-05  Simon Josefsson  <jas@extundo.com>
68451
68452         * m4/getsubopt.m4: New file.
68453
68454 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68455
68456         Merge from coreutils.
68457
68458         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
68459         * m4/getcwd-path-max.m4: New files.
68460
68461         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
68462         FILESYSTEM_PREFIX_LEN ->
68463         FILE_SYSTEM_PREFIX_LEN.
68464         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
68465         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
68466         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
68467         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
68468
68469         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
68470         prerequisite modules now handle the DOS stuff.
68471         Don't check for unistd.h.
68472
68473 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68474
68475         Merge from coreutils.
68476
68477         * lib/.gdb-history: Remove; this doesn't belong here.
68478
68479         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
68480         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
68481         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
68482         * lib/getcwd.c: New files.
68483
68484         * lib/dirname.h: Include <stdbool.h>.
68485         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
68486         for consistency with POSIX terminology.  All uses changed.
68487         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
68488         (strip_trailing_slashes): Use bool for booleans.
68489         * lib/stripslash.c (strip_trailing_slashes): Likewise.
68490
68491         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
68492         sometimes returns a positive errno value even when it succeeds.
68493         (print_errno_message) [!LIBC]: Fall back on strerror if
68494         __strerror_r fails.
68495
68496         * lib/path-concat.c (mempcpy): Don't define if a system header defines
68497         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
68498         (longest_relative_suffix): New function.
68499         (path_concat): Use it.  Assume first argument is not NULL.
68500         Port to DOS.  Omit redundant separators.
68501         Report an error instead of returning NULL.
68502         Use mempcpy instead of memcpy.
68503         (xpath_concat): Remove: not declared or used.
68504
68505         * lib/same.h: Include <stdbool.h>
68506         (same_name): Return bool, not int.
68507         * lib/same.c (same_name): Likewise.
68508         (errno): Don't declare; we assume C89 or better now.
68509
68510         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
68511         if not already defined.
68512
68513         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
68514         * lib/dup-safer.c (errno): Likewise.
68515
68516 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
68517
68518         Merge from coreutils.
68519         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
68520         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
68521         * modules/path-concat: Don't depend on strdup.
68522
68523 2004-08-03  Simon Josefsson  <jas@extundo.com>
68524
68525         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
68526         * lib/progname.h: Don't include stdbool.h.
68527
68528 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68529
68530         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
68531         * MODULES.html.sh (func_all_modules): Remove fatal.
68532
68533 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68534
68535         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
68536
68537 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
68538
68539         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
68540         working.
68541
68542 2004-08-02  Simon Josefsson  <jas@extundo.com>
68543
68544         * lib/getsubopt.h: New file, with comments from Bruno Haible.
68545         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
68546         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
68547
68548 2004-08-01  Simon Josefsson  <jas@extundo.com>
68549
68550         * lib/xgetdomainname.c: Include stdlib.h, for free().
68551
68552 2004-07-19  Bruno Haible  <bruno@clisp.org>
68553
68554         * MODULES.html.sh (func_all_modules): Add dummy.
68555
68556 2004-07-16  Simon Josefsson  <jas@extundo.com>
68557
68558         * modules/dummy: New file.
68559
68560 2004-07-16  Simon Josefsson  <jas@extundo.com>
68561
68562         * lib/dummy.c: New file.
68563
68564 2004-07-16  Bruno Haible  <bruno@clisp.org>
68565
68566         * lib/backupfile.h: Add extern "C" for C++.
68567         * lib/closeout.h: Likewise.
68568         * lib/copy-file.h: Likewise.
68569         * lib/findprog.h: Likewise.
68570         * lib/full-write.h: Likewise.
68571         * lib/pathname.h: Likewise.
68572         * lib/progname.h: Likewise.
68573         * lib/stpcpy.h: Likewise.
68574         * lib/stpncpy.h: Likewise.
68575         * lib/strcase.h: Likewise.
68576         * lib/strstr.h: Likewise.
68577         * lib/xalloc.h: Likewise.
68578
68579         * lib/mbswidth.h: Add extern "C" for C++.
68580         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
68581
68582 2004-07-13  Robert Millan  <robertmh@gnu.org>
68583
68584         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
68585
68586 2004-07-09  Simon Josefsson  <jas@extundo.com>
68587
68588         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
68589         failed without this.)
68590
68591 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68592
68593         * modules/chown (Files): Add lib/fchown-stub.c, since
68594         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
68595
68596 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
68597
68598         * lib/fchown-stub.c: New file.
68599
68600 2004-06-24  Jim Meyering  <jim@meyering.net>
68601
68602         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
68603
68604 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68605
68606         * modules/argz: Omit "#include".
68607
68608         * MODULES.html.sh (func_all_modules): Add calloc, to match
68609         2004-06-01 addition of calloc module.
68610
68611 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68612
68613         * m4/argz.m4: New file, which is autoupdated from libtool.
68614
68615 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68616
68617         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
68618         libtool.
68619
68620 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
68621
68622         * config/srclist-update: Don't insist on "USA." before the
68623         close-comment, as libtool omits the period and puts the */ on a
68624         separate line.
68625         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
68626         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
68627
68628 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
68629
68630         * modules/argz: New file.
68631         * MODULES.html.sh (func_all_modules): Add argz.
68632
68633 2004-06-12  Jim Meyering  <jim@meyering.net>
68634         and  Paul Eggert  <eggert@cs.ucla.edu>
68635
68636         * modules/hash (Files): Add lib/xalloc.h.
68637         * modules/pipe (Depends-on): Add wait-process.
68638         * modules/stat (Depends-on): Add xalloc.
68639         * modules/userspec (Files): Add lib/userspec.h.
68640         * modules/xstrto
68641
68642         Upgrade from gettext-0.13.
68643         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
68644         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
68645         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
68646
68647 2004-06-10  Jim Meyering  <jim@meyering.net>
68648
68649         * lib/calloc.c: New file.
68650
68651 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68652
68653         * lib/getdate.y (yylex): Allow space between sign and number.
68654         Problem reported by Dan Jacobson.
68655
68656 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68657
68658         Merge from coreutils CVS.
68659
68660         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
68661         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
68662         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
68663         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
68664         xstrtol.m4: Fix copyright date and/or serial number.
68665
68666         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
68667         See if we need an fchown replacement.
68668         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
68669         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
68670         and use the replacement function if we detect either defect.
68671
68672         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
68673         gl_UTIMECMP.
68674
68675 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
68676         and  Jim Meyering  <jim@meyering.net>
68677
68678         Merge from coreutils CVS.
68679
68680         * lib/stat-macros.h: New file, with contents from file-type.h
68681         and coreutils' system.h.
68682         * lib/file-type.c: Include "stat-macros.h".
68683         * lib/file-type.h (file_type): Move all macro definitions to new file,
68684         stat-macros.h.
68685
68686         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
68687         Wrap old code with this conditional.
68688         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
68689         function that does not dereference symlinks.
68690         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
68691
68692         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
68693         dependency problems.
68694         (xreadlink): Accept new arg SIZE, for efficiency.
68695         All decls and uses changed.
68696         * lib/xreadlink.h: Include <stddef.h>, for size_t.
68697
68698         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
68699         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
68700
68701         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
68702         sysexits.h.
68703
68704 2004-06-01  Jim Meyering  <jim@meyering.net>
68705
68706         * m4/calloc.m4: New file.
68707
68708 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
68709
68710         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
68711         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
68712         Also, fix a typo in a diagnostic.
68713
68714 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68715
68716         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
68717         or AC_FUNC_REALLOC.
68718
68719 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
68720
68721         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
68722         macros to be defined.
68723         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
68724         the allocator returns NULL because the requested size is zero.
68725
68726 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
68727
68728         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
68729         var.  Add comment explaining why libc still defines it.  This
68730         merges the following patch from glibc:
68731         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
68732
68733 2004-05-20  Andreas Schwab  <schwab@suse.de>
68734
68735         * m4/free.m4: Replace free if it not known to work, not the other
68736         way round.
68737
68738 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68739
68740         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
68741         present in glibc since revision 1.1 of this file.
68742         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
68743         obstack_alignment_mask, obstack_alloc, obstack_base,
68744         obstack_blank, obstack_blank_fast, obstack_chunk_size,
68745         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
68746         obstack_grow0, obstack_init, obstack_int_grow,
68747         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
68748         obstack_next_free, obstack_object_size, obstack_ptr_grow,
68749         obstack_ptr_grow_fast, obstack_room): Remove declarations of
68750         nonexistent functions.
68751
68752 2004-05-18  Karl Berry  <karl@gnu.org>
68753
68754         * config/srclist.txt: break link for vasnprintf.c.
68755
68756 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68757
68758         Port obstack to the AS/400, where pointers are 16 bytes wide and
68759         you cannot cast an integer to a valid pointer.  This patch is
68760         currently waiting to be integrated into glibc; see
68761         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
68762
68763         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
68764         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68765         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68766         (struct obstack): temp member is now a union of a pointer and
68767         an integer, instead of an integer.  All integer uses changed.
68768         This does not affect the physical layout of struct obstack,
68769         except on hosts (like the AS/400) where the size or alignment of
68770         void * is greater than that of ptrdiff_t.
68771         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68772         __STDC__)]: Store temporary in pointer member of union, not
68773         integer member.
68774         * lib/obstack.c: Include <stddef.h>, for offsetof.
68775         (struct fooalign): Remove; it doesn't need a name.
68776         (union fooround): Change double to long double, and add void *.
68777         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68778         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68779         not a macro.  Hence the values are always int; so remove all
68780         casts-to-int in uses.
68781
68782 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68783
68784         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68785         we can get this patch merged into glibc.
68786
68787 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68788             Paul Eggert  <eggert@cs.ucla.edu>
68789
68790         * m4/argp: Depend on alloca.
68791
68792 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68793             Paul Eggert  <eggert@cs.ucla.edu>
68794
68795         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68796         freecoding.
68797
68798 2004-05-17  Bruno Haible  <bruno@clisp.org>
68799
68800         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68801         precision that consists of a '.' followed by an empty digit string.
68802         Patch by Tor Lillqvist <tml@iki.fi>.
68803
68804 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68807         for backward compatibility with older code.  We need our own
68808         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68809         it under some other name, and our alloca.h will define it.
68810
68811 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68812             Derek Price  <derek@ximbiot.com>
68813
68814         * lib/alloca.c: Include <alloca.h>, to get our interface.
68815         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68816         include <alloca.h> first.  Use C89 prototype for alloca; this
68817         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68818         Use #elif for simplicity, since we can assume C89 now.
68819         Don't try to source the system alloca.h since it will not be found
68820         and to prevent recursively including its replacement.
68821         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68822         * lib/regex.c: Likewise.
68823
68824 2004-05-16  Derek Price  <derek@ximbiot.com>
68825             Paul Eggert  <eggert@cs.ucla.edu>
68826
68827         getline cleanup.  This changes the getndelim2 API: both order of
68828         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68829         no delimiter).
68830
68831         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68832         interface does that.
68833         (getline): Always use getdelim, so that we don't have two
68834         copies of this code.
68835         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68836         if available.
68837         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68838         (GETNDELIM2_MAXIMUM): New macro.
68839         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68840         instead of the old practice of delim2==0.  All callers changed.
68841         Return -1 on overflow, instead of returning junk.
68842         Do not set *linesize unless allocation succeeds.
68843         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68844         that we include sys/types.h.
68845         * lib/getnline.h: Likewise.
68846         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68847         (getndelim2): Reorder arguments.
68848         * lib/getnline.c (getnline, getndelim):
68849         Don't discard the NMAX argument.
68850         (getnline): Invoke getndelim, to avoid code duplication.
68851         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68852         of (size_t) -1 by callers of the getnline family.
68853
68854 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68855
68856         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68857         Check for gettimeofday.
68858         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68859         Check for settimeofday, stime.
68860
68861 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68862
68863         * lib/nanosleep.c (suspended): Change its type from int to
68864         sig_atomic_t volatile.
68865         (first_call): Make it private to rpl_nanosleep, and have it
68866         be zero initially as that's a bit faster.
68867         (my_usleep): Round up fractional times instead of truncating them,
68868         as this is the usual meaning for 'sleep'.
68869
68870         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68871         doesn't work.
68872         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68873         (ENOSYS): Define if not defined.
68874         (settime): Fall back on stime if it exists and settimeofday fails.
68875         But don't bother with fallbacks if a method fails with errno == EPERM.
68876
68877 2004-05-11  Jim Meyering  <jim@meyering.net>
68878
68879         Prior to this change, the save_cwd caller required read access to the
68880         current directory on most systems (ones with the fchdir function).
68881
68882         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68883         fails, try write-only, and finally, resort to using xgetcwd.
68884
68885 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68886
68887         * lib/obstack.c, obstack.h: Import changes from libc.
68888
68889 2004-04-28  Bruno Haible  <bruno@clisp.org>
68890
68891         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68892         also implicitly appends .exe to executables.
68893         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68894         accepts Windows pathnames.
68895         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68896         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68897         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68898         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68899         Reported by Derek Robert Price <derek@ximbiot.com>.
68900
68901 2004-04-21  Karl Berry  <karl@gnu.org>
68902
68903         * config/srclist.txt (localcharset.c): break sync.
68904
68905 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68906
68907         * m4/host-os.m4: Add a copyright notice.
68908
68909 2004-04-20  Jim Meyering  <jim@meyering.net>
68910
68911         Change UTILS_ to gl_ in AC_DEFINE'd names.
68912         Change utils_- and jm_-prefixed variables, too.
68913         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68914         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68915         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68916
68917         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68918         Don't emit trailing blanks.
68919         Also rename jm_-prefixed variables to have gl_ prefix.
68920
68921         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68922         Also rename jm_-prefixed variables to have gl_ prefix.
68923
68924         * m4/jm-macros.m4: Reflect the renamings.
68925         * m4/prereq.m4: Likewise.
68926
68927 2004-04-20  Jim Meyering  <jim@meyering.net>
68928
68929         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68930         memory.
68931
68932 2004-04-20  Jim Meyering  <jim@meyering.net>
68933             Bruno Haible  <bruno@clisp.org>
68934
68935         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68936         memory when realloc fails.
68937
68938 2004-04-19  Jim Meyering  <jim@meyering.net>
68939
68940         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68941         now that readutmp.c may call `free (0)'.
68942
68943 2004-04-19  Bruno Haible  <bruno@clisp.org>
68944
68945         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68946         * m4/inttypes_h.m4: Likewise.
68947         * m4/stdint_h.m4: Likewise.
68948         * m4/intmax_t.m4: Likewise.
68949         * m4/uintmax_t.m4: Likewise.
68950
68951 2004-04-18  Jim Meyering  <jim@meyering.net>
68952
68953         * m4/prereq.m4: Don't forbid jm_ prefix.
68954
68955         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68956         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68957         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68958         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68959         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68960         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68961         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68962         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68963         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68964         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68965         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68966         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68967         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68968         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68969         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68970         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68971         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68972         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68973         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68974
68975 2004-04-18  Jim Meyering  <jim@meyering.net>
68976
68977         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68978         failure, don't leak memory and do call END_UTMP_ENT.
68979
68980 2004-04-16  Jim Meyering  <jim@meyering.net>
68981
68982         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68983         coreutils' stat program.
68984         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68985
68986 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68987
68988         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68989         C89.
68990         (CHAR_BIT): Remove, since we assume C89.
68991         Include <stdint.h> if available, as per current Autoconf CVS advice.
68992
68993 2004-03-31  Jim Meyering  <jim@meyering.net>
68994
68995         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68996         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68997         * m4/xalloc.m4: Likewise.
68998
68999 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69000
69001         Merge from coreutils.
69002
69003         * m4/inttostr.m4: New file.
69004         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
69005         Require AM_STDBOOL_H and gl_TIMESPEC instead.
69006         Require gl_CLOCK_TIME.
69007         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
69008
69009 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69010
69011         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
69012         not bool, to be more consistent with Unix conventions.
69013         Suggested by Bruno Haible.
69014
69015         Merge from coreutils.
69016
69017         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
69018         * lib/umaxtostr.c: New files.
69019
69020         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
69021         the usual <time.h> dance.
69022         (get_date): Change signature to support fractional time stamps.
69023         All callers changed.
69024         * lib/getdate.y: Include "getdate.h" first, as we can now
69025         assume C89 and don't need to worry about 'const'.
69026         Similarly, include "unlocked-io.h" near start, not in middle.
69027         Include <limits.h>.
69028         (textint.value): Use long int rather than int.
69029         (textint.digits): Use size_t rather than int.
69030         (BILLION, LOG10_BILLION): New constants.
69031         (parser_control): New member rel_ns.  Members day_ordinal,
69032         time_zone, month, day, hour, minutes, rel_year, rel_month,
69033         rel_day, rel_hour, rel_minutes, rel_seconds
69034         are now long int, not int.  Member seconds is now struct timespec,
69035         not int.  New member timespec_seen.  Members dates_seen, days_seen,
69036         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
69037         not int.
69038         (%union.intval): Now long int, not int.
69039         New member timespec.
69040         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
69041         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
69042         (spec): Now is a timespec or an item list.
69043         (timespec, items): New nonterminals.
69044         (time, rel, relunit, number, get_date):
69045         Add support for fractional seconds.
69046         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
69047         (gmtime, localtime, mktime): Remove decls; not needed with C89.
69048         (to_hour): First arg is now long int, not int.
69049         (to_year): Returns long int, not int.
69050         Don't treat year -70 like 70.
69051         (tm_diff): Returns long int, not int.
69052         (lookup_word): Use bool instead of int when appropriate.
69053         (yylex): Use size_t for count, not int.
69054         Detect overflow when parsing large integer constants.
69055         Add support for fractions.
69056         (get_date): Make pointers 'const' if possible.
69057         Use more-portable code to detect integer overflow.
69058         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
69059         Don't use ctime; it's not reliable if the year has >4 digits.
69060
69061         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
69062         This is for compatibility with BSD.
69063
69064         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
69065         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
69066         From coreutils' system.h.
69067
69068         * lib/userspec.c: Don't include "posixver.h".
69069         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
69070         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
69071         compatible extension.  Simplify code by removing a boolean int
69072         that was always nonzero if a string was nonnull.
69073
69074 2004-03-30  Jim Meyering  <jim@meyering.net>
69075
69076         Merge from coreutils.
69077
69078         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
69079         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
69080         on some systems one must include <grp.h> before it.
69081         Reported by Christian Krackowizer.
69082
69083 2004-03-30  Jim Meyering  <jim@meyering.net>
69084
69085         Merge from coreutils.
69086
69087         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
69088
69089         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
69090         an empty input stream.
69091
69092         * lib/readtokens.c: Include <stdbool.h>.
69093         (readtoken): Use `size_t' rather than int/long.
69094         All callers adjusted.
69095         Use `bool' rather than `int' where appropriate.
69096         Use memset rather than an explicit loop.
69097         Use x2nrealloc rather than xrealloc.
69098         Allow the use of `\0' as a delimiter.
69099         (readtokens): Likewise.
69100         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
69101
69102 2004-03-30  Jim Meyering  <jim@meyering.net>
69103
69104         * m4/realloc.m4: Remove file, since now it does no more than
69105         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
69106         the `configure.ac' section of module/realloc.
69107         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
69108
69109 2004-03-30  Bruno Haible  <bruno@clisp.org>
69110
69111         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
69112         nonnull.
69113
69114 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69115
69116         Merge changes to getloadavg.c from coreutils and Emacs.
69117
69118         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
69119         Define to an expression, not to the empty string.
69120         Include cloexec.h and xalloc.h.
69121         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
69122         Use set_cloexec_flag rather than rolling our own.
69123         * lib/cloexec.c, lib/cloexec.h: New files.
69124
69125 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69126
69127         * m4/cloexec.m4: New file.
69128
69129 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69130
69131         * lib/getopt.h: Sync with libc CVS.
69132
69133 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69134             Bruno Haible  <bruno@clisp.org>
69135
69136         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
69137         mbswidth.
69138
69139 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69140             Bruno Haible  <bruno@clisp.org>
69141
69142         * lib/mbswidth.h: Include <wchar.h> only if
69143         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
69144         <wchar.h>.
69145         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
69146
69147 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69148
69149         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
69150         Sync with libc CVS.
69151         * lib/getopt_int.h: New file, also synced from libc.
69152
69153 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69154
69155         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
69156         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
69157         Bring back getopt.c, getopt.h, getopt1.c.
69158
69159 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69160
69161         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
69162         All uses changed.  Check for sa_sigaction member; this fixes
69163         a bug first reported by Jason Andrade in
69164         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69165
69166 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69167
69168         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
69169         '#if' expressions.  Unlike the code it replaces, it does not
69170         depend on (defined _SC_PAGESIZE).  However, it does depend on
69171         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
69172         first reported by Jason Andrade in
69173         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69174
69175 2004-02-25  Simon Josefsson  <jas@extundo.com>
69176
69177         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
69178
69179 2004-02-25  Simon Josefsson  <jas@extundo.com>
69180
69181         * lib/strdup.h: New file.
69182         * lib/strdup.c: Include it.
69183         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
69184         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
69185
69186 2004-02-23  Karl Berry  <karl@gnu.org>
69187
69188         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
69189         (from fencepost.gnu.org:/gd/gnuorg).
69190
69191 2004-02-23  Karl Berry  <karl@gnu.org>
69192
69193         * config/srclistvars.sh (GNUORG) [karl]: redefine.
69194         * config/srclist.txt: add maintain/standards documents.
69195
69196 2004-02-18  Bruno Haible  <bruno@clisp.org>
69197
69198         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
69199         Reported by Derek Robert Price <derek@ximbiot.com>.
69200
69201 2004-02-16  Karl Berry  <karl@gnu.org>
69202
69203         * config/mkinstalldirs, install-sh: update from automake.
69204
69205 2004-02-06  Karl Berry  <karl@gnu.org>
69206
69207         * m4/po.m4: update from gettext 0.14.1.
69208
69209 2004-02-06  Karl Berry  <karl@gnu.org>
69210
69211         * lib/config.charset: update from gettext 0.14.1.
69212
69213 2004-02-05  Paul Eggert  <eggert@twinsun.com>
69214
69215         Add comments and code, prompted by suggestions from Bruno Haible
69216         for sh-quote.
69217         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
69218         describing the enum quoting_style values.
69219         * lib/quotearg.c (quotearg_alloc): New function.
69220         (quotearg_buffer_restyled): Treat lone { and } as special.
69221         Treat = as special.  Work around bug with older shells
69222         that "see" a '\' that is really the 2nd byte of a multibyte char.
69223         Quote empty string with shell_quoting_style.
69224
69225 2004-02-03  Bruno Haible  <bruno@clisp.org>
69226
69227         * m4/pipe.m4: New file, from GNU gettext.
69228
69229 2004-02-03  Bruno Haible  <bruno@clisp.org>
69230
69231         * lib/pipe.h: New file, from GNU gettext.
69232         * lib/pipe.c: New file, from GNU gettext.
69233
69234 2004-01-27  Bruno Haible  <bruno@clisp.org>
69235
69236         * m4/execute.m4: New file, from GNU gettext.
69237
69238 2004-01-27  Bruno Haible  <bruno@clisp.org>
69239
69240         * lib/execute.h: New file, from GNU gettext.
69241         * lib/execute.c: New file, from GNU gettext.
69242         * lib/w32spawn.h: New file, from GNU gettext.
69243
69244 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69245
69246         Merge from diffutils.
69247
69248         * lib/file-type.c (file_type): Add typed memory objects.
69249         * lib/file-type.h (S_TYPEISTMO): New macro.
69250
69251         * lib/c-stack.h (c_stack_action): Remove argv argument.
69252         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
69253         (die): Don't calculate message unless segv_action returns.
69254         (get_stack_location, min_address_from_argv, max_address_from_argv,
69255         volatile stack_base, volatile_stack_size): Remove.
69256         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
69257         that every segmentation violation is a stack overflow.  (Ouch!)
69258         See Debian bug 136249 (still outstanding) for more info about why
69259         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
69260
69261 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69262
69263         Exit-status fix from coreutils.
69264
69265         Use exit_failure consistently in place of EXIT_FAILURE,
69266         so that program exit statuses are consistent on failure.
69267
69268         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
69269         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
69270         * lib/argmatch.h: Comment fix to match the above.
69271         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
69272         Now a macro referring to exit_failure, instead of a separate
69273         variable.  Include "exitfail.h" to get it.
69274         * lib/xstrtol.h: Include "exitfail.h".
69275         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
69276
69277         * lib/long-options.c (parse_long_options): Use prototype
69278         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
69279         for clarity.
69280
69281 2004-01-21  Jim Meyering  <jim@meyering.net>
69282
69283         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
69284         so as not to conflict with a different-sized __mktime_internal
69285         function in GNU libc.
69286         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
69287         Problem building statically-linked `ls' reported by Michael Brunnbauer.
69288
69289 2004-01-20  Karl Berry  <karl@gnu.org>
69290
69291         * config/config.guess: update from config.
69292
69293         * config/srclistvars.sh: GNUWWWLICENSES for karl.
69294
69295 2004-01-20  Bruno Haible  <bruno@clisp.org>
69296
69297         Safer stack allocation.
69298         * lib/setenv.c: Include allocsa.h.
69299         (alloca): Remove fallback definition.
69300         (freea): Remove macro.
69301         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
69302         instead of freea.
69303
69304 2004-01-20  Bruno Haible  <bruno@clisp.org>
69305
69306         * m4/eealloc.m4: New file, from GNU gettext.
69307
69308 2004-01-20  Bruno Haible  <bruno@clisp.org>
69309
69310         * m4/allocsa.m4: New file, from GNU gettext.
69311
69312 2004-01-20  Bruno Haible  <bruno@clisp.org>
69313
69314         * lib/xallocsa.h: New file, from GNU gettext.
69315         * lib/xallocsa.c: New file, from GNU gettext.
69316
69317 2004-01-20  Bruno Haible  <bruno@clisp.org>
69318
69319         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
69320
69321 2004-01-20  Bruno Haible  <bruno@clisp.org>
69322
69323         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
69324         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
69325         specially.
69326
69327 2004-01-20  Bruno Haible  <bruno@clisp.org>
69328
69329         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
69330         patch.
69331
69332 2004-01-20  Bruno Haible  <bruno@clisp.org>
69333
69334         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
69335
69336 2004-01-20  Bruno Haible  <bruno@clisp.org>
69337
69338         * lib/eealloc.h: New file.
69339
69340 2004-01-20  Bruno Haible  <bruno@clisp.org>
69341
69342         * lib/binary-io.h: Avoid warnings on Cygwin.
69343
69344 2004-01-20  Bruno Haible  <bruno@clisp.org>
69345
69346         * lib/allocsa.h: New file, from GNU gettext.
69347         * lib/allocsa.c: New file, from GNU gettext.
69348
69349 2004-01-18  Karl Berry  <karl@gnu.org>
69350
69351         * doc/gpl.texi, doc/lgpl.texi: new files.
69352
69353 2004-01-18  Karl Berry  <karl@gnu.org>
69354
69355         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
69356         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
69357
69358 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69359
69360         Merge from coreutils.
69361
69362         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
69363         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
69364         (gl_DEFAULT_POSIX2_VERSION): Move
69365         the documentation from 'configure' into 'config.hin',
69366         so that 'configure --help' isn't burdened by it and
69367         we don't have to worry about its formatting there.
69368         Reword the documentation so that it's more succinct
69369         and can be run together into a single paragraph.
69370         * m4/same.m4 (gl_SAME): Check for pathconf.
69371
69372 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69373
69374         Merge from coreutils.
69375
69376         * lib/posixver.c: Include posixver.h.
69377
69378         * lib/same.c: Include <stdbool.h>, <limits.h>.
69379         (_POSIX_NAME_MAX): Define if not defined.
69380         (MIN): New macro.
69381         (same_name): If file names are silently truncated, report
69382         that the file names are the same if they are the same after
69383         the silent truncation.
69384
69385         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
69386         conversion function.
69387         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
69388         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
69389         longer needed.
69390
69391 2004-01-15  Jim Meyering  <jim@meyering.net>
69392
69393         Merge from coreutils.
69394
69395         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
69396         if no library is required.
69397         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
69398         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
69399         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
69400         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
69401         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
69402         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
69403         value, $ac_cv_search_crypt, if it's "none required".
69404         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
69405         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
69406         not gl_FUNC_GETLOADAVG.
69407         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
69408         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
69409
69410 2004-01-15  Jim Meyering  <jim@meyering.net>
69411
69412         Merge from coreutils.
69413
69414         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
69415         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
69416         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
69417
69418         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
69419         optional configure-time default.
69420
69421         * lib/version-etc.c (version_etc_copyright): Update copyright date.
69422
69423         * lib/xreadlink.c (xreadlink): Correct outdated comment.
69424
69425 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
69426
69427         Merge from coreutils.
69428
69429         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
69430         value, $ac_cv_search_nanosleep, if it's "none required".
69431
69432 2004-01-14  Paul Eggert  <eggert@twinsun.com>
69433
69434         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
69435         with like-named macro in fnmatch.c.
69436         (EXT): Use an internal constant instead.
69437
69438         Merge fnmatch patches from glibc.
69439         * lib/fnmatch.c (mbsinit): Remove define.
69440         Add libc_hidden_ver (__fnmatch, fnmatch).
69441         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
69442         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
69443
69444 2004-01-14  Karl Berry  <karl@gnu.org>
69445
69446         * config/install-sh: update from automake.
69447
69448 2004-01-13  Karl Berry  <karl@gnu.org>
69449
69450         * config/install-sh: update from automake.
69451
69452 2004-01-09  Karl Berry  <karl@gnu.org>
69453
69454         * config/install-sh: update from automake.
69455
69456 2004-01-05  Karl Berry  <karl@gnu.org>
69457
69458         * config/config.{sub,guess}: update from config.
69459
69460 2003-12-31  Karl Berry  <karl@gnu.org>
69461
69462         * config/depcomp: update from automake.
69463
69464 2003-12-14  Karl Berry  <karl@gnu.org>
69465
69466         * lib/config.charset: update from gettext-runtime.
69467
69468 2003-12-03  Paul Eggert  <eggert@twinsun.com>
69469
69470         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
69471         Bug reported by Alfred M. Szmidt.
69472
69473 2003-12-03  Bruno Haible  <bruno@clisp.org>
69474
69475         * m4/gettext.m4: Upgrade from gettext-0.13.
69476         * m4/po.m4: Upgrade from gettext-0.13.
69477         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
69478         * m4/intmax.m4: New file, from gettext-0.13.
69479         * m4/printf-posix.m4: New file, from gettext-0.13.
69480
69481 2003-11-29  Karl Berry  <karl@gnu.org>
69482
69483         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
69484
69485 2003-11-25  Paul Eggert  <eggert@twinsun.com>
69486             Bruno Haible  <bruno@clisp.org>
69487
69488         * lib/printf-parse.h: Don't include sys/types.h.
69489         (ARG_NONE): New macro.
69490         (char_directive): Change type of *arg_index fields to size_t.
69491         * lib/printf-parse.c: Don't include sys/types.h.
69492         (SSIZE_MAX): Remove macro.
69493         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
69494         Remove unnecessary overflow check.
69495         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
69496         fields.
69497
69498 2003-11-25  Bruno Haible  <bruno@clisp.org>
69499
69500         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
69501
69502 2003-11-25  Bruno Haible  <bruno@clisp.org>
69503
69504         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
69505         gt_TYPE_SSIZE_T.
69506
69507 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69508
69509         * modules/alloca: Remove dependency on xalloc.
69510
69511 2003-11-24  Paul Eggert  <eggert@twinsun.com>
69512
69513         * lib/alloca.c: Remove dependency on xalloc module.
69514         (xalloc_die): Remove.
69515         (memory_full) [!defined emacs]: New macro.
69516         [!defined emacs]: Don't include xalloc.h.
69517         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
69518         address arithmetic overflows.  Change datatypes a bit to avoid
69519         unnecessary casts.
69520
69521 2003-11-22  Jim Meyering  <jim@meyering.net>
69522
69523         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
69524         s/size/size_t/.
69525
69526 2003-11-21  Karl Berry  <karl@gnu.org>
69527
69528         * config/config.{sub,guess}: update from config.
69529
69530 2003-11-18  Karl Berry  <karl@gnu.org>
69531
69532         * config/config.{sub,guess}: update from config.
69533
69534         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
69535
69536 2003-11-17  Paul Eggert  <eggert@twinsun.com>
69537
69538         * README: Mention that S+T cannot overflow if S is the size of
69539         an existing object and T is sufficiently small.
69540
69541 2003-11-17  Jim Meyering  <jim@meyering.net>
69542
69543         On systems without utime and without a utimes function capable of
69544         dealing with a NULL struct utimbuf* argument, this utime replacement
69545         could -- in unusual circumstances -- leak a file descriptor.
69546         * lib/utime.c: Include <unistd.h> and <errno.h>.
69547         (utime_null): Be sure to close `fd' and to preserve errno.
69548         Reported by Geoff Collyer via Arnold Robbins.
69549
69550 2003-11-17  Bruno Haible  <bruno@clisp.org>
69551
69552         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
69553         (Depends-on): Add xsize.
69554
69555 2003-11-17  Bruno Haible  <bruno@clisp.org>
69556
69557         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
69558
69559 2003-11-17  Bruno Haible  <bruno@clisp.org>
69560
69561         * lib/vasnprintf.c (alloca): Remove fallback definition.
69562         (freea): Remove definition.
69563         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
69564         Reported by Paul Eggert.
69565
69566 2003-11-16  Paul Eggert  <eggert@twinsun.com>
69567             Bruno Haible  <bruno@clisp.org>
69568
69569         Protect against address arithmetic overflow.
69570         * lib/printf-args.h: Include stddef.h.
69571         (arguments): Change type of field 'count' to size_t.
69572         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
69573         'unsigned int' where appropriate.
69574         * lib/printf-parse.h: Include sys/types.h.
69575         (char_directive): Change type of *arg_index fields to ssize_t.
69576         (char_directives): Change type of fields 'count', max_*_length to
69577         size_t.
69578         * lib/printf-parse.c: Include sys/types.h and xsize.h.
69579         (SSIZE_MAX): Define fallback value.
69580         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
69581         instead of 'int' where appropriate. Check a_allocated, d_allocated
69582         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
69583         * lib/vasnprintf.c: Include xsize.h.
69584         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
69585         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
69586         overflow. Avoid wraparound when converting a width or precision from
69587         decimal to binary.
69588
69589 2003-11-16  Bruno Haible  <bruno@clisp.org>
69590
69591         Update from GNU gettext.
69592         * lib/printf-parse.c: Generalize to it can be compiled for wide
69593         strings.
69594         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
69595         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
69596         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
69597         SNPRINTF): New macros.
69598         Don't include <alloca.h> if the file is used inside libintl.
69599         (local_wcslen): New function, for Solaris 2.5.1.
69600         (VASNPRINTF): Use it instead of wcslen.
69601
69602 2003-11-16  Bruno Haible  <bruno@clisp.org>
69603
69604         * lib/xsize.h (xmax): New function.
69605         (xsum, xsum3, xsum4): Declare as "pure" functions.
69606
69607 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69608
69609         * modules/xalloc (Files): Undo latest change, since xalloc.h
69610         no longer needs SIZE_MAX or PTRDIFF_MAX.
69611
69612 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69613
69614         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
69615         gl_PTRDIFF_MAX.
69616
69617 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69618
69619         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
69620         "return", to pacify some unknown compiler.  Problem reported
69621         by Joerg Schilling.
69622
69623 2003-11-12  Paul Eggert  <eggert@twinsun.com>
69624
69625         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
69626         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
69627         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
69628         heuristic is just as accurate as far as we know, and it removes a
69629         dependency on size_max.m4 and ptrdiff_max.m4.
69630
69631 2003-11-11  Bruno Haible  <bruno@clisp.org>
69632
69633         * modules/xsize (Files): Add m4/size_max.m4.
69634         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
69635
69636 2003-11-11  Bruno Haible  <bruno@clisp.org>
69637
69638         * m4/size_max.m4: New file.
69639         * m4/ptrdiff_max.m4: New file.
69640         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
69641         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
69642         (gl_XALLOC): Invoke it.
69643
69644 2003-11-11  Bruno Haible  <bruno@clisp.org>
69645
69646         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
69647         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
69648         defined.
69649
69650 2003-11-10  Paul Eggert  <eggert@twinsun.com>
69651
69652         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
69653         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
69654         rejected some allocations of exactly SIZE_MAX - 2 bytes.
69655         From Bruno Haible.
69656         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
69657         not (size_t) -1, since it's defined here.
69658
69659 2003-11-09  Karl Berry  <karl@gnu.org>
69660
69661         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
69662
69663 2003-11-06  Paul Eggert  <eggert@twinsun.com>
69664
69665         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
69666         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
69667         Reject sizes of exactly SIZE_MAX bytes.
69668         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
69669         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
69670
69671 2003-11-05  Bruno Haible  <bruno@clisp.org>
69672
69673         * lib/xsize.h: Include limits.h, to avoid a possible collision with
69674         SIZE_MAX defined in <limits.h> on Solaris.
69675
69676 2003-11-04  Jim Meyering  <jim@meyering.net>
69677
69678         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
69679         variable names, rather than @VAR@.
69680         * modules/poll: Likewise.
69681
69682 2003-11-04  Bruno Haible  <bruno@clisp.org>
69683
69684         * modules/xsize: New file.
69685         * modules/linebreak: Depend on xsize.
69686         * MODULES.html.sh (func_all_modules): Add xsize.
69687
69688 2003-11-04  Bruno Haible  <bruno@clisp.org>
69689
69690         * m4/xsize.m4: New file.
69691
69692 2003-11-04  Bruno Haible  <bruno@clisp.org>
69693
69694         * lib/xsize.h: New file.
69695         * lib/linebreak.c: Include xsize.h.
69696         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
69697         argument for overflow.
69698         Suggested by Paul Eggert.
69699
69700 2003-11-03  Karl Berry  <karl@gnu.org>
69701
69702         * config/config.{guess,sub}: update from config.
69703
69704 2003-11-03  Jim Meyering  <jim@meyering.net>
69705
69706         * modules/userspec (lib_SOURCES): Add userspec.h.
69707         (Include): Add "userspec.h".
69708         Improve description.
69709
69710 2003-11-03  Jim Meyering  <jim@meyering.net>
69711
69712         * lib/userspec.c: Include "userspec.h".
69713         * lib/userspec.h: New file.
69714
69715 2003-11-03  Bruno Haible  <bruno@clisp.org>
69716
69717         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
69718
69719 2003-11-03  Bruno Haible  <bruno@clisp.org>
69720
69721         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
69722         available, to avoid (extremely rare) race condition.
69723         Suggested by Paul Eggert.
69724
69725 2003-11-02  Karl Berry  <karl@gnu.org>
69726
69727         * config/srclist.txt (vasprintf.c): sync broken, sigh.
69728
69729 2003-10-31  Paul Eggert  <eggert@twinsun.com>
69730
69731         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
69732         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
69733         (read_filesystem_list): Set and use me_type_malloced.
69734         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
69735         whatever the type happens to be), for brevity and consistency.
69736         Check for size calculation overflow on Alphas running OSF/1.
69737
69738 2003-10-31  Jim Meyering  <jim@meyering.net>
69739
69740         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
69741
69742         * lib/linebuffer.c: Include <string.h> for declaration of memset.
69743
69744 2003-10-30  Paul Eggert  <eggert@twinsun.com>
69745             Bruno Haible  <bruno@clisp.org>
69746
69747         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
69748         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
69749
69750 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69751
69752         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
69753         netbsd*-gnu*.  Suggested by Robert Millan.
69754
69755 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69756
69757         * modules/group-member: Depend on stdbool.
69758
69759 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69760
69761         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
69762
69763 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69764
69765         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69766         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69767         after the 'gnu' in these cases.  This fixes some bugs in the
69768         previous change, and is based on suggestions by Robert Millan.
69769
69770 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69771
69772         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69773         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69774         no longer needed.
69775         * lib/quotearg.c (quotearg_n_options): Use it.
69776         * lib/group-member.c: Include <stdbool.h>.
69777         (free_group_info): Arg is now const *; don't free arg.
69778         (get_group_info): Now returns bool and accepts struct group_info *,
69779         rather than returning a malloc'ed struct group_info *.
69780         All uses changed.  Check for overflow in internal size calculation.
69781
69782         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69783         rather than xmalloc/xrealloc.
69784         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69785         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69786         conformance bug: the old code used a pointer after freeing the
69787         storage that it addressed.
69788         * lib/hash.c (hash_initialize): Simplify the code by using
69789         xalloc_oversized rather than doing it by hand.
69790         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69791         the buffer preserved.  Use free and xmalloc instead.
69792         * lib/quotearg.c (quotearg_n_options): Likewise.
69793         Use a simpler test for size overflow.  Don't use xalloc_oversized
69794         because unsigned int might be wider than size_t (!); this suggests
69795         that we should switch from unsigned int to size_t for slot numbers.
69796
69797 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69798
69799         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69800         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69801         NetBSD kernels.  Requested by Richard Stallman.
69802
69803 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69804
69805         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69806         to allocate the returned structure.  Do not allocate a subarray,
69807         as x2nrealloc will do that.
69808         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69809         instead of xnrealloc.
69810         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69811
69812 2003-10-27  Bruno Haible  <bruno@clisp.org>
69813
69814         * lib/stdbool_.h: Better support for BeOS.
69815
69816 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69817
69818         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69819         now uses inline.
69820
69821 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69822
69823         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69824         callers that want to do their own size-overflow checking.  Include
69825         <stdbool.h>, since xalloc_oversized returns bool.
69826         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69827         to use xalloc_oversized.
69828
69829         Add two functions x2realloc, x2nrealloc, for programs that grow
69830         arrays dynamically by doubling their sizes.
69831         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69832         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69833         New functions.
69834
69835         Port to C99 semantics for 'inline' of external functions.
69836         Bug reported by Bruno Haible.
69837         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69838         with the old contents of xnmalloc.
69839         (xnmalloc, xmalloc): Use it.
69840         (xnrealloc_inline): New static inline function,
69841         with the old contents of xnrealloc.
69842         (xnrealloc, xrealloc): Use it.
69843
69844         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69845         that.
69846
69847 2003-10-26  Karl Berry  <karl@gnu.org>
69848
69849         * config/srclist.txt (COPYING.DOC): no longer available from
69850         /gd/gnuorg; don't know where the ultimate source is.
69851
69852 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69853
69854         Fix several address-calculation bugs in the hash modules,
69855         plus some minor code cleanup.
69856
69857         * lib/hash.h: Include <stdbool.h>, for bool.
69858         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69859         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69860         hash_get_n_entries, hash_get_max_bucket_length,
69861         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69862         hash_rehash): Use size_t rather than unsigned.
69863         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69864         hash_get_n_buckets_used, hash_get_n_entries,
69865         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69866         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69867         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69868         Likewise.
69869         (SIZE_MAX): Define if not defined.
69870         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69871         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69872         hash_print):
69873         Use const * when possible.
69874         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69875         (check_tuning): Fix bug: if tuning parameters were very close to
69876         0 or 1, rounding errors could have caused subscript violations.
69877         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69878         (hash_initialize): Add 'fail:' label
69879         to free table and return NULL, and use it to simplify code.
69880         Use calloc rather than clearing the storage ourself.
69881         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69882         buffer size calculations.
69883         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69884         Include <stddef.h>, for size_t.
69885         * lib/hash-pjw.c (hash_pjw): Likewise.
69886         Switch to method described by Bruno Haible.
69887         Include <limits.h>, for CHAR_BIT.
69888         (SIZE_BITS): New macro.
69889
69890 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69891
69892         * m4/getline.m4 (AM_FUNC_GETLINE):
69893         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69894         hosts.  Problem reported by Derek Robert Price in
69895         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69896         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69897         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69898
69899 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69900
69901         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69902         ceiling the allocation at NMAX bytes rather than silently
69903         discarding input bytes before NMAX is reached.  This makes
69904         a difference only if NMAX exceeds SIZE_MAX / 2.
69905
69906         * lib/obstack.c: Merge from glibc.
69907         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69908         Add libc_hidden_def (_obstack_newchunk).
69909         (_obstack_free) [! defined _LIBC]: Remove.
69910         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69911         a clone of the function body.
69912         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69913         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69914
69915         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69916         glibc.
69917         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69918         arg to memcpy.
69919
69920         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69921         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69922         Don't use lvalue casts, as GCC plans to remove support for them
69923         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69924         was also present in the non-GCC version, indicating that this
69925         code had always been buggy and had never been widely used.
69926         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69927         Use the fast variant of each macro, rather than copying the
69928         definiens of the fast variant; that way, we'll be more likely to
69929         catch future bugs in the fast variants.
69930
69931 2003-10-20  Bruno Haible  <bruno@clisp.org>
69932
69933         * modules/wait-process: New file.
69934         * MODULES.html.sh (func_all_modules): Add wait-process.
69935
69936 2003-10-20  Bruno Haible  <bruno@clisp.org>
69937
69938         * m4/wait-process.m4: New file.
69939
69940 2003-10-20  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/wait-process.h: New file, from GNU gettext.
69943         * lib/wait-process.c: New file, from GNU gettext.
69944
69945 2003-10-19  Jim Meyering  <jim@meyering.net>
69946
69947         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69948         HPUX 10.20.
69949
69950 2003-10-18  Karl Berry  <karl@gnu.org>
69951
69952         * config/config.guess: update from config.
69953
69954 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69955
69956         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69957         (getgroups): First arg is int, not size_t.
69958         Don't let 'free' mangle errno.
69959
69960 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69961
69962         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69963
69964 2003-10-16  Karl Berry  <karl@gnu.org>
69965
69966         * config/config.{guess,sub}: update from config.
69967
69968 2003-10-16  Jim Meyering  <jim@meyering.net>
69969
69970         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69971         memcpy.
69972
69973 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69974
69975         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69976         (SIZE_MAX): Remove.
69977         (new_exclude, add_exclude_file): Initial size no longer needs to
69978         be a power of 2.
69979         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69980         our own address arithmetic overflow checking.
69981
69982         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69983         (fnmatch): Do not alloca more than 2000 wide characters;
69984         instead, use malloc for large buffers.
69985         Check for address arithmetic overflow, and return -1
69986         with errno set to ENOMEM in that case.
69987         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69988         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69989         instead, return -1.  Check for address arithmetic overflow.
69990
69991 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69992
69993         Handle invalid suffixes and overflow independently, so that
69994         callers can treat them independently as needed.  Fix some bugs in
69995         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69996         suffix for a human-readable blocksize.  The major caller-visible
69997         change is the addition of a new
69998         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69999         that both overflow and suffix chars were found.
70000
70001         * lib/human.c (humblock): Don't check separately for invalid suffix
70002         char; that is xstrtoumax's job (now that its bug is fixed).
70003         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
70004         INTMAX_MAX]: New macros.
70005         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
70006         TYPE_MAXIMUM): New macros.
70007         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
70008         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
70009         if overflow occurs, as it's what __strtol does and it's more useful
70010         in practice.
70011         (__xstrtol): If __strtol reports some error other than ERANGE,
70012         reflect it to the caller as LONGINT_INVALID.  If it reports
70013         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
70014         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
70015         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
70016         value.
70017         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
70018         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
70019         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
70020         [defined UINTMAX_MAX]: New macros.
70021
70022 2003-10-14  Bruno Haible  <bruno@clisp.org>
70023
70024         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
70025
70026 2003-10-14  Bruno Haible  <bruno@clisp.org>
70027
70028         * m4/sig_atomic_t: New file, from GNU gettext.
70029         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
70030
70031 2003-10-14  Bruno Haible  <bruno@clisp.org>
70032
70033         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
70034         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
70035         Also use volatile where needed.
70036
70037 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70038
70039         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
70040         Change maintainer from Bruno Haible to 'all'.
70041
70042 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70043
70044         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
70045
70046 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70047
70048         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
70049         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
70050         and define in terms of the other primitives.
70051         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
70052         (SIZE_MAX): Define if not already defined.
70053         (array_size_overflow): New function.
70054         (xalloc_die): Abort instead of exiting if 'error' returns.
70055         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
70056         (xmalloc, xrealloc): Use them.
70057         (xcalloc): Check for address arithmetic overflow.
70058         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
70059         a bit faster than strcpy.
70060
70061 2003-10-10  Simon Josefsson  <jas@extundo.com>
70062
70063         * modules/argp (Depends-on): Add restrict and strcase.
70064
70065 2003-10-10  Simon Josefsson  <jas@extundo.com>
70066
70067         * m4/argp.m4: Add AC_C_INLINE.
70068
70069 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70070
70071         Merge getpass from libc, plus a few fixes.
70072
70073         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
70074         Include <stdbool.h>.
70075         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
70076         __fsetlocking to empty.
70077         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
70078         do include <bits/libc-lock.h>.
70079         Do not include <fcntl.h>; not needed.
70080         [_LIBC]: Include <wchar.h>.
70081         (NOTCANCEL_MODE): New macro.
70082         (flockfile, funlockfile) [_LIBC]: New macros.
70083         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
70084         [!_LIBC]: New macros.
70085         (call_fclose): New function.
70086         (getpass): Use it.  Save tty stream separately; this simplifies the
70087         code and makes it more reliable if stdin happens to equal stdout.
70088         Invoke __fsetlocking on tty.
70089         Handle thread cancellation if needed.
70090         Namespace cleanup (use __tcgetattr, __getline).
70091         Use bool for Booleans.
70092         [USE_IN_LIBIO]: Handle wide streams.
70093         [!_LIBC]: Unconditionally do the fseek, since we don't know what
70094         stream might go where.
70095
70096         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
70097         doesn't have to include <stdio.h> before us.
70098         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
70099         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
70100         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
70101         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
70102         if not declared, so that we can use getpass.c code from libc without
70103         rewriting it.
70104         (flockfile, ftrylockfile, funlockfile): New macros.
70105
70106 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70107
70108         * modules/getpass: Depend on stdbool.
70109
70110 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70111
70112         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
70113
70114 2003-10-07  Karl Berry  <karl@gnu.org>
70115
70116         * config/config.{guess,sub}: update from config.
70117
70118 2003-10-06  Jim Meyering  <jim@meyering.net>
70119             Bruno Haible  <bruno@clisp.org>
70120
70121         This lets translators provide better translations for the
70122         "Written by ..." part of --version output.
70123         * lib/version-etc.h: Include stdarg.h.
70124         (version_etc_copyright): Declare as readonly.
70125         (version_etc): Make this function variadic with a NULL-terminated list
70126         of author name strings.
70127         (version_etc_va): New declaration.
70128         * lib/version-etc.c: Include stdarg.h, stdlib.h.
70129         (version_etc_copyright): Declare as readonly.
70130         (version_etc_va): New function. Provide a different translatable string
70131         for each possible number of authors < 10. Abbreviate when there are 10
70132         authors or more.
70133         (version_etc): Make this function variadic. Call version_etc_va.
70134         Suggestion from Gary V. Vaughan.
70135
70136         * lib/long-options.h (parse_long_options): Change prototype: the
70137         authors string is moved to the end and becomes variadic.
70138         * lib/long-options.c: Include stdarg.h.
70139         (parse_long_options): Make this function variadic, too.
70140         Call version_etc_va, not version_etc.
70141
70142 2003-10-06  Bruno Haible  <bruno@clisp.org>
70143
70144         * modules/version-etc-2: Remove file.
70145         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
70146
70147 2003-10-06  Bruno Haible  <bruno@clisp.org>
70148
70149         * modules/fatal-signal: New file.
70150         * MODULES.html.sh (func_all_modules): Add fatal-signal.
70151
70152 2003-10-06  Bruno Haible  <bruno@clisp.org>
70153
70154         * m4/fatal-signal.m4: New file.
70155         * m4/signalblocking.m4: New file, from GNU gettext.
70156
70157 2003-10-06  Bruno Haible  <bruno@clisp.org>
70158
70159         * lib/version-etc-2.h: Remove file.
70160         * lib/version-etc-2.c: Remove file.
70161
70162 2003-10-06  Bruno Haible  <bruno@clisp.org>
70163
70164         * lib/fatal-signal.h: New file, from GNU gettext.
70165         * lib/fatal-signal.c: New file, from GNU gettext.
70166
70167 2003-10-05  Paul Eggert  <eggert@twinsun.com>
70168
70169         * README: Rework advice for preventing empty .o files.
70170         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
70171         not <sys/types.h>.
70172
70173 2003-10-04  Karl Berry  <karl@gnu.org>
70174
70175         * lib/argp*: update from libc.
70176
70177 2003-10-04  Karl Berry  <karl@gnu.org>
70178
70179         * config/config.{guess,sub}: update from config.
70180
70181 2003-10-02  Bruno Haible  <bruno@clisp.org>
70182
70183         * modules/lchown (Include): Add lchown.h.
70184         * modules/time_r (Include): Use "..." syntax.
70185         * modules/xgetdomainname (Include): Add xgetdomainname.h.
70186
70187 2003-10-01  Simon Josefsson  <jas@extundo.com>
70188
70189         * MODULES.html.sh (func_all_modules): Move gethostname from section
70190         'based on' to section 'lacking' POSIX:2001.
70191
70192 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
70193
70194         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
70195         to output mode on the same stream.
70196
70197 2003-09-29  Paul Eggert  <eggert@twinsun.com>
70198
70199         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
70200         Fix arg typo in previous patch.
70201
70202 2003-09-28  Jim Meyering  <jim@meyering.net>
70203
70204         * lib/error.c: Correct cpp indentation.
70205
70206 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70207
70208         * modules/free: New file.
70209
70210 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70211
70212         * m4/free.m4: New file.
70213
70214 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70215
70216         * lib/minmax.h (MIN, MAX)
70217         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
70218         Omit the special code that used __typeof__, since we worry that
70219         it could be more trouble than it's worth.  See:
70220         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
70221         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
70222
70223         * lib/free.c: New file.
70224
70225 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
70226
70227         Trivial fixes to Makefile.am parts of module listings.
70228         * modules/strstr: Append strstr.h to lib_SOURCES.
70229         * modules/strcase: Likewise, for strcase.h.
70230
70231 2003-09-27  Karl Berry  <karl@gnu.org>
70232
70233         * config/mkinstalldirs: update from automake.
70234
70235 2003-09-26  Paul Eggert  <eggert@twinsun.com>
70236
70237         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
70238         (error_tail): Do not loop, reallocating temporary buffer, since
70239         the output cannot contain more wide characters than the input
70240         contains bytes, the size must be big enough already.  This avoids
70241         one potential size overflow calculation.  Check for size overflow
70242         when calculating temporary buffer size.  Free temporary buffer
70243         when done, if it was allocated with malloc; this plugs a memory
70244         leak.  Remove casts from void * to pointers, that are no longer
70245         needed now that we're assuming C89 or better.
70246
70247         Merge error changes from glibc.
70248
70249         * lib/error.c, error.h: Update copyright notice header to match glibc.
70250         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
70251         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
70252         Disable cancellation while printing error.
70253         * lib/error.h: Prepend __ to parameter names.
70254
70255 2003-09-26  Jim Meyering  <jim@meyering.net>
70256
70257         * lib/error.c (error_tail): Move some declarations
70258         into inner scope where the local variables are used.
70259
70260 2003-09-26  Bruno Haible  <bruno@clisp.org>
70261
70262         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
70263         stpncpy().
70264         Don't define stpncpy through config.h; it's now done through stpncpy.h.
70265
70266 2003-09-26  Bruno Haible  <bruno@clisp.org>
70267
70268         * lib/stpncpy.h (gnu_stpncpy): New declaration.
70269         (stpncpy): Define as alias for gnu_stpncpy.
70270         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
70271
70272 2003-09-25  Simon Josefsson  <jas@extundo.com>
70273
70274         * lib/xgetdomainname.h: New file.
70275         * lib/xgetdomainname.c: New file.
70276
70277 2003-09-25  Simon Josefsson  <jas@extundo.com>
70278             Bruno Haible  <bruno@clisp.org>
70279
70280         * modules/getdomainname: New file.
70281         * modules/xgetdomainname: New file.
70282         * MODULES.html.sh (func_all_modules): Add getdomainname,
70283         xgetdomainname.
70284
70285 2003-09-25  Simon Josefsson  <jas@extundo.com>
70286             Bruno Haible  <bruno@clisp.org>
70287
70288         * m4/getdomainname.m4: New file.
70289
70290 2003-09-25  Simon Josefsson  <jas@extundo.com>
70291             Bruno Haible  <bruno@clisp.org>
70292
70293         * lib/getdomainname.h: New file.
70294         * lib/getdomainname.c: New file.
70295
70296 2003-09-25  Karl Berry  <karl@gnu.org>
70297
70298         * lib/argp-fmtstream.c, argp-help.c: update from libc.
70299
70300 2003-09-25  Karl Berry  <karl@gnu.org>
70301
70302         * config/install-sh: update from automake.
70303
70304 2003-09-25  Bruno Haible  <bruno@clisp.org>
70305
70306         * modules/version-etc-2: New file, from modules/version-etc with
70307         modifications.
70308         * MODULES.html.sh (func_all_modules): Add version-etc-2.
70309
70310 2003-09-25  Bruno Haible  <bruno@clisp.org>
70311
70312         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
70313         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
70314
70315 2003-09-24  Simon Josefsson  <jas@extundo.com>
70316
70317         * modules/xgethostname: Add xgethostname.h.
70318
70319 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70320
70321         * lib/linebuffer.c (freebuffer): Don't free the argument, just
70322         the buffer associated with the argument.  Bug reported by
70323         Simon Josefsson.
70324
70325 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70326
70327         * README: Document assumptions that 'int' is at least 32 bits
70328         wide, that integer arithmetic is 2's complement without overflow,
70329         that there are no holes in integer values, that adding sizes of
70330         two nonoverlapping objects can't overflow, and that all-bits-zero
70331         yields scalar zero.  Fix spelling and capitalization typos.
70332
70333 2003-09-19  Karl Berry  <karl@gnu.org>
70334
70335         * lib/argp.h: update from libc.
70336
70337 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70338
70339         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
70340         to avoid spurious warnings like "AC_RUN_IFELSE was called before
70341         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
70342
70343 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70344
70345         * gnulib-tool: Use "test -h", not "test -L", for portability
70346         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
70347         (tags_regexp): Remove, since \| doesn't conform to POSIX.
70348         (sed_extract_prog): Issue s commands one-by-one, rather than
70349         using \| in one s command.
70350
70351 2003-09-16  Paul Eggert  <eggert@twinsun.com>
70352
70353         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
70354         input error, instead of returning NULL the next time we are called
70355         (and therefore losing track of errno).
70356
70357 2003-09-16  Bruno Haible  <bruno@clisp.org>
70358
70359         * gnulib-tool (func_create_testdir): Warn about duplicated
70360         dependencies.
70361
70362 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70363
70364         * modules/argmatch, modules/fatal, modules/obstack,
70365         modules/xalloc, modules/xgethostname: Sort dependencies by
70366         importance, not alphabetically.
70367
70368 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70369
70370         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
70371         fails, so that the caller gets the proper errno.
70372
70373         * lib/readutmp.c (read_utmp): Likewise.
70374         Check for fstat error.  Close stream and free storage
70375         when failing.
70376
70377 2003-09-14  Karl Berry  <karl@gnu.org>
70378
70379         * config/srclist.txt (strdup.c): disable for c89 changes.
70380
70381 2003-09-14  Jim Meyering  <jim@meyering.net>
70382
70383         * lib/getloadavg.c: Correct cpp indentation.
70384         * lib/strdup.c: Likewise.
70385         * lib/vasnprintf.c: Likewise.
70386
70387 2003-09-14  Bruno Haible  <bruno@clisp.org>
70388
70389         * modules/fwriteerror: New file.
70390         * MODULES.html.sh (func_all_modules): Add fwriteerror.
70391
70392 2003-09-14  Bruno Haible  <bruno@clisp.org>
70393
70394         * lib/fwriteerror.h: New file.
70395         * lib/fwriteerror.c: New file.
70396
70397 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70398
70399         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
70400         modules/xgethostname, modules/xalloc: Depend on exit.
70401
70402 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70403
70404         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
70405
70406         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
70407         and AC_MINIX, too, so that their extensions are available.
70408
70409         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
70410         This macro has been superseded by gl_BACKUPFILE.
70411
70412         More patches to assume C89 or better.
70413
70414         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
70415
70416         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
70417         unconditionally.
70418         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
70419         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
70420         Include <string.h>, <stdlib.h> unconditionally.
70421         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
70422         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
70423         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
70424         headers or for string.h.
70425         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
70426         or strtoul.
70427
70428         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
70429         headers.
70430         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
70431         * m4/userspec.m4 (gl_USERSPEC): Likewise.
70432         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
70433         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
70434         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
70435         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
70436         memcpy, memset.
70437         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
70438         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
70439         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
70440         strtol.
70441         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
70442         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
70443         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
70444         strtoul.
70445
70446 2003-09-12  Paul Eggert  <eggert@twinsun.com>
70447
70448         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
70449         * lib/obstack.c [!defined _LIBC]: Likewise.
70450         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
70451         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
70452         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
70453
70454         More changes to assume C89 or better.
70455
70456         * lib/error.c (error_tail): Assume vprintf.
70457
70458         * lib/argmatch.c (getenv): Remove decl.
70459         * lib/progreloc.c (get_full_program_name): Define via prototype.
70460         * lib/setenv.c (clearenv): Likewise.
70461         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
70462         needed.
70463         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
70464         (malloc, memcpy): Remove decls.
70465         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
70466         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
70467         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70468         (memcpy): Remove macro.
70469         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
70470         (__P): Remove.  All uses removed.
70471         (PTR): Remove.  All uses changed to void *.
70472         (CHAR_BIT, NULL): Remove.
70473         (spaces, zeros, memset_space, memset_zero)
70474         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
70475         Remove.
70476         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
70477         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
70478         Define with prototype.
70479         Remove now-unnecessary prototype decl.
70480         (extra_args_spec): Assume ANSI C.  All uses changed.
70481         (extra_args_spec_iso): Remove.
70482         (my_strftime, emacs_strftimeu): Define via prototype.
70483         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
70484         unconditionally.
70485         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
70486         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
70487         (strtoul, strtol): Remove decls.
70488         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
70489         LONG_MAX): Remove.
70490         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
70491         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
70492         (LOCALE_PARAM_PROTO): New macro.
70493         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
70494         (INTERNAL (strtol), strtol): Define with a prototype.
70495         (PARAMS): Remove.  All uses removed.
70496         * lib/tempname.c: Include <string.h> unconditionally.
70497         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
70498         * lib/xgethostname.c (main): Define with a prototype.
70499         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
70500         Include <stdlib.h> unconditionally.
70501         (calloc, malloc, realloc, free): Remove decls.
70502         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
70503         Include <stdlib.h> unconditionally.  Sort include file names.
70504         (strtod): Remove.
70505         (xstrtod): Define with a prototype.
70506         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
70507         (strtol, strtoul): Remove decls.
70508
70509 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70510
70511         More patches to assume C89 or better.
70512         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
70513         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
70514         string.h, memchr, STDC_HEADERS.
70515
70516 2003-09-11  Paul Eggert  <eggert@twinsun.com>
70517
70518         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
70519         Include <stdlib.h>, <string.h> unconditionally.
70520         Remove now-unnecessary cast to char *.
70521         * lib/strnlen.c: Include <string.h> unconditionally.
70522         * lib/yesno.c (yesno): Define with a prototype.
70523
70524 2003-09-11  Bruno Haible  <bruno@clisp.org>
70525
70526         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
70527
70528 2003-09-10  Jim Meyering  <jim@meyering.net>
70529
70530         * lib/error.c: Correct indentation of cpp directives.
70531
70532 2003-09-10  Bruno Haible  <bruno@clisp.org>
70533
70534         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
70535         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
70536         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
70537         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
70538         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
70539         <stdlib.h> and <string.h> checks.
70540         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
70541         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
70542
70543 2003-09-10  Bruno Haible  <bruno@clisp.org>
70544
70545         * lib/strcspn.c: Include <string.h> unconditionally.
70546         * lib/strpbrk.c: Include <string.h> unconditionally.
70547         * lib/strstr.c: Include <string.h> unconditionally.
70548         * lib/unicodeio.c: Include <string.h> unconditionally.
70549         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
70550         * lib/unsetenv.c: Likewise.
70551         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
70552         * lib/yesno.c: Include <stdlib.h> unconditionally.
70553         (rpmatch): Add prototype.
70554
70555 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70556
70557         More patches to assume C89 or better.
70558         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
70559         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
70560         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
70561         or for string.h.
70562         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
70563         stdlib.h.
70564         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
70565         C headers.
70566         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
70567         string.h.
70568         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
70569         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
70570         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
70571         or for string.h.
70572         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
70573         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
70574         C headers.
70575         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
70576         memcpy.
70577         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
70578         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
70579         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
70580         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
70581         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
70582         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
70583         string.h, free.
70584         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
70585         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
70586         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
70587         C headers, or for string.h.
70588         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
70589         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
70590         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
70591         headers, memory.h, stdlib.h, string.h, strings.h.
70592         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
70593         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
70594         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
70595         strchr.
70596         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
70597         headers, memory.h, string.h.
70598         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
70599         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
70600         free.
70601         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
70602         headers.
70603         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
70604         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
70605         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
70606         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
70607         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
70608
70609 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70610
70611         More K&R removal.
70612
70613         * lib/acosl.c (main): Use a prototype.
70614         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
70615         tanl.c: Likewise.
70616
70617         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
70618
70619         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
70620         (getopt, etopt_long, getopt_long_only, _getopt_internal)
70621         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
70622         with a prototype.
70623         * lib/getopt.c (const): Remove macro.
70624         Include <string.h> unconditionally.
70625         (my_index): Remove; all uses changed to strchr.
70626         (strlen): Remove decl.
70627         (exchange): Remove forward decl; no longer needed.
70628         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
70629         Define with prototype.
70630         * lib/getopt1.c (const): Remove macro.
70631         (getopt_long, getopt_long_only, main): Define with prototype.
70632
70633         * lib/getugroups.c: Include <string.h> unconditionally.
70634
70635         * lib/getusershell.c: Include <stdlib.h> unconditionally.
70636         (getusershell, setusershell, endusershell, readname, main):
70637         Define with prototypes.
70638
70639         * lib/group-member.c: Include group-member.h first.
70640         Include <stdlib.h> unconditionally.
70641
70642         * lib/hard-locale.c: Include hard-locale.h first.
70643         Include <stdlib.h>, <string.h> unconditionally.
70644
70645         * lib/hash.c (free, malloc): Remove decls.
70646         Include <stdlib.h> unconditionally.
70647
70648         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
70649         (getenv): Do not declare.
70650
70651         * lib/idcache.c: Include <string.h> unconditionally.
70652
70653         * lib/long-options.c: Include long-options.h first, to test interface.
70654         Include <stdlib.h> unconditionally.
70655
70656         * lib/makepath.c: Include makepath.h first, to test interface.
70657         Include <stdlib.h> and <string.h> unconditionally.
70658
70659         * lib/linebuffer.c: Include <stdlib.h>.
70660         (free): Remove decl.
70661
70662         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
70663         stddef.h. rpl_malloc returns void *, not char *.
70664         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
70665         prototype.
70666
70667         * lib/md5.h: Include <limits.h> unconditionally.
70668         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
70669         (__P): Remove; all uses removed.
70670         * lib/md5.c: Include "md5.h" first.
70671         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
70672         md5_buffer, md5_process_bytes, md5_process_block):
70673         Define with prototypes.
70674         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
70675         * lib/sha.c: Include "sha.h" first.
70676         Include <stdlib.h>, <string.h> unconditionally.
70677
70678         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
70679         * lib/memcmp.c (__ptr_t): Likewise.
70680         * lib/memrchr.c (__ptr_t): Likewise.
70681         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
70682         Include <string.h> unconditionally.
70683         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
70684         * lib/memchr.c: Include <stdlib.h> unconditionally.
70685         * lib/memchr.c (LONG_MAX): Remove.
70686         * lib/memrchr.c (LONG_MAX): Likewise.
70687         * lib/memchr.c (__memchr): Define via a prototype.
70688         * lib/memrchr.c (__memrchr): Likewise.
70689         * lib/memcmp.c (__P): Remove, and remove all uses.
70690         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
70691         Remove forward decls; no longer needed.
70692         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
70693         Use types required by C89 in prototype.
70694
70695         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
70696         * lib/savedir.c: Likewise.
70697         * lib/mkdir.c (free): Remove decl.
70698         * lib/rmdir.c (rmdir): Define with a prototype.
70699         * lib/savedir.c: Include savedir.h first, to test interface.
70700
70701         * lib/mktime.c (STDC_HEADERS): Remove.
70702         Include <stdlib.h>, <string.h> unconditionally.
70703
70704         * lib/modechange.c: Include <stdlib.h> unconditionally.
70705         (malloc): Remove decl.
70706
70707         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
70708         (free): Remove decl.
70709
70710         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
70711         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
70712         (This type really should be intptr_t, but that's a C99ism.)
70713         (_obstack_memcpy): Remove: all uses changed to memcpy.
70714         Include <string.h> unconditionally.
70715         (struct obstack): Assume __STDC__ for types of members
70716         chunkfun, freefun, extra_arg.
70717         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
70718         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
70719         obstack_begin, obstack_specify_allocation,
70720         obstack_specify_allocation_with_arg, obstack_chunkfun,
70721         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
70722         Remove unprototyped decls and the macros that use them.
70723         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
70724         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
70725         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
70726         (defined __STDC__ && __STDC__)]:
70727         Remove nonprototyped code.
70728         Include <stdlib.h> unconditionally.
70729         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
70730         _obstack_allocated_p, _obstack_free, obstack_free,
70731         _obstack_memory_used, print_and_abort):
70732         Define using prototypes.
70733         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
70734         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
70735         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
70736         obstack_next_free, obstack_object_size, obstack_room) [0]:
70737         Remove unused, unprototyped code.
70738
70739         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
70740
70741         * lib/physmem.c (physmem_total, physmem_available, main): Define
70742         with prototypes.
70743
70744         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
70745         (main): Define with a prototype.
70746
70747         * lib/posixver.c (getenv): Remove decl.
70748
70749         * lib/putenv.c (malloc): Returns void *, not char *.
70750         Include <string.h> unconditionally.
70751         (strchr, memcpy, NULL): Do not define.
70752
70753         * lib/readtokens.c: Include readtokens.h first, to test interface.
70754         Include <stdlib.h>, <string.h> unconditionally.
70755         (init_tokenbuffer): Define with a prototype.
70756
70757         * lib/regex.c (PARAMS): Remove.  All uses removed.
70758         All uses of _RE_ARGS removed, too.
70759         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70760         unconditionally.
70761         (bzero): Assume memset exists.
70762         (memcmp, memcpy, NULL): Remove.
70763         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
70764         char, or assignments to local vars of type signed char.
70765         (init_syntax_once, PREFIX(extract_number_and_incr),
70766         PREFIX(print_partial_compiled_pattern),
70767         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70768         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70769         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70770         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70771         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70772         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70773         wcs_compile_range, byte_compile_range, truncate_wchar,
70774         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70775         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70776         count_mbs_length, wcs_re_match_2_internal,
70777         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70778         PREFIX(alt_match_null_string_p),
70779         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70780         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70781         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70782         now-unnecessary declaration, if any.
70783         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70784         regcomp, regexec):
70785         Remove now-unnecessary casts among pointer types.
70786         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70787
70788         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70789         (free): Remove decl.
70790
70791         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70792
70793         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70794         (free): Remove decl.
70795
70796         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70797         * lib/xgetcwd.c: Likewise.
70798
70799         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70800         (free): Remove decl.
70801
70802         * lib/strchrnul.c (strchrnul): Define with a prototype.
70803         Fix bug: c_in was not converted to char before searching.
70804
70805         The following changes are not K&R related:
70806
70807         * lib/group-member.h: Include <sys/types.h>, so that this file is
70808         self-contained.
70809         * lib/makepath.h: Likewise.
70810
70811         * lib/getusershell.c (readname, default_index, line_size, readname):
70812         Use size_t, not int, for sizes.
70813         (readname): If the size overflows, report an error instead of
70814         looping forever.
70815
70816 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70817
70818         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70819         libc.
70820
70821 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70822
70823         * README: New section: portability guidelines.
70824
70825 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70826
70827         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70828         C89 spec.
70829
70830 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70831
70832         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70833
70834 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70835
70836         Assume C89 or better; remove K&R cruft.
70837         A few of these changes were first proposed by Derek Robert Price
70838         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70839
70840         * lib/addext.c: Include <string.h> unconditionally.
70841         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70842         Don't declare getenv or malloc.
70843
70844         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70845         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70846         (NULL): Remove.
70847         (find_stack_direction, alloca): Use prototypes.
70848
70849         * lib/atexit.c (atexit): Define using a prototype.
70850
70851         * lib/basename.c, dirname.c, stripslash.c:
70852         Include <string.h> unconditionally.
70853
70854         * lib/bcopy.c: Include <stddef.h>.
70855         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70856
70857         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70858
70859         * lib/error.h (error, error_at_line, error_print_progname)
70860         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70861         * lib/error.c: Include error.h first, to check interface.
70862         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70863         (VA_START): Remove; all uses changeed to va_start.
70864         (exit, strerror): Remove decls.
70865         (error_print_progname): Prototype uncondionally.
70866         Don't include <errno.h>; no longer needed.
70867         (private_strerror): Remove.
70868         (error_tail): Always define.
70869         (error, error_at_line): Assume C89 or better; always use prototypes.
70870         * lib/fatal.c: Include "fatal.h" first, to test interface.
70871         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70872         (VA_START): Remove; all uses changed to va_start.
70873         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70874         this case.
70875         (exit): Remove decl.
70876         (fatal): Prototype unconditionally.  Assume va_start works.
70877         Abort at end, to pacify gcc.
70878
70879         * lib/euidaccess.c (main): Define with a prototype.
70880
70881         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70882
70883         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70884
70885         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70886         prototypes.
70887         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70888         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70889         (getenv): Remove decl.
70890         (fnmatch): Define using a prototype.
70891         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70892         (FCT): Define using a prototype.
70893
70894         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70895
70896         * lib/gethostname.c: Include <stddef.h>.
70897         (gethostname): Define with prototype.  Length is size_t, not int.
70898
70899 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70900
70901         Assume C89 or better; remove K&R cruft.
70902         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70903         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70904         string.h, getenv, malloc.
70905         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70906         headers.
70907         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70908         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70909         do not check for strerror.
70910         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70911         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70912         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70913         do not check for doprnt or vprintf.
70914         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70915         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70916
70917 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70918
70919         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70920         getversion.c should have been removed then, but was accidentally
70921         preserved.
70922
70923         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70924         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70925
70926 2003-09-08  Karl Berry  <karl@gnu.org>
70927
70928         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70929                 config, forget about prep.
70930
70931         * config/depcomp, missing: update from automake.
70932
70933 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70934
70935         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70936         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70937
70938 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70939
70940         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70941         copy_tm_result.  Bug reported by Simon Josefsson in
70942         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70943
70944 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70945
70946         * m4/time_r.m4: New file.
70947         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70948         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70949         is. Check for timegm declaration.
70950         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70951         Do not check for gmtime_r.
70952         Replace mktime if __mktime_internal does not exist and if mktime
70953         hasn't been replaced already.
70954
70955 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70956
70957         * lib/time_r.c, lib/time_r.h: New files.
70958
70959         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70960         __localtime_r.
70961         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70962         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70963
70964         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70965         __gmtime_r.
70966         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70967         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70968         Include <time_r.h>.
70969
70970         * lib/timegm.c: Switch to glibc implementation, with the following
70971         changes:
70972         [defined HAVE_CONFIG_H]: Include <config.h>.
70973         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70974         (__mktime_internal) [!defined _LIBC]: New decl.
70975         (__gmtime_r) [!defined _LIBC]: New macro and function.
70976         (timegm): Use a prototype, since gnulib assumes C89.
70977         Do not bother declaring tmp to be const, as it's not really usefu.
70978         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70979         (timegm): Declare only if HAVE_DECL_TIMEGM.
70980
70981 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70982
70983         * MODULES.html.sh (func_all_modules): Add time_r.
70984         * modules/time_r: New file.
70985         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70986         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70987
70988 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70989
70990         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70991         Bug reported by Lute Kamstra in
70992         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70993
70994         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70995         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70996         course with correspondingly smaller numbers for tomorrow and
70997         yesterday.  From Tadayoshi Funaba.  Originally installed into
70998         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70999         coreutils merge?).
71000
71001 2003-08-31  Simon Josefsson  <jas@extundo.com>
71002
71003         * modules/timegm: New file.
71004         * MODULES.html.sh (func_all_modules): Add timegm.
71005
71006 2003-08-31  Simon Josefsson  <jas@extundo.com>
71007
71008         * m4/timegm.m4: New file.
71009
71010 2003-08-31  Simon Josefsson  <jas@extundo.com>
71011
71012         * lib/timegm.h: New file.
71013         * lib/timegm.c: New file.  Based on
71014         wget-1.8.2/src/http.c:mktime_from_utc.
71015
71016 2003-08-31  Karl Berry  <karl@gnu.org>
71017
71018         * lib/argp.h: update from libc.
71019
71020 2003-08-28  Bruno Haible  <bruno@clisp.org>
71021
71022         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
71023         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
71024         followed by '#define fnmatch fnmatch_posix' gives an error.
71025
71026 2003-08-28  Bruno Haible  <bruno@clisp.org>
71027
71028         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
71029         warning on QNX, which defines O_BINARY to 000000.
71030
71031 2003-08-27  Jim Meyering  <jim@meyering.net>
71032
71033         * m4/mkstemp.m4: Require that the system mkstemp be able to create
71034         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
71035         would fail after 32.  Reported by Danny Levinson.  Details here:
71036         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
71037
71038 2003-08-24  Bruno Haible  <bruno@clisp.org>
71039
71040         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
71041         MSVC7 <stdio.h> is included later.
71042
71043 2003-08-22  Simon Josefsson  <jas@extundo.com>
71044
71045         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
71046
71047 2003-08-20  Karl Berry  <karl@gnu.org>
71048
71049         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
71050
71051 2003-08-20  Bruno Haible  <bruno@clisp.org>
71052
71053         * modules/progname: New file.
71054         * MODULES.html.sh (func_all_modules): Add progname.
71055
71056 2003-08-20  Bruno Haible  <bruno@clisp.org>
71057
71058         * lib/progname.h: New file, from GNU gettext.
71059         * lib/progname.c: New file, from GNU gettext.
71060         * lib/progreloc.c: New file, from GNU gettext.
71061
71062 2003-08-19  Jim Meyering  <jim@meyering.net>
71063
71064         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
71065         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
71066
71067 2003-08-19  Bruno Haible  <bruno@clisp.org>
71068
71069         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
71070         more.
71071
71072 2003-08-19  Bruno Haible  <bruno@clisp.org>
71073
71074         * lib/xstrdup.c: Assume <string.h> exists.
71075
71076 2003-08-18  Paul Eggert  <eggert@twinsun.com>
71077
71078         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
71079         in makefile rules.
71080
71081 2003-08-18  Jim Meyering  <jim@meyering.net>
71082
71083         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
71084         * m4/lib-ld.m4: Likewise.
71085
71086 2003-08-18  Jim Meyering  <jim@meyering.net>
71087
71088         * lib/setenv.h: Indent nested cpp directive.
71089         * lib/vasnprintf.c: Remove trailing blanks.
71090
71091 2003-08-17  Simon Josefsson  <jas@extundo.com>
71092
71093         * modules/xstrndup: New file.
71094         * MODULES.html.sh (func_all_modules): Add xstrndup.
71095
71096 2003-08-17  Simon Josefsson  <jas@extundo.com>
71097
71098         * modules/argp: Fix autoconf macro name. Add more dependencies.
71099
71100 2003-08-17  Simon Josefsson  <jas@extundo.com>
71101
71102         * m4/xstrndup.m4: New file.
71103
71104 2003-08-17  Simon Josefsson  <jas@extundo.com>
71105
71106         * m4/argp.m4: New file.
71107
71108 2003-08-17  Simon Josefsson  <jas@extundo.com>
71109             Bruno Haible  <bruno@clisp.org>
71110
71111         * lib/xstrndup.h: New file.
71112         * lib/xstrndup.c: New file.
71113
71114 2003-08-17  Bruno Haible  <bruno@clisp.org>
71115
71116         * modules/strndup (Files, Include): Add lib/strndup.h.
71117
71118 2003-08-17  Bruno Haible  <bruno@clisp.org>
71119
71120         * modules/euidaccess (Files): Add lib/euidaccess.h.
71121
71122 2003-08-17  Bruno Haible  <bruno@clisp.org>
71123
71124         * lib/strndup.h: New file.
71125
71126 2003-08-17  Bruno Haible  <bruno@clisp.org>
71127
71128         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
71129         like AC_GNU_SOURCE.
71130         * modules/extensions (configure.ac): Comment out the invocation of
71131         gl_USE_SYSTEM_EXTENSIONS.
71132
71133 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71134
71135         Merges from coreutils, etc.
71136         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
71137         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
71138         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
71139         fixing a typo.
71140         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
71141         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
71142
71143 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71144
71145         Document merge from coreutils.
71146         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
71147         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
71148         * modules/utime: Add m4/utimes-null.m4.
71149
71150 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71151
71152         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
71153         space, undoing this 2003-08-12 change:
71154         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71155
71156 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71157
71158         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
71159         strtoul.c from libc, undoing this 2003-08-12 change:
71160         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71161
71162 2003-08-16  Jim Meyering  <jim@meyering.net>
71163
71164         Merges from coreutils.
71165         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
71166         prefix.  Adjust cache variables similarly.  Create 500 rather than
71167         just 300 files, to exercise bug on Darwin6.5, too.
71168         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
71169         $missing_dir.
71170         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
71171         AM_SYS_POSIX_TERMIOS.
71172         Reported by mkc@mathdogs.com.
71173         Also change use of $am_cv_sys_posix_termios
71174         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
71175         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
71176         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
71177         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
71178         in /proc/mounts until it finds one with matching device number.  This
71179         is unnecessary when the FILE argument *is* a mount point.  No stat call
71180         is necessary in that case.  So, disable the statvfs-testing code on
71181         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
71182         as RedHat bug# 84846.
71183         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71184         to 1MB, so as not to render systems with no stack size limit (e.g.,
71185         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71186         Include <unistd.h>.  On some systems,
71187         it is required for the definition of _SC_PAGESIZE.
71188
71189 2003-08-16  Jim Meyering  <jim@meyering.net>
71190
71191         Merge from coreutils.
71192         * lib/xstrtoimax.c: #else #if -> #elif.
71193         * lib/xstrtoumax.c: Likewise.
71194
71195 2003-08-16  Jim Meyering  <jim@meyering.net>
71196
71197         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
71198         * m4/utimes.m4: Removed.
71199         * m4/utimes-null.m4: Renamed from utimes.m4.
71200
71201         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71202         to 1MB, so as not to render systems with no stack size limit (e.g.,
71203         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71204         Include <unistd.h>.  On some systems,
71205         it is required for the definition of _SC_PAGESIZE.
71206
71207 2003-08-16  Jim Meyering  <jim@meyering.net>
71208         and Paul Eggert  <eggert@cs.ucla.edu>
71209
71210         Merges from coreutils, etc.
71211
71212         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
71213         using the latest version from cvs.  This avoids problems with #line
71214         directives using a vendor (Sun) compiler.
71215         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
71216         Don't set GETGROUPS_LIB here; now it's
71217         done via getgroups.m4's wrapper function.
71218         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
71219         rather than just in sh-util/configure.in, so that the
71220         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
71221         same.
71222         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
71223         AC_FUNC_GETLOADAVG where to find getloadavg.c.
71224         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
71225         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
71226         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
71227         Remove code that is now done by the newly-required macros.
71228         Append $(EXEEXT) to DF_PROG.
71229         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
71230         Do not invoke or require the following here,
71231         since prereq.m4 or some gnulib .m4 now does this for us:
71232         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
71233         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
71234         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
71235         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
71236         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
71237         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
71238         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
71239         AC_FUNC_OBSTACK.
71240         Do not replace the following functions, as this is now the job
71241         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
71242         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
71243         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
71244         atexit getpass, strdup, getpagesize.
71245         Replace 'raise'.
71246         Do not check for the following functions, as this is now the job
71247         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
71248         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
71249         setregid.
71250         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
71251         Check for sys/sysctl.h.
71252         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
71253         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
71254         of checking for ssize_t ourselves.
71255
71256         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
71257         Require every macro that gnulib/modules/* suggests for us.
71258         (jm_PREREQ_ADDEXT): New macro.
71259         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
71260         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
71261
71262         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
71263         (gl_PHYSMEM): Use it.
71264         Also check for `table' function.
71265         Check for new headers and functions.
71266         Add check for sys/sysmp.h.
71267         With suggestions from Kaveh Ghazi.
71268         Ignore headers that are present but cannot be compiled.  This
71269         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
71270         C 5.4.
71271
71272 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71273
71274         Document merge from coreutils.
71275         * modules/userspec: Depend on posixver.
71276         * modules/strftime: Depend on tzset.
71277
71278 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71279
71280         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
71281         rather than tab, after '#' in shell-script copyright notices.
71282         Suggested by Bruno Haible.
71283
71284 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71285
71286         * config/srclist-update: Use three spaces, rather than tab, after '#'
71287         in shell-script copyright notices.  Suggested by Bruno Haible.
71288         Remove unnecessary parenthesization in regular expression.
71289
71290 2003-08-15  Jim Meyering  <jim@meyering.net>
71291
71292         Merge from coreutils.
71293         * lib/xgethostname.c: Include <stdlib.h>.
71294         (xghostname): Don't exit for anything other than memory-related
71295         failure; just return NULL.
71296         * lib/userspec.c: Include "posixver.h".
71297         (parse_user_spec): Accept `.' as a separator only
71298         in pre-POSIX-200112 mode.
71299         * lib/strtoimax.c: Use #elif rather than #else #if.
71300         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
71301         Remove function, now that we can rely on a working tzset function.
71302         [!_LIBC]: Ensure that the required autoconf test has been run.
71303         [!defined _NL_CURRENT && HAVE_STRFTIME]:
71304         Use underlying_strftime for %r.
71305         * lib/sha.c: Merge in some clean-up and optimization changes from
71306         glibc.
71307         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
71308         Ensure that it is a multiple of 64.
71309         Rearrange loop exit tests so as to avoid performing an
71310         additional fread after encountering an error or EOF.
71311         * lib/realloc.c: Update copyright date.
71312
71313 2003-08-15  Jim Meyering  <jim@meyering.net>
71314         and Paul Eggert  <eggert@twinsun.com>
71315
71316         Merge from coreutils.
71317         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
71318         member but strut utmpx does not.  Needed for AIX 4.3.3.
71319         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
71320
71321 2003-08-15  Jim Meyering  <jim@meyering.net>
71322         and Paul Eggert  <eggert@cs.ucla.edu>
71323
71324         Merges from coreutils, etc.
71325         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
71326         Require gl_FUNC_TZSET_CLOBBER.
71327         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
71328         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
71329         members.
71330
71331 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71332
71333         Help the merge from coreutils.
71334         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
71335         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
71336         * m4/tzset.m4: Use it too.
71337
71338 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71339
71340         * modules/tzset: New file.
71341
71342 2003-08-14  Jim Meyering  <jim@meyering.net>
71343
71344         Merges from coreutils.
71345         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
71346         variable names, rather than @FNMATCH_H@.
71347         * modules/alloca: Likewise for $(ALLOCA_H).
71348
71349         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
71350         the three copies of the literal target, `fnmatch.h'.
71351         * modules/alloca (alloca.h): Likewise.
71352
71353 2003-08-14  Jim Meyering  <jim@meyering.net>
71354
71355         Merge from coreutils.
71356         * m4/tzset.m4: New file.
71357         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
71358         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
71359         otherwise, AIX 5.1 systems would end up using the latter.
71360         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
71361         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
71362         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
71363         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
71364
71365 2003-08-14  Jim Meyering  <jim@meyering.net>
71366
71367         Merge from coreutils.
71368         * lib/obstack.h: Whitespace changes.
71369         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
71370         and xcalloc return values.
71371         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
71372         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
71373         hang on OSF/1 5.1 for DIR on both local and remote file systems.
71374         Reported by (and fix confirmed by) Nelson H. F. Beebe.
71375         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71376         error from mntctl.
71377         Use mntctl's return value to drive the entry-processing loop, since
71378         we can't rely on the value of the vmt_length member in the last
71379         entry.  On some systems doing so could result in exhausting
71380         virtual memory.  Based in part on a patch from Mike Jetzer.
71381
71382 2003-08-14  Jim Meyering  <jim@meyering.net>
71383         and Paul Eggert  <eggert@twinsun.com>
71384
71385         Merges from coreutils, plus other fixes.
71386         * lib/physmem.c: Merge in portability changes from gcc/libiberty
71387         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
71388         for credits and details.  Thanks to Kaveh Ghazi for helping
71389         to keep these files in sync.
71390         (ARRAY_SIZE): Define it.
71391         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
71392         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
71393         (memcasecmp): Don't assume size_t fits in unsigned int.
71394         Remove casts and duplicate code.
71395         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
71396         (memcpy): Remove definition.
71397         Merge in some clean-up and optimization changes from glibc.
71398         [BLOCKSIZE]: Move definition to top of file.
71399         Ensure that it is a multiple of 64.
71400         Rearrange loop exit tests so as to avoid performing an
71401         additional fread after encountering an error or EOF.
71402         * lib/md5.h (md5_uintptr): Define.
71403         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
71404         return to the initial working directory.  Preserve errno
71405         for caller.
71406         * lib/idcache.c: Include "xalloc.h".
71407         (xmalloc, xrealloc): Remove decls.
71408         (getuser): Remove casts no longer required in C89.
71409         * lib/human.c: Include stdio.h, for sprintf.
71410         * lib/group-member.c: Include "xalloc.h".
71411         (xmalloc, xrealloc): Remove decls.
71412         (get_group_info): Remove casts no longer required in C89.
71413         * lib/getusershell.c (readname): Remove casts no longer required in
71414         C89.
71415         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
71416         * lib/getline.c: Whitespace fix, from coreutils.
71417
71418 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71419
71420         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
71421         Check for isascii.
71422
71423         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71424         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71425         Undo previous (whitespace-only) change.
71426
71427 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71428
71429         * lib/exclude.c: Include <ctype.h>
71430         (IN_CTYPE_DOMAIN): New macro.
71431         (is_space): New fn.
71432         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
71433         and empty lines.
71434
71435         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71436         Undo previous (whitespace-only) change.
71437
71438 2003-08-13  Paul Eggert  <eggert@twinsun.com>
71439
71440         * config/srclist-update: Change update back to the old behavior,
71441         leaving whitespace alone.  Use one 'sed' command rather than a
71442         pipeline.
71443         (fixlicense): Now a variable, not a function.
71444         (remove_trailing_blanks): Remove.
71445         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
71446         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71447         Undo previous (whitespace-only) change.
71448
71449 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71450
71451         Merge from coreutils.
71452         * modules/euidaccess: Add lib_SOURCES, include for new
71453         file euidaccess.h
71454
71455 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71456
71457         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
71458         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
71459         Normalize leading white space and remove trailing white space.
71460
71461         Merge from coreutils
71462         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
71463
71464         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
71465         0.12.1.  These files are now being upgraded automatically by
71466         ../config/srclist-update.
71467
71468 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71469
71470         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
71471         Normalize leading white space and remove trailing white space.
71472         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
71473         notice, as per ../config/srclist-update.
71474
71475         Merge from coreutils.
71476         * lib/euidaccess.h: New file.
71477         * lib/euidaccess.c: Include it.
71478         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
71479         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
71480         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
71481
71482 2003-08-12  Paul Eggert  <eggert@twinsun.com>
71483
71484         * config/srclist-update: Add copyright notice.
71485         (remove_id_lines, remove_trailing_blanks): New constants.
71486         (fixfile): Use them to normalize spacing a bit in copied files.
71487         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
71488         Normalize leading white space and remove trailing white space.
71489
71490         * config/texinfo.tex: Sync with texinfo.
71491
71492         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
71493         strtoul.c from libc, to merge coreutils whitespace changes.
71494
71495         * config/srclist.txt: Get the following m4 files from gettext:
71496         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
71497         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
71498         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
71499         wint_t.m4.
71500
71501 2003-08-12  Karl Berry  <karl@gnu.org>
71502
71503         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
71504         been made.
71505
71506 2003-08-11  Paul Eggert  <eggert@twinsun.com>
71507
71508         * modules/gnu-source, m4/gnu-source.m4:
71509         Remove; we're assuming Autoconf 2.54 or later now.
71510         Suggested by Bruno Haible.
71511         * MODULES.html.sh (func_all_modules): Remove gnu-source.
71512
71513 2003-08-11  Bruno Haible  <bruno@clisp.org>
71514
71515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
71516
71517 2003-08-11  Bruno Haible  <bruno@clisp.org>
71518
71519         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
71520         (vasnprintf): Use it instead of wcslen.
71521
71522 2003-08-11  Bruno Haible  <bruno@clisp.org>
71523
71524         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
71525         value to ensure that _Bool promotes to int. Use #define for _Bool when
71526         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
71527
71528 2003-08-10  Karl Berry  <karl@gnu.org>
71529
71530         * lib/regex.h: update from libc (whitespace fix).
71531
71532 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71533
71534         Merge some files from coreutils.  These changes were
71535         originally made by Jim Meyering.
71536         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
71537         many older Unixes require this.
71538         * lib/alloca.c (alloca): Remove cast to argument of free;
71539         no longer needed in C89.
71540         * lib/alloca_.h, regex.h: Fix white space to match
71541         what GNU indent does.
71542
71543 2003-08-09  Paul Eggert  <eggert@twinsun.com>
71544
71545         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
71546         apparently Emacs's Unicode mode got confused before my 2003-08-05
71547         checkin.
71548
71549 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71550
71551         * m4/extensions.m4: New file.
71552         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
71553         Require gl_USE_SYSTEM_EXTENSIONS.
71554         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
71555         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
71556
71557 2003-08-08  Paul Eggert  <eggert@twinsun.com>
71558
71559         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
71560         * modules/extensions, modules/gnu-source: New files.
71561         * modules/timespec, modules/unlocked-io: Depend on extensions.
71562
71563 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71564
71565         * modules/restrict: New file.
71566         * MODULES.html.sh (func_all_modules): Add restrict.
71567         * modules/regex: Depend on restrict.
71568
71569 2003-08-07  Paul Eggert  <eggert@twinsun.com>
71570
71571         * m4/restrict.m4: New file.
71572         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
71573
71574 2003-08-07  Bruno Haible  <bruno@clisp.org>
71575
71576         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
71577         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
71578
71579 2003-08-07  Bruno Haible  <bruno@clisp.org>
71580
71581         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
71582         makes the module 'getndelim2' compatible with the module 'getline'.
71583
71584 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71585
71586         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
71587         byte with "\201" to avoid glitches when editing that source file
71588         with multi-gnome-terminal.
71589
71590 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71591
71592         * lib/bumpalloc.h: Remove.
71593
71594 2003-08-05  Paul Eggert  <eggert@twinsun.com>
71595
71596         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
71597         * modules/bumpalloc: Remove.
71598
71599 2003-08-04  Paul Eggert  <eggert@twinsun.com>
71600
71601         * lib/getloadavg.c: Change copyright notice and spacing to conform to
71602         GNU coding style.
71603
71604         Merge from coreutils.
71605         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
71606         1. From glibc.
71607         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
71608         from Karl Berry, implemented by Jim Meyering.
71609         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
71610         from Dmitry V. Levin.
71611         Remove anachronistic cast of xrealloc.
71612         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
71613         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
71614         type. Otherwise, it wouldn't compile with at least /bin/cc on
71615         ymp-cray-unicos9.0.2.X.
71616         Combine two mostly-identical uses of alloca into one.
71617         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
71618
71619 2003-08-04  Dave Love  <d.love@dl.ac.uk>
71620
71621         [From Emacs.]
71622
71623         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
71624         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
71625         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
71626         obsolete NLIST_NAME_UNION.
71627         [__GNU__]: Undef BSD and FSCALE.
71628         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
71629
71630 2003-08-03  Paul Eggert  <eggert@twinsun.com>
71631
71632         * lib/stdbool_.h (_Bool): Make it signed char, instead of
71633         an enum type, so that it's guaranteed to promote to int.  See:
71634         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
71635
71636 2003-08-03  Karl Berry  <karl@gnu.org>
71637
71638         * config/depcomp: update from automake.
71639
71640 2003-07-31  Paul Eggert  <eggert@twinsun.com>
71641
71642         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
71643         (strerror): Don't assume that a printable int fits in 14 bytes.
71644
71645 2003-07-31  Bruno Haible  <bruno@clisp.org>
71646
71647         * modules/getpass-gnu: New file.
71648         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
71649
71650 2003-07-31  Bruno Haible  <bruno@clisp.org>
71651
71652         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
71653
71654 2003-07-24  Karl Berry  <karl@gnu.org>
71655
71656         * config/missing: update from automake.
71657
71658 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
71659             Bruno Haible  <bruno@clisp.org>
71660
71661         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
71662         * lib/getline.c (getline, getdelim): Likewise.
71663         Remove _GNU_SOURCE define; now it's defined in config.h through
71664         m4/getline.m4.
71665
71666 2003-07-23  Karl Berry  <karl@gnu.org>
71667
71668         * config/config.sub: update from prep.
71669
71670 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71671
71672         * modules/xalloc (Depends-on): Add exitfail.
71673         * modules/xmemcoll: Likewise.
71674
71675 2003-07-22  Paul Eggert  <eggert@twinsun.com>
71676
71677         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
71678         over-parenthesization in macros.
71679
71680         Sync with coreutils.
71681
71682         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
71683         required by C99.
71684
71685         Use `exit_failure' for xalloc and xmemcoll instead of their own
71686         private exit-failure variables.
71687         * lib/xalloc.h (xalloc_exit_failure): Remove.
71688         * lib/xmalloc.c: Likewise.  Include exitfail.h.
71689         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
71690         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
71691         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
71692         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
71693
71694 2003-07-20  Jim Meyering  <jim@meyering.net>
71695
71696         * modules/closeout (Depends-on): Add exitfail.
71697         Suggestion from Bruno Haible.
71698
71699 2003-07-19  Karl Berry  <karl@gnu.org>
71700
71701         * config/config.sub: update from prep.
71702
71703 2003-07-18  Paul Eggert  <eggert@twinsun.com>
71704
71705         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
71706         Remove.
71707         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
71708         to test that it can stand by itself.  Include "exitfail.h".
71709         Clients should set exit_failure instead.
71710         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
71711
71712 2003-07-18  Bruno Haible  <bruno@clisp.org>
71713
71714         * modules/getndelim2: New file.
71715         * modules/getline: Share files with module getndelim2.
71716         * modules/getnline: Depend on getndelim2 instead of sharing files with
71717         it. Add getnline.c to lib_SOURCES.
71718         * MODULES.html.sh (func_all_modules): Add getndelim2.
71719
71720 2003-07-18  Bruno Haible  <bruno@clisp.org>
71721
71722         * m4/getndelim2.m4: New file.
71723         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
71724         invoke gl_PREREQ_GETNDELIM2.
71725         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
71726         gl_PREREQ_GETNDELIM2.
71727         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
71728         gl_GETNDELIM2.
71729
71730 2003-07-18  Bruno Haible  <bruno@clisp.org>
71731
71732         * lib/getndelim2.h: New file.
71733         * lib/getndelim2.c: Make into a module of its own. Include config.h,
71734         getndelim2.h.
71735         (getndelim2): Make non-static. Change return type to ssize_t.
71736         * lib/getline.h: Change argument names.
71737         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
71738         * lib/getnline.c: Include getndelim2.h.
71739
71740 2003-07-18  Andreas Schwab  <schwab@suse.de>
71741
71742         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
71743
71744 2003-07-17  Karl Berry  <karl@gnu.org>
71745
71746         * config/config.sub: update from prep.
71747
71748 2003-07-17  Bruno Haible  <bruno@clisp.org>
71749
71750         * modules/getnline: New file.
71751         * modules/getline: Add lib/getndelim2.c to source file list.
71752         * MODULES.html.sh (func_all_modules): Add getnline.
71753
71754 2003-07-17  Bruno Haible  <bruno@clisp.org>
71755
71756         * m4/getnline.m4: New file.
71757
71758 2003-07-17  Bruno Haible  <bruno@clisp.org>
71759
71760         * m4/Makefile.am.in: Remove file.
71761         * m4/Makefile.am: Remove file.
71762         * m4/Makefile.in: Remove file.
71763
71764 2003-07-17  Bruno Haible  <bruno@clisp.org>
71765
71766         * lib/getnline.h: New file.
71767         * lib/getnline.c: New file.
71768         * lib/getndelim2.c: New file, extracted from getline.c.
71769         (getndelim2): Renamed from getdelim2, with added nmax argument.
71770         * lib/getline.c: Include getndelim2.c.
71771         (getdelim2): Moved out to getndelim2.c.
71772         (getline, getdelim): Update.
71773
71774 2003-07-17  Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/Makefile.am: Remove file.
71777         * lib/Makefile.in: Remove file.
71778
71779 2003-07-17  Bruno Haible  <bruno@clisp.org>
71780
71781         * configure.in: Remove file.
71782         * Makefile.in: Remove file.
71783
71784 2003-07-17  Bruno Haible  <bruno@clisp.org>
71785
71786         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71787
71788 2003-07-16  Karl Berry  <karl@gnu.org>
71789
71790         * config/srclist-update: was running fixlicense twice, which caused
71791                 texinfo.tex to be nullified for some reason.  Simplify,
71792                 $gplsrc is no longer needed as far as I can see?
71793
71794 2003-07-16  Jim Meyering  <jim@meyering.net>
71795
71796         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71797
71798 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71799
71800         * config/srclist.txt: Get the following files from gettext-runtime/intl
71801         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71802         ref-del.sin.  From Bruno Haible.
71803         * config/srclist-update (fixfile): Change grep pattern again, since the
71804         previous fix didn't work (there was another trailing $).  Use
71805         '[$]' to escape the $s.
71806
71807 2003-07-15  Karl Berry  <karl@gnu.org>
71808
71809         * lib/vasnprintf.c: update from gettext.
71810
71811 2003-07-15  Karl Berry  <karl@gnu.org>
71812
71813         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71814         gets expanded when surrounded by '$'.
71815
71816 2003-07-15  Jim Meyering  <jim@meyering.net>
71817
71818         * modules/save-cwd: Don't depend on error.  From Derek Price.
71819
71820 2003-07-15  Jim Meyering  <jim@meyering.net>
71821
71822         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71823
71824 2003-07-14  Simon Josefsson  <jas@extundo.com>
71825
71826         * modules/mempcpy: New file.
71827         * MODULES.html.sh (func_all_modules): Add mempcpy.
71828
71829 2003-07-14  Simon Josefsson  <jas@extundo.com>
71830
71831         * m4/mempcpy.m4: New file.
71832
71833 2003-07-14  Simon Josefsson  <jas@extundo.com>
71834
71835         * lib/mempcpy.h: New file.
71836         * lib/mempcpy.c: New file.
71837
71838 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71839
71840         * modules/getdate, modules/posixtm: Depend on mktime.
71841
71842 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71843
71844         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71845         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71846         unicodeio.c, unicodeio.h, unlocked-io.h:
71847         Switch from LGPL to GPL.
71848
71849 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71850
71851         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71852         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71853         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71854         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71855         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71856         updated automatically by ../config/srclist-update.  This changes
71857         their license from LPGL to GPL.
71858
71859 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71860
71861         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71862         assumed to refer to the root of the most recent stable gettext version.
71863         * config/srclistvars.sh: Add defaults for eggert.
71864         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71865         Match "This program" as well as "The program".  This is needed
71866         for gettext.
71867
71868 2003-07-14  Jim Meyering  <jim@meyering.net>
71869
71870         Don't emit diagnostics.  Let callers do that.
71871         * lib/save-cwd.c: Don't include "error.h".
71872         (save_cwd): Don't call error.  Ensure that errno is valid
71873         when returning nonzero.
71874
71875         * lib/save-cwd.h (restore_cwd): Update prototype.
71876         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71877         Simplify.  Don't call error upon failure.  Let callers do that.
71878         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71879         when auditing is enabled.  But don't bother updating the #if.
71880
71881 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71882
71883         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71884         it breaks C++ compilation.
71885         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71886
71887 2003-07-10  Simon Josefsson  <jas@extundo.com>
71888
71889         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71890
71891 2003-07-10  Jim Meyering  <jim@meyering.net>
71892
71893         * m4/clock_time.m4: Remove trailing blank.
71894         * m4/intmax_t.m4: Likewise.
71895
71896 2003-07-10  Jim Meyering  <jim@meyering.net>
71897
71898         * lib/vasnprintf.c: Remove trailing blanks.
71899         Make cpp indentation consistent.
71900
71901 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71902
71903         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71904         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71905         Switch from LGPL to GPL.
71906
71907 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71908
71909         * config/srclist.txt: Sort sublists.  Add
71910         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71911         that differ from gnulib for one reason or another; we'd like this list
71912         to be smaller but for now let's document what we have.
71913
71914 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71915
71916         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71917         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71918         and sweeter "eval x=$x".
71919         * config/srclist.txt: Get lib/argp* from glibc.
71920
71921 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71922
71923         * lib/mktime.c: Fix some boundary cases and remove need for floating
71924         point.
71925
71926         Issue a compile-time diagnostic if time_t is floating point, or if
71927         two's complement arithmetic is not in effect, or if arithmetic
71928         right shift does not propagate the sign.  These assumptions were
71929         all in the original code but they weren't checked.
71930
71931         (TIME_T_MIDPOINT, verify): New macros.
71932         (__isleap): Remove; it has integer overflow problems.
71933         (leapyear): New function, without those problems.
71934         (ydhms_tm_diff): Remove; splitting into two parts.
71935         (ydhms_diff): New function, containing the arithmetic part of
71936         the old ydhms_tm_diff function.  Issue a compile-time
71937         diagnostic if we are not using C99 integer division.
71938         Avoid casts when possible.
71939         (guess_time_tm): New function, containing the checking part of
71940         the old ydhms_tm_diff function.  Return the new value, rather than
71941         the difference between it and the old.  Accept a new argument T
71942         so that *T specifies the old value.  Check for overflow in the result.
71943
71944         (__mktime_internal): Use a time_t offset, not a long int offset.
71945         This undoes the 2003-06-04 change, which is no longer needed now
71946         that we have better overflow checking.
71947         (localtime_offset): Likewise.
71948
71949         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71950         and long are 64-bit but int is only 32-bit.
71951         (ydhms_diff): Use long int to store year1 and yday1.
71952         Issue a compile-time diagnostic if long int is not wide enough.
71953
71954         (__mktime_internal): Use long int to store adjusted year and yday.
71955         Use plain C rather than preprocessor commands, if that doesn't
71956         affect efficiency.
71957         Check for overflow (and try to repair) after each probe
71958         rather than checking only at the very end.  This avoids some bugs
71959         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71960         does not equal GMT offset at maximum time).
71961         Use integer to check for overflow rather than floating point; this
71962         is more portable to non-IEEE hosts, and is a tad faster.
71963         When we detect that we are oscillating between two values,
71964         don't check whether tm_isdst has the requested value, since
71965         we already know the answer.  When tm_isdst has the wrong value,
71966         use a different heuristic to find the right one, based on the
71967         extreme values actually observed in practice in tz2003a,
71968         rather than the (overly optimistic) "previous 3 calendar quarters".
71969
71970         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71971         "T const" to accommodate glibc style.
71972         (check_result): Use less-confusing report format.  "long" -> "long int.
71973         (main): Likewise.
71974         Don't loop if the iteration overflows time_t.
71975         Allow a negative step in the iteration.
71976
71977 2003-07-06  Karl Berry  <karl@gnu.org>
71978
71979         * config/depcomp: update from automake.
71980         * config/config.sub: update from prep.
71981
71982 2003-07-03  Karl Berry  <karl@gnu.org>
71983
71984         * config/config.guess: update from prep.
71985
71986 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71987
71988         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71989         xreadlink.c now includes it unconditionally.
71990
71991 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71992
71993         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71994         having it depend on HAVE_SYS_TYPES_H.
71995
71996 2003-07-01  Bruno Haible  <bruno@clisp.org>
71997
71998         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71999         <sys/types.h> should be sufficient.
72000         Reported by Paul Eggert.
72001
72002 2003-06-26  Karl Berry  <karl@gnu.org>
72003
72004         * config/depcomp: update from automake.
72005
72006 2003-06-26  Bruno Haible  <bruno@clisp.org>
72007
72008         * modules/human: Depend on module stdbool.
72009
72010 2003-06-25  Bruno Haible  <bruno@clisp.org>
72011
72012         * modules/readlink: New file.
72013         * modules/xreadlink: Depend on it.
72014         * MODULES.html.sh (func_all_modules): Add readlink.
72015
72016 2003-06-25  Bruno Haible  <bruno@clisp.org>
72017
72018         * m4/readlink.m4: New file.
72019
72020 2003-06-25  Bruno Haible  <bruno@clisp.org>
72021
72022         * lib/readlink.c: New file.
72023
72024 2003-06-22  Karl Berry  <karl@gnu.org>
72025
72026         * config/srclist.txt: update mkinstalldirs from automake.
72027         * config/mkinstalldirs: update.
72028
72029 2003-06-22  Bruno Haible  <bruno@clisp.org>
72030
72031         Portability to mingw32.
72032         * m4/ssize_t.m4: New file, from GNU gettext.
72033         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
72034         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
72035
72036 2003-06-22  Bruno Haible  <bruno@clisp.org>
72037
72038         * modules/safe-read: Add m4/ssize_t.m4.
72039         * modules/xreadlink: Add m4/ssize_t.m4.
72040
72041 2003-06-20  Bruno Haible  <bruno@clisp.org>
72042
72043         Assume C89, so PARAMS isn't needed.
72044         * lib/unicodeio.h (PARAMS): Remove.
72045         * lib/unicodeio.c: Don't use PARAMS.
72046
72047 2003-06-18  Karl Berry  <karl@gnu.org>
72048
72049         * config/config.{guess,sub}: update from prep.
72050
72051 2003-06-18  Jim Meyering  <jim@meyering.net>
72052
72053         Merge changes from coreutils.
72054         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
72055         Remove explicit declarations of xmalloc and realloc.
72056         Include xalloc.h.
72057         (read_utmp): Remove anachronistic cast of xmalloc.
72058
72059 2003-06-17  Paul Eggert  <eggert@twinsun.com>
72060
72061         Assume C89, so PARAMS isn't needed.
72062         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
72063         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
72064         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
72065         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
72066         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
72067         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
72068         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
72069         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
72070         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
72071         lib/xstrtod.h, lib/xstrtol.h: Likewise.
72072         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
72073         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
72074         no longer needed. Anyway, config.h should always be included before any
72075         other file.
72076
72077 2003-06-11  Simon Josefsson  <jas@extundo.com>
72078
72079         * modules/sysexits: New file.
72080         * MODULES.html.sh (func_all_modules): Add sysexits.
72081
72082 2003-06-11  Simon Josefsson  <jas@extundo.com>
72083
72084         * lib/sysexit_.h: New file.
72085
72086 2003-06-11  Derek Price  <derek@ximbiot.com>
72087
72088         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
72089         necessary.
72090
72091 2003-06-11  Bruno Haible  <bruno@clisp.org>
72092
72093         * m4/sysexits.m4: New file.
72094
72095 2003-06-10  Simon Josefsson  <jas@extundo.com>
72096
72097         * lib/argp.h: New file, from glibc.
72098         * lib/argp-ba.c: New file, from glibc.
72099         * lib/argp-eexst.c: New file, from glibc.
72100         * lib/argp-fmtstream.c: New file, from glibc.
72101         * lib/argp-fmtstream.h: New file, from glibc.
72102         * lib/argp-fs-xinl.c: New file, from glibc.
72103         * lib/argp-help.c: New file, from glibc.
72104         * lib/argp-namefrob.h: New file, from glibc.
72105         * lib/argp-parse.c: New file, from glibc.
72106         * lib/argp-pv.c: New file, from glibc.
72107         * lib/argp-pvh.c: New file, from glibc.
72108         * lib/argp-xinl.c: New file, from glibc.
72109
72110 2003-06-10  Simon Josefsson  <jas@extundo.com>
72111
72112         * modules/strchrnul: New file.
72113
72114 2003-06-10  Simon Josefsson  <jas@extundo.com>
72115
72116         * modules/argp: New file.
72117
72118 2003-06-10  Simon Josefsson  <jas@extundo.com>
72119
72120         * m4/strchrnul.m4: New file.
72121
72122 2003-06-10  Simon Josefsson  <jas@extundo.com>
72123
72124         * lib/strchrnul.h: New file.
72125         * lib/strchrnul.c: New file.
72126
72127 2003-06-10  Bruno Haible  <bruno@clisp.org>
72128
72129         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
72130
72131 2003-06-07  Karl Berry  <karl@gnu.org>
72132
72133         * config/config.{guess,sub}: update from prep.
72134
72135 2003-06-07  Jim Meyering  <jim@meyering.net>
72136
72137         * modules/strtod: Use $(...) notation, not @...@ for
72138         AC_REPLACE'd variables.
72139         * modules/localcharset: Likewise.
72140
72141 2003-06-07  Jim Meyering  <jim@meyering.net>
72142
72143         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
72144         in place of my name in the copyright comment.
72145         Remove definition and uses of __P.
72146
72147         From coreutils.
72148         * lib/stat.c: Don't declare xmalloc explicitly.
72149         Instead, include "xalloc.h".
72150         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
72151         xrealloc, and xcalloc return values.
72152         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
72153         Improve comment.
72154         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
72155
72156 2003-06-07  Bruno Haible  <bruno@clisp.org>
72157
72158         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
72159         avoid AC_CONFIG_LINKS.
72160         * modules/fnmatch (Makefile.am): Use explicit creation rule for
72161         fnmatch.h, to avoid AC_CONFIG_LINKS.
72162         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
72163
72164 2003-06-07  Bruno Haible  <bruno@clisp.org>
72165
72166         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
72167         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
72168         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72169         directory.
72170         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
72171         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72172         directory.
72173
72174 2003-06-06  Jim Meyering  <jim@meyering.net>
72175
72176         Merge from coreutils.
72177         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
72178         Consolidate declarations and initializations of *_base* locals.
72179
72180         Merge from coreutils.
72181         This avoids a core dump on systems without GNU putenv,
72182         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
72183         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
72184         (unsetenv): New static function, from GNU libc.
72185         (rpl_putenv): Use it.
72186
72187         * lib/modechange.c: Remove trailing blanks.
72188
72189         Merge from coreutils.
72190         * lib/fsusage.c: Remove declaration of statfs.
72191         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
72192
72193         * lib/posixtm.c: Include <stdbool.h> unconditionally.
72194
72195 2003-06-06  Jim Meyering  <jim@meyering.net>
72196
72197         * lib/stdbool_.h: Renamed from stdbool.h.in.
72198
72199 2003-06-06  Jim Meyering  <jim@meyering.net>
72200             Bruno Haible  <bruno@clisp.org>
72201
72202         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
72203         Adjust Makefile.am snippet not to redirect directly to target.
72204         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
72205
72206 2003-06-05  Paul Eggert  <eggert@twinsun.com>
72207
72208         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
72209         mismatch, look in future quarters as well as past.  This fixes a
72210         bug when processing fall-backwards gaps immediately after a long
72211         period of daylight-saving time.
72212
72213         * lib/mktime.c: Assume freestanding C89 or better.
72214         (HAVE_LIMITS_H): Remove.  Assume it's 1.
72215         (__P): Remove; not used.
72216         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
72217         (mktime, not_equal_tm, print_tm, check_result,
72218         main): Use prototypes.  Use const * where appropriate.
72219         (main): Fix typo in testing code that uncovered by above changes.
72220         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
72221
72222 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72223
72224         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
72225         locale.h, localeconv.  This merges changes from coreutils.
72226
72227         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
72228         It can be removed after the next Autoconf is released.
72229         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
72230         needed.
72231
72232 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72233
72234         * lib/mktime.c: Fix Debian bug 177940
72235         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
72236         (localtime_offset): Now long int, not time_t, because we want it
72237         to be guaranteed to be signed.  All uses changed.
72238         (__mktime_internal): If overflow would occur when adding offset,
72239         don't add it.
72240
72241         Merge 'human' changes from coreutils.  Rewrite to support
72242         locale-specific notations like thousands separators.
72243         * lib/human.c: Simplify authorship notice.
72244         Include human.h immediately after config.h.
72245         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
72246         <limits.h>: Do not include, since human.h does.
72247         (SIZE_MAX, UINTMAX_MAX): New macros.
72248         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
72249         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
72250         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
72251         (power_letter): Renamed from suffixes.
72252         (generate_suffix_backwards): Remove.
72253         (adjust_value): Now takes int style (because of human.h changes)
72254         and long double value (for greater precision on some platforms).
72255         (group_number): New function.
72256         (human_readable): Use it.  Use integer options, not enum.
72257         Put the options before the sizes in the arg list.
72258         Support all the new options.
72259         The old human_readable function has been removed;
72260         use inttostr.h instead.
72261         (human_readable, default_block_size, humblock):
72262         Use uintmax_t, not int, for block sizes.
72263         (human_readable_inexact, block_size_types): Remove.
72264         (block_size_opts): New constant.
72265         (human_options): Renamed from human_block_size, with new signature
72266         that allows block sizes up to UINTMAX_MAX.  All callers changed.
72267         * lib/human.h: Add copyright and authorship notice.
72268         Include <limits.h> and <stdbool.h> unconditionally.
72269         (PARAMS): Remove.  All uses removed.
72270         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
72271         (enum human_inexact_style): Remove tag; now a nameless enum.
72272         (human_floor, human_ceiling, human_round_to_even): Now have
72273         values 2, 0, 1 rather than -1, 1, 0.
72274         (human_group_digits, human_suppress_point_zero, human_autoscale,
72275         human_base_1024, human_SI, human_B): New constants.
72276         (human_readable_inexact, human_block_size): Remove.
72277         (human_readable): Size args are now uintmax_t, not int.
72278         (human_options): New decl.
72279
72280         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
72281         unnecessary now that we assume C89 or better.  This change
72282         imported from coreutils.
72283
72284         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72285         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
72286         in the 2003-05-30 sync from glibc.
72287
72288         .h files should stand alone, but we shouldn't include <sys/types.h>
72289         if we can get away with just <stddef.h>.
72290
72291         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
72292         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
72293         rather than <sys/types.h>, as we merely need size_t.
72294         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
72295         to get size_t.
72296         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
72297         Include <stdio.h>, to get FILE.
72298         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
72299         memcasecmp.h has included <stddef.h> and all we need is size_t.
72300         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
72301         our interface, instead of including <sys/types.h>
72302
72303 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72304
72305         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
72306         now, as glibc mktime is buggy on non-glibc systems.
72307
72308 2003-06-03  Karl Berry  <karl@gnu.org>
72309
72310         * config/config.sub: update from prep.
72311
72312 2003-06-02  Paul Eggert  <eggert@twinsun.com>
72313
72314         [from coreutils]
72315         Fix some minor time-related bugs with POSIX time arguments.
72316         Some valid time stamps were being rejected (notably -1, and
72317         time stamps before 1900 on 64-bit hosts).  And some invalid
72318         time stamps were being accepted, e.g. September 31.
72319
72320         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
72321         that we can return (time_t) -1 successfully.
72322         * lib/posixtm.c: Likewise.
72323         [HAVE_STDBOOL_H]: Include <stdbool.h>.
72324         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
72325         (t): Remove static var.
72326         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
72327         of static var.  All uses changed.
72328         (year): Do not reject years before 1900; they can occur with
72329         64-bit time_t.
72330         (posix_time_parse): Do not check for out-of-range components;
72331         that is now the caller's responsibility, since our checks were
72332         only approximations.
72333         (posixtime): Use mktime to check for out-of-range components,
72334         since it knows them exactly.
72335         If mktime returns (time_t) -1, check whether an error actually occurred
72336         by invoking localtime on -1.
72337         (main) [TEST_POSIXTIME]: Check for input data errors, and report
72338         posixtime failures better.
72339         Improve the test data (in comments only).
72340
72341 2003-06-02  Karl Berry  <karl@gnu.org>
72342
72343         * config/mkinstalldirs (version): new variable.
72344         (--version): new option.
72345         (usage): improve message.
72346
72347 2003-05-30  Karl Berry  <karl@gnu.org>
72348
72349         * lib/mktime.c: update from libc.
72350
72351 2003-05-30  Bruno Haible  <bruno@clisp.org>
72352
72353         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
72354         * config/config.rpath: Upgrade to gettext-0.12.1.
72355
72356 2003-05-30  Bruno Haible  <bruno@clisp.org>
72357
72358         * m4/gettext.m4: Upgrade to gettext-0.12.1.
72359         * m4/nls.m4: New file, from gettext-0.12.1.
72360         * m4/po.m4: New file, from gettext-0.12.1.
72361         * m4/progtest.m4: Upgrade to gettext-0.12.1.
72362
72363 2003-05-30  Bruno Haible  <bruno@clisp.org>
72364
72365         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
72366         * lib/localcharset.h: Likewise.
72367         * lib/localcharset.c: Likewise.
72368
72369 2003-05-29  Karl Berry  <karl@gnu.org>
72370
72371         * config/config.rpath: update from gettext.
72372
72373 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72374
72375         Assume the headers required for C89 freestanding compilers.
72376         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
72377         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
72378         * m4/human.m4 (gl_HUMAN): Likewise.
72379         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
72380         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
72381         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72382         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
72383         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72384         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
72385
72386 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72387
72388         Assume the headers required for C89 freestanding compilers.
72389         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
72390         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
72391         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
72392         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
72393         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
72394         define, since <limits.h> is guaranteed to do that.
72395         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
72396         * lib/exclude.c: Include <stdbool.h> unconditionally.
72397         * lib/tempname.c: Include <stddef.h> unconditionally.
72398         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
72399         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
72400         <stddef.h> does that.
72401         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
72402         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
72403         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
72404         needed.
72405         * lib/xstrtol.c: Likewise.
72406         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
72407         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
72408
72409         * lib/addext.c (addext): Use assignment rather than cast, to avoid
72410         warnings on some platforms.
72411
72412         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72413         arbitrarily.
72414
72415 2003-05-26  Jim Meyering  <jim@meyering.net>
72416
72417         Merge in a change from coreutils:
72418         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
72419         that is guaranteed to be `no'.  Use `no_such_member' to indicate
72420         that condition, rather than `-1' which is slightly misleading.
72421         Change the name of the cache variable to have the gl_ prefix.
72422         Prompted by a patch from Richard Dawe for DJGPP.
72423
72424 2003-05-24  Karl Berry  <karl@gnu.org>
72425
72426         * config/config.guess: update from prep.
72427
72428 2003-05-22  Karl Berry  <karl@gnu.org>
72429
72430         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
72431
72432 2003-05-20  Karl Berry  <karl@gnu.org>
72433
72434         * config/config.guess: update from prep.
72435
72436 2003-05-18  Karl Berry  <karl@gnu.org>
72437
72438         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
72439         might actually be set by the user.
72440
72441         * config/depcomp, install-sh, mdate-sh: update from automake.
72442
72443 2003-05-17  Bruno Haible  <bruno@clisp.org>
72444
72445         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
72446         invalid expansion for AC_EGREP_CPP.
72447         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
72448         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
72449         Suggested by Akim Demaille <akim@epita.fr> in
72450         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
72451
72452 2003-05-12  Jim Meyering  <jim@meyering.net>
72453
72454         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
72455         the space-padded-by-default conversion specifiers, %e, %k, %l.
72456
72457 2003-05-12  Bruno Haible  <bruno@clisp.org>
72458
72459         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
72460         the string is longer than 4 KB.
72461
72462 2003-05-11  Karl Berry  <karl@gnu.org>
72463
72464         * config/config.{guess,sub}: update from prep.
72465
72466 2003-05-09  Bruno Haible  <bruno@clisp.org>
72467
72468         * modules/error: Add m4/strerror_r.m4 to file list.
72469
72470 2003-05-03  Bruno Haible  <bruno@clisp.org>
72471
72472         Upgrade to Unicode-4.0.
72473         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
72474         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
72475         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
72476         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
72477         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
72478         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
72479         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
72480         Change width of U+E0100..U+E01EF from 1 to 0.
72481
72482 2003-04-25  Jim Meyering  <jim@meyering.net>
72483
72484         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
72485         of type size_t, not int.
72486
72487 2003-04-25  Bruno Haible  <bruno@clisp.org>
72488
72489         * lib/copy-file.c: Include <stddef.h>, for size_t.
72490
72491 2003-04-21  Paul Eggert  <eggert@twinsun.com>
72492
72493         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
72494         code which expansion is under static control.  Patch imported from
72495         Akim Demaille's patch to Bison; see
72496         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
72497
72498 2003-04-14  Bruno Haible  <bruno@clisp.org>
72499
72500         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
72501
72502 2003-04-11  Jim Meyering  <jim@meyering.net>
72503
72504         Merge changes from Coreutils.
72505
72506         2003-03-22  Jim Meyering  <jim@meyering.net>
72507
72508         * lib/strftime.c (widen): Cast alloca return value to proper type.
72509
72510         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
72511
72512         From GNU libc.
72513         * lib/strftime.c (my_strftime): Handle very large width
72514         specifications for numeric values correctly.  Improve checks for
72515         overflow.
72516
72517         2003-01-19  Jim Meyering  <jim@meyering.net>
72518
72519         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
72520         definitions.
72521         (nl_get_alt_digit) [! defined my_strftime]: Define.
72522         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
72523         _nl_get_alt_digit and _nl_get_walt_digit.
72524
72525         * lib/strftime.c (my_strftime): Merge in locale-related changes from
72526         libc. These changes have no effect outside of _LIBC.
72527
72528 2003-04-10  Bruno Haible  <bruno@clisp.org>
72529
72530         * modules/findprog: New file.
72531         * MODULES.html.sh (func_all_modules): Add it.
72532
72533 2003-04-10  Bruno Haible  <bruno@clisp.org>
72534
72535         * m4/findprog.m4: New file.
72536         * m4/eaccess.m4: New file.
72537
72538 2003-04-10  Bruno Haible  <bruno@clisp.org>
72539
72540         * lib/findprog.h: New file, from GNU gettext.
72541         * lib/findprog.c: New file, from GNU gettext.
72542
72543 2003-04-05  Jim Meyering  <jim@meyering.net>
72544
72545         Merge changes from Coreutils.
72546
72547         * lib/exclude.h (PARAMS): Remove definition and uses.
72548         * lib/exclude.c: Remove uses of `PARAMS'.
72549
72550         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
72551         Add test-cases for DOS filenames. Declare program_name.
72552         (main): Set up program_name.  Patch by Rich Dawe.
72553
72554         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72555         error from mntctl.
72556         Use mntctl's return value to drive the entry-processing loop, since
72557         we can't rely on the value of the vmt_length member in the last
72558         entry.  On some systems doing so could result in exhausting
72559         virtual memory.  Based in part on a patch from Mike Jetzer.
72560
72561 2003-04-04  Bruno Haible  <bruno@clisp.org>
72562
72563         * modules/linebreak: New file.
72564         * MODULES.html.sh (func_all_modules): Add it.
72565
72566 2003-04-04  Bruno Haible  <bruno@clisp.org>
72567
72568         * m4/linebreak.m4: New file.
72569
72570 2003-04-04  Bruno Haible  <bruno@clisp.org>
72571
72572         * lib/linebreak.h: New file, from GNU gettext.
72573         * lib/linebreak.c: New file, from GNU gettext with slight
72574         modifications.
72575         * lib/lbrkprop.h: New file, from GNU gettext.
72576
72577 2003-04-03  Bruno Haible  <bruno@clisp.org>
72578
72579         * modules/utf8-ucs4: New file.
72580         * modules/utf16-ucs4: New file.
72581         * modules/ucs4-utf8: New file.
72582         * modules/ucs4-utf16: New file.
72583         * MODULES.html.sh (func_all_modules): Add them.
72584
72585 2003-04-03  Bruno Haible  <bruno@clisp.org>
72586
72587         * m4/utf-ucs4.m4: New file.
72588         * m4/ucs4-utf.m4: New file.
72589
72590 2003-04-03  Bruno Haible  <bruno@clisp.org>
72591
72592         * lib/utf8-ucs4.h: New file, from GNU gettext.
72593         * lib/utf16-ucs4.h: New file, from GNU gettext.
72594         * lib/ucs4-utf8.h: New file, from GNU gettext.
72595         * lib/ucs4-utf16.h: New file, from GNU gettext.
72596
72597 2003-04-02  Bruno Haible  <bruno@clisp.org>
72598
72599         * modules/binary-io: New file.
72600         * MODULES.html.sh (func_all_modules): Add it.
72601
72602 2003-04-02  Bruno Haible  <bruno@clisp.org>
72603
72604         * lib/binary-io.h: New file, from GNU gettext.
72605
72606 2003-04-01  Bruno Haible  <bruno@clisp.org>
72607
72608         * modules/pathname: New file.
72609         * MODULES.html.sh (func_all_modules): Add it.
72610
72611 2003-04-01  Bruno Haible  <bruno@clisp.org>
72612
72613         * lib/pathname.h: New file, from GNU gettext.
72614         * lib/concatpath.c: New file, from GNU gettext.
72615
72616 2003-03-30  Bruno Haible  <bruno@clisp.org>
72617
72618         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
72619
72620 2003-03-30  Bruno Haible  <bruno@clisp.org>
72621
72622         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
72623         function chown() doesn't exist.
72624
72625 2003-03-28  Bruno Haible  <bruno@clisp.org>
72626
72627         * modules/copy-file: New file.
72628         * MODULES.html.sh (func_all_modules): Add it.
72629
72630 2003-03-28  Bruno Haible  <bruno@clisp.org>
72631
72632         * m4/copy-file.m4: New file.
72633
72634 2003-03-28  Bruno Haible  <bruno@clisp.org>
72635
72636         * lib/copy-file.h: New file, from GNU gettext.
72637         * lib/copy-file.c: New file, from GNU gettext.
72638
72639 2003-03-18  Jim Meyering  <jim@meyering.net>
72640
72641         * lib/quote.c (quote_n): Fix typo in comment.
72642
72643 2003-03-18  Bruno Haible  <bruno@clisp.org>
72644
72645         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
72646         checking.
72647         * m4/onceonly_2_57.m4: Likewise.
72648
72649 2003-03-17  Bruno Haible  <bruno@clisp.org>
72650
72651         * m4/onceonly.m4: Require autoconf 2.54 or newer.
72652         (m4_quote): Remove macro.
72653         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
72654
72655 2003-03-14  Jim Meyering  <jim@meyering.net>
72656
72657         Merge changes from Coreutils.
72658         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
72659         to be const, in order to avoid warnings.
72660         (obstack_room): Likewise.
72661         (obstack_empty_p): Likewise.
72662
72663 2003-03-14  Bruno Haible  <bruno@clisp.org>
72664
72665         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
72666         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
72667
72668 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72669
72670         Merge changes from Bison.
72671         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
72672         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
72673         when compiling Bison 1.875's `bitset bset = obstack_alloc
72674         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
72675         * lib/hash.c: Include <stdbool.h> unconditionally.
72676
72677 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72678
72679         * m4/onceonly.m4 (m4_quote): New macro.
72680         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
72681         Quote AC_FOREACH variable-expansions properly.
72682
72683 2003-03-13  Paul Eggert  <eggert@twinsun.com>
72684
72685         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
72686
72687 2003-03-09  Paul Eggert  <eggert@twinsun.com>
72688
72689         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
72690         Reported by Bruce Becker; see:
72691         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
72692
72693 2003-03-03  Paul Eggert  <eggert@twinsun.com>
72694             Bruno Haible  <bruno@clisp.org>
72695
72696         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
72697         Reported by John Hughes, see
72698         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
72699
72700 2003-02-20  Bruno Haible  <bruno@clisp.org>
72701
72702         * MODULES.html.sh (func_all_modules): Add poll.
72703
72704 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72705
72706         * modules/poll: New file.
72707
72708 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72709
72710         * lib/poll_.h: New file.
72711         * lib/poll.c: New file.
72712
72713 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
72714
72715         * m4/poll.m4: New file.
72716
72717 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72718
72719         * modules/mathl: New file.
72720
72721 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72722
72723         * lib/mathl.h: New file.
72724         * lib/acosl.c: New file.
72725         * lib/asinl.c: New file.
72726         * lib/atanl.c: New file.
72727         * lib/ceill.c: New file.
72728         * lib/cosl.c: New file.
72729         * lib/expl.c: New file.
72730         * lib/floorl.c: New file.
72731         * lib/frexpl.c: New file.
72732         * lib/ldexpl.c: New file.
72733         * lib/logl.c: New file.
72734         * lib/sincosl.c: New file.
72735         * lib/sinl.c: New file.
72736         * lib/sqrtl.c: New file.
72737         * lib/tanl.c: New file.
72738         * lib/trigl.c: New file.
72739         * lib/trigl.h: New file.
72740
72741 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72742
72743         * m4/mathl.m4: New file.
72744
72745 2003-02-18  Bruno Haible  <bruno@clisp.org>
72746
72747         * MODULES.html.sh (func_all_modules): Add mathl.
72748
72749 2003-02-17  Bruno Haible  <bruno@clisp.org>
72750
72751         * modules/mkdtemp: New module.
72752         * MODULES.html.sh (func_all_modules): Add it.
72753
72754 2003-02-17  Bruno Haible  <bruno@clisp.org>
72755
72756         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
72757
72758 2003-02-17  Bruno Haible  <bruno@clisp.org>
72759
72760         * lib/mkdtemp.h: New file, from GNU gettext.
72761         * lib/mkdtemp.c: New file, from GNU gettext.
72762
72763 2003-02-02  Jim Meyering  <jim@meyering.net>
72764
72765         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72766         e.g. glibc-2.2.93.
72767
72768 2003-01-31  Bruno Haible  <bruno@clisp.org>
72769
72770         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72771         'rpl_rename'.
72772         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72773         'rpl_strnlen'.
72774         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72775         'rpl_strtod'.
72776         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72777         'rpl_utime'.
72778
72779 2003-01-31  Bruno Haible  <bruno@clisp.org>
72780
72781         * lib/rename.c: #undef rename before defining rpl_rename.
72782         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72783
72784 2003-01-30  Bruno Haible  <bruno@clisp.org>
72785
72786         * modules/vasnprintf, modules/vasprintf: New modules.
72787         * MODULES.html.sh (func_all_modules): Add them.
72788
72789 2003-01-30  Bruno Haible  <bruno@clisp.org>
72790
72791         * m4/signed.m4: New file, from GNU gettext.
72792         * m4/longdouble.m4: New file, from GNU gettext.
72793         * m4/wchar_t.m4: New file, from GNU gettext.
72794         * m4/wint_t.m4: New file, from GNU gettext.
72795         * m4/vasnprintf.m4: New file.
72796         * m4/vasprintf.m4: New file.
72797
72798 2003-01-30  Bruno Haible  <bruno@clisp.org>
72799
72800         * lib/printf-args.h: New file, from GNU gettext.
72801         * lib/printf-args.c: New file, from GNU gettext.
72802         * lib/printf-parse.h: New file, from GNU gettext.
72803         * lib/printf-parse.c: New file, from GNU gettext.
72804         * lib/vasnprintf.h: New file, from GNU gettext.
72805         * lib/vasnprintf.c: New file, from GNU gettext.
72806         * lib/asnprintf.c: New file, from GNU gettext.
72807         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72808         * lib/vasprintf.c: New file, from GNU gettext.
72809         * lib/asprintf.c: New file, from GNU gettext.
72810
72811 2003-01-29  Bruno Haible  <bruno@clisp.org>
72812
72813         * modules/stpncpy: New module.
72814         * MODULES.html.sh (func_all_modules): Add it.
72815
72816 2003-01-29  Bruno Haible  <bruno@clisp.org>
72817
72818         * m4/stpncpy.m4: New file.
72819
72820 2003-01-29  Bruno Haible  <bruno@clisp.org>
72821
72822         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72823         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72824
72825 2003-01-28  Bruno Haible  <bruno@clisp.org>
72826
72827         * modules/c-ctype: New module.
72828         * MODULES.html.sh (func_all_modules): Add it.
72829
72830 2003-01-28  Bruno Haible  <bruno@clisp.org>
72831
72832         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72833         Paul Eggert.
72834         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72835         Paul Eggert.
72836
72837 2003-01-27  Bruno Haible  <bruno@clisp.org>
72838
72839         * modules/xsetenv: New module.
72840         * MODULES.html.sh (func_all_modules): Add it.
72841
72842 2003-01-27  Bruno Haible  <bruno@clisp.org>
72843
72844         * lib/xsetenv.h: New file, from GNU gettext.
72845         * lib/xsetenv.c: New file, from GNU gettext.
72846
72847 2003-01-23  Jim Meyering  <jim@meyering.net>
72848
72849         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72850         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72851
72852 2003-01-23  Bruno Haible  <bruno@clisp.org>
72853
72854         * modules/minmax: New module.
72855         * MODULES.html.sh (func_all_modules): Add it.
72856
72857 2003-01-23  Bruno Haible  <bruno@clisp.org>
72858
72859         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72860         Eggert.
72861
72862 2003-01-22  Bruno Haible  <bruno@clisp.org>
72863
72864         * modules/exit: New module.
72865         * MODULES.html.sh (func_all_modules): Add it.
72866
72867 2003-01-22  Bruno Haible  <bruno@clisp.org>
72868
72869         * lib/exit.h: New file, from GNU gettext.
72870
72871 2003-01-19  Bruno Haible  <bruno@clisp.org>
72872
72873         * gnulib-tool: Recognize option --extract-maintainer.
72874         (func_get_maintainer): New function.
72875         * modules/*: Add Maintainer entry.
72876
72877 2003-01-16  Jim Meyering  <jim@meyering.net>
72878
72879         * m4/regex.m4: The `regex' struct is both input and output.
72880         Initialize it before each use.  Patch by Tim Waugh.
72881
72882 2003-01-16  Bruno Haible  <bruno@clisp.org>
72883
72884         * MODULES.html.sh: Add a table of contents. Add the module name as
72885         leftmost column. Add hyperlinks.
72886
72887 2003-01-15  Bruno Haible  <bruno@clisp.org>
72888
72889         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72890
72891 2003-01-15  Bruno Haible  <bruno@clisp.org>
72892
72893         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72894         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72895         suffix.
72896
72897 2003-01-15  Bruno Haible  <bruno@clisp.org>
72898
72899         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72900
72901 2003-01-15  Bruno Haible  <bruno@clisp.org>
72902
72903         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72904         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72905
72906 2003-01-14  Jim Meyering  <jim@meyering.net>
72907
72908         * lib/same.c (same_name): Tweak a comment.
72909
72910 2003-01-14  Bruno Haible  <bruno@clisp.org>
72911
72912         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72913         when a string comparison is sufficient.
72914
72915 2003-01-14  Bruno Haible  <bruno@clisp.org>
72916
72917         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72918         'unsigned int'.
72919
72920 2003-01-14  Bruno Haible  <bruno@clisp.org>
72921
72922         * lib/hash-pjw.c: Add comment about low quality of this function.
72923
72924 2003-01-13  Bruno Haible  <bruno@clisp.org>
72925
72926         * modules/stpcpy: Distribute lib/stpcpy.h.
72927         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72928
72929 2003-01-13  Bruno Haible  <bruno@clisp.org>
72930
72931         * modules/*: Add a description.
72932         * modules/strpbrk: Fix Makefile.am snippet.
72933         * modules/strtoimax: Fix dependencies.
72934         * modules/strtoumax: Likewise.
72935
72936 2003-01-13  Bruno Haible  <bruno@clisp.org>
72937
72938         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72939         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72940         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72941
72942 2003-01-13  Bruno Haible  <bruno@clisp.org>
72943
72944         * gnulib-tool (func_create_testdir): Store config/* files in the main
72945         directory.
72946         * config.rpath: Move to ...
72947         * config/config.rpath: ... here.
72948         * modules/gettext: Contains config/config.rpath, not config.rpath.
72949         * modules/iconv: Likewise.
72950
72951 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72952
72953         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72954         to avoid collisions with libcurses and libreadline.
72955
72956         * m4/getstr.m4: Remove.
72957         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72958
72959 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72960
72961         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72962         to avoid collisions with libcurses and libreadline.
72963
72964         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72965         * lib/getstr.h, getstr.c: Remove.
72966         * lib/getline.c: Include "getline.h", to check interface.
72967         Move body of old getstr.c here: this defines MIN_CHUNK and
72968         declares getdelim2, which is renamed from getstr.
72969         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72970
72971         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72972         All uses changed.
72973         * lib/linebuffer.h: Likewise.
72974         (readline): Remove backward-compatibility macro.
72975
72976 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72977
72978         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72979         to avoid collisions with libcurses and libreadline.
72980         * getstr: Remove.
72981         * MODULES.html.sh: Remove getstr.
72982         * modules/getline: Depend on unlocked-io, not getstr.
72983
72984 2003-01-12  Jim Meyering  <jim@meyering.net>
72985
72986         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72987
72988 2003-01-10  Bruno Haible  <bruno@clisp.org>
72989
72990         * modules/alloca: Change Makefile.am requirements. Simplify Include
72991         requirements. Add lib/alloca_.h to file list.
72992
72993 2003-01-10  Bruno Haible  <bruno@clisp.org>
72994
72995         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72996
72997 2003-01-10  Bruno Haible  <bruno@clisp.org>
72998
72999         * lib/alloca_.h: New file.
73000         * lib/getdate.y: Unconditionally include alloca.h.
73001         * lib/makepath.c: Likewise.
73002         * lib/setenv.c: Likewise.
73003         * lib/userspec.c: Likewise.
73004
73005 2003-01-09  Karl Berry  <karl@gnu.org>
73006
73007         * MODULES.html.sh: include `dirname $0` in PATH, to find
73008         gnulib-tool.
73009
73010 2003-01-09  Bruno Haible  <bruno@clisp.org>
73011
73012         * modules/stdbool: Change configure.ac, Makefile.am requirements.
73013         Simplify Include requirements. Add lib/stdbool.h.in to file list.
73014
73015 2003-01-09  Bruno Haible  <bruno@clisp.org>
73016
73017         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
73018
73019 2003-01-09  Bruno Haible  <bruno@clisp.org>
73020
73021         * lib/stdbool.h.in: New file.
73022
73023 2003-01-09  Bruno Haible  <bruno@clisp.org>
73024
73025         * gnulib-tool (func_all_modules): Ignore files ending in ~.
73026         * MODULES.html.sh: Likewise.
73027
73028 2003-01-08  Jim Meyering  <jim@meyering.net>
73029
73030         * lib/full-write.c: Undefine and define-away `const' after inclusion
73031         of errno.h, not before.  Suggestion from Bruno Haible.
73032
73033 2003-01-08  Bruno Haible  <bruno@clisp.org>
73034
73035         * modules/full-read: Depend on full-write.
73036
73037 2003-01-08  Bruno Haible  <bruno@clisp.org>
73038
73039         * lib/safe-read.c: Include specification header first, to ensure its
73040         selfcontainedness.
73041         * lib/full-write.c: Likewise.
73042
73043 2003-01-07  Jim Meyering  <jim@meyering.net>
73044
73045         * lib/full-write.c: Rework so that it may serve to define full_read,
73046         too.
73047         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
73048
73049 2003-01-07  Bruno Haible  <bruno@clisp.org>
73050
73051         * lib/strtoimax.c: Include <stdint.h> as an alternative to
73052         <inttypes.h>.
73053         * lib/xstrtol.h: Likewise.
73054         * lib/xstrtoimax.c: Likewise.
73055         * lib/xstrtoumax.c: Likewise.
73056         * lib/human.h: Likewise.
73057
73058         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
73059         on systems that have <inttypes.h> but not <stdint.h>.
73060
73061 2003-01-07  Bruno Haible  <bruno@clisp.org>
73062
73063         * MODULES.html.sh: Add copyright notice.
73064         (missed_files): Omit CVS directory entries.
73065         (func_module): Make it work with sed-3.02.
73066         * MODULES.txt: Remove file.
73067
73068 2003-01-06  Jim Meyering  <jim@meyering.net>
73069
73070         * lib/version-etc.c: Update year in translatable copyright string.
73071
73072 2003-01-03  Karl Berry  <karl@gnu.org>
73073
73074         * config/config.{guess,sub}: update from prep.
73075
73076 2003-01-02  Karl Berry  <karl@gnu.org>
73077
73078         * doc/COPYING.DOC: belatedly updated to 1.2.
73079
73080 2003-01-01  Karl Berry  <karl@gnu.org>
73081
73082         * gnulib-tool (func_verify_module): report module name $module in
73083         error message, not $1.
73084         * gnulib-tool (create-testdir): don't complain if destdir couldn't
73085         be created, only if it doesn't exist.
73086         * gnulib-tool (last_checkin_date): don't expand the $Date here.
73087
73088 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73089
73090         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
73091
73092 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73093
73094         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
73095         memcmp if strcoll doesn't work.
73096
73097 2002-12-31  Bruno Haible  <bruno@clisp.org>
73098
73099         * lib/utime.c (utime_null): No need to call ftruncate if the file was
73100         nonempty.
73101
73102 2002-12-31  Bruno Haible  <bruno@clisp.org>
73103
73104         * lib/memcoll.c (STRCOLL): New macro.
73105         (memcoll): Use it.
73106
73107 2002-12-31  Bruno Haible  <bruno@clisp.org>
73108
73109         * lib/localcharset.h: New file.
73110         * lib/localcharset.c: Include it.
73111         * lib/unicodeio.c: Likewise.
73112
73113 2002-12-31  Bruno Haible  <bruno@clisp.org>
73114
73115         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
73116         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
73117
73118 2002-12-31  Bruno Haible  <bruno@clisp.org>
73119
73120         * lib/getline.h: Include <stddef.h>, for size_t.
73121
73122         * lib/unicodeio.h: Include <stddef.h>, for size_t.
73123         * lib/unicodeio.c: Don't include <stddef.h>.
73124
73125 2002-12-31  Bruno Haible  <bruno@clisp.org>
73126
73127         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
73128         HAVE_TM_ZONE.
73129
73130 2002-12-24  Karl Berry  <karl@gnu.org>
73131
73132         * config/config.guess: update from prep.
73133
73134 2002-12-24  Bruno Haible  <bruno@clisp.org>
73135
73136         General infrasructure.
73137         * m4/README: Rewritten.
73138         * m4/onceonly.m4: New file.
73139         * m4/onceonly_2_57.m4: New file.
73140
73141         Module atexit.
73142         * m4/atexit.m4: New file.
73143
73144         Module strtod.
73145         * m4/strtod.m4: New file.
73146
73147         Module strtol.
73148         * m4/strtol.m4: New file.
73149
73150         Module strtoul.
73151         * m4/strtoul.m4: New file.
73152
73153         Module memchr.
73154         * m4/memchr.m4: New file.
73155
73156         Module memcmp.
73157         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
73158         (jm_FUNC_MEMCMP): Invoke it.
73159
73160         Module memcpy.
73161         * m4/memcpy.m4: New file.
73162
73163         Module memmove.
73164         * m4/memmove.m4: New file.
73165
73166         Module memset.
73167         * m4/memset.m4: New file.
73168
73169         Module strcspn.
73170         * m4/strcspn.m4: New file.
73171
73172         Module strpbrk.
73173         * m4/strpbrk.m4: New file.
73174
73175         Module strstr.
73176         * m4/strstr.m4: New file.
73177
73178         Module strerror.
73179         * m4/strerror.m4: New file.
73180
73181         Module mktime.
73182         * m4/mktime.m4: Renamed from jm-mktime.m4.
73183         (gl_PREREQ_MKTIME): New macro.
73184         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
73185
73186         Module malloc.
73187         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
73188         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
73189         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
73190
73191         Module realloc.
73192         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
73193         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
73194         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
73195
73196         Module strftime.
73197         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
73198         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
73199         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
73200         gl_TM_GMTOFF.
73201         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
73202
73203         Module xalloc.
73204         * m4/xalloc.m4: New file.
73205
73206         Module alloca.
73207         * m4/alloca.m4: New file.
73208
73209         Module putenv.
73210         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
73211         (jm_FUNC_PUTENV): Invoke it.
73212
73213         Module setenv.
73214         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
73215         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
73216         when invoked twice.
73217         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
73218         gt_FUNC_SETENV.
73219
73220         Module memrchr.
73221         * m4/memrchr.m4: New file.
73222
73223         Module stpcpy.
73224         * m4/stpcpy.m4: New file.
73225
73226         Module strcase.
73227         * m4/strcase.m4: New file.
73228
73229         Module strdup.
73230         * m4/strdup.m4: New file.
73231
73232         Module strnlen.
73233         * m4/strnlen.m4: New file.
73234
73235         Module strndup.
73236         * m4/strndup.m4: New file.
73237
73238         Module xstrtod.
73239         * m4/xstrtod.m4: New file.
73240
73241         Module xstrtol.
73242         * m4/xstrtol.m4: New file.
73243
73244         Module getdate.
73245         * m4/getdate.m4: New file.
73246
73247         Module unlocked-io.
73248         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
73249         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
73250         * m4/jm-glibc-io.m4n: Remove file.
73251
73252         Module long-options.
73253         * m4/long-options.m4: New file.
73254
73255         Module md5.
73256         * m4/md5.m4: New file.
73257
73258         Module sha.
73259         * m4/sha.m4: New file.
73260
73261         Module getstr.
73262         * m4/getstr.m4: New file.
73263
73264         Module getline.
73265         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
73266         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
73267         <sys/types.h>, for size_t. Use the function name gnu_getline, not
73268         simply getline. Infoke gl_PREREQ_GETLINE.
73269
73270         Module obstack.
73271         * m4/obstack.m4: New file.
73272
73273         Module hash.
73274         * m4/hash.m4: New file.
73275
73276         Module readtokens.
73277         * m4/readtokens.m4: New file.
73278
73279         Module strverscmp.
73280         * m4/strverscmp.m4: New file.
73281
73282         Module stdbool.
73283         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
73284         OSF/1.
73285
73286         Module strtoll.
73287         * m4/strtoll.m4: New file.
73288
73289         Module strtoull.
73290         * m4/strtoull.m4: New file.
73291
73292         Module strtoimax.
73293         * m4/strtoimax.m4: New file.
73294
73295         Module strtoumax.
73296         * m4/strtoumax.m4: New file.
73297
73298         Module xstrtoimax.
73299         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
73300         jm_AC_PREREQ_XSTRTOIMAX.
73301         Moved the strtol prerequisites to strtol.m4.
73302         Moved the strtoll prerequisites to strtoll.m4.
73303         Moved the strtoimax prerequisites to strtoimax.m4.
73304
73305         Module xstrtoumax.
73306         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
73307         jm_AC_PREREQ_XSTRTOUMAX.
73308         Moved the strtoul prerequisites to strtoul.m4.
73309         Moved the strtoull prerequisites to strtoull.m4.
73310         Moved the strtoumax prerequisites to strtoumax.m4.
73311
73312         Module chown.
73313         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
73314         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
73315
73316         Module dup2.
73317         * m4/dup2.m4: New file.
73318
73319         Module ftruncate.
73320         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
73321         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
73322
73323         Module getgroups.
73324         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
73325         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
73326
73327         Module gettimeofday.
73328         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
73329         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
73330         gl_PREREQ_GETTIMEOFDAY.
73331
73332         Module mkdir.
73333         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
73334         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
73335
73336         Module mkstemp.
73337         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
73338         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
73339         jm_AC_TYPE_UINTMAX_T.
73340         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
73341
73342         Module stat.
73343         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
73344         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
73345
73346         Module lstat.
73347         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
73348         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
73349
73350         Module timespec.
73351         * m4/timespec.m4 (gl_TIMESPEC): New macro.
73352         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
73353         * m4/st_mtim.m4: Indentation.
73354
73355         Module nanosleep.
73356         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
73357         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
73358         gl_PREREQ_NANOSLEEP.
73359
73360         Module regex.
73361         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
73362         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
73363         (gl_REGEX): New macro.
73364
73365         Module rename.
73366         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
73367         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
73368
73369         Module rmdir.
73370         * m4/rmdir.m4: New file.
73371
73372         Module utime.
73373         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
73374         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
73375         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
73376
73377         Module dirname.
73378         * m4/dirname.m4: New file.
73379
73380         Module getopt.
73381         * m4/getopt.m4: New file.
73382
73383         Module unistd-safer.
73384         * m4/unistd-safer.m4: New file.
73385
73386         Module fnmatch.
73387         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
73388         declaration.
73389         (gl_PREREQ_FNMATCH_EXTRA): New macro.
73390         (gl_FUNC_FNMATCH_POSIX): New macro.
73391         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
73392         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
73393         simply fnmatch.
73394
73395         Module exclude.
73396         * m4/exclude.m4: New file.
73397
73398         Module human.
73399         * m4/human.m4: New file.
73400
73401         Module acl.
73402         * m4/acl.m4: Nop.
73403
73404         Module backupfile.
73405         * m4/backupfile.m4: New file.
73406         * m4/d-ino.m4: Indentation.
73407
73408         Module fsusage.
73409         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
73410         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
73411         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
73412
73413         Module dirfd.
73414         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
73415         requirements.
73416
73417         Module euidaccess.
73418         * m4/euidaccess.m4: New file.
73419
73420         Module file-type.
73421         * m4/file-type.m4: New file.
73422
73423         Module fileblocks.
73424         * m4/fileblocks.m4: New file.
73425
73426         Module filemode.
73427         * m4/filemode.m4: New file.
73428
73429         Module isdir.
73430         * m4/isdir.m4: New file.
73431
73432         Module lchown.
73433         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
73434         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
73435
73436         Module makepath.
73437         * m4/makepath.m4: New file.
73438
73439         Module modechange.
73440         * m4/modechange.m4: New file.
73441
73442         Module mountlist.
73443         * m4/mountlist.m4: New file.
73444         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
73445         Indentation.
73446
73447         Module path-concat.
73448         * m4/path-concat.m4: New file.
73449
73450         Module pathmax.
73451         * m4/pathmax.m4: New file.
73452
73453         Module same.
73454         * m4/same.m4: New file.
73455
73456         Module save-cwd.
73457         * m4/save-cwd.m4: New file.
73458
73459         Module savedir.
73460         * m4/savedir.m4: New file.
73461
73462         Module xgetcwd.
73463         * m4/xgetcwd.m4: New file.
73464         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
73465
73466         Module xreadlink.
73467         * m4/xreadlink.m4: New file.
73468
73469         Module safe-read.
73470         * m4/safe-read.m4: New file.
73471
73472         Module safe-write.
73473         * m4/safe-write.m4: New file.
73474
73475         Module closeout.
73476         * m4/closeout.m4: New file.
73477
73478         Module stdio-safer.
73479         * m4/stdio-safer.m4: New file.
73480
73481         Module getpass.
73482         * m4/getpass.m4: New file.
73483
73484         Module getugroups.
73485         * m4/getugroups.m4: New file.
73486
73487         Module group-member.
73488         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
73489         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
73490
73491         Module idcache.
73492         * m4/idcache.m4: New file.
73493
73494         Module userspec.
73495         * m4/userspec.m4: New file.
73496
73497         Module gettime.
73498         * m4/clock_time.m4: New file.
73499         * m4/gettime.m4: New file.
73500
73501         Module settime.
73502         * m4/settime.m4: New file.
73503
73504         Module posixtm.
73505         * m4/posixtm.m4: New file.
73506
73507         Module gethostname.
73508         * m4/gethostname.m4: New file.
73509
73510         Module canon-host.
73511         * m4/canon-host.m4: New file.
73512
73513         Module gettext.
73514         * m4/codeset.m4: New file, from gettext-0.11.5.
73515         * m4/gettext.m4: New file, from gettext-0.11.5.
73516         * m4/glibc21.m4: New file, from gettext-0.11.5.
73517         * m4/iconv.m4: New file, from gettext-0.11.5.
73518         * m4/intdiv0.m4: New file, from gettext-0.11.5.
73519         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
73520         * m4/inttypes.m4: New file, from gettext-0.11.5.
73521         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
73522         * m4/isc-posix.m4: New file, from gettext-0.11.5.
73523         * m4/lcmessage.m4: New file, from gettext-0.11.5.
73524         * m4/lib-ld.m4: New file, from gettext-0.11.5.
73525         * m4/lib-link.m4: New file, from gettext-0.11.5.
73526         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
73527         * m4/progtest.m4: New file, from gettext-0.11.5.
73528         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
73529         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
73530         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
73531
73532         Module localcharset.
73533         * m4/localcharset.m4: New file.
73534
73535         Module hard-locale.
73536         * m4/hard-locale.m4: New file.
73537
73538         Module mbswidth.
73539         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
73540         onceonly macros.
73541         * m4/mbrtowc.m4: Add comment.
73542
73543         Module memcasecmp.
73544         * m4/memcasecmp.m4: New file.
73545
73546         Module memcoll.
73547         * m4/memcoll.m4: New file.
73548
73549         Module unicodeio.
73550         * m4/unicodeio.m4: New file.
73551
73552         Module rpmatch.
73553         * m4/rpmatch.m4: New file.
73554
73555         Module yesno.
73556         * m4/yesno.m4: New file.
73557
73558         Module exitfail.
73559         * m4/exitfail.m4: New file.
73560
73561         Module c-stack.
73562         * m4/c-stack.m4 (gl_C_STACK): New macro.
73563         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
73564
73565         Module error.
73566         * m4/error.m4 (gl_ERROR): New macro.
73567         (jm_PREREQ_ERROR): Use onceonly macros.
73568
73569         Module fatal.
73570         * m4/fatal.m4: New file.
73571
73572         Module getloadavg.
73573         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
73574         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
73575
73576         Module getpagesize.
73577         * m4/getpagesize.m4: New file.
73578
73579         Module getusershell.
73580         * m4/getusershell.m4: New file.
73581
73582         Module physmem.
73583         * m4/physmem.m4: New file.
73584
73585         Module posixver.
73586         * m4/posixver.m4: New file.
73587
73588         Module quotearg.
73589         * m4/quotearg.m4: New file.
73590
73591         Module quote.
73592         * m4/quote.m4: New file.
73593
73594         Module readutmp.
73595         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
73596
73597         Module sig2str.
73598         * m4/sig2str.m4: New file.
73599
73600         Other.
73601         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
73602         ulonglong.m4.
73603         * m4/intmax_t.m4: New file.
73604         * m4/d-type.m4: Indentation.
73605         * m4/jm-macros.m4: Update.
73606         * m4/prereq.m4 (jm_PREREQ): Update.
73607         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
73608         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
73609         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
73610         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
73611         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
73612         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
73613         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
73614         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
73615         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
73616         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
73617         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
73618         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
73619         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
73620         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
73621         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
73622         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
73623         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
73624         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
73625         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
73626
73627 2002-12-24  Bruno Haible  <bruno@clisp.org>
73628
73629         * MODULES.txt: Update according to m4/ changes.
73630
73631         Module gettext.
73632         * config.rpath: New file, from gettext-0.11.5.
73633
73634         * modules/*: New module descriptions.
73635         * gnulib-tool: New file.
73636         * MODULES.html.sh: New file.
73637
73638 2002-12-21  Karl Berry  <karl@gnu.org>
73639
73640         * doc/fdl.texi: update to version 1.2.
73641
73642 2002-12-19  Karl Berry  <karl@gnu.org>
73643
73644         * config/config.guess: update from prep.
73645
73646 2002-12-18  Bruno Haible  <bruno@clisp.org>
73647
73648         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
73649         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
73650
73651 2002-12-17  Bruno Haible  <bruno@clisp.org>
73652
73653         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
73654         stdlib.h, string.h.
73655
73656 2002-12-17  Bruno Haible  <bruno@clisp.org>
73657
73658         * lib/canon-host.c (strdup): Remove unused declaration.
73659
73660         * lib/fsusage.c: Include full_read.h.
73661         (get_fs_usage): Use full_read instead of safe_read.
73662
73663         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
73664
73665 2002-12-12  Karl Berry  <karl@gnu.org>
73666
73667         * config/config.guess: update from prep.
73668
73669 2002-12-11  Bruno Haible  <bruno@clisp.org>
73670
73671         * m4/setenv.m4: New file, from gettext-0.11.5.
73672
73673 2002-12-11  Bruno Haible  <bruno@clisp.org>
73674
73675         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
73676         not unsetenv().
73677         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
73678         modifications:
73679
73680         2002-12-11  Bruno Haible  <bruno@clisp.org>
73681
73682                 * setenv.c (alloca): Fall back to malloc.
73683                 (freea): New macro.
73684                 (setenv): Use freea() to free memory allocated with alloca().
73685
73686         2002-11-13  Bruno Haible  <bruno@clisp.org>
73687
73688                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
73689                 function declarations.
73690                 * unsetenv.c (unsetenv): Likewise.
73691
73692         2002-03-04  Bruno Haible  <bruno@clisp.org>
73693
73694                 Portability to AIX 4.3.3.
73695                 * unsetenv.c: New file, extracted from setenv.c.
73696                 * setenv.c: Move the unsetenv() function to unsetenv.c.
73697
73698         2001-12-20  Bruno Haible  <bruno@clisp.org>
73699
73700                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
73701                 use malloc instead. For SunOS 4.
73702
73703         2001-12-11  Bruno Haible  <bruno@clisp.org>
73704
73705                 * setenv.c: Declare alloca.
73706                 (compar_fn_t): New typedef.
73707                 (KNOWN_VALUE, STORE_VALUE): Use it.
73708
73709         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
73710         setenv.h.
73711
73712 2002-12-10  Paul Eggert  <eggert@twinsun.com>
73713
73714         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
73715         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
73716         Choose values that are less likely to collide with system fnmatch
73717         options.
73718         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
73719         defined (e.g., a pure POSIX system).
73720         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
73721         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
73722
73723 2002-12-06  Paul Eggert  <eggert@twinsun.com>
73724
73725         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
73726         a pain in practice to deal with generated m4 files.  This change
73727         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
73728
73729         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
73730         and jm-glibc-io.m4, as they are no longer a special case.
73731         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
73732         kludge and the auto-generation stuff.  Check only whether the
73733         functions are declared, not whether they exist, since older hosts
73734         that don't declare the functions can't use the optimization anyway.
73735
73736 2002-12-06  Jim Meyering  <jim@meyering.net>
73737
73738         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
73739
73740         Merge in changes from libc's misc/error.c, in preparation
73741         for the merge of gnulib's changes back into libc.
73742
73743         * lib/error.c (_): Define only if not already defined.
73744         Move definition to follow all #include directives.
73745         Include unlocked-io.h only if !_LIBC.
73746         [_LIBC]: Include <libio/libioP.h>.
73747         [USE_IN_LIBIO]: Include <libio/iolibio.h>
73748         (fflush): Tweak definition to use INTUSE.
73749         (putc): Define.
73750
73751 2002-12-05  Paul Eggert  <eggert@twinsun.com>
73752
73753         * lib/alloca.c [defined emacs]: Include "lisp.h".
73754         (xalloc_die) [defined emacs]: New macro.
73755         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
73756         [! defined emacs]: Include <xalloc.h>.
73757         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
73758         (pointer): Typedef to POINTER_TYPE *.
73759         (malloc): Remove decl; we now always use xmalloc.
73760         (alloca): Use old-style definition, since Emacs needs this.
73761         Check for arithmetic overflow when computing combined size.
73762
73763 2002-12-04  Paul Eggert  <eggert@twinsun.com>
73764
73765         Do not generate unlocked-io.h automatically, since it's easier to
73766         maintain it by hand.
73767
73768         * lib/unlocked-io.h: New file, from GNU diffutils,
73769         but with proper copyright notice and attribution.
73770         * lib/gen-uio: Remove.
73771         * lib/Makefile.am: Add copyright notice.
73772         (libfetish_a_SOURCES): Add unlocked-io.h.
73773         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73774         (DISTCLEANFILES, io_functions): Remove macros.
73775         (EXTRA_DIST): Remove gen_uio.
73776         (unlocked-io.h): Remove rule.
73777
73778 2002-12-04  Jim Meyering  <jim@meyering.net>
73779
73780         Reflect the fact that stat.c and lstat.c are no longer generated.
73781         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73782         (DISTCLEANFILES): Likewise.
73783         (EXTRA_DIST): Likewise.
73784         (all_local): Don't depend on stat.c or lstat.c.
73785         (stat.c, lstat.c): Remove rules.
73786         (EXTRA_DIST): Remove xstat.in.
73787
73788         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73789         * lib/stat.c: New file.  Contents mostly from xstat.in.
73790         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73791         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73792
73793         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73794         too.
73795         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73796
73797 2002-12-03  Jim Meyering  <jim@meyering.net>
73798
73799         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73800         but not semantics, to minimize the differences between these two files.
73801         (safe_read): Change comment to mention SAFE_READ_ERROR.
73802
73803         * lib/safe-read.c (IS_EINTR): Define.
73804         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73805
73806 2002-12-02  Jim Meyering  <jim@meyering.net>
73807
73808         * lib/safe-read.c (EINTR): Define.
73809         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73810         (INT_MAX): Provide fallback.
73811         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73812
73813         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73814
73815 2002-12-02  Bruno Haible  <bruno@clisp.org>
73816
73817         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73818         Define, taken from safe-read.c.
73819         (INT_MAX): Provide fallback.
73820         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73821         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73822
73823         * lib/safe-read.c (EINTR): Remove definition.
73824         (safe_read): Don't use EINTR if it is absent.
73825
73826 2002-12-01  Jim Meyering  <jim@meyering.net>
73827
73828         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73829         zero.
73830         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73831
73832 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73833
73834         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73835         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73836         with `if (! (value < limit)) abort ();', for readability.
73837
73838 2002-11-26  Karl Berry  <karl@gnu.org>
73839
73840         * lib/strdup.c: copy from libc again, with jim's ok.
73841         * lib/.cppi-disable: re-add strdup.c
73842
73843 2002-11-25  Karl Berry  <karl@gnu.org>
73844
73845         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73846         instead of "strtol.c".
73847
73848 2002-11-25  Karl Berry  <karl@gnu.org>
73849
73850         * config/install-sh: update from automake for variable quoting, $0 in
73851         error msgs, etc.
73852
73853         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73854         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73855         entry.
73856
73857 2002-11-25  Jim Meyering  <jim@meyering.net>
73858
73859         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73860
73861 2002-11-24  Karl Berry  <karl@gnu.org>
73862
73863         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73864         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73865
73866 2002-11-24  Jim Meyering  <jim@meyering.net>
73867
73868         Update from coreutils:
73869
73870         * lib/mktime.c: Merge in changes from libc.
73871
73872         Avoid a link-time failure on some Linux systems.
73873         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73874         (otherwise).
73875         (__mon_yday): Declare with the STATIC attribute.
73876         (__mktime_internal): Likewise.
73877         Based on a report from Greg Schafer.
73878
73879 2002-11-23  Jim Meyering  <jim@meyering.net>
73880
73881         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73882         Use `unsigned', not `int', as type of index.
73883
73884         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73885
73886         * lib/fsusage.c: Remove unneeded parentheses around operands of
73887         `defined'.
73888
73889 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73890
73891         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73892         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73893         so that we can be included first.
73894         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73895         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73896         No need to include stddef.h or sys/types.h any more.
73897         Surround local include files with "", not "<>".
73898         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73899         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73900         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73901         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73902         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73903         (ISPRINT): Remove; no longer needed now that we assume C89.
73904
73905         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73906         Preserve errno.
73907
73908         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73909         quotearg_char): Use SIZE_MAX rather than
73910         (size_t) -1 when we are talking about "infinity".
73911
73912         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73913
73914 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73915
73916         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73917         hint that one should use `if (! x) abort ();' rather than `assert
73918         (x);', and anyway it's one less thing to worry about configuring.
73919         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73920         hash_rehash, hash_insert): Use abort rather than assert.
73921
73922 2002-11-22  Bruno Haible  <bruno@clisp.org>
73923
73924         * lib/safe-read.h: Assume C89. Add comments.
73925         (safe_read): Change return type to size_t.
73926         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73927         byte counts > SSIZE_MAX correctly.
73928         * lib/safe-write.h: New file.
73929         * lib/safe-write.c: New file.
73930         * lib/full-read.h: New file.
73931         * lib/full-read.c: New file.
73932         * lib/full-write.h: Assume C89. Add comments.
73933         * lib/full-write.c: Include safe-write.h.
73934         (full_write): Rewritten to use safe_write.
73935         Suggested by Jim Meyering and Paul Eggert.
73936
73937 2002-11-21  Jim Meyering  <jim@meyering.net>
73938
73939         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73940
73941         Merge in changes from the coreutils.
73942
73943         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73944         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73945         <stdint.h>.
73946         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73947         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73948         int.  Work more efficiently if X is the same width as uintmax_t.
73949         Do not compare X to -1, to avoid bogus compiler warning.
73950         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73951         Don't assume that f_frsize and f_bsize are the same type.
73952
73953         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73954         warning on FreeBSD.
73955
73956         * lib/makepath.c (make_path): Restore umask *before* creating the final
73957         component.
73958         (make_path): Minor reformatting.
73959
73960         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73961         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73962         HAVE_MALLOC/HAVE_REALLOC.
73963
73964         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73965         dummy ones.  At least on GNU/Linux systems, `auto' means something
73966         else.
73967         From Michael Stone.
73968
73969 2002-11-21  Bruno Haible  <bruno@clisp.org>
73970
73971         Remove case insensitive option matching.
73972         * lib/argmatch.h (argcasematch): Remove declaration.
73973         (ARGCASEMATCH): Remove macro.
73974         (__xargmatch_internal): Remove case_sensitive argument.
73975         (XARGMATCH): Update.
73976         (XARGCASEMATCH): Remove macro.
73977         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73978         case_sensitive argument.
73979         (argcasematch): Remove function.
73980         (__xargmatch_internal): Remove case_sensitive argument.
73981         (main): Use XARGMATCH instead of XARGCASEMATCH.
73982
73983         * lib/xmalloc.c: Change compile-time error message. Add comment about
73984         required autoconf version.
73985
73986 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73987
73988         Merge argmatch cleanups from Bison.  Assume C89.
73989
73990         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73991         Include stdlib.h, for EXIT_FAILURE.
73992         Always include <string.h>, since we assume C89.
73993         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73994         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73995         Include <stddef.h> instead, since it's all we need for size_t.
73996         (PARAMS): Remove.  All uses removed.
73997         (ARRAY_CARDINALITY): Do not bother to #undef.
73998         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73999         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74000         Remove unnecessary parentheses.
74001         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74002         Insert necessary parentheses.
74003         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
74004         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
74005
74006 2002-11-19  Bruno Haible  <bruno@clisp.org>
74007
74008         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
74009         * lib/mbswidth.h: Include <stddef.h>, for size_t.
74010
74011         * lib/mbswidth.h (PARAMS): Remove macro.
74012         (mbswidth, mbsnwidth): Use ANSI C function declarations.
74013         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
74014
74015         * lib/gcd.h (PARAMS): Remove macro.
74016         (gcd): Use ANSI C function declarations.
74017         * lib/gcd.c (gcd): Likewise.
74018
74019 2002-11-15  Bruno Haible  <bruno@clisp.org>
74020
74021         * lib/strcspn.c: Include <stddef.h>.
74022         (strcspn): Use ANSI C function declaration. Change return type to
74023         size_t. Use NULL.
74024         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
74025         (strpbrk): Use NULL.
74026         * lib/strpbrk.h (PARAMS): Remove macro.
74027         (strpbrk): Use ANSI C function declaration.
74028         * lib/strstr.c: Don't include <sys/types.h>.
74029         * lib/strstr.h (PARAMS): Remove macro.
74030         (strstr): Use ANSI C function declarations.
74031
74032 2002-11-14  Karl Berry  <karl@gnu.org>
74033
74034         * config/mkinstalldirs: `do' on separate line, instead of
74035         `for var; do'.
74036
74037 2002-11-06  Bruno Haible  <bruno@clisp.org>
74038
74039         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
74040         * lib/gcd.c (gcd): Likewise.
74041
74042 2002-11-05  Bruno Haible  <bruno@clisp.org>
74043
74044         * lib/gcd.h: New file, from gettext-0.11.5.
74045         * lib/gcd.c: New file, from gettext-0.11.5.
74046
74047 2002-11-05  Bruno Haible  <bruno@clisp.org>
74048
74049         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74050         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74051         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74052         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74053
74054         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
74055         <libintl.h>.
74056         * lib/makepath.c: Include gettext.h instead of <locale.h> and
74057         <libintl.h>.
74058
74059         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
74060         * lib/human.c: Include gettext.h instead of <libintl.h>.
74061         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
74062         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
74063         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
74064         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
74065         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
74066         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
74067         (textdomain): Remove definition.
74068         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
74069
74070         * lib/long-options.c: Remove include of <libintl.h> and definition of
74071         _.
74072         * lib/same.c: Remove include of <libintl.h> and definition of _.
74073
74074 2002-11-04  Owen Taylor  <otaylor@redhat.com>
74075
74076         * lib/config.charset: A few additions for Solaris.
74077
74078 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74079
74080         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
74081         * lib/localcharset.c (locale_charset): Declare as extern "C".
74082
74083 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74084
74085         * lib/config.charset: msdos in uk_UA uses CP1125.
74086
74087 2002-11-04  Bruno Haible  <bruno@clisp.org>
74088
74089         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
74090         * lib/strcase.h: New file, from GNU gettext-0.11.5.
74091         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
74092         * lib/strstr.h: New file, from GNU gettext-0.11.5.
74093         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
74094
74095 2002-11-04  Bruno Haible  <bruno@clisp.org>
74096
74097         * lib/localcharset.c (locale_charset): Don't return an empty string.
74098
74099 2002-11-04  Bruno Haible  <bruno@clisp.org>
74100
74101         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
74102         aliases.
74103
74104 2002-11-04  Bruno Haible  <bruno@clisp.org>
74105
74106         * lib/config.charset: Update for newest glibc. Add canonical names
74107         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
74108
74109 2002-11-04  Bruno Haible  <bruno@clisp.org>
74110
74111         * lib/config.charset: Add support for NetBSD.
74112
74113 2002-11-04  Bruno Haible  <bruno@clisp.org>
74114
74115         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
74116
74117 2002-11-01  Bruno Haible  <bruno@clisp.org>
74118
74119         * configure.in: Add AC_CONFIG_AUX_DIR call.
74120         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
74121         test/Makefile.
74122         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
74123
74124 2002-09-28  Karl Berry  <karl@gnu.org>
74125
74126         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
74127         installed automake until the next release, since changes have been
74128         made.
74129
74130 2002-09-25  Karl Berry  <karl@gnu.org>
74131
74132         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
74133         * lib/getopt*: copy from libc/posix.
74134         * lib/gettext.h: copy from gettext.
74135         * lib/.cppi-disable: add strdup.c, gettext.h.
74136
74137 2002-09-25  Karl Berry  <karl@gnu.org>
74138
74139         * config/srclist.txt: enable gettext.h check.
74140         * config/config.{guess,sub}: update from prep.
74141         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
74142                 from automake 1.6.3.
74143         See srclist*.
74144
74145 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
74146
74147         * regex.c (PATFETCH): Remove the translating fetch.
74148         (PATFETCH_RAW): Rename to PATFETCH.
74149         (set_image_of_range): New fun.
74150         (SET_RANGE_TABLE_WORK_AREA): Use it.
74151         (regex_compile): Don't translate the pattern chars so eagerly.
74152         Only do it when inserting an `exactn' bytecode or when handling
74153         a char-range.
74154         (mutually_exclusive_p): Avoid empty statement.
74155
74156 2002-07-06  Jim Meyering  <meyering@lucent.com>
74157
74158         * m4/README: Don't mention Makefile.am.in.
74159         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
74160
74161 2002-07-01  Jim Meyering  <meyering@lucent.com>
74162
74163         * lib/c-stack.c: Include sys/time.h.
74164         From Volker Borchert.
74165
74166 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74167
74168         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
74169
74170 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74171
74172         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
74173         New macro.  Use it uniformly instead of
74174         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
74175         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
74176         reported by Vin Shelton.
74177
74178 2002-06-22  Paul Eggert  <eggert@twinsun.com>
74179
74180         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
74181         Do not assume SA_SIGINFO behavior.
74182         Bug reported by Jim Meyering on NetBSD 1.5.2.
74183
74184 2002-06-22  Jim Meyering  <meyering@lucent.com>
74185
74186         * m4/c-stack.m4: New file, from diffutils-2.8.2.
74187         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
74188
74189         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
74190         now that configure.ac uses AC_GNU_SOURCE.
74191         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
74192         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
74193
74194         Update to latest tools.  Suggestions from Paul Eggert.
74195         * m4/stdbool.m4: New file, from diffutils-2.8.2.
74196         * m4/gnu-source.m4: Update from diffutils-2.8.2.
74197         * m4/fnmatch.m4: Likewise.
74198         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
74199         to AC_HEADER_STDBOOL
74200
74201 2002-06-22  Jim Meyering  <meyering@lucent.com>
74202
74203         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
74204         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
74205
74206 2002-06-22  Jim Meyering  <meyering@lucent.com>
74207
74208         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
74209
74210         * lib/exitfail.c, exitfail.h: Likewise.
74211         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
74212
74213         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
74214         of fnmatch.h.
74215         (EXTRA_DIST): Add fnmatch_loop.c.
74216         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
74217
74218         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
74219         * lib/fnmatch.c: Update from diffutils-2.8.2.
74220         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
74221         * lib/fnmatch.h: Remove file.
74222
74223 2002-06-21  Jim Meyering  <meyering@lucent.com>
74224
74225         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
74226         * m4/mbrtowc.m4: Likewise.
74227
74228         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
74229         * m4/mbswidth.m4: Reflect name change:
74230         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
74231         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74232
74233         * m4/lib-link.m4: Update from gettext-0.11.2.
74234         * m4/gettext.m4: Likewise.
74235
74236         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
74237         From Alfred M. Szmidt.
74238
74239 2002-06-18  Paul Eggert  <eggert@twinsun.com>
74240
74241         * lib/file-type.h: Report an error if neither S_ISREG nor
74242         S_IFREG is defined, instead of using a test specific to glibc
74243         2.2.  This should be safe, since POSIX requires S_ISREG and
74244         Unix Version 7 had S_IFREG.  We don't need to check for
74245         <sys/types.h> since we don't use any symbols that it defines.
74246
74247 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
74248
74249         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
74250         $@-t, so that each temporary file name is unique and valid in the first
74251         8 characters, for operation under DOS.
74252
74253 2002-06-15  Paul Eggert  <eggert@twinsun.com>
74254
74255         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
74256
74257 2002-06-15  Jim Meyering  <meyering@lucent.com>
74258
74259         Work even with DJGPP 2.03, which lacks support for symlinks.
74260         From Richard Dawe.
74261         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
74262         is defined.
74263         * lib/lchown.c (S_ISLNK): Likewise.
74264
74265 2002-06-15  Jim Meyering  <meyering@lucent.com>
74266
74267         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
74268         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
74269         have been included before this file.
74270
74271 2002-06-14  Jim Meyering  <meyering@lucent.com>
74272
74273         * lib/file-type.h: Use the version from diffutils-2.8.2.
74274         * lib/file-type.c: Likewise.
74275
74276 2002-06-07  Jim Meyering  <meyering@lucent.com>
74277
74278         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
74279         They're needed at least for NetBSD 1.5.2.
74280         ($statxfs_includes): Include those same headers.
74281         ($statxfs_includes): Include sys/vfs.h if available.
74282         ($statxfs_includes): Likewise for sys/statvfs.h.
74283         Check for the following members in both structs statfs and statvfs:
74284         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
74285
74286 2002-06-01  Jim Meyering  <meyering@lucent.com>
74287
74288         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
74289         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
74290
74291 2002-05-28  Jim Meyering  <meyering@lucent.com>
74292
74293         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
74294         Reported by Volker Borchert.
74295
74296 2002-05-27  Jim Meyering  <meyering@lucent.com>
74297
74298         Fix a problem seen only on nonconforming systems whereby ls.c's
74299         use of localtime, and then of gettimeofday would cause trouble:
74300         the localtime call used to initialize rpl_gettimeofday's save
74301         mechanism would clobber ls's current local time information so
74302         that in any long listing the first file would always be listed
74303         with date 1970-01-01.  Analysis by Volker Borchert.
74304
74305         * lib/gettimeofday.c (localtime): Undefine.
74306         (rpl_localtime): New function.
74307
74308 2002-05-27  Jim Meyering  <meyering@lucent.com>
74309
74310         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
74311         localtime.
74312
74313         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
74314         use the replacement function; it wouldn't resolve at link time.
74315         Reported by Volker Borchert.
74316
74317 2002-05-22  Jim Meyering  <meyering@lucent.com>
74318
74319         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
74320         file-type.h.
74321         * lib/file-type.h: New file.
74322         * lib/file-type.c (file_type): New file/function.  Extracted from
74323         diffutils.
74324
74325 2002-04-30  Jim Meyering  <meyering@lucent.com>
74326
74327         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
74328
74329 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74330
74331         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
74332
74333 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74334
74335         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
74336         Do not check for alloca.h (no longer used) or stdbool.h (was never
74337         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
74338
74339 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74340
74341         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
74342
74343 2002-04-29  Jim Meyering  <meyering@lucent.com>
74344
74345         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
74346         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
74347         Use AC_FUNC_STRNLEN here instead.
74348
74349         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
74350         With autoconf-2.53a, it's part of AC_PROG_CC.
74351
74352 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74353
74354         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
74355         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
74356
74357 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74358
74359         * lib/sig2str.h, lib/sig2str.c: New files.
74360         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
74361
74362 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74363
74364         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
74365         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
74366         of 127, since 64 is the largest conceivable number for ancient
74367         nonstandard hosts.
74368         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
74369
74370 2002-04-28  Jim Meyering  <meyering@lucent.com>
74371
74372         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
74373
74374 2002-04-24  Jim Meyering  <meyering@lucent.com>
74375
74376         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
74377         (jm_PREREQ): Use it.
74378
74379         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
74380         mach/mach.h fcntl.h.
74381         Check for this function: setlocale.
74382
74383 2002-04-24  Jim Meyering  <meyering@lucent.com>
74384
74385         * lib/gettext.h: New file, from Gettext.
74386         * lib/Makefile.am (INCLUDES): Remove -I../intl.
74387         (libfetish_a_SOURCES): Add gettext.h.
74388
74389 2002-04-16  Jim Meyering  <meyering@lucent.com>
74390
74391         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
74392         ut_pid, ut_id, ut_exit.
74393
74394 2002-04-16  Jim Meyering  <meyering@lucent.com>
74395
74396         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
74397         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
74398         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
74399
74400 2002-04-12  Jim Meyering  <meyering@lucent.com>
74401
74402         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
74403         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
74404         existence of the getmntinfo function.  Needed for Darwin 5.3.
74405
74406         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
74407         This is necessary at least on Darwin 5.3.
74408
74409         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
74410         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
74411         strnlen.o in the library, and that makes some versions of ranlib
74412         object.
74413
74414 2002-04-12  Jim Meyering  <meyering@lucent.com>
74415
74416         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
74417
74418 2002-04-09  Jim Meyering  <meyering@lucent.com>
74419
74420         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
74421         to be more precise.  Rather than saying we're checking whether the
74422         function `works', say what we're testing.
74423         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
74424         Reported by Bruno Haible.
74425
74426 2002-03-10  Jim Meyering  <meyering@lucent.com>
74427
74428         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
74429         Suggestion from Santiago Vila.
74430
74431 2002-03-08  Jim Meyering  <meyering@lucent.com>
74432
74433         * lib/rename.c: Mention that this wrapper is needed also on
74434         mips-dec-ultrix4.4 systems.
74435
74436 2002-03-02  Jim Meyering  <meyering@lucent.com>
74437
74438         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
74439         not HAVE_CLOCK_SETTIME.
74440
74441 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74442
74443         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
74444         Check for clock_settime.
74445
74446 2002-02-27  Paul Eggert  <eggert@twinsun.com>
74447
74448         * lib/nanosleep.h: Rename to....
74449         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
74450
74451         * lib/gettime.c: New file.
74452         * lib/settime.c: New file.
74453         * lib/stime.c: Remove.
74454
74455         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
74456         timespec.h.  Remove nanosleep.h.
74457
74458 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74459
74460         * m4/acl.m4: New file.
74461         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
74462         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
74463
74464 2002-02-25  Paul Eggert  <eggert@twinsun.com>
74465
74466         * lib/acl.c, lib/acl.h: New files.
74467         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
74468
74469 2002-02-24  Jim Meyering  <meyering@lucent.com>
74470
74471         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
74472         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
74473         cause trouble.  Reported by Nelson Beebe.
74474
74475 2002-02-23  Paul Eggert  <eggert@twinsun.com>
74476
74477         * lib/path-concat.c (xpath_concat): Reorder code to pacify
74478         compilers that don't know that xalloc_die never returns.
74479
74480 2002-02-20  Jim Meyering  <meyering@lucent.com>
74481
74482         * lib/getdate.c: Regenerate using bison-1.33.
74483
74484 2002-02-17  Jim Meyering  <meyering@lucent.com>
74485
74486         * config/config.guess (main): Don't use `head -1'; it's no longer
74487         portable. Use `sed 1q' instead.
74488
74489 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
74490
74491         * m4/codeset.m4: Upgrade to gettext-0.11.
74492         * m4/gettext.m4: Upgrade to gettext-0.11.
74493         * m4/glibc21.m4: Upgrade to gettext-0.11.
74494         * m4/iconv.m4: Upgrade to gettext-0.11.
74495         * m4/isc-posix.m4: Upgrade to gettext-0.11.
74496         * m4/lcmessage.m4: Upgrade to gettext-0.11.
74497         * m4/lib-ld.m4: New file, from gettext-0.11.
74498         * m4/lib-link.m4: New file, from gettext-0.11.
74499         * m4/lib-prefix.m4: New file, from gettext-0.11.
74500         * m4/progtest.m4: Upgrade to gettext-0.11.
74501
74502 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74503
74504         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
74505         (jm_PREREQ): Use it.
74506
74507 2002-02-15  Paul Eggert  <eggert@twinsun.com>
74508
74509         * lib/posixver.c, lib/posixver.h: New files.
74510         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74511
74512 2002-02-02  Paul Eggert  <eggert@twinsun.com>
74513             Bruno Haible  <bruno@clisp.org>
74514
74515         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
74516         (fwrite_success_callback): New declaration.
74517         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
74518         print_unicode_char. Call failure callback instead of error.
74519         (fwrite_success_callback): New function.
74520         (exit_failure_callback): New function.
74521         (fallback_failure_callback): New function.
74522         (print_unicode_char): Call unicode_to_mb.
74523
74524 2002-01-26  Jim Meyering  <meyering@lucent.com>
74525
74526         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
74527         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
74528
74529 2002-01-26  Jim Meyering  <meyering@lucent.com>
74530
74531         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
74532
74533 2002-01-22  Paul Eggert  <eggert@twinsun.com>
74534
74535         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
74536
74537 2002-01-22  Jim Meyering  <meyering@lucent.com>
74538
74539         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
74540         Otherwise, some versions of automake would omit the rule that makes
74541         Makefile from Makefile.in.
74542
74543 2002-01-21  Paul Eggert  <eggert@twinsun.com>
74544
74545         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
74546         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
74547         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
74548         (memcoll): Set errno to zero if there is no error.
74549
74550         * lib/quotearg.c (quotearg_buffer_restyled):
74551         Fix bug with quoting buffers containing NUL when backslashing escapes.
74552         This bug was exposed by the other changes in this patch.
74553         (quotearg_n_options): New arg ARGSIZE.
74554         All callers changed.
74555         (quoting_options_from_style): New function.
74556         (quotearg_n_style): Use it.
74557         (quotearg_n_style_mem): New function.
74558
74559         * lib/quotearg.h (quotearg_n_style_mem): New function.
74560
74561 2002-01-19  Jim Meyering  <meyering@lucent.com>
74562
74563         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
74564         Remove useless quotes: DF_PROG="df".
74565         * m4/strnlen.m4: New file.
74566
74567 2002-01-16  Paul Eggert  <eggert@twinsun.com>
74568
74569         * lib/backupfile.c (ISDIGIT): Comment fix.
74570         * lib/getdate.y (ISDIGIT): Likewise.
74571         * lib/posixtm.c (ISDIGIT, year): Likewise.
74572         * lib/strverscmp.c (ISDIGIT): Likewise.
74573         * lib/userspec.c (ISDIGIT): Likewise.
74574
74575 2002-01-16  Jim Meyering  <meyering@lucent.com>
74576
74577         * lib/getdate.y: Add three semicolons, each just before a closing
74578         brace. Bison (as of version 1.31) no longer papers over that mistake.
74579
74580 2002-01-05  Jim Meyering  <meyering@lucent.com>
74581
74582         * lib/version-etc.c (version_etc_copyright): Update copyright year.
74583
74584 2001-12-19  Paul Eggert  <eggert@twinsun.com>
74585
74586         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
74587         not silently exit merely because the output buffer happens to
74588         have nothing pending.
74589
74590 2001-12-18  Paul Eggert  <eggert@twinsun.com>
74591
74592         See the big note in ../ChangeLog.
74593         * lib/human.c (suffixes): Prefer K to k for 1024.
74594         (generate_suffix_backwards): New function.
74595         (human_readable_inexact): Use it.
74596         * lib/xstrtol.c (__xstrtol): If there is no number but there
74597         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
74598         Accept 'K' as well as 'k'.
74599
74600 2001-12-15  Jim Meyering  <meyering@lucent.com>
74601
74602         * lib/regex.h (__restrict_arr): Update from libc.
74603
74604         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
74605         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
74606         (STREQ): Define.
74607
74608 2001-12-14  Jim Meyering  <meyering@lucent.com>
74609
74610         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
74611         Suggestion from Bruno Haible.
74612
74613 2001-12-10  Jim Meyering  <meyering@lucent.com>
74614
74615         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
74616         xrealloc, Instead, include "xalloc.h".
74617         (initbuffer): Don't cast xmalloc return value to char*.
74618         (readline): Reword comment.
74619         Don't cast xrealloc return value to char*
74620         Return NULL, not 0.
74621
74622 2001-12-09  Jim Meyering  <meyering@lucent.com>
74623
74624         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
74625         about `signed and unsigned type in conditional expression'.
74626         * lib/posixtm.c (posix_time_parse): Likewise.
74627
74628         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
74629
74630         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
74631         to avoid a pedantic warning.
74632
74633         * lib/getstr.c: Don't include assert.h.
74634         (getstr): Remove warning-evoking assertions.
74635         Return -1 if offset parameter is out of bounds.
74636         Change the type of a local from int to size_t.
74637
74638         * lib/strftime.c (my_strftime_localtime_r): Include this function
74639         definition in the `#if ! HAVE_TM_GMTOFF' block.
74640
74641         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
74642         Include xalloc.h instead.
74643
74644 2001-12-02  Jim Meyering  <meyering@lucent.com>
74645
74646         * lib/tempname.c: Don't declare getenv, thus reverting the change of
74647         2001-11-18.  It's no longer necessary, now that stdlib.h is always
74648         included.
74649
74650         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
74651         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
74652
74653 2001-11-30  Akim Demaille  <akim@epita.fr>
74654
74655         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
74656         before being defined.
74657
74658 2001-11-27  Paul Eggert  <eggert@twinsun.com>
74659
74660         * lib/quotearg.h (quotearg_n, quotearg_n_style):
74661         First arg is int, not unsigned.
74662         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
74663         (SIZE_MAX, UINT_MAX): New macros.
74664         (quotearg_n_options): Abort if N is negative.
74665         Avoid overflow check on hosts where size_t is 64 bits and int
74666         is 32 bits, as overflow is impossible there.
74667         Fix off-by-one typo that caused unnecessary reallocation.
74668
74669 2001-11-27  Jim Meyering  <meyering@lucent.com>
74670
74671         * lib/tempname.c: Merge with version from libc.
74672         * lib/regex.c: Likewise.
74673
74674         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
74675         systems for which STDC_HEADERS is 0, it was not included, resulting in
74676         a warning about an integer-to-pointer conversion problem with getenv.
74677         Reported by Volker Borchert.
74678
74679 2001-11-26  Jim Meyering  <meyering@lucent.com>
74680
74681         * lib/gtod.h: Remove file.
74682         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
74683         * lib/gettimeofday.c: Don't include gtod.h.
74684         (GTOD_init): Remove function.
74685         (rpl_gettimeofday): Do its job here instead, rather than aborting.
74686         Suggestion from Volker Borchert.
74687
74688 2001-11-23  Jim Meyering  <meyering@lucent.com>
74689
74690         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
74691         it.
74692         * lib/hash.c (struct hash_table): Define it here instead.
74693
74694 2001-11-22  Jim Meyering  <meyering@lucent.com>
74695
74696         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
74697
74698 2001-11-20  Jim Meyering  <meyering@lucent.com>
74699
74700         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
74701         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
74702
74703 2001-11-19  Jim Meyering  <meyering@lucent.com>
74704
74705         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
74706         directory.  Use "conftestXXXXXX" as the template.
74707         Suggestion from Paul Eggert.
74708
74709         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
74710         immediately, so the test doesn't mistakenly hit the max-open-files
74711         limit.
74712
74713 2001-11-18  Paul Eggert  <eggert@twinsun.com>
74714
74715         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
74716         (TEMPORARIES): New macro.
74717         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
74718         removes an artificial limitation (e.g. HP-UX 10.20, where
74719         TMP_MAX is 17576).
74720
74721 2001-11-18  Jim Meyering  <meyering@lucent.com>
74722
74723         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
74724
74725 2001-11-18  Jim Meyering  <meyering@lucent.com>
74726
74727         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
74728         on SunOS 4.
74729
74730         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
74731         files will be created before anything else.
74732
74733 2001-11-17  Paul Eggert  <eggert@twinsun.com>
74734
74735         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
74736         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
74737
74738 2001-11-17  Jim Meyering  <meyering@lucent.com>
74739
74740         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
74741         Prompted by a report from Bob Proulx.
74742
74743         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
74744         Instead, require UTILS_FUNC_MKSTEMP.
74745
74746 2001-11-17  Jim Meyering  <meyering@lucent.com>
74747
74748         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
74749         Now, that's done as part of AC_FUNC_STRTOD.
74750
74751 2001-11-17  Jim Meyering  <meyering@lucent.com>
74752
74753         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
74754         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
74755         rather than group writable.  Patch by Juan F. Codagnone.
74756
74757         * lib/readtokens.c: Remove explicit declarations of xmalloc and
74758         xrealloc, Instead, include "xalloc.h".
74759
74760         * lib/mountlist.c: Include unlocked-io.h after all system headers.
74761         Remove explicit declarations of xmalloc, xrealloc,
74762         and xstrdup.  Instead, include "xalloc.h".
74763
74764         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74765         unlocked-io.h.
74766         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74767         Likewise.
74768         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74769
74770         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74771         Reported by Padraig Brady.
74772
74773         * lib/mkstemp.c: #undef mkstemp.
74774         Include config.h.
74775         (rpl_mkstemp): Rename from mkstemp.
74776         Protoize.
74777
74778 2001-11-16  Jim Meyering  <meyering@lucent.com>
74779
74780         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74781         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74782         determine the amount of total physical memory, use pstat_getstatic.
74783         HPUX-11 doesn't define _SC_PHYS_PAGES.
74784         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74785         If sysconf couldn't be used to determine the amount of available
74786         physical memory, use both pstat_getstatic and pstat_getdynamic.
74787         Based on a patch from Bob Proulx.
74788
74789 2001-11-10  Jim Meyering  <meyering@lucent.com>
74790
74791         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74792         (jm_PREREQ): Use it.
74793
74794 2001-11-09  Jim Meyering  <meyering@lucent.com>
74795
74796         * m4/jm-macros.m4: Require autoconf-2.52f.
74797         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74798         Use these AC_-prefixed names, not the AM_-prefixed ones.
74799
74800         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74801
74802 2001-11-05  Jim Meyering  <meyering@lucent.com>
74803
74804         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74805
74806 2001-11-04  Jim Meyering  <meyering@lucent.com>
74807
74808         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74809         $DEFS.
74810
74811 2001-11-03  Jim Meyering  <meyering@lucent.com>
74812
74813         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74814         of AC_DEFUN.
74815
74816         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74817         know the name of the variable in the macro definition.
74818
74819 2001-11-03  Jim Meyering  <meyering@lucent.com>
74820
74821         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74822         in argmatch_to_argument call.
74823
74824         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74825         argument.
74826
74827         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74828         e.g., a fault due to an attempt to free a NULL pointer.
74829
74830 2001-11-01  Jim Meyering  <meyering@lucent.com>
74831
74832         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74833         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74834
74835 2001-11-01  Jim Meyering  <meyering@lucent.com>
74836
74837         * lib/dirfd.c, lib/dirfd.h: New files.
74838         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74839
74840         * lib/hash.c (hash_print) [TESTING]: Clean up.
74841
74842 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74843
74844         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74845         to avoid a warning if -Wall.
74846
74847 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74848
74849         * README: New file
74850         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74851         (per RMS's instructions, this is now the canonical source)
74852         * lgpl/, gpl/: New directories.
74853
74854 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74855
74856         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74857
74858 2001-10-21  Jim Meyering  <meyering@lucent.com>
74859
74860         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74861         this code would end up calling gettext even in packages built
74862         with --disable-nls.
74863         * lib/getopt.c (_): Likewise.
74864         * lib/regex.c (_): Likewise.
74865
74866 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74867
74868         * m4/error.m4 (jm_PREREQ_ERROR):
74869         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74870         AC_FUNC_STRERROR_R does that.
74871         Check for strerror declaration.
74872
74873         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74874         are supposed to have them these days.
74875         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74876         Merge changes from latest Autoconf CVS.
74877         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74878         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74879         POSIX decided to standardize on the int flavor of strerror_r.
74880
74881 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74882
74883         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74884         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74885         Use strerror_r that is only a macro, even if it is not a function.
74886         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74887         (private_strerror): Use prototypes, not old-style function definition.
74888         (print_errno_message): New function.
74889         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74890         char*-flavored one.
74891         (error_tail, error, error_at_line): Use it.
74892
74893 2001-10-11  Jim Meyering  <meyering@lucent.com>
74894
74895         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74896         and quote_n (1, ... to avoid clobbering a buffer.
74897
74898 2001-10-05  Jim Meyering  <meyering@lucent.com>
74899
74900         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74901         hash-pjw.h.
74902         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74903         * lib/hash-pjw.h: New file.
74904
74905 2001-09-30  Jim Meyering  <meyering@lucent.com>
74906
74907         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74908         `struct fsstat' has the `f_fstypename' member.
74909         Use that to define FS_TYPE, which is now used to make
74910         the getfsstat link test tighter.
74911
74912 2001-09-30  Jim Meyering  <meyering@lucent.com>
74913
74914         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74915         Include <sys/ucred.h>, for Apple Darwin.
74916         Include sys/mount.h and sys/fs_types.h only if available.
74917         (FS_TYPE): Define.
74918         (read_filesystem_list): Use FS_TYPE.
74919
74920 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74921
74922         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74923         a boolean context.
74924
74925 2001-09-29  Jim Meyering  <meyering@lucent.com>
74926
74927         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74928         [one-argument getmntent function]): Include stdio.h before mntent.h.
74929         SunOS 4.1.x needs it for the declaration of `FILE'.
74930         Patch by Volker Borchert.
74931
74932         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74933         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74934         sys/fs_types.h, and make the link-test for getfsstat guard #include
74935         directives with appropriate #if HAVE_*_H tests so that we can
74936         detect getfsstat on Apple Darwin1.3.7 systems.
74937         Reported by Nelson Beebe.
74938         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74939
74940 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74941
74942         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74943         #defines strtoimax.  Also treat the other strto* functions
74944         like strtoimax.
74945
74946         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74947         Check for strtoul and strtoumax,
74948         as those declarations are made even in the signed case.
74949         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74950         Likewise, for strtol and strtoimax.
74951
74952 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74953
74954         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74955         #defines strtoimax.  Also treat the other strto* functions
74956         like strtoimax.
74957
74958         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74959         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74960         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74961
74962 2001-09-26  Jim Meyering  <meyering@lucent.com>
74963
74964         Most macros in unlocked-io.h had the wrong number of arguments.
74965         * lib/gen-uio: New script.
74966         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74967         * lib/unlocked-io.hin: Remove file.
74968         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74969         rather than trying to embed it here.
74970         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74971         Reported by Padraig Brady.
74972
74973 2001-09-25  Volker Borchert  <bt@teknon.de>
74974
74975         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74976         `result'.
74977
74978 2001-09-24  Jim Meyering  <meyering@lucent.com>
74979
74980         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74981
74982 2001-09-23  Jim Meyering  <meyering@lucent.com>
74983
74984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74985         instead of the mere test for existence of mntent.h.  The latter
74986         would get a false-positive on AIX 3.4 systems.
74987         In the outer getmntent if-block, don't die if neither of the getmntent
74988         tests succeeds.  Instead, just fall through and continue with the
74989         remaining tests.
74990
74991 2001-09-23  Jim Meyering  <meyering@lucent.com>
74992
74993         * lib/mountlist.c: Remove useless parentheses in #if directives.
74994         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74995         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74996
74997 2001-09-22  Jim Meyering  <meyering@lucent.com>
74998
74999         * m4/gettext.m4: New file.  From gettext.
75000         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
75001         * m4/progtest.m4: Likewise
75002         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
75003         * m4/glibc21.m4: Likewise.
75004
75005         * m4/libintl.m4: Remove.  No longer used.
75006
75007 2001-09-22  Jim Meyering  <meyering@lucent.com>
75008
75009         * lib/localcharset.c: Update from latest gettext.
75010         * lib/config.charset: Likewise.
75011
75012 2001-09-20  Jim Meyering  <meyering@lucent.com>
75013
75014         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
75015         strtoimax.
75016         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
75017         strtoumax.
75018
75019 2001-09-20  Jim Meyering  <meyering@lucent.com>
75020
75021         * lib/xstrtol.c (strtoimax): Guard declaration with
75022         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
75023         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
75024         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
75025         (strtoumax): Likewise, for completeness (it wasn't necessary).
75026
75027 2001-09-17  Paul Eggert  <eggert@twinsun.com>
75028
75029         * lib/strtoimax.c (HAVE_LONG_LONG):
75030         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
75031         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
75032         to work around bug in IBM C compiler.
75033
75034 2001-09-17  Jim Meyering  <meyering@lucent.com>
75035
75036         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
75037         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
75038         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
75039         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
75040         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
75041         whenever the right hand side need not be expanded by the shell.
75042
75043 2001-09-16  Paul Eggert  <eggert@twinsun.com>
75044
75045         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
75046         library.  It's not correct, as some older glibcs are buggy.
75047         fnmatch wasn't fixed until glibc 2.2.
75048
75049         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
75050         special shell magic here.
75051
75052 2001-09-16  Jim Meyering  <meyering@lucent.com>
75053
75054         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
75055         * m4/jm-macros.m4: Require it.
75056
75057 2001-09-16  Jim Meyering  <meyering@lucent.com>
75058
75059         * lib/mkdir.c: New file.
75060
75061 2001-09-15  Jim Meyering  <meyering@lucent.com>
75062
75063         * m4/jm-macros.m4: Check for help2man.
75064
75065 2001-09-11  Jim Meyering  <meyering@lucent.com>
75066
75067         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
75068         The body, by Paul Eggert, was moved here from configure.in.
75069         * m4/jm-macros.m4: Require UTILS_HOST_OS.
75070
75071 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75072
75073         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
75074         (jm_PREREQ): Use it.
75075
75076 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75077
75078         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
75079         Use ssize_t, not int, to store result of readlink.
75080         Check for ssize_t overflow as well as size_t overflow,
75081         as POSIX says the result of readlink is implementation-defined
75082         when ssize_t overflows.
75083         Remove unnecessary cast to char*.
75084         Use free+malloc instead of realloc, as the storage doesn't need
75085         to be preserved and it's clearer and can be more efficient that way.
75086         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
75087         * lib/xreadlink.h (xreadlink): Update prototype.
75088
75089 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75090
75091         * lib/xgetcwd.c: Revert some of the previous change; intead,
75092         fix the HAVE_GETCWD_NULL code to behave more like the
75093         !HAVE_GETCWD_NULL code used to.
75094
75095         Include "xalloc.h".
75096         (xgetcwd): Do not return NULL when memory is exhausted; instead,
75097         invoke xalloc_die.
75098
75099 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75100
75101         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
75102         sys/param.h, as pathmax.h includes them.
75103
75104 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75105
75106         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
75107         (jm_PREREQ_XGETCWD): New macro.
75108
75109         * m4/getcwd.m4: New file.
75110
75111 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75112
75113         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
75114         like the HAVE_GETCWD_NULL code.
75115         Include pathmax.h if not HAVE_GETCWD.
75116         Do not include xalloc.h.
75117         (INITIAL_BUFFER_SIZE): New symbol.
75118         Do not use xmalloc / xrealloc, since the caller is responsible for
75119         handling errors.  Preserve errno around `free' during failure.
75120         Do not overrun buffer when using getwd.
75121
75122 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75123
75124         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
75125         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
75126         getcwd (NULL, 0).
75127
75128 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75129
75130         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
75131         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
75132         spotted by Jim Meyering.
75133
75134 2001-09-03  Jim Meyering  <meyering@lucent.com>
75135
75136         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
75137         failure.
75138
75139 2001-09-02  Jim Meyering  <meyering@lucent.com>
75140
75141         * lib/error.c: Update from GNU libc.
75142
75143 2001-09-01  Jim Meyering  <meyering@lucent.com>
75144
75145         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
75146         Used by df.
75147
75148 2001-09-01  Jim Meyering  <meyering@lucent.com>
75149
75150         * lib/xreadlink.c: New file.
75151         * lib/xreadlink.h: New file.
75152         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
75153         xreadlink.h.
75154
75155         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
75156         doesn't conflict with sparc Solaris 7's definition in
75157         /usr/include/sys/int_types.h.
75158
75159         * lib/exclude.c: Use `""', not `<>' to #include non-system header
75160         files.
75161         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
75162         and strncasecmp as r-values.  Unixware didn't have declarations.
75163
75164 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75165
75166         * lib/xstrtol.h: Add copyright notice.
75167         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
75168         LONGINT_INVALID_SUFFIX_CHAR.
75169
75170 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75171
75172         * lib/xstrtol.c (strtoimax): New decl.
75173
75174 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75175
75176         * lib/xgetcwd.c: Don't include pathmax.h.
75177         Include stdlib.h and unistd.h if available.
75178         Include xalloc.h.
75179         (xmalloc, xstrdup, free): Remove decls.
75180         (xgetcwd): Don't assume sizes fit in unsigned.
75181         Check for overflow when computing sizes.
75182         Simplify reallocation code.
75183
75184 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75185
75186         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
75187         a directory's st_size can have an arbitrary value, so the old
75188         usage could waste an arbitrary amount of memory.  All uses
75189         changed.
75190         * lib/savedir.h: Update prototype.
75191
75192 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75193
75194         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
75195
75196         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
75197         old strtoimax.c.
75198
75199         Also, make the following further changes to make this file's
75200         configuration more similar to that of strtol.c:
75201         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
75202         (strtoumax, uintmax_t, strtoull, strtol): Remove.
75203         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
75204         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
75205         changed to signed values.
75206
75207         And make the following changes as well:
75208         Fix copyright notice, as 1999 was missing.
75209         (verify): New macro.
75210         (strtoimax): Check sizes at compile-time, not run-time.
75211         Prefer strtol to strtoll if both work.
75212         (main): Remove; it was not that useful and was a pain to maintain.
75213
75214         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
75215
75216 2001-08-31  Jim Meyering  <meyering@lucent.com>
75217
75218         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
75219         Use an initial, malloc'd, buffer of length 128 rather than
75220         a statically allocated one of length 1024.
75221
75222 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75223
75224         Simplify code, partly by assuming autoconf 2.52 semantics.
75225
75226         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
75227
75228         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
75229         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
75230         All uses removed.
75231         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
75232         Move AC_REQUIRE to next-to-top level, to avoid confusion.
75233         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
75234         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
75235         jm_AC_HEADER_INTTYPES_H.
75236         * m4/jm-macros.m4 (jm_MACROS): Likewise.
75237
75238         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
75239
75240         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75241         Quote first arg of AC_DEFUN.
75242         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
75243         since they are needed to parse the include file even if we need
75244         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
75245         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
75246         but with opposite signedness.
75247
75248 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75249
75250         Merge 'exclude' changes from tar 1.13.22.
75251         This fixes one or two unlikely storage allocation overflow bugs,
75252         but doesn't change user-visible behavior otherwise.
75253
75254 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75255
75256         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
75257         (jm_PREREQ_EXCLUDE): New macro.
75258
75259 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75260
75261         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
75262         tm to be declared.
75263
75264 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75265
75266         * lib/hash.c: Remove '2001' from copyright notice.
75267
75268 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75269
75270         * lib/full-write.h: New file.
75271         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
75272         * lib/full-write.c: Correct credits, as cccp.c no longer
75273         exists and anyway it was so heavily changed from the old cccp
75274         code as to be unrecognizable.  Include full-write.h.
75275         (full_write) Return size_t, with short writes meaning failure.
75276         All callers changed.  This fixes a bug with large buffers
75277         on 64-bit hosts.
75278         * lib/utime.c: Include full-write.h.
75279
75280 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75281
75282         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
75283         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
75284         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
75285         Include if available.
75286         (<xalloc.h>): Include
75287         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
75288         (verify): New macro.  Use it to verify that EXCLUDE macros do not
75289         collide with FNM macros.
75290         (struct patopts): New struct.
75291         (struct exclude): Use it, as exclude patterns now come with options.
75292         (new_exclude): Support above changes.
75293         (new_exclude, add_exclude_file):
75294         Initial size must now be a power of two to simplify overflow checking.
75295         (free_exclude, fnmatch_no_wildcards): New function.
75296         (excluded_filename): No longer requires options arg, as the options
75297         are determined by add_exclude.  Now returns bool, not int.
75298         (excluded_filename, add_exclude):
75299         Add support for the fancy new exclusion options.
75300         (add_exclude, add_exclude_file): Now takes int options arg.
75301         Check for arithmetic overflow when computing sizes.
75302         (add_exclude_file): xrealloc might modify errno, so don't
75303         realloc until after errno might be used.
75304
75305         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
75306         New macros.
75307         (free_exclude): New decl.
75308         (add_exclude, add_exclude_file): Now takes int options arg.
75309         (excluded_filename): No longer requires options arg, as the options
75310         are determined by add_exclude.  Now returns bool, not int.
75311
75312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75313
75314         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
75315
75316 2001-08-27  Jim Meyering  <meyering@lucent.com>
75317
75318         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
75319
75320         * lib/version-etc.c (N_): Remove definition.
75321         Revert most of last change.
75322         Instead, simply don't mark the `Copyright...' string for translation.
75323         Based on advice from Paul Eggert.
75324
75325         * lib/strtoxmax.c: Tweak comment.
75326
75327 2001-08-26  Jim Meyering  <meyering@lucent.com>
75328
75329         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
75330
75331         * m4/xstrtoimax.m4: New file.
75332         * m4/xstrtoumax.m4: Add comments explaining why we
75333         AC_REPLACE_FUNCS(strtol).
75334
75335 2001-08-26  Jim Meyering  <meyering@lucent.com>
75336
75337         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
75338         of copyright with `%s' so translators don't get an untranslated
75339         message in 2002.
75340         (COPYRIGHT_YEAR): Define.
75341         (version_etc): Use fprintf rather than fputs.
75342         Suggestion from Ulrich Drepper.
75343
75344         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
75345
75346         * lib/strtoll.c: New file, from GNU libc.
75347         * lib/xstrtoimax.c: New file.
75348
75349         * lib/xstrtol.h: Add xstrtoimax.
75350         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
75351         * lib/strtoimax.c: New file.  Likewise, but first define
75352         STRTOUXMAX_SIGNED.
75353
75354         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
75355         ...
75356         * lib/strtoxmax.c: ... then renamed to this.
75357
75358 2001-08-18  Paul Eggert  <eggert@twinsun.com>
75359
75360         * m4/inttypes.m4: Add AC_PREREQ(2.13).
75361         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
75362         (jm_AC_TYPE_INTMAX_T): New macro.
75363         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
75364
75365         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
75366
75367         * m4/longlong.m4: Renamed from ulonglong.m4.
75368         * m4/inttypes.m4: Renamed from inttypes_h.m4.
75369         * m4/uintmax_t.m4: Removed.
75370
75371 2001-08-13  Paul Eggert  <eggert@twinsun.com>
75372
75373         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
75374         Port to Solaris 8, where 'sed' requires a space after the 'r'
75375         command, and where sh dislikes "$/".  Clean up the spacing a bit.
75376         Redirect output to $tmp just once.
75377
75378 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
75379
75380         * lib/addext.c (<errno.h>): Include.
75381         (errno): Declare if not defined.
75382         (addext): Work correctly when pathconf returns -1 and leaves
75383         errno alone because there is no limit.  Also, work even if
75384         pathconf returns a value greater than SIZE_MAX.
75385
75386 2001-08-12  Jim Meyering  <meyering@lucent.com>
75387
75388         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
75389         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
75390         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
75391         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
75392         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
75393         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
75394         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
75395         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
75396         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
75397         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
75398         utime.m4, utimes.m4, xstrtoumax.m4:
75399         Quote the first argument in each use of AC_DEFUN.
75400
75401 2001-08-12  Jim Meyering  <meyering@lucent.com>
75402
75403         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
75404         Simply `return getcwd (NULL, 0);'.
75405         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
75406         Use 1300 as initial value for length, not PATH_MAX.
75407
75408         * lib/pathmax.h: Clean up cpp syntax.
75409
75410 2001-08-12  Jim Meyering  <meyering@lucent.com>
75411
75412         * lib/gettimeofday.c: New file.
75413         * lib/gtod.h: New file.
75414         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
75415
75416 2001-08-05  Jim Meyering  <meyering@lucent.com>
75417
75418         * m4/jm-macros.m4: Require autoconf-2.52.
75419
75420 2001-08-04  Jim Meyering  <meyering@lucent.com>
75421
75422         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
75423         stmt, to get in sync with glibc.
75424
75425 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75426
75427         The following changes are from gettext 0.10.39 as maintained by
75428         Bruno Haible.
75429
75430         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
75431         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
75432         with inverted sense.  All uses changed.
75433
75434         * lib/mbswidth.c: Don't include <limits.h>.
75435         Include <stdlib.h> and <string.h> unconditionally.
75436         (iswcntrl, mbsinit, ISCNTRL): New macros.
75437         (mbsnwidth): Use K&R style function declarations.
75438         Don't bother checking for MB_LEN_MAX == 1, since the compiler
75439         can optimize it when MB_CUR_MAX == 1.
75440         The width of control characters is zero, not 1.
75441
75442 2001-08-03  Paul Eggert  <eggert@twinsun.com>
75443
75444         The following changes are from gettext 0.10.39 as maintained by
75445         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
75446
75447         * m4/codeset.m4: Upgrade to serial AM1.
75448         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
75449         all uses changed.  Quote first arg of AC_DEFUN.
75450         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
75451
75452         * m4/iconv.m4: Upgrade to serial AM2.
75453         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
75454         Add --with-libconv-prefix.
75455         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
75456         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
75457         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
75458         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
75459         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
75460
75461         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
75462         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
75463         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
75464         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
75465         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
75466         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
75467         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
75468         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
75469         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75470
75471         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
75472         string.h any more.
75473
75474         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
75475         not the default value.
75476
75477         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
75478         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
75479         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
75480         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
75481         Also check for iswcntrl, used for wcwidth fallback.
75482         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
75483         to Autoconf 2.13.
75484
75485 2001-08-03  Jim Meyering  <meyering@lucent.com>
75486
75487         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
75488         as it was in the original.  Reported by Paul Eggert.
75489
75490 2001-07-16  Jim Meyering  <meyering@lucent.com>
75491
75492         * m4/gettimeofday.m4: New file.
75493         Prompted by a report from Bernhard Baehr.
75494
75495 2001-07-15  Jim Meyering  <meyering@lucent.com>
75496
75497         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
75498         stuff. Now it's in ../Makefile.cfg.
75499
75500 2001-07-15  Jim Meyering  <meyering@lucent.com>
75501
75502         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
75503         (BUILT_SOURCES): Add unlocked-io.h.
75504         (io_functions): Define.
75505         (unlocked-io.h): New rule.
75506         (DISTCLEANFILES): Add unlocked-io.h.
75507         (all-local): Depend on unlocked-io.h, to ensure it is created.
75508
75509         * lib/unlocked-io.hin: New file
75510
75511         * lib/regex.c: Update from glibc.
75512
75513 2001-07-05  Jim Meyering  <meyering@lucent.com>
75514
75515         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
75516         recommendation.
75517         (libfetish_a_SOURCES): Put all .h files here instead.
75518         Remove a thus-exposed (better checks in automake) duplicate and
75519         two unnecessary .h files.
75520
75521 2001-07-04  Jim Meyering  <meyering@lucent.com>
75522
75523         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
75524         that generates jm-glibc-io.m4 so that it doesn't trigger any make
75525         distcheck failure.
75526
75527 2001-07-02  Jim Meyering  <meyering@lucent.com>
75528
75529         The following changes were prompted by suggestions from Bruno Haible.
75530
75531         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
75532         is now generated.
75533         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
75534         definition of EXTRA_DIST.
75535         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
75536         ensure that the generated file is created/updated whenever the list
75537         of $(unlocked_functions) is changed.
75538         (jm-glibc-io.m4): New rule.
75539         (unlocked-io.h): New rule -- currently unused.
75540
75541 2001-06-24  Jim Meyering  <meyering@lucent.com>
75542
75543         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
75544         unmatched right bracket, rather than kludging it with an extra,
75545         falsely-matching quote in a comment.  Patch by Akim Demaille.
75546
75547 2001-06-11  Jim Meyering  <meyering@lucent.com>
75548
75549         * lib/regex.c: Update from GNU libc.
75550
75551 2001-05-27  Jim Meyering  <meyering@lucent.com>
75552
75553         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
75554         Check for ut_type in struct utmp.
75555
75556 2001-05-27  Jim Meyering  <meyering@lucent.com>
75557
75558         * lib/readutmp.h (UT_TYPE): Define.
75559
75560 2001-05-24  Jim Meyering  <meyering@lucent.com>
75561
75562         * lib/argmatch.c: Include "quote.h".
75563         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
75564         quote function.  Reported by Göran Uddeborg.
75565
75566 2001-05-22  Jim Meyering  <meyering@lucent.com>
75567
75568         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
75569         now that we use the package-supplied version unconditionally.
75570         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
75571
75572 2001-05-21  Jim Meyering  <meyering@lucent.com>
75573
75574         * m4/regex.m4: Change a couple backticks to single quotes to avoid
75575         shell syntax errors.
75576
75577 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75578
75579         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
75580
75581 2001-05-20  Paul Eggert  <eggert@twinsun.com>
75582
75583         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
75584         Don't bother to check library strftime, since
75585         we'll be using our own my_strftime function anyway.
75586         Define my_strftime instead of strftime.
75587
75588 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
75589
75590         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
75591         which is not yet declared.
75592
75593 2001-05-15  Jim Meyering  <meyering@lucent.com>
75594
75595         * m4/regex.m4: Use proper quoting so brackets appear in the test
75596         program.
75597         Reported by, and with help from, Bruno Haible.
75598
75599 2001-05-13  Jim Meyering  <meyering@lucent.com>
75600
75601         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
75602         undefined.
75603
75604 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75605
75606         dirname code cleanup.  base_name now behaves more compatibly
75607         with POSIX basename when given file names that have trailing
75608         slashes, and similarly for dir_name.  Add new primitives
75609         base_len and dir_len.  Put the directory-name-related decls
75610         into dirname.h.
75611
75612         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
75613         * lib/backupfile.c (base_name): Likewise.
75614         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
75615         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
75616         * lib/makepath.c (strip_trailing_slashes): Likewise.
75617         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
75618         ISSLASH): Likewise.
75619         * lib/rename.c (strip_trailing_slashes): Likewise.
75620         * lib/same.c (base_name): Likewise.
75621         * lib/stripslash.c (ISSLASH): Likewise.
75622
75623         * lib/addext.c: Include <dirname.h> after size_t is defined.
75624         * lib/backupfile.c: Likewise.
75625
75626         * lib/addext.c (addext): Use base_len to trim redundant
75627         trailing slashes instead of doing it ourselves.
75628         But do not trim the last slash if it is not redundant.
75629
75630         * lib/backupfile.c (find_backup_file_name,
75631         max_backup_version): Use base_len instead of rolling it ourselves.
75632         Handle the case of "" and (on DOS) "C:" correctly.
75633
75634         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
75635         needed. Include <string.h>, <dirname.h>.
75636         (base_name): Allow file names ending in slashes, other than names
75637         that are all slashes.  In this case, return the basename followed
75638         by the slashes.  This is more general, and can be used in places
75639         where the original base_name purposely had an assertion failure.
75640         (base_len): New function.
75641
75642         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
75643         Do not include <assert.h>; no longer needed.
75644         Include xalloc.h.
75645         (memrchr): Remove decl.
75646         (dir_name_r): Remove.
75647         (dir_len): Renamed from dirlen.  All callers changed.
75648         Rewrite in terms of base_name, for simplicity and consistency.
75649         (dir_name): Never return NULL.  All callers changed.
75650         Do not include <stdlib.h> in test program; no longer needed.
75651         return 0; is fine for test program.
75652
75653         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
75654         New macros.
75655         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
75656
75657         * lib/path-concat.c (path_concat): Use base_len to compute
75658         base length, not strlen; this means we cannot rely on memcpy
75659         to null-terminate.
75660
75661         * lib/same.c (STREQ): Remove.
75662         (same_name): Handle the case where the basename ends in trailing '/'.
75663
75664         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
75665         a slash was stripped.  Do not strip the last slash after a
75666         file system prefix.
75667
75668 2001-05-11  Paul Eggert  <eggert@twinsun.com>
75669
75670         * lib/Makefile.am (libfetish_a_SOURCES):
75671         Add strftime.c, since we now compile it on all hosts.
75672
75673         * lib/strftime.c (my_strftime):
75674         Define to nstrftime if emacs, but only if my_strftime is not defined.
75675         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
75676         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
75677         Add one more extra argument: a nanoseconds value.
75678         All uses changed.
75679         (ns): New macro.
75680         (my_strftime function): Add %N format.
75681         (emacs_strftimeu): Renamed from emacs_strftime,
75682         with extra ut argument.
75683
75684 2001-05-09  Paul Eggert  <eggert@twinsun.com>
75685
75686         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
75687
75688 2001-04-21  Jim Meyering  <meyering@lucent.com>
75689
75690         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
75691         doesn't interfere.
75692
75693 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
75694
75695         * m4/ftruncate.m4: Check for chsize.
75696         Link with ftruncate.o unconditionally if ftruncate is missing.
75697         This was required when cross-compiling to i586-mingw32msvc.
75698
75699 2001-04-08  Jim Meyering  <meyering@lucent.com>
75700
75701         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
75702         recomputed; that's necessary when the offset spans a DST transition.
75703         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
75704
75705 2001-04-02  Jim Meyering  <meyering@lucent.com>
75706
75707         * lib/regex.h, regex.c: Update from GNU libc.
75708
75709 2001-03-24  Jim Meyering  <meyering@lucent.com>
75710
75711         * m4/jm-macros.m4: Require autoconf-2.49d.
75712
75713 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
75714
75715         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
75716
75717 2001-03-19  Paul Eggert  <eggert@twinsun.com>
75718
75719         * lib/version-etc.c (version_etc_copyright): Update to 2001.
75720
75721 2001-03-17  Jim Meyering  <meyering@lucent.com>
75722
75723         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
75724         now that the version in autoconf is equivalent.
75725         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
75726
75727         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
75728         Suggestion from Akim Demaille.
75729
75730         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
75731         (jm_PREREQ_TEMPNAME): New function.
75732
75733 2001-03-16  Paul Eggert  <eggert@twinsun.com>
75734
75735         * lib/tempname.c (uint64_t): Define to uintmax_t if
75736         not defined, and if UINT64_MAX is not defined.
75737         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
75738         Reported by John David Anglin.
75739
75740 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
75741
75742         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
75743         resolve alias if codeset is empty.
75744         * lib/config.charset (BeOS): Use wildcard syntax.
75745
75746 2001-03-13  Jim Meyering  <meyering@lucent.com>
75747
75748         * lib/path-concat.c (path_concat)
75749         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
75750         concatenating e.g., `C:' and `foo'.
75751         From Bruno Haible.
75752
75753 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75754
75755         * lib/localcharset.c (locale_charset): Don't use
75756         setlocale(LC_CTYPE,NULL). Don't return NULL.
75757         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
75758
75759 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75760
75761         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
75762         support for DOS/DJGPP.
75763
75764 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75765
75766         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75767         lacks mkstemp.  Compile our own tempname.c if we compile our own
75768         mkstemp.c, as mkstemp relies on tempname.
75769
75770 2001-03-01  Jim Meyering  <meyering@lucent.com>
75771
75772         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75773         AH_VERBATIM really does output its argument verbatim.
75774
75775 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75776
75777         * lib/Makefile.am (libfetish_a_SOURCES):
75778         Add dup-safer.c, fopen-safer.c.
75779         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75780
75781         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75782         * lib/unistd-safer.h: New files.
75783
75784 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75785
75786         The mkstemp replacement is taken from glibc 2.2.2, with some
75787         portability fixes for use outside glibc, as follows:
75788
75789         * lib/tempname.c (struct_stat64): New macro.
75790         (direxists, __gen_tempname): Use it.
75791         This avoids a portability problem with Solaris 8.
75792
75793         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75794         (<stddef.h>, <stdint.h>, <string.h>):
75795         Include only if STDC_HEADERS || _LIBC.
75796         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75797         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75798         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75799         (__set_errno): Define this macro if <errno.h> doesn't.
75800         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75801         Define these macros if <stdio.h> doesn't.
75802         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75803         Define these macros if <sys/stat.h>
75804         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75805         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75806         __xstat64): Define if not _LIBC.
75807         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75808         (__gen_tempname): Invoke gettimeofday only if
75809         HAVE_GETTIMEOFDAY || _LIBC;
75810         otherwise, fall back on plain "time".
75811         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75812
75813         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75814
75815         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75816
75817 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75818
75819         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75820
75821 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75822
75823         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75824         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75825         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75826         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75827
75828 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75829
75830         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75831         Remove workaround macros for hosts that have mbrtowc but not
75832         mbstate_t, as we now insist on proper declarations for both
75833         before using mbrtowc.
75834
75835 2001-02-17  Jim Meyering  <meyering@lucent.com>
75836
75837         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75838         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75839         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75840         UnixWare 7.1.1.
75841
75842         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75843         rather than AC_CACHE_VAL.
75844
75845 2001-02-17  Jim Meyering  <meyering@lucent.com>
75846
75847         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75848         around included file name.
75849
75850         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75851
75852         * lib/strftime.c: Update from GNU libc (the only changes were to
75853         comments).
75854
75855 2001-02-17  Jim Meyering  <meyering@lucent.com>
75856
75857         * lib/regex.c: Update from libc.
75858
75859 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75860
75861         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75862         clash.
75863
75864 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75865
75866         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75867         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75868         Reported by Mark Hounschell via Paul Eggert.
75869
75870 2001-02-07  Jim Meyering  <meyering@lucent.com>
75871
75872         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75873
75874 2001-02-05  Jim Meyering  <meyering@lucent.com>
75875
75876         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75877         it includes the patch required for `large file' support with at least
75878         HP-UX's 10.20 /bin/cc.
75879
75880 2001-02-03  Jim Meyering  <meyering@lucent.com>
75881
75882         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75883         AS_IF, now that it works once again (mysteriously).
75884         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75885
75886 2001-01-30  Jim Meyering  <meyering@lucent.com>
75887
75888         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75889         * m4/chown.m4: Rename conftestchown to conftest.chown.
75890         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75891         s/conftestdir2/conftest.d2/.
75892         * m4/utimes.m4: s/conftestdata/conftest.data/
75893         Inspired by Pavel Roskin's change in autoconf.
75894
75895 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75896
75897         * lib/config.charset: Update for FreeBSD 4.2.
75898
75899 2001-01-27  Jim Meyering  <meyering@lucent.com>
75900
75901         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75902         a use of AS_IF.
75903         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75904
75905 2001-01-26  Jim Meyering  <meyering@lucent.com>
75906
75907         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75908         quotearg.c includes it.
75909
75910 2001-01-26  Jim Meyering  <meyering@lucent.com>
75911
75912         * lib/quotearg.c: Include stddef.h.
75913         * lib/quote.c: Include stddef.h.
75914         Reported by Axel Kittenberger.
75915
75916         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75917         line in double quotes so that it evokes a better diagnostic.
75918         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75919         Reported by Axel Kittenberger.
75920
75921 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75922
75923         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75924         as if it was a `charset'.
75925
75926 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75927
75928         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75929         has const.
75930
75931 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75932
75933         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75934         to avoid a warning.  Add back 'const' to inptr.
75935
75936 2001-01-20  Jim Meyering  <meyering@lucent.com>
75937
75938         Be sure that headers are checked before used in code compiled
75939         for the type checks.
75940         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75941         In place of that, invoke jm_CHECK_ALL_TYPES.
75942         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75943         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75944         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75945         The check for ssize_t was mistakenly run before the test for unistd.h.
75946
75947         The configure-time check for stdbool.h was missing.
75948         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75949         (jm_PREREQ_HASH): New function.
75950
75951 2001-01-17  Jim Meyering  <meyering@lucent.com>
75952
75953         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75954         for autoconf-2.49c.
75955         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75956
75957 2001-01-16  Jim Meyering  <meyering@lucent.com>
75958
75959         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75960         From Bruno Haible.
75961
75962 2001-01-14  Jim Meyering  <meyering@lucent.com>
75963
75964         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75965         foo and bar.  Create conftestdir/ in the script, not in the C code.
75966         Remove directories in the script, not in the C code.
75967         Remove conftestdir{,2} before trying to create the directory.
75968         Make the entire configure script fail if the mkdir fails.
75969
75970 2001-01-14  Jim Meyering  <meyering@lucent.com>
75971
75972         * lib/rename.c: New file.  From Volker Borchert.
75973         Include stdlib.h, string.h or strings.h, and xalloc.h.
75974         Use strip_trailing_slashes rather than open-coding it.
75975
75976 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75977
75978         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75979
75980 2001-01-03  Jim Meyering  <meyering@lucent.com>
75981
75982         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75983         of local `inptr' to avoid warning with some system declarations of
75984         iconv.
75985
75986 2001-01-02  Volker Borchert  <bt@teknon.de>
75987
75988         * m4/rename.m4: New file.
75989         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75990
75991 2001-01-01  Jim Meyering  <meyering@lucent.com>
75992
75993         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75994         even on systems with utmpx.h.  It's necessary for the declaration of
75995         utmp's ut_user member.  Reported by Andreas Jaeger.
75996
75997         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75998         available. They are required for the declarations of getgrgid and
75999         getpwuid resp.
76000         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
76001         Reported by Andreas Jaeger.
76002
76003 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
76004
76005         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
76006         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
76007         so `make install' also works in VPATH builds.
76008
76009 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
76010
76011         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
76012         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
76013         can be used in subdirectories.
76014
76015 2000-12-29  Paul Eggert  <eggert@twinsun.com>
76016
76017         * lib/modechange.c: Do not assume that mode_t uses the
76018         traditional octal encoding.  E.g. "chmod 1 FOO" should set
76019         the other-execute bit of FOO even if S_IXOTH != 1.
76020
76021         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
76022         WOTH, XOTH, ALLM): New macros.
76023         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
76024          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
76025         Use them.
76026         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
76027         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
76028         (mode_compile):
76029         No need to use uintmax_t; unsigned long is long enough.
76030         Don't bother to get suffix since we don't use it.
76031
76032 2000-12-26  Jim Meyering  <meyering@lucent.com>
76033
76034         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
76035         better with autoheader.
76036
76037 2000-12-24  Jim Meyering  <meyering@lucent.com>
76038
76039         * lib/hash.c (is_prime): Return explicit boolean values.
76040         (hash_get_first): Return NULL to appease Irix5.6's 89.
76041         Reported by Nelson Beebe.
76042
76043 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
76044
76045         * lib/localcharset.c (locale_charset): Add support for Win32.
76046
76047 2000-12-18  Paul Eggert  <eggert@twinsun.com>
76048
76049         * lib/physmem.h, lib/physmem.c: New files.
76050
76051         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
76052         (noinst_HEADERS): Add physmem.h.
76053
76054         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
76055         't' for compatibility with Solaris 8 sort.
76056
76057 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
76058
76059         * lib/config.charset: Add support for BeOS.
76060
76061 2000-12-17  Jim Meyering  <meyering@lucent.com>
76062
76063         * m4/dos.m4 (jm_AC_DOS): New file and macro.
76064         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
76065
76066 2000-12-16  Jim Meyering  <meyering@lucent.com>
76067
76068         This bug had a serious impact on chown: `chown N:M FILE' (for integer
76069         N and M) would have treated it like `chown N:N FILE'.
76070
76071         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
76072
76073 2000-12-16  Jim Meyering  <meyering@lucent.com>
76074
76075         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
76076         SHELLS_FILE to a file name that's useful on djgpp systems.
76077         Include stdlib.h.
76078         (ADDITIONAL_DEFAULT_SHELLS): Define.
76079         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
76080         Based mostly on a patch from Prashant TR.
76081
76082 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
76083
76084         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
76085         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
76086         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
76087
76088 2000-12-08  Andreas Schwab  <schwab@suse.de>
76089
76090         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
76091         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
76092
76093 2000-12-07  Jim Meyering  <meyering@lucent.com>
76094
76095         * lib/stripslash.c (ISSLASH): Define.
76096         (strip_trailing_slashes): Use ISSLASH rather than comparing against
76097         `/'.
76098         From Prashant TR.
76099
76100         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76101         (dir_name_r): Declare this function as static.
76102         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
76103         manifest itself on a name containing a mix of slashes and
76104         backslashes.
76105         Make this function work with names starting with a DOS-style
76106         drive letter and colon prefix.
76107         (dir_name): Append `.' if necessary.
76108         Based mostly on patches from Prashant TR and Eli Zaretskii.
76109
76110         * lib/dirname.h (dir_name_r): Remove prototype.
76111
76112 2000-12-06  Paul Eggert  <eggert@twinsun.com>
76113
76114         * m4/off_t-format.m4: Remove this file.
76115         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
76116
76117 2000-12-06  Jim Meyering  <meyering@lucent.com>
76118
76119         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
76120         replacement strtoull, we may well need the replacement strtoul, too.
76121         Check for declarations of strtoul and strtoull.
76122         Check for strtol.  Mainly as a cue to cause automake to include
76123         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
76124         Check for limits.h -- strtol.c needs it.
76125
76126 2000-12-05  Jim Meyering  <meyering@lucent.com>
76127
76128         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
76129
76130 2000-12-04  Jim Meyering  <meyering@lucent.com>
76131
76132         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
76133         Also include memory.h, stdlib.h, unistd.h if appropriate.
76134         Reported by Andreas Jaeger (conflicting declaration of malloc).
76135
76136 2000-12-02  Jim Meyering  <meyering@lucent.com>
76137
76138         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
76139         * m4/jm-macros.m4 (jm_MACROS): require it.
76140
76141 2000-12-02  Jim Meyering  <meyering@lucent.com>
76142
76143         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
76144
76145 2000-12-01  Paul Eggert  <eggert@twinsun.com>
76146
76147         * lib/memrchr.c: Include <config.h> before any system include file.
76148
76149 2000-11-30  Jim Meyering  <meyering@lucent.com>
76150
76151         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
76152
76153 2000-11-30  Jim Meyering  <meyering@lucent.com>
76154
76155         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
76156
76157 2000-11-29  Paul Eggert  <eggert@twinsun.com>
76158
76159         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
76160
76161 2000-11-26  Jim Meyering  <meyering@lucent.com>
76162
76163         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
76164
76165 2000-11-22  Paul Eggert  <eggert@twinsun.com>
76166
76167         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
76168         size of (size_t) -1; it's not portable.
76169
76170 2000-11-17  Jim Meyering  <meyering@lucent.com>
76171
76172         * lib/strstr.c: Update from GNU libc.
76173
76174 2000-11-17  Akim Demaille  <akim@epita.fr>
76175
76176         * lib/obstack.h: Formatting changes.
76177         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
76178         prevent type checking.
76179         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
76180         cast the value to (void *): assigning a `foo *' to a `void *'
76181         variable is valid.
76182         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
76183
76184 2000-11-16  Jim Meyering  <meyering@lucent.com>
76185
76186         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
76187
76188 2000-11-11  Jim Meyering  <meyering@lucent.com>
76189
76190         * lib/error.c: Add a couple #includes, merging from GNU libc version.
76191
76192 2000-11-10  Jim Meyering  <meyering@lucent.com>
76193
76194         * lib/obstack.h: Update from GNU libc.
76195         * lib/obstack.c: Likewise.
76196
76197 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
76198
76199         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
76200
76201 2000-11-06  Paul Eggert  <eggert@twinsun.com>
76202
76203         * lib/getusershell.c (setusershell): Use rewind rather than
76204         fseek/fseeko, to avoid configuration hassles with fseeko.
76205         Don't bother opening SHELLS_FILE if shellstream is NULL;
76206         it's not necessary.
76207
76208 2000-11-05  Jim Meyering  <meyering@lucent.com>
76209
76210         * lib/makepath.h (make_dir): Declare.
76211         * lib/makepath.c (make_dir): Remove `static' attribute.
76212         Tweak a comment.
76213
76214 2000-11-04  Jim Meyering  <meyering@lucent.com>
76215
76216         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
76217
76218 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
76219
76220         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
76221         last one in a bucket, advance to the next bucket.
76222
76223 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
76224
76225         * lib/fnmatch.c: Do not comment out all the code if we are using
76226         the GNU C library, because in some cases we are replacing buggy
76227         code in the GNU C library itself.
76228
76229 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
76230
76231         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
76232         (regex_compile): Catch bogus \(\1\).
76233
76234 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76235
76236         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
76237         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
76238         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
76239
76240 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76241
76242         * lib/error.h, getline.h, modechange.h:
76243         Remove "2000" from Copyright line, as the file hasn't been
76244         changed this year other than in the copyright notice.
76245
76246         * lib/xalloc.h: Add "2000" to Copyright line, as this file
76247         was changed this year.
76248
76249 2000-10-29  Jim Meyering  <meyering@lucent.com>
76250
76251         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
76252         renaming.
76253         * m4/ls-mntd-fs.m4: Likewise
76254
76255 2000-10-29  Jim Meyering  <meyering@lucent.com>
76256
76257         * lib/xstat.in: Fix grammar in comment.
76258
76259 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
76260
76261         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
76262         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
76263         doesn't define __restrict_arr.
76264
76265 2000-10-28  Jim Meyering  <meyering@lucent.com>
76266
76267         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
76268         (jm_PREREQ_MEMCHR): New function.
76269
76270 2000-10-28  Jim Meyering  <meyering@lucent.com>
76271
76272         * lib/memchr.c: Update from libc.
76273         Adjust for portability:
76274         [HAVE_STDLIB_H]: Include stdlib.h.
76275         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
76276         Undef __memchr, too.
76277         [!weak_alias]: Define __memchr to memchr.
76278
76279         * lib/regex.c: Update from libc.
76280         * lib/regex.h: Likewise.
76281         * lib/getopt1.c: Likewise.
76282         * lib/memcmp.c: Likewise.
76283
76284         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
76285         Avoid using fseek, when possible -- it's broken by design.
76286         Patch by Ulrich Drepper.
76287
76288 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
76289
76290         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
76291         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
76292         Giving in to popular pressure to shut up the compiler with casts.
76293
76294 2000-10-26  Jim Meyering  <meyering@lucent.com>
76295
76296         * lib/strftime.c: Update from libc.
76297
76298 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
76299
76300         * regex.c: More `unsigned char' -> `re_char' changes.
76301         Also change several `int' into `re_wchar_t'.
76302         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
76303         (PUSH_FAILURE_POINTER): Don't cast any more.
76304         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
76305         We want GCC to complain, since this piece of code makes
76306         re_match non-reentrant, which *should* be fixed.
76307         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
76308         (EXTEND_BUFFER): Use RETALLOC.
76309         (SET_LIST_BIT): Don't cast.
76310         (re_wchar_t): New type.
76311         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
76312         that those two functions will always properly return.
76313         (IMMEDIATE_QUIT_CHECK): Cast to void.
76314         (analyse_first): Use recursion rather than an explicit stack.
76315         (re_compile_fastmap): Can't fail anymore.
76316         (re_search_2): Don't check re_compile_fastmap for failure.
76317         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
76318         Now also sets the new value (passed in a new argument).
76319         (re_match_2_internal): Use it.
76320         Also, use a new var `reg' of type size_t when looping through regs
76321         rather than reuse the inappropriate `mcnt'.
76322
76323 2000-10-25  Jim Meyering  <meyering@lucent.com>
76324
76325         * lib/obstack.c: Update from libc.
76326
76327 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
76328
76329         * regex.c (regex_compile): Change the way of handling a range from
76330         a char less than 256 to a char not less than 256.
76331
76332 2000-10-24  Andrew Innes  <andrewi@gnu.org>
76333
76334         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
76335         NT-Emacs only.
76336         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
76337         so that re_search functions only quit when callers expect them to.
76338
76339 2000-10-23  Jim Meyering  <meyering@lucent.com>
76340
76341         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
76342         wrong.  That set_locale call must not have any side effects.
76343         From Paul Eggert.
76344
76345 2000-10-22  Jim Meyering  <meyering@lucent.com>
76346
76347         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
76348         [CYCLIC]: Remove now-unused definition.
76349
76350         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
76351         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
76352         Suggestion from Ulrich Drepper.
76353
76354 2000-10-21  Jim Meyering  <meyering@lucent.com>
76355
76356         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
76357         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
76358         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
76359
76360 2000-10-21  Jim Meyering  <meyering@lucent.com>
76361
76362         * lib/dirname.c (memrchr): Declare if necessary.
76363         (dir_name): Remove the restriction that there be no
76364         trailing slashes.  Now, this code skips past them, effectively
76365         ignoring them.
76366         [TEST_DIRNAME] (main): New unit tests.
76367
76368         * lib/memrchr.c: New file from GNU libc.
76369         Undef __memrchr, too.
76370         [!weak_alias]: Define __memrchr to memrchr.
76371         Guard weak_alias use with `#ifdef weak_alias'.
76372
76373 2000-10-21  Jim Meyering  <meyering@lucent.com>
76374
76375         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
76376         (dir_name): Use dir_name_r.
76377         * lib/dirname.h (dir_name_r): Declare it.
76378
76379 2000-10-17  Jim Meyering  <meyering@lucent.com>
76380
76381         * lib/quote.h (PARAMS): Define and use.
76382         Reported by Akim Demaille.
76383
76384         * lib/getopt.c: Update from libc.
76385
76386 2000-10-16  Jim Meyering  <meyering@lucent.com>
76387
76388         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
76389         setlocale.
76390         From Jan Fedak.
76391
76392 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
76393
76394         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
76395
76396 2000-09-25  Jim Meyering  <meyering@lucent.com>
76397
76398         * lib/md5.h (rol): Define (from GnuPG).
76399
76400         * lib/sha.c: Give credit (GnuPG) where due.
76401         (M): Use rol rather than open-coding it.
76402         Add a FIXME comment.
76403
76404 2000-09-21  Jim Meyering  <meyering@lucent.com>
76405
76406         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
76407         Reported by Michael Stone.
76408
76409 2000-09-20  Jim Meyering  <meyering@lucent.com>
76410
76411         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
76412         (noinst_HEADERS): Add sha.h.
76413         Based on code from Scott G. Miller and from GnuPG.
76414
76415 2000-09-18  Jim Meyering  <meyering@lucent.com>
76416
76417         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
76418         LIBS. Otherwise, everyone ends up linking with -lelf for some
76419         configurations.
76420         Reported by Mike Stone.
76421
76422 2000-09-15  Jim Meyering  <meyering@lucent.com>
76423
76424         * lib/regex.c: Update from libc.
76425
76426 2000-09-10  Jim Meyering  <meyering@lucent.com>
76427
76428         * lib/getopt.c (_getopt_internal): Update from glibc.
76429
76430 2000-09-09  Jim Meyering  <meyering@lucent.com>
76431
76432         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
76433         think it should be used as a general replacement for isascii.
76434         * lib/fnmatch.c: Likewise.
76435         * lib/mbswidth.c: Likewise
76436         * lib/regex.c: Likewise.
76437
76438         Don't use atoi.
76439         * lib/userspec.c: Include sys/param.h and limits.h.
76440         Include xstrtol.h.
76441         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
76442         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
76443         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
76444         UID, GID.  Check range.
76445
76446 2000-09-06  Jim Meyering  <meyering@lucent.com>
76447
76448         * lib/getopt.c (_getopt_internal): Update from glibc.
76449
76450 2000-08-30  Jim Meyering  <meyering@lucent.com>
76451
76452         * lib/strftime.c: Merge in changes from GNU libc.
76453
76454 2000-08-26  Jim Meyering  <meyering@lucent.com>
76455
76456         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
76457         * m4/fpending.m4: New file.
76458
76459 2000-08-26  Jim Meyering  <meyering@lucent.com>
76460
76461         * lib/closeout.c: Include "__fpending.h".
76462         (close_stdout_status): Return right away if there's nothing to flush.
76463
76464         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
76465         * lib/__fpending.c: New file.
76466         * lib/__fpending.h: New file.
76467
76468 2000-08-20  Jim Meyering  <meyering@lucent.com>
76469
76470         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
76471         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
76472         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
76473
76474 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
76475
76476         Improve fileutils installation on systems where running
76477         programs (like install) can't be unlinked.
76478         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
76479         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
76480
76481 2000-08-07  Paul Eggert  <eggert@twinsun.com>
76482
76483         Standardize on "memory exhausted" instead of "Memory exhausted"
76484         or "virtual memory exhausted".
76485         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
76486         "virtual memory exhausted".
76487         * lib/same.c (same_name): Invoke xalloc_die instead of printing
76488         our own message.
76489         * lib/userspec.c (parse_user_spec): Likewise.
76490         * lib/bumpalloc.h: comment fix
76491         * lib/same.c, userspec.c: Include xalloc.h.
76492
76493         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
76494         not char *const and pointing to a constant array.
76495         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
76496         (xrealloc): Comment fix.
76497
76498         * lib/userspec.c (parse_user_spec):
76499         Don't translate a message until just before returning,
76500         to avoid unnecessary translation.
76501
76502 2000-08-07  Jim Meyering  <meyering@lucent.com>
76503
76504         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
76505         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
76506         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
76507         getgroups.c, gethostname.c, getopt.h, group-member.c,
76508         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
76509         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
76510         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
76511         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
76512         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
76513         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
76514         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
76515         yesno.c: Back out Copyright date changes for each file with no change
76516         this year.  This eases coordination with other programs using the same
76517         source code modules.  From Paul Eggert.
76518
76519 2000-08-06  Paul Eggert  <eggert@twinsun.com>
76520
76521         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
76522         not char, for compatibility with glibc 2.1.3 strftime.c.
76523
76524 2000-08-03  Greg McGary  <greg@mcgary.org>
76525
76526         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
76527         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
76528         (EXTEND_BUFFER): Use them.
76529
76530 2000-08-01  Jim Meyering  <meyering@lucent.com>
76531
76532         * lib/dirname.c (ISSLASH): Define.
76533         (BACKSLASH_IS_PATH_SEPARATOR): Define.
76534         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
76535         both `\' and `/' may be use as path separators.
76536         Based on a patch from Prashant TR.
76537
76538 2000-07-31  Paul Eggert  <eggert@twinsun.com>
76539
76540         * lib/quotearg.c (quotearg_n_options): Don't make the initial
76541         slot vector a constant, since it might get modified.
76542
76543 2000-07-31  Jim Meyering  <meyering@lucent.com>
76544
76545         * lib/xmalloc.c: Use `virtual memory exhausted', not
76546         `Memory exhausted'.
76547         * lib/obstack.c (print_and_abort): Likewise.
76548
76549 2000-07-30  Paul Eggert  <eggert@twinsun.com>
76550
76551         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
76552         buffer, so that the caller can always quote one small
76553         component of a "memory exhausted" message in slot 0.
76554         From a suggestion by Jim Meyering.
76555
76556 2000-07-30  Jim Meyering  <meyering@lucent.com>
76557
76558         * lib/makepath.c (make_path): Quote the other instance, too.
76559
76560         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
76561         (STATIC_BUF_SIZE): Define.
76562         (quotearg_n_options): Use only statically allocated storage when
76563         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
76564         than STATIC_BUF_SIZE.
76565
76566 2000-07-29  Jim Meyering  <meyering@lucent.com>
76567
76568         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
76569         * lib/dirname.c (dir_name): Likewise.
76570
76571         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
76572         `/'.
76573
76574         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
76575         (dir_name): Assert that there are no trailing slashes.
76576
76577 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
76578
76579         * lib/mbswidth.h (mbswidth): Add a flags argument.
76580         (mbswidth): New declaration.
76581         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
76582         * lib/mbswidth.c (mbswidth): Add a flags argument.
76583         (mbsnwidth): New function.
76584
76585 2000-07-24  Jim Meyering  <meyering@lucent.com>
76586
76587         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
76588
76589 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76590
76591         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
76592
76593 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76594
76595         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
76596         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
76597         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
76598         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
76599         invoke multibyte primitives.
76600
76601 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76602
76603         * lib/quotearg.c:
76604         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
76605         so that mbstate_t is always defined.
76606
76607         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
76608         be 1 in at least one GCC installation, and this configuration
76609         error is likely to be common.  Ignoring MB_LEN_MAX hurts
76610         performance on hosts that have mbrtowc but have only unibyte
76611         locales, but I assume these hosts are rare.
76612
76613 2000-07-23  Paul Eggert  <eggert@twinsun.com>
76614
76615         * lib/mbswidth.c (_XOPEN_SOURCE):
76616         Don't define; this causes problems on Solaris 7.
76617         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
76618
76619 2000-07-23  Jim Meyering  <meyering@lucent.com>
76620
76621         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
76622         too: getgrgid, getpwuid, getuid.
76623
76624 2000-07-23  Jim Meyering  <meyering@lucent.com>
76625
76626         * lib/basename.c (base_name): Add an assertion.
76627
76628 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
76629
76630         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
76631         shadow its mbsinit function.
76632
76633 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76634
76635         * lib/mbswidth.h: New file.
76636         * lib/mbswidth.c: New file.
76637         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
76638         (noinst_HEADERS): Add mbswidth.h.
76639
76640 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
76641
76642         * lib/config.charset: Add support for FreeBSD. Improve support for
76643         HP-UX and IRIX 6.
76644
76645 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
76646
76647         * m4/mbswidth.m4: New file.
76648         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
76649
76650 2000-07-15  Jim Meyering  <meyering@lucent.com>
76651
76652         * lib/makepath.c: Include quote.h.
76653         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
76654         corresponding argument in a `quote (...)' call.
76655         Give better diagnostics.
76656
76657         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
76658         (noinst_HEADERS): Add quote.h.
76659
76660         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
76661         from tar's src/misc.c.
76662         * lib/quote.h: New file.  Prototypes for same.
76663
76664 2000-07-14  Paul Eggert  <eggert@twinsun.com>
76665
76666         From a suggestion by Bruno Haible.
76667         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
76668         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
76669         to decide whether to define the BeOS workaround macro;
76670         this adjusts to the change to AC_MBSTATE_T.
76671
76672 2000-07-14  Jim Meyering  <meyering@lucent.com>
76673
76674         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
76675         jm_AC_TYPE_UINTMAX_T.
76676
76677 2000-07-13  Paul Eggert  <eggert@twinsun.com>
76678
76679         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
76680
76681         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
76682         quotearg_buffer_restyled): Add support for
76683         clocale_quoting_style.  Undo previous change to
76684         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
76685         and "{RIGHT QUOTATION MARK}" msgids.
76686
76687 2000-07-10  Paul Eggert  <eggert@twinsun.com>
76688
76689         From a suggestion by Bruno Haible.
76690         * m4/mbstate_t.m4 (AC_MBSTATE_T):
76691         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
76692         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
76693         and mbstate_t, to a single-part test that simply defines mbstate_t.
76694         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
76695         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
76696
76697 2000-07-10  Jim Meyering  <meyering@lucent.com>
76698
76699         * m4/strerror_r.m4: Mirror the correction made in autoconf.
76700
76701         * m4/gnu-source.m4: Output to confdefs.h directly.
76702         Suggestion from Akim Demaille.
76703
76704 2000-07-09  Paul Eggert  <eggert@twinsun.com>
76705
76706         The old behavior of quoting `like this' doesn't look good with
76707         newer, ISO-style fonts.  See:
76708         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
76709
76710         Instead, quote "like this" by default.  Let the translator
76711         tailor the locale-specific quoting behavior by providing
76712         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
76713
76714         * lib/quotearg.c (N_): New macro.
76715         (gettext_default): New function.
76716         (quotearg_buffer_restyled): Use
76717         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
76718         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
76719
76720 2000-07-09  Jim Meyering  <meyering@lucent.com>
76721
76722         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
76723         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
76724
76725         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
76726         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
76727
76728 2000-07-09  Jim Meyering  <meyering@lucent.com>
76729
76730         * lib/Most files: Update copyright dates to include 2000.
76731
76732 2000-07-08  Jim Meyering  <meyering@lucent.com>
76733
76734         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
76735         if not defined.
76736         (xgethostname): Remove now-unnecessary #ifdef.
76737         Move declaration of `err' into loop where it's used.
76738
76739 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76740         and Bruno Haible  <haible@clisp.cons.org>
76741
76742         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
76743         only if the test for an object-type mbstate_t fails.  This
76744         prevents us from mistakenly reporting that mbstate_t is a
76745         system object type after we "#define mbstate_t int" to work
76746         around its lack.
76747
76748 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76749         and Bruno Haible  <haible@clisp.cons.org>
76750
76751         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
76752
76753 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76754
76755         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
76756         to strerror_r.
76757         Include <ctype.h> for use of isalpha.
76758
76759 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76760
76761         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
76762         by allocating a larger buffer. Test the gethostname return value for
76763         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
76764         returns an error and ENAMETOOLONG isn't defined.
76765
76766 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76767
76768         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76769         dimension.
76770
76771 2000-07-04  Jim Meyering  <meyering@lucent.com>
76772
76773         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76774         of the deprecated AC_CHECKING.
76775
76776 2000-07-04  Jim Meyering  <meyering@lucent.com>
76777
76778         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76779         Reported by Bruno Haible.
76780
76781 2000-07-04  Jim Meyering  <meyering@lucent.com>
76782
76783         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76784         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76785         lacks mbrtowc.
76786
76787 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76788
76789         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76790         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76791
76792 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76793         and Bruno Haible  <haible@clisp.cons.org>
76794
76795         * lib/quotearg.c (mbrtowc):
76796         Assign to *pwc, and return 1 only if result is nonzero.
76797         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76798
76799 2000-07-03  Jim Meyering  <meyering@lucent.com>
76800
76801         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76802
76803 2000-07-03  Jim Meyering  <meyering@lucent.com>
76804
76805         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76806         This is necessary to get a definition of e.g., UTMP_FILE on
76807         HP-UX 10.20.
76808         From Bob Proulx.
76809
76810 2000-07-02  Jim Meyering  <meyering@lucent.com>
76811
76812         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76813
76814         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76815         AC_LIBOBJ(function_name).
76816         * m4/chown.m4: Likewise.
76817         * m4/fnmatch.m4: Likewise.
76818         * m4/ftruncate.m4: Likewise.
76819         * m4/getgroups.m4: Likewise.
76820         * m4/getline.m4: Likewise.
76821         * m4/group-member.m4: Likewise.
76822         * m4/jm-macros.m4: Likewise.
76823         * m4/lstat.m4: Likewise.
76824         * m4/malloc.m4: Likewise.
76825         * m4/memcmp.m4: Likewise.
76826         * m4/nanosleep.m4: Likewise.
76827         * m4/putenv.m4: Likewise.
76828         * m4/realloc.m4: Likewise.
76829         * m4/regex.m4: Likewise.
76830         * m4/stat.m4: Likewise.
76831         * m4/strftime.m4: Likewise.
76832
76833 2000-07-02  Jim Meyering  <meyering@lucent.com>
76834
76835         * lib/quotearg.c (mbstate_t): Don't define here.
76836
76837 2000-07-02  Jim Meyering  <meyering@lucent.com>
76838
76839         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76840
76841 2000-07-01  Jim Meyering  <meyering@lucent.com>
76842
76843         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76844
76845 2000-07-01  Jim Meyering  <meyering@lucent.com>
76846
76847         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76848         problem.
76849
76850 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76851
76852         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76853         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76854
76855 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76856
76857         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76858         per change in ../m4/ls-mntd-fs.m4.
76859         (read_filesystem_list): Ignore symbolic links.
76860
76861 2000-06-29  Jim Meyering  <meyering@lucent.com>
76862
76863         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76864         for declaration of strcmp.
76865
76866         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76867
76868         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76869         Avoid warning by casting result to `char *' to remove `const'.
76870
76871 2000-06-28  Jim Meyering  <meyering@lucent.com>
76872
76873         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76874         included by quotearg.c, for which we perform this test.  From
76875         Bruno Haible.
76876
76877 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76878
76879         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76880         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76881         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76882
76883 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76884
76885         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76886
76887 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76888
76889         savedir now sets errno on failure and invokes xmalloc to get memory.
76890         Fix a couple of other minor bugs while we're at it.
76891
76892         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76893         (NAMLEN): Remove macro.
76894         (malloc, realloc): Remove decls.
76895         (stpcpy): Likewise.
76896         ("xalloc.h"): Include.
76897         (NAME_SIZE_DEFAULT): New macro.
76898         (savedir): Use xmalloc / xrealloc to allocate memory.
76899         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76900         Skip "" directory entries.
76901         Use strlen to calculate directory entry length, since the old method
76902         is rarely used these days and isn't worth supporting.
76903         Don't use a pointer after freeing it.
76904         Check for integer overflow when calculating allocation size.
76905         Use memcpy to copy entries, instead of stpcpy.
76906         Set errno properly when returning NULL.
76907         Check for readdir error.
76908
76909 2000-06-26  Jim Meyering  <meyering@lucent.com>
76910
76911         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76912
76913 2000-06-25  Jim Meyering  <meyering@lucent.com>
76914
76915         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76916         Linux header bug when _XOPEN_SOURCE is defined to 500.
76917
76918 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76919
76920         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76921         deficiency.
76922
76923 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76924
76925         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76926         Include xalloc.h.
76927         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76928
76929 2000-06-24  Jim Meyering  <meyering@lucent.com>
76930
76931         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76932         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76933         for which strerror does return char*, but which lacks a conveniently
76934         accessible declaration of the function.  If the compile-test says
76935         strerror_r doesn't work, then resort to a `run'-test that works on
76936         BeOS and segfaults on DEC Unix.
76937
76938 2000-06-24  Jim Meyering  <meyering@lucent.com>
76939
76940         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76941
76942 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76943
76944         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76945         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76946
76947 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76948
76949         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76950         (mbrtowc, mbstate_t): Define substitutes if
76951         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76952         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76953         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76954
76955 2000-06-23  Jim Meyering  <meyering@lucent.com>
76956
76957         * m4/afs.m4: Add missing AC_MSG_RESULT.
76958         Reported by Bruno Haible.
76959
76960         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76961         Suggestion from Bruno Haible.
76962
76963 2000-06-23  Jim Meyering  <meyering@lucent.com>
76964
76965         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76966
76967 2000-06-21  Jim Meyering  <meyering@lucent.com>
76968
76969         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76970
76971 2000-06-21  Jim Meyering  <meyering@lucent.com>
76972
76973         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76974         (noinst_HEADERS): Add getstr.h.
76975
76976         * lib/getline.c (getstr): Move into a separate file.
76977         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76978         the following changes: new parameter, delim2; both delim[12]
76979         parameters have type `int', not `char'.  The latter would lose
76980         with 8-bit delimiters.
76981         * lib/getstr.h: New file.
76982
76983 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76984
76985         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76986         than 1024, return a memory chunk of least possible size, instead
76987         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76988         Use free/xmalloc instead of xrealloc to avoid copying for very long
76989         paths.
76990
76991 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76992
76993         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76994         the empty string.
76995
76996 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76997
76998         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76999         address, not strdup.  Include <stdlib.h> and don't declare free().
77000
77001 2000-06-19  Jim Meyering  <meyering@lucent.com>
77002
77003         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
77004
77005 2000-06-18  Jim Meyering  <meyering@lucent.com>
77006
77007         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
77008
77009         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
77010         `checking whether...' message to be consistent with that of the
77011         lstat test.
77012
77013 2000-06-18  Jim Meyering  <meyering@lucent.com>
77014
77015         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
77016         Besides, these days every porting target provides a mkdir function.
77017
77018         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
77019         needed. (this snippet comes from src/system.h).
77020
77021 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
77022
77023         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
77024
77025 2000-06-15  Paul Eggert  <eggert@twinsun.com>
77026
77027         * lib/human.c (adjust_value): New function.
77028         (human_readable_inexact): Apply rounding style even when
77029         printing approximate values.
77030
77031 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77032
77033         * lib/human.c (human_readable_inexact): Allow an input block
77034         size that is not a multiple of the output block size, and vice versa.
77035         Reported by Piergiorgio Sartor.
77036
77037 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77038
77039         * lib/getdate.y (get_date): Apply relative times after time
77040         zone indicator, not before.  Reported by Todd A. Jacobs.
77041
77042 2000-06-13  Jim Meyering  <meyering@lucent.com>
77043
77044         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
77045
77046         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
77047
77048 2000-06-12  Paul Eggert  <eggert@twinsun.com>
77049
77050         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
77051
77052 2000-06-12  Jim Meyering  <meyering@lucent.com>
77053
77054         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
77055         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
77056         optional argument.
77057         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
77058         the optional argument, `lib'.
77059
77060 2000-06-08  Jim Meyering  <meyering@lucent.com>
77061
77062         * m4/largefile.m4: Remove file (now that it's part of autoconf).
77063
77064 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77065
77066         Rewrite largefile configuration so that we don't need to run
77067         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
77068         AC_CANONICAL_HOST in configure.in -- jmm]
77069
77070         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
77071         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
77072         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
77073         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
77074         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
77075         All uses changed.
77076         Instead of inspecting the output of getconf, try to compile the
77077         test program without and with the macro definition.
77078         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
77079         for getconf.  Instead, check for the needed flags by compiling
77080         test programs.
77081
77082 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77083
77084         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
77085
77086 2000-06-04  Jim Meyering  <meyering@lucent.com>
77087
77088         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
77089         SunOS 4.1.4 for which gid_t is an unsigned type.
77090
77091 2000-06-03  Jim Meyering  <meyering@lucent.com>
77092
77093         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
77094         now that autoconf requires that.
77095
77096         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
77097         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
77098         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
77099
77100 2000-06-03  Jim Meyering  <meyering@lucent.com>
77101
77102         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
77103
77104 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77105
77106         * m4/glibc21.m4: New file.
77107         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
77108
77109 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77110
77111         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
77112         newer, don't install charset.alias.
77113         * lib/config.charset: Change the Linux/glibc rules so they become empty
77114         on glibc-2.1 or newer.
77115
77116 2000-06-02  Jim Meyering  <meyering@lucent.com>
77117
77118         * lib/mountlist.c: Back out last change.  Instead, do this...
77119         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
77120         me_dummy member using the same `ignore'-testing code.
77121         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
77122         fs_type strings.
77123         From Mark D. Roth.
77124
77125 2000-05-29  Jim Meyering  <meyering@lucent.com>
77126
77127         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
77128         mounts with the `ignore' attribute.  Based on a patch from
77129         Mark D. Roth.
77130
77131 2000-05-28  Jim Meyering  <meyering@lucent.com>
77132
77133         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
77134         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77135         * m4/stat.m4: Likewise.
77136         * m4/lstat.m4: Likewise.
77137         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
77138
77139         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
77140         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
77141
77142 2000-05-26  Jim Meyering  <meyering@lucent.com>
77143
77144         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
77145
77146 2000-05-24  Jim Meyering  <meyering@lucent.com>
77147
77148         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
77149         autoconf requires that.
77150         * m4/lib-check.m4: Likewise.
77151         * m4/jm-macros.m4: Likewise.
77152         * m4/strftime.m4: Likewise.
77153
77154         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
77155         AC_CHECK_DECLS, now that autoconf requires that.
77156
77157 2000-05-22  Jim Meyering  <meyering@lucent.com>
77158
77159         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77160         * m4/lstat.m4: Likewise.
77161
77162 2000-05-22  Jim Meyering  <meyering@lucent.com>
77163
77164         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
77165
77166 2000-05-20  Jim Meyering  <meyering@lucent.com>
77167
77168         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
77169         (jm_PREREQ): Use it.
77170
77171 2000-05-18  Jim Meyering  <meyering@lucent.com>
77172
77173         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
77174         back, too, since it may have been modified by allocate_entry.
77175         (hash_delete): Rewrite to use neither the assignment operator
77176         nor the comma operator in an if-expression.
77177
77178 2000-05-15  Paul Eggert  <eggert@twinsun.com>
77179
77180         * lib/closeout.c:
77181         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
77182         Remove; no longer needed.
77183         "quotearg.h": Add include.
77184         (file_name): Do not bother to explicitly initialize to NULL; it's less
77185         efficient on some hosts.
77186         (close_stdout_status): Remove test as to whether stdout was already
77187         closed; it breaks for the case "echo x | sort >&-".
77188         Quote file name colons.
77189         Do not assume that _("write error") lacks format strings.
77190
77191 2000-05-15  Jim Meyering  <meyering@lucent.com>
77192
77193         * lib/version-etc.c (version_etc_copyright): Update the copyright
77194         string used in all --version output.
77195
77196 2000-05-14  Jim Meyering  <meyering@lucent.com>
77197
77198         * lib/closeout.c (close_stdout_set_file_name): New function.
77199         (close_stdout_status): Use new file-scoped global.
77200         Return right away if fstat says the stdout file descriptor is invalid.
77201         * lib/closeout.h (close_stdout_set_file_name): Declare.
77202
77203 2000-05-10  Jim Meyering  <meyering@lucent.com>
77204
77205         * lib/closeout.c [default_exit_status]: New file-scoped variable.
77206         (close_stdout_set_status): New function.
77207         * lib/closeout.h (close_stdout_set_status): Declare.
77208
77209 2000-05-09  Jim Meyering  <meyering@lucent.com>
77210
77211         * m4/gettext.m4: Rename this...
77212         * m4/libintl.m4: ...to this.
77213
77214 2000-05-08  Jim Meyering  <meyering@lucent.com>
77215
77216         * lib/long-options.c: Don't include closeout.h.
77217         (parse_long_options): Don't call close_stdout for --version.
77218
77219 2000-05-06  Paul Eggert  <eggert@twinsun.com>
77220
77221         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
77222         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
77223         2.1.3 bug.  This avoids a clash when files like regex.c define
77224         _GNU_SOURCE.
77225
77226 2000-05-06  Jim Meyering  <meyering@lucent.com>
77227
77228         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
77229         (AC_REPLACE_FUNCS): Add strnlen.
77230
77231         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
77232         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
77233
77234         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
77235         AC_SEARCH_LIBS call for nanosleep.
77236         (LIB_NANOSLEEP): Set and AC_SUBST.
77237
77238 2000-05-06  Jim Meyering  <meyering@lucent.com>
77239
77240         * lib/strnlen.c: Undefine __strnlen and strnlen.
77241         [!weak_alias]: Define __strnlen to strnlen.
77242
77243         * lib/atexit.c: New file, from libiberty.
77244
77245 2000-05-06  Jim Meyering  <meyering@lucent.com>
77246
77247         * lib/closeout.c (close_stdout_status): Also check for errors on the
77248         stderr stream.
77249
77250 2000-05-05  Jim Meyering  <meyering@lucent.com>
77251
77252         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
77253         AC_SEARCH_LIBS call for clock_gettime.
77254         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
77255
77256         * m4/search-libs.m4: Update from autoconf.
77257
77258         su doesn't work on Solaris 2.6.
77259         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
77260         <shadow.h>.  Reported by Dragos Harabor.
77261
77262 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
77263
77264         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
77265         memcpy instead of xmalloc, xrealloc, path_concat.
77266         (locale_charset): Treat empty environment variables as absent.
77267         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
77268
77269 2000-05-04  Jim Meyering  <meyering@lucent.com>
77270
77271         * lib/getopt.c: Update from glibc.
77272         * lib/obstack.c: Likewise.
77273         * lib/obstack.h: Likewise.
77274         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
77275         file
77276
77277         * lib/regex.h: Likewise.
77278         * lib/strndup.c: Likewise.
77279         * lib/strnlen.c: New file, from glibc.
77280
77281 2000-05-03  Jim Meyering  <meyering@lucent.com>
77282
77283         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
77284
77285 2000-05-02  Paul Eggert  <eggert@twinsun.com>
77286
77287         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
77288         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
77289         compile-time test, rather than inspecting host and OS, to
77290         decide whether to define _LARGEFILE_SOURCE.
77291
77292 2000-05-01  Jim Meyering  <meyering@lucent.com>
77293
77294         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
77295
77296         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
77297         Based on a patch from Bruno Haible.
77298
77299 2000-05-01  Jim Meyering  <meyering@lucent.com>
77300
77301         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
77302
77303 2000-04-29  Jim Meyering  <meyering@lucent.com>
77304
77305         * lib/path-concat.c: Declare strdup only if it's not defined.
77306         * lib/canon-host.c: Likewise.
77307
77308 2000-04-28  Jim Meyering  <meyering@lucent.com>
77309
77310         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
77311         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
77312         is included first, then limits.h is included by locale.h by libintl.h.
77313         From John David Anglin.
77314
77315 2000-04-25  Jim Meyering  <meyering@lucent.com>
77316
77317         * lib/makepath.c (S_IRWXUGO): Define.
77318         (make_path): Always perform explicit chmod if MODE specifies any
77319         of the `special' permission bits.  Prompted by a bug report against
77320         install from Mate Wierdl and Joost van Baal.
77321
77322 2000-04-18  Jim Meyering  <meyering@lucent.com>
77323
77324         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
77325         (jm_PREREQ): Use it.
77326
77327 2000-04-18  Jim Meyering  <meyering@lucent.com>
77328
77329         * lib/README: New file.
77330
77331         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
77332         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
77333
77334 2000-04-17  Jim Meyering  <meyering@lucent.com>
77335
77336         Get it right :-)
77337         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
77338         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
77339         Suggestion from Akim Demaille.
77340
77341 2000-04-17  Jim Meyering  <meyering@lucent.com>
77342
77343         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
77344         the definition of it to rpl_strftime also defined-away the system's
77345         declaration.
77346
77347 2000-04-15  Jim Meyering  <meyering@lucent.com>
77348
77349         Use `C' to denote so-called `contiguous' files, the same way
77350         that tar does.
77351         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
77352         (ftypelet): Use S_ISCTG.
77353         From Michael Deutschmann.
77354
77355 2000-04-14  Jim Meyering  <meyering@lucent.com>
77356
77357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
77358         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
77359         clobbered.
77360
77361 2000-04-14  Jim Meyering  <meyering@lucent.com>
77362
77363         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
77364
77365 2000-04-13  Jim Meyering  <meyering@lucent.com>
77366
77367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
77368         AH_VERBATIM to insert required #ifndef into config.h.in.
77369         Suggestion from Akim Demaille.
77370
77371 2000-04-12  Jim Meyering  <meyering@lucent.com>
77372
77373         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
77374         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
77375         Christian Krackowizer.
77376
77377         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
77378         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
77379         (AC_SYS_LARGEFILE): Require.
77380         (AM_C_PROTOTYPES): Require.
77381
77382 2000-04-08  Jim Meyering  <meyering@lucent.com>
77383
77384         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
77385         names don't conflict.  Reported by Eli Zaretskii.
77386
77387 2000-04-07  Jim Meyering  <meyering@lucent.com>
77388
77389         * lib/putenv.c: Move inclusion of errno.h so it follows that of
77390         sys/types.h, to work around system header problems on AIX 3.2.5.
77391         From Bruno Haible.
77392
77393 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
77394
77395         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
77396         bug.  Deal with the different error behavior of Irix iconv.
77397
77398 2000-04-05  Paul Eggert  <eggert@twinsun.com>
77399
77400         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
77401         IRIX if the installer said otherwise.
77402
77403 2000-04-05  Jim Meyering  <meyering@lucent.com>
77404
77405         Portability tweaks required for ultrix4.3.
77406         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
77407         (jm_CHECK_DECLS): Add getutent to the list of functions.
77408         (_jm_DECL_HEADERS): Add utmpx.h.
77409         From John David Anglin.
77410
77411         * m4/strftime.m4: Back out the 2000-04-02 change.
77412         Instead of that change, simply undefine putenv in the test program.
77413
77414 2000-04-05  Jim Meyering  <meyering@lucent.com>
77415
77416         Portability tweaks required for ultrix4.3.
77417         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
77418         getutent.
77419         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
77420         * lib/canon-host.c: Declare strdup.
77421         * lib/path-concat.c: Likewise.
77422         From John David Anglin.
77423
77424 2000-04-04  Jim Meyering  <meyering@lucent.com>
77425
77426         Be more DOS 8.3-friendly.
77427         * lib/ref-add.sin: Renamed from ref-add.sed.in.
77428         * lib/ref-del.sin: Renamed from ref-del.sed.in.
77429         * lib/Makefile.am: Reflect renaming.
77430         Reported by Eli Zaretskii.
77431
77432         Use a temporary file name that won't clash with `charset.alias'
77433         in the DOS 8.3 name space.
77434         * lib/Makefile.am (charset_tmp): Define.
77435         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
77436         (uninstall-local): Likewise.
77437         Reported by Eli Zaretskii.
77438
77439 2000-04-03  Jim Meyering  <meyering@lucent.com>
77440
77441         * m4/gettext.m4: Fix typo in comment.
77442
77443         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
77444         textutils/configure.in).  Suggestion from Paul Eggert.
77445         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
77446
77447 2000-04-02  Paul Eggert  <eggert@twinsun.com>
77448
77449         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
77450         variable in the shell rather than using putenv, which isn't
77451         portable.  This avoids the configure-time inter-test dependency
77452         on the potentially-renamed putenv function.
77453
77454 2000-03-30  Paul Eggert  <eggert@twinsun.com>
77455
77456         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
77457         before checking struct stat.st_blksize, so that
77458         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
77459
77460 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77461
77462         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
77463         since strftime.c uses HAVE_STRFTIME to decide whether to use
77464         the underlying strftime.
77465
77466 2000-03-29  Paul Eggert  <eggert@twinsun.com>
77467
77468         * lib/time/strftime.c (my_strftime): Make sure we call the system
77469         strftime, not ourselves, when invoking the underlying strftime.
77470
77471 2000-03-24  Jim Meyering  <meyering@lucent.com>
77472
77473         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
77474         (charset_alias): Define.
77475         (install-exec-local): Factor out common code.
77476         (uninstall-local): Split lines longer than 80.
77477         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
77478         (SUFFIXES): Define.
77479         (.sed.in.sed): New rule.  Don't redirect directly to $@.
77480         (CLEANFILES): Add ref-add.sed and ref-del.sed.
77481
77482 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
77483
77484         * lib/config.charset: Output a line containing "Packages using this
77485         file".
77486         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
77487         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
77488         ref-del.sed): New rules.
77489
77490 2000-03-17  Jim Meyering  <meyering@lucent.com>
77491
77492         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
77493         Otherwise, include <strings.h>
77494
77495 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
77496
77497         * lib/unicodeio.c (utf8_wctomb): New function.
77498         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
77499         format instead of in UCS-4 with platform dependent endianness.
77500
77501 2000-03-10  Jim Meyering  <meyering@lucent.com>
77502
77503         * m4/lib-check.m4: Look for getspnam in -lgen, too.
77504         From Marco Franzen.
77505
77506 2000-03-07  Paul Eggert  <eggert@twinsun.com>
77507
77508         * lib/savedir.c (savedir): Work even if directory size is
77509         negative; this can happen with some screwy NFS configurations.
77510
77511 2000-03-06  Jim Meyering  <meyering@lucent.com>
77512
77513         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
77514         if it's NULL (because we ran out of memory).  From Bruno Haible.
77515
77516 2000-03-05  Jim Meyering  <meyering@lucent.com>
77517
77518         * lib/localcharset.c ("path-concat.h"): Include.
77519         (get_charset_aliases): Use path_concat instead of ANSI string
77520         concatenation.
77521
77522         * lib/unicodeio.h (PARAMS): Define.
77523         Use it to guard prototype.
77524
77525 2000-03-04  Jim Meyering  <meyering@lucent.com>
77526
77527         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
77528         for lib/localcharset.c.
77529
77530 2000-03-04  Jim Meyering  <meyering@lucent.com>
77531
77532         * lib/Makefile.am (install-exec-local): Create $(libdir) before
77533         installing into it.
77534         (uninstall-local): Uncomment this rule so `make distcheck' works
77535         once again.
77536
77537         * lib/unicodeio.c (<errno.h>): Include it.
77538         (errno): Declare if not defined.
77539
77540         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
77541
77542         * lib/config.charset: New version, incorporating remarks from a linux
77543         i18n mailing list.  From Bruno Haible.
77544
77545 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
77546
77547         * m4/codeset.m4: New file.
77548         * m4/iconv.m4: New file.
77549         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
77550
77551 2000-03-03  Jim Meyering  <meyering@lucent.com>
77552
77553         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
77554
77555 2000-03-02  Jim Meyering  <meyering@lucent.com>
77556
77557         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
77558         the messages come out on separate lines.
77559
77560         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
77561         rather than jm_CHECK_DECLARATIONS.
77562         * m4/decl.m4: Remove now-unused file.
77563
77564         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
77565         geteuid.
77566
77567 2000-03-02  Jim Meyering  <meyering@lucent.com>
77568
77569         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
77570
77571 2000-03-01  Jim Meyering  <meyering@lucent.com>
77572
77573         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
77574         * lib/unicodeio.c: Likewise.
77575
77576 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
77577
77578         * lib/config.charset: New file.
77579         * lib/localcharset.c: New file.
77580         * lib/unicodeio.h, lib/unicodeio.c: New files.
77581         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
77582         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
77583         (noinst_HEADERS): Add unicodeio.h.
77584         (all-local, install-exec-local, charset.alias): New targets.
77585
77586 2000-02-28  Paul Eggert  <eggert@twinsun.com>
77587
77588         * lib/quotearg.c (ALERT_CHAR): New macro.
77589         (quotearg_buffer_restyled): Use it.
77590
77591 2000-02-27  Jim Meyering  <meyering@lucent.com>
77592
77593         * m4/check-decl.m4: Add getenv to the list.
77594
77595 2000-02-27  Jim Meyering  <meyering@lucent.com>
77596
77597         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
77598         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
77599
77600         * lib/backupfile.c: Guard inclusion of stdlib.h with
77601         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
77602         Declare malloc if needed.
77603
77604         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
77605         `#ifndef HAVE_DECL..'
77606         now that autoconf always defines the HAVE_DECL_ symbols.
77607         * lib/human.c: Likewise.
77608         * lib/same.c: Likewise.
77609         * lib/strtoumax.c: Likewise.
77610
77611         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
77612         declaration check was not run.
77613         * lib/hash.c: Likewise.
77614         * lib/human.c: Likewise.
77615         * lib/same.c: Likewise.
77616         * lib/strtoumax.c: Likewise.
77617
77618         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
77619         `.', then first look up the entire `.'-containing string as a login
77620         name.
77621
77622 2000-02-23  Jim Meyering  <meyering@lucent.com>
77623
77624         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
77625         in place of my hack.
77626
77627 2000-02-18  Paul Eggert  <eggert@twinsun.com>
77628
77629         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
77630         (textint): New typedef.
77631         (parser_control): Member year changed from int to textint.
77632         All uses changed.
77633         (YYSTYPE): Removed; replaced by %union with int and textint members.
77634         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
77635         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
77636         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
77637         (tSNUMBER, tUNUMBER): Now of type <textintval>.
77638         (date, number, to_year): Use width of number in digits, not its value,
77639         to determine whether it's a 2-digit year, or a 2-digit time.
77640         (yylex): Store number of digits of numeric tokens.
77641         Reported by John Kendall.
77642
77643         (parser_control): Changed from struct parser_control to typedef (for
77644         consistency).  All uses changed.
77645
77646         (tID): Removed; not used.
77647         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
77648
77649 2000-02-14  Paul Eggert  <eggert@twinsun.com>
77650
77651         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
77652         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
77653
77654 2000-02-12  Jim Meyering  <meyering@lucent.com>
77655
77656         * lib/userspec.c (ISDIGIT): Define it.
77657         (isdigit): Remove definition.
77658         (is_number): Use ISDIGIT, not isdigit.
77659         <libintl.h>: Include.
77660         (_ and N_): Define.
77661         (parse_user_spec): Mark translatable strings.
77662
77663 2000-02-10  Jim Meyering  <meyering@lucent.com>
77664
77665         With these changes, nanosleep.[ch] are finally enough like the other
77666         lib/* replacement files to compile on a few more losing systems.
77667
77668         * lib/nanosleep.h: Don't include config.h.
77669         Remove prototype from declaration of nanosleep.
77670         (PARAMS): Remove now-unneeded definition.
77671         * lib/nanosleep.c: #undef nanosleep.
77672         (rpl_nanosleep): Rename from nanosleep.
77673
77674 2000-02-10  Jim Meyering  <meyering@lucent.com>
77675
77676         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
77677         gnu_nanosleep to rpl_nanosleep.
77678
77679 2000-02-09  Jim Meyering  <meyering@lucent.com>
77680
77681         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
77682         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
77683
77684 2000-02-08  Akim Demaille  <akim@epita.fr>
77685
77686         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
77687         `[' and `]' and remove uses of `changequote'.
77688         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
77689         (AC_SYS_LARGEFILE): Likewise.
77690         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
77691         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
77692         of changequote.
77693         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
77694         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
77695         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
77696         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
77697
77698 2000-02-05  Jim Meyering  <meyering@lucent.com>
77699
77700         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
77701         Remove explicit use of AC_HEADER_TIME.  It is required by
77702         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
77703         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
77704         in autoconf whereby the expansion of the latter ended up preceding
77705         the expansion of its prerequisite, AC_HEADER_TIME.
77706         Reported by Volker Borchert.
77707
77708 2000-02-03  Jim Meyering  <meyering@lucent.com>
77709
77710         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
77711
77712 2000-02-03  Jim Meyering  <meyering@lucent.com>
77713
77714         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
77715         rather than with `#if HAVE_UTMPNAME'.
77716
77717 2000-02-02  Jim Meyering  <meyering@lucent.com>
77718
77719         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
77720         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
77721         Reported by Eli Zaretskii.
77722
77723 2000-02-01  Jim Meyering  <meyering@lucent.com>
77724
77725         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
77726
77727 2000-01-31  Jim Meyering  <meyering@lucent.com>
77728
77729         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
77730         functions.  Add the time.h and sys/time.h headers along with the
77731         AC_REQUIRE'ment of AC_HEADER_TIME.
77732
77733 2000-01-31  Jim Meyering  <meyering@lucent.com>
77734
77735         * lib/nanosleep.h (nanosleep): Guard declaration with
77736         `#if ! HAVE_DECL_NANOSLEEP'.
77737         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
77738         the declaration in that vendor's sys/timers.h.
77739         Reported by Christian Krackowizer.
77740
77741         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
77742         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
77743         (ISPRINT): Likewise.
77744         Reported by Tom Tromey.
77745
77746 2000-01-30  Jim Meyering  <meyering@lucent.com>
77747
77748         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
77749
77750         * m4/prereq.m4 (utmp_includes): Define.
77751         Check for ut_user and ut_name members in both struct utmpx
77752         and struct utmp.
77753
77754 2000-01-30  Jim Meyering  <meyering@lucent.com>
77755
77756         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
77757         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
77758         header files where only utmpx.ut_user is declared.
77759
77760         * lib/readutmp.h (UT_USER): Define.
77761
77762 2000-01-29  Jim Meyering  <meyering@lucent.com>
77763
77764         * m4/lib-check.m4: New file containing library-related checks from
77765         fileutils and sh-utils (textutils had none).
77766
77767 2000-01-28  Jim Meyering  <meyering@lucent.com>
77768
77769         * m4/perl.m4: Change format of warning message to look more like that
77770         from the missing script.  Suggestion from François Pinard.
77771
77772 2000-01-25  Jim Meyering  <meyering@lucent.com>
77773
77774         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77775         well as time.h in the compile check.
77776         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77777         Fix typo in cross-compiling case: s/yes/no/.
77778
77779 2000-01-23  Jim Meyering  <meyering@lucent.com>
77780
77781         * m4/jm-macros.m4: Move df-related tests here from
77782         fileutils/configure.in
77783
77784         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77785         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77786
77787         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77788         s/space/ac_fsusage_space/.
77789         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77790
77791         * m4/ftruncate.m4: New file (derived from part of
77792         fileutils/configure.in).
77793         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77794         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77795
77796         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77797         AC_SUBST these here, rather than just in sh-util/configure.in, so
77798         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77799         all the same.
77800         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77801         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77802         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77803         (AC_SUBST(POW_LIBM)): Likewise.
77804         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77805
77806 2000-01-23  Jim Meyering  <meyering@lucent.com>
77807
77808         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77809         obstack.c.
77810
77811 2000-01-22  Jim Meyering  <meyering@lucent.com>
77812
77813         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77814
77815         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77816
77817         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77818         configure.in
77819         (AC_CHECK_HEADERS): Likewise for sh-utils.
77820         (AC_CHECK_HEADERS): Likewise for textutils.
77821         Merge the three lists of headers.
77822
77823         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77824         from fileutils' configure.in.
77825
77826         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77827         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77828         check-decl.m4.
77829
77830         * m4/check-decl.m4: Use #if rather than #ifdef.
77831         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77832         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77833         (_jm_DECL_HEADERS): Define new function.
77834         (jm_CHECK_DECLARATIONS): Require it.
77835
77836 2000-01-22  Jim Meyering  <meyering@lucent.com>
77837
77838         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77839         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77840         Required for some AIX systems.  Reported by Christian Krackowizer.
77841         [TESTING] (main): New function.
77842
77843         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77844         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77845         letters.
77846
77847         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77848         iswprint.
77849
77850         * lib/strverscmp.c (ISDIGIT): Define.
77851         (strverscmp): Use ISDIGIT, not isdigit.
77852
77853 2000-01-19  Jim Meyering  <meyering@lucent.com>
77854
77855         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77856         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77857         defines `struct timespec' in <sys/time.h>
77858
77859         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77860         Thanks to Akim for explaining.
77861
77862 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77863
77864         * lib/nanosleep.c (nanosleep):
77865         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77866         POSIX.1 doesn't require SA_INTERRUPT and some systems
77867         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77868         it's been part of POSIX.1 since day 1 (in 1988).
77869
77870 2000-01-17  Jim Meyering  <meyering@lucent.com>
77871
77872         * lib/interlock: Remove unused file.  Reported by François Pinard.
77873
77874 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77875
77876         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77877         alert, backslash, formfeed, and vertical tab unnecessarily in
77878         shell quoting style.
77879
77880 2000-01-16  Jim Meyering  <meyering@lucent.com>
77881
77882         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77883         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77884         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77885         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77886
77887 2000-01-16  Jim Meyering  <meyering@lucent.com>
77888
77889         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77890         because the latter didn't work.
77891
77892 2000-01-15  Jim Meyering  <meyering@lucent.com>
77893
77894         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77895         (AC_REPLACE_FUNCS): Add memcpy and memset.
77896         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77897         Add strpbrk.
77898         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77899
77900 2000-01-12  Jim Meyering  <meyering@lucent.com>
77901
77902         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77903         (jm_PREREQ): Use it.
77904         (jm_PREREQ_READUTMP): New macro.
77905         (jm_PREREQ): Use it.
77906
77907 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77908
77909         Quote multibyte characters correctly.
77910         * m4/c-bs-a.m4: New file.
77911         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77912         (jm_PREREQ): Use it.
77913
77914 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77915
77916         * m4/uintmax_t.m4: Port to autoconf 2.13.
77917
77918 2000-01-08  Jim Meyering  <meyering@ascend.com>
77919
77920         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77921         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77922
77923 2000-01-04  Jim Meyering  <meyering@ascend.com>
77924
77925         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77926         jm_STRUCT_DIRENT_D_TYPE.
77927         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77928         jm_STRUCT_DIRENT_D_INO.
77929         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77930         jm_STRUCT_UTIMBUF.
77931         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77932         renamings.
77933         * m4/utime.m4: Likewise.
77934
77935         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77936         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77937
77938 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77939
77940         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77941         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77942
77943 2000-01-02  Jim Meyering  <meyering@ascend.com>
77944
77945         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77946         remember if this is necessary.
77947
77948 1999-12-26  Jim Meyering  <meyering@ascend.com>
77949
77950         * m4/jm-macros.m4: Use it here.
77951         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77952
77953 1999-12-23  Jim Meyering  <meyering@ascend.com>
77954
77955         * m4/jm-macros.m4: Check for clock_gettime (moved from
77956         fileutils/configure.in)
77957         Check for gettimeofday.
77958
77959 1999-12-20  Jim Meyering  <meyering@ascend.com>
77960
77961         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77962         autoconf-2.14a-1999-12-20.
77963
77964 1999-12-19  Jim Meyering  <meyering@ascend.com>
77965
77966         * m4/lstat-slash.m4: New file.
77967         * m4/jm-macros.m4: Use the new macro:
77968         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77969
77970 1999-12-07  Jim Meyering  <meyering@ascend.com>
77971
77972         * m4/perl.m4: Require that File::Compare be available, too.
77973         Too many systems seem to lack it.
77974
77975         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77976         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77977
77978 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77979
77980         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77981         problem with the QNX 4.25 shell, which doesn't propagate exit
77982         status of failed commands inside shell assignments.
77983
77984 1999-11-17  Jim Meyering  <meyering@ascend.com>
77985
77986         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77987
77988 1999-11-07  Jim Meyering  <meyering@ascend.com>
77989
77990         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77991
77992 1999-11-06  Jim Meyering  <meyering@ascend.com>
77993
77994         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77995         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77996
77997 1999-11-05  Jim Meyering  <meyering@ascend.com>
77998
77999         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
78000         configure.in of textutils, fileutils, and sh-utils into this one
78001         (shared between those packages) file.
78002         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
78003         AC_STRUCT_ST_BLKSIZE.
78004
78005 1999-11-03  Jim Meyering  <meyering@ascend.com>
78006
78007         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
78008         of AC_CHECK_TYPE checks includes unistd.h.
78009         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
78010         Suggestion from Akim Demaille.
78011
78012 1999-10-30  Jim Meyering  <meyering@ascend.com>
78013
78014         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
78015         m4-quoted string.
78016         * m4/ls-mntd-fs.m4: Likewise.
78017         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
78018         * m4/jm-winsz1.m4: Likewise.
78019
78020         * m4/const.m4: Remove file, since the fix made it into the experimental
78021         version of autoconf.
78022         * m4/mktime.m4: Likewise.
78023
78024         * m4/check-type.m4: Remove file, now that the latest version of
78025         AC_CHECK_TYPE takes a third arg to specify additional #includes.
78026
78027         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
78028         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
78029         AC_CHECK_TYPE.
78030
78031 1999-10-04  Jim Meyering  <meyering@ascend.com>
78032
78033         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
78034
78035 1999-09-22  Paul Eggert  <eggert@twinsun.com>
78036
78037         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
78038         2.95.1 bug with HP-UX 10.20.
78039
78040 1999-09-17  Jim Meyering  <meyering@ascend.com>
78041
78042         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
78043         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
78044         due to missing strdup (against sh-utils-2.0).
78045
78046 1999-08-29  Jim Meyering  <meyering@ascend.com>
78047
78048         * m4/jm-macros.m4: Require jm_BISON.
78049         * m4/bison.m4: New file.
78050
78051 1999-08-17  Paul Eggert  <eggert@twinsun.com>
78052
78053         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
78054         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
78055
78056 1999-08-05  Jim Meyering  <meyering@ascend.com>
78057
78058         * m4/getline.m4: Rename test file from conftestdata to conftest.data
78059         to avoid conflicts with `conftest' on 8+3 filesystems.
78060         Suggestion from Eli Zaretskii.
78061
78062 1999-08-04  Jim Meyering  <meyering@ascend.com>
78063
78064         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
78065         fileutils and sh-utils (textutils's getline test was inadequate).
78066         (AM_FUNC_GETLINE): Run this test.
78067         (AC_CHECK_FUNCS): Check for getdelim.
78068         Reported by Bob Proulx.
78069
78070 1999-08-02  Jim Meyering  <meyering@ascend.com>
78071
78072         * m4/jm-macros.m4: Add a comment.
78073
78074 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78075
78076         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
78077         <inttypes.h> defines strtoumax as a macro (and not as a
78078         function).
78079
78080 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78081
78082         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
78083         that we can shift, multiply and divide unsigned long long
78084         values; Ultrix cc can't do it.
78085
78086 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78087
78088         * m4/mktime.m4: New file, which is a preview of what should appear
78089         in the next public autoconf release.
78090
78091 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78092
78093         * m4/lfs.m4: Remove this file.
78094         * m4/largefile.m4: New file.  It contains the old contents of
78095         lfs.m4, except that all names with prefix AC_LFS have been
78096         changed to use the prefix AC_SYS_LARGEFILE instead, to be
78097         compatible with future autoconf versions.  Also, some minor m4
78098         quoting problems have been fixed.
78099
78100 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78101
78102         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
78103         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
78104         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
78105         and simplify the shell code.
78106
78107 1999-08-01  Jim Meyering  <meyering@ascend.com>
78108
78109         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
78110         m4.
78111
78112 1999-07-20  Jim Meyering  <meyering@ascend.com>
78113
78114         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
78115
78116 1999-07-15  Jim Meyering  <meyering@ascend.com>
78117
78118         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
78119
78120 1999-05-22  Jim Meyering  <meyering@ascend.com>
78121
78122         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
78123
78124 1999-05-20  Jim Meyering  <meyering@ascend.com>
78125
78126         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
78127         Add a colon after each `then' in case $4 is empty.
78128
78129 1999-05-16  Jim Meyering  <meyering@ascend.com>
78130
78131         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
78132
78133 1999-05-10  Jim Meyering  <meyering@ascend.com>
78134
78135         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
78136
78137         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
78138         AC_FUNC_MKTIME.
78139
78140 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
78141
78142         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
78143
78144 1999-05-04  Paul Eggert  <eggert@twinsun.com>
78145
78146         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
78147         not CPPFLAGS, so that linking works correctly in IRIX.
78148
78149 1999-04-30  Paul Eggert  <eggert@twinsun.com>
78150
78151         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
78152
78153 1999-04-20  Paul Eggert  <eggert@twinsun.com>
78154
78155         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
78156         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
78157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
78158         jm_AC_TYPE_UNSIGNED_LONG_LONG.
78159         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
78160
78161         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
78162
78163 1999-04-20  Jim Meyering  <meyering@ascend.com>
78164
78165         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
78166         AC_REPLACE xstroull if necessary.  From Paul Eggert.
78167         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
78168
78169 1999-04-18  Jim Meyering  <meyering@ascend.com>
78170
78171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
78172         * m4/jm-macros.m4: Use it.
78173
78174 1999-04-06  Jim Meyering  <meyering@ascend.com>
78175
78176         * m4/strftime.m4: Remove test for %f.
78177
78178 1999-03-29  Jim Meyering  <meyering@ascend.com>
78179
78180         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
78181         superset of the AC_TYPE_* checks in the textutils, fileutils,
78182         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
78183         AC_TYPE_PID_T.
78184
78185 1999-03-28  Jim Meyering  <meyering@ascend.com>
78186
78187         * m4/jm-macros.m4: Define GNU_PACKAGE here.
78188         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
78189         replaced e.g., in the *.sh files of the sh-utils.
78190
78191 1999-03-20  Jim Meyering  <meyering@ascend.com>
78192
78193         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
78194         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
78195         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
78196
78197 1999-03-19  Jim Meyering  <meyering@ascend.com>
78198
78199         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
78200
78201 1999-03-12  Jim Meyering  <meyering@ascend.com>
78202
78203         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
78204
78205 1999-03-07  Jim Meyering  <meyering@ascend.com>
78206
78207         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
78208         declared.
78209
78210 1999-02-17  Jim Meyering  <meyering@ascend.com>
78211
78212         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
78213         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
78214
78215 1999-02-07  Jim Meyering  <meyering@ascend.com>
78216
78217         * m4/group-member.m4: New file -- extracted from sh-utils'
78218         configure.in.
78219
78220         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
78221         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
78222
78223 1999-02-06  Jim Meyering  <meyering@ascend.com>
78224
78225         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
78226         * m4/fnmatch.m4: Likewise.
78227         * m4/getgroups.m4: Likewise.
78228         * m4/lstat.m4: Likewise.
78229         * m4/malloc.m4: Likewise.
78230         * m4/putenv.m4: Likewise.
78231         * m4/realloc.m4: Likewise.
78232         * m4/regex.m4: Likewise.
78233         * m4/stat.m4: Likewise.
78234         * m4/strftime.m4: Likewise.
78235         Suggestion from Alain Magloire.
78236
78237         * m4/chown.m4: Use `.$ac_objext', not `.o'.
78238         * m4/fnmatch.m4: Likewise.
78239         * m4/getgroups.m4: Likewise.
78240         * m4/getline.m4: Likewise.
78241         * m4/lstat.m4: Likewise.
78242         * m4/malloc.m4: Likewise.
78243         * m4/memcmp.m4: Likewise.
78244         * m4/putenv.m4: Likewise.
78245         * m4/realloc.m4: Likewise.
78246         * m4/regex.m4: Likewise.
78247         * m4/stat.m4: Likewise.
78248         * m4/strftime.m4: Likewise.
78249         Suggestion from Alain Magloire.
78250
78251         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
78252         an argument.
78253
78254         * m4/regex.m4: Add a run-time Test for proper operation of
78255         re_compile_pattern.
78256
78257 1999-01-31  Jim Meyering  <meyering@ascend.com>
78258
78259         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
78260
78261 1999-01-30  Jim Meyering  <meyering@ascend.com>
78262
78263         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
78264
78265         * m4/jm-mktime.m4: Make this a wrapper around the official
78266         AM_FUNC_MKTIME rather than my private copy, now that the official one
78267         is up to date.
78268         * m4/mktime.m4: Remove file.
78269
78270         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
78271         * m4/uptime.m4: Likewise.
78272         * m4/uintmax_t.m4: Likewise.
78273
78274 1999-01-28  Jim Meyering  <meyering@ascend.com>
78275
78276         * m4/jm-macros.m4: Use jm_AFS.
78277         * m4/afs.m4: New file (from fileutils' configure.in).
78278
78279         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
78280         * m4/chown.m4: Likewise.
78281         * m4/d-ino.m4: Likewise.
78282         * m4/d-type.m4: Likewise.
78283         * m4/fnmatch.m4: Likewise.
78284         * m4/getgroups.m4: Likewise.
78285         * m4/gettext.m4: Likewise.
78286         * m4/jm-mktime.m4: Likewise.
78287         * m4/jm-winsz2.m4: Likewise.
78288         * m4/lcmessage.m4: Likewise.
78289         * m4/ls-mntd-fs.m4: Likewise.
78290         * m4/malloc.m4: Likewise.
78291         * m4/memcmp.m4: Likewise.
78292         * m4/putenv.m4: Likewise.
78293         * m4/realloc.m4: Likewise.
78294         * m4/st_mtim.m4: Likewise.
78295         * m4/strftime.m4: Likewise.
78296
78297 1999-01-16  Jim Meyering  <meyering@ascend.com>
78298
78299         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
78300         (ARGMATCH_DIE_DECL): Define.
78301
78302 1999-01-12  Jim Meyering  <meyering@ascend.com>
78303
78304         * m4/Makefile.am.in: Rewrite to avoid using fmt.
78305         Reported by Lars Hecking.
78306
78307 1999-01-10  Jim Meyering  <meyering@ascend.com>
78308
78309         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
78310         gross kludge.
78311         * m4/inttypes_h.m4: Likewise.
78312         * m4/lstat.m4: Likewise.
78313         * m4/malloc.m4: Likewise.
78314         * m4/readdir.m4: Likewise.
78315         * m4/realloc.m4: Likewise.
78316         * m4/st_dm_mode.m4: Likewise.
78317         * m4/stat.m4: Likewise.
78318         * m4/utimbuf.m4: Likewise.
78319         * m4/utimes.m4: Likewise.
78320
78321         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
78322         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
78323         comments in config.h.in are meaningful.
78324
78325         * m4/jm-macros.m4: Require autoconf-2.13 here.
78326
78327         * m4/regex.m4: By default, don't use the included regex.c on systems
78328         with glibc 2.  Suggestion from Uli Drepper.
78329
78330 1999-01-02  Jim Meyering  <meyering@ascend.com>
78331
78332         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
78333
78334 1998-12-18  Jim Meyering  <meyering@ascend.com>
78335
78336         * m4/Makefile.am.in (Makefile.am): Simplify rule.
78337         Based on a suggestion from Lars Hecking.
78338
78339 1998-11-16  Paul Eggert  <eggert@twinsun.com>
78340
78341         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
78342
78343 1998-11-16  Jim Meyering  <meyering@ascend.com>
78344
78345         * m4/lfs.m4: Double-quote the `uname...` expression.
78346
78347 1998-11-14  Jim Meyering  <meyering@ascend.com>
78348
78349         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
78350         * m4/stat.m4: Likewise.
78351
78352 1998-11-03  Jim Meyering  <meyering@ascend.com>
78353
78354         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
78355         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
78356
78357 1998-10-18  Jim Meyering  <meyering@ascend.com>
78358
78359         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
78360
78361 1998-10-17  Jim Meyering  <meyering@ascend.com>
78362
78363         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
78364         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
78365         calls for those previously hard-coded headers.  Instead, take a new
78366         parameter.
78367         (jm_CHECK_DECLARATIONS): Reflect interface change.
78368         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
78369         (jm_CHECK_DECL_LOCALTIME_R): New macro.
78370
78371         * m4/mktime.m4: Test for spring-forward gap before long-running test.
78372
78373 1998-10-14  Jim Meyering  <meyering@ascend.com>
78374
78375         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
78376         instead of "TZ=America/Vancouver".  From Paul Eggert.
78377
78378 1998-10-11  Jim Meyering  <meyering@ascend.com>
78379
78380         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
78381         This adds a test for a recently added compatibility fix for mktime.c.
78382         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
78383
78384 1998-09-27  Jim Meyering  <meyering@ascend.com>
78385
78386         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
78387
78388         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
78389         ../configure.in, including a change from Gordon Matzigkeit to allow
78390         cross-compiling for the Hurd.
78391
78392         * m4/glibc.m4: New file/macro to test for the GNU C Library
78393         versions 1 and 2.  From Gordon Matzigkeit.
78394         Indent.
78395
78396 1998-09-21  Jim Meyering  <meyering@ascend.com>
78397
78398         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
78399
78400 1998-08-18  Paul Eggert  <eggert@twinsun.com>
78401
78402         Port nanosecond-resolution times to UnixWare 2.1.2 and
78403         pedantic Solaris 2.6.
78404
78405         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
78406         AC_STRUCT_ST_MTIM.
78407         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
78408         Generate name of ns member, instead of just 1 or undef.
78409         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
78410
78411 1998-08-15  Jim Meyering  <meyering@ascend.com>
78412
78413         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
78414         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
78415         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
78416         instead of jm_TYPE_SSIZE_T.
78417
78418 1998-08-12  Jim Meyering  <meyering@ascend.com>
78419
78420         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
78421
78422 1998-08-02  Jim Meyering  <meyering@ascend.com>
78423
78424         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
78425         in acconfig.h manually.
78426
78427 1998-07-31  Paul Eggert  <eggert@twinsun.com>
78428
78429         * m4/st_mtim.m4: New file.
78430
78431 1998-07-28  Jim Meyering  <meyering@ascend.com>
78432
78433         * m4/utimes.m4: Undef stat.
78434
78435 1998-07-25  Jim Meyering  <meyering@ascend.com>
78436
78437         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
78438         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
78439
78440 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
78441
78442         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
78443         uid and gid actually remain unchanged.
78444
78445 1998-07-07  Jim Meyering  <meyering@ascend.com>
78446
78447         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
78448
78449 1998-07-04  Jim Meyering  <meyering@ascend.com>
78450
78451         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
78452         to prove that this macro can be used in packages without regex.c.
78453
78454 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
78455
78456         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
78457         is to be used.
78458
78459 1998-07-03  Jim Meyering  <meyering@ascend.com>
78460
78461         * m4/gettext.m4: Add -lintl if it's found to be necessary.
78462
78463         * m4/gettext.m4: New file -- from gettext-0.10.35.
78464         * m4/lcmessage.m4: Likewise.
78465         * m4/progtest.m4: Likewise.
78466
78467         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
78468         * m4/jm-macros.m4: Require the new macro.
78469
78470 1998-06-29  Jim Meyering  <meyering@ascend.com>
78471
78472         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
78473         for the definition of NGROUPS (used in a system header included
78474         by sys/mount.h).
78475
78476 1998-06-28  Jim Meyering  <meyering@ascend.com>
78477
78478         * m4/ls-mntd-fs.m4: New file.
78479         * m4/fstypename.m4: New file.
78480
78481         * m4/jm-macros.m4: Require the new macro.
78482         * m4/jm-glibc-io.m4: New file.
78483
78484 1998-05-19  Jim Meyering  <meyering@ascend.com>
78485
78486         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
78487         * m4/lchown.m4: New file.
78488
78489         * m4/Makefile.am.in: New file.
78490         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
78491
78492 1998-05-14  Jim Meyering  <meyering@ascend.com>
78493
78494         * m4/Makefile.am (EXTRA_DIST): Add them.
78495         * m4/jm-macros.m4: New file.
78496         * m4/utimbuf.m4: New file.
78497
78498 1998-05-12  Jim Meyering  <meyering@ascend.com>
78499
78500         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
78501
78502 1998-05-11  Jim Meyering  <meyering@ascend.com>
78503
78504         * m4/isc-posix.m4: New file.
78505
78506 1998-05-10  Jim Meyering  <meyering@ascend.com>
78507
78508         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
78509
78510 1998-05-09  Jim Meyering  <meyering@ascend.com>
78511
78512         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
78513         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
78514         with automake.
78515
78516         * m4/ssize_t.m4: New file.
78517         * m4/mktime.m4: Remove file -- the new automake has this now.
78518
78519 1998-04-26  Jim Meyering  <meyering@ascend.com>
78520
78521         * m4/assert.m4: New file.
78522         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
78523
78524 1998-04-05  Jim Meyering  <meyering@ascend.com>
78525
78526         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
78527         (jm_PREREQ): Use it here.
78528
78529 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
78530
78531         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
78532         in acconfig.h.
78533
78534 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
78535
78536         * m4/prereq.m4: New file.
78537         * m4/error.m4: New file.
78538         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
78539
78540 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
78541
78542         * m4/getline.m4: Don't set am_cv_func_working_getline before the
78543         cache-check for the same variable -- that defeated the purpose of
78544         the test; the test program was never run.  This was a problem only
78545         on systems with losing getline functions -- HP-UX 10.20 is one.
78546         Reported by Bjorn Helgaas.
78547
78548 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
78549
78550         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
78551
78552 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
78553
78554         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
78555
78556         * m4/const.m4: New file.  Use an initializer in this declaration
78557         typedef int charset[2]; const charset x;
78558         Reported by Bob Glickstein.
78559
78560 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
78561
78562         * m4/chown.m4: Fix reversed types on -1 args to chown.
78563         From Kaveh Ghazi.
78564
78565 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
78566
78567         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
78568         Add lseek and memchr.
78569
78570         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
78571         T.E.Dickey <dickey@clark.net> said that some older preprocessors
78572         have a 20-character limit on names.
78573
78574 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
78575
78576         * m4/inttypes_h.m4: New file.
78577         * m4/uintmax_t.m4: New file.
78578         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
78579
78580
78581         -----
78582
78583         Local Variables:
78584         coding: utf-8
78585         End:
78586
78587         Copyright (C) 1997-2011 Free Software Foundation, Inc.
78588
78589         Copying and distribution of this file, with or without
78590         modification, are permitted provided the copyright notice
78591         and this notice are preserved.