tests: avoid false negative with --with-packager
[gnulib.git] / ChangeLog
1 2009-11-18  Eric Blake  <ebb9@byu.net>
2
3         tests: avoid false negative with --with-packager
4         * tests/test-version-etc.sh: Discard packager information.
5         * tests/test-argp-version-etc-1.sh: Likewise.
6         Reported by Mike Frysinger.
7
8         utimens: fix regression on Solaris
9         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
10         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
11         can only change fd timestamps via futimesat.  Instead, use an
12         additional witness macro to avoid BSD bug.
13         Reported by Jim Meyering.
14
15 2009-11-17  Simon Josefsson  <simon@josefsson.org>
16
17         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
18         patch from ludo@gnu.org (Ludovic Courtès).
19
20 2009-11-17  Jim Meyering  <meyering@redhat.com>
21
22         version-etc: use proper license string
23         * modules/version-etc (License): Use LGPL, not LGPLv3+.
24         * modules/version-etc-fsf: Likewise.
25
26 2009-11-17  Jim Meyering  <meyering@redhat.com>
27
28         version-etc-fsf: relax license to LGPLv3+
29         * modules/version-etc-fsf (License): Relax license.
30
31 2009-11-16  Jim Meyering  <meyering@redhat.com>
32
33         version-etc: relax license to LGPLv3+
34         * modules/version-etc (License): Relax license.
35
36         better AC_REQUIRE expanded-before-required-warning avoidance
37         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
38         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
39         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40         which is no longer needed.
41
42 2009-11-16  Jim Meyering  <meyering@redhat.com>
43
44         avoid new AC_REQUIRE expanded-before-required warnings
45         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
46         merely using it.
47         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
48         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
49
50 2009-11-15  Simon Josefsson  <simon@josefsson.org>
51
52         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
53         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
54
55 2009-11-14  Eric Blake  <ebb9@byu.net>
56
57         fnmatch: avoid compiler warning
58         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
59         to silence compiler warning about mismatch signedness in ?:.
60         Reported by Robert Millan.
61
62 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
63
64         gnulib-tool: correctly detect absence of m4 directories
65         * gnulib-tool: Avoid extra newline on data passed to wc -l.
66
67 2009-11-14  John W. Eaton  <jwe@gnu.org>
68
69         strftime.h: wrap funtion declaration in extern "C" block
70         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
71
72 2009-11-13  Eric Blake  <ebb9@byu.net>
73
74         getgroups: avoid compiler warning
75         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
76
77         getgroups: work around FreeBSD bug
78         * lib/getgroups.c (rpl_getgroups): Work around the bug.
79         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
80         * doc/posix-functions/getgroups.texi (getgroups): Document it.
81         * tests/test-getgroups.c (main): Fix buffer overrun.
82
83         getgroups: avoid compilation failure
84         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
85         * modules/getgroups (Depends-on): Add stdint.
86
87 2009-11-13  Jim Meyering  <meyering@redhat.com>
88
89         test-getgroups: avoid compilation failure
90         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
91
92 2009-11-13  Eric Blake  <ebb9@byu.net>
93
94         getgroups, getugroups: provide stubs for mingw
95         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
96         * lib/getugroups.c (getugroups): Likewise.
97         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
98         function.  Modernize replacement scheme.
99         (gl_PREREQ_GETGROUPS): Delete.
100         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
101         * modules/getgroups (configure.ac): Declare witness.
102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
103         * modules/unistd (Depends-on): Substitute witness.
104         * lib/unistd.in.h (getgroups): Declare replacement.
105
106         getgroups: avoid calling exit
107         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
108         drop xalloc.
109         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
110         dependencies.
111         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
112         exiting, in the rare case of malloc failure.
113
114         getgroups: fix logic error
115         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
116         has more than 20 groups.
117         * modules/getgroups-tests: New test.
118         * tests/test-getgroups.c: New file.
119
120 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
121
122         fts: do not fail on a submount during traversal
123         * lib/fts.c (fts_build): Read the stat info again after opening
124         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
125         Original report at http://bugzilla.redhat.com/501848.
126
127 2009-11-12  Jim Meyering  <meyering@redhat.com>
128
129         bootstrap: generalize autoheader check
130         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
131         AC_CONFIG_HEADERS.
132
133 2009-11-11  Eric Blake  <ebb9@byu.net>
134
135         readlink: detect FreeBSD bug
136         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
137         slash on symlink.
138         * doc/posix-functions/readlink.texi (readlink): Document the bug.
139         * tests/test-readlink.h (test_readlink): Enhance test.
140
141         symlink: detect FreeBSD bug
142         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
143         slash on symlink.
144         * doc/posix-functions/symlink.texi (symlink): Document the bug.
145         * tests/test-symlink.h (test_symlink): Enhance test.
146
147 2009-11-10  Eric Blake  <ebb9@byu.net>
148
149         link: detect FreeBSD bug
150         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
151         symlink.
152         * doc/posix-functions/link.texi (link): Document the bug.
153         * tests/test-link.h (test_link): Enhance test.
154         * tests/test-linkat.c (main): Update caller.
155
156         unlink, remove: detect FreeBSD bug
157         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
158         slash on symlink.
159         * doc/posix-functions/unlink.texi (unlink): Document the bug.
160         * doc/posix-functions/remove.texi (remove): Likewise.
161         * tests/test-unlink.h (test_unlink): Enhance test.
162         * tests/test-remove.c (main): Likewise.
163
164 2009-11-09  Eric Blake  <ebb9@byu.net>
165
166         rename: detect FreeBSD bug
167         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
168         slash on symlink.
169         * modules/renameat-tests (Depends-on): Add filenamecat.
170         * tests/test-rename.h (test_rename): Allow one more errno.
171         * tests/test-renameat.c (main): Likewise.
172         * doc/posix-functions/rename.texi (rename): Document the bug.
173
174         open: detect FreeBSD bug
175         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
176         symlink.
177         * doc/posix-functions/open.texi (open): Document the bug.
178         * doc/posix-functions/utimes.texi (utimes): Likewise.
179         * tests/test-open.h (test_open): Add parameters, and test symlink
180         handling.
181         * tests/test-open.c (main): Adjust caller.
182         * tests/test-fcntl-safer.c (main): Likewise.
183         * modules/open-tests (Depends-on): Add stdbool, symlink.
184         * modules/fcntl-safer-tests (Depends-on): Likewise.
185         * tests/test-openat.c (main): Add test-open tests.
186
187         stat: detect FreeBSD bug
188         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
189         symlink.
190         * doc/posix-functions/stat.texi (stat): Document the bug.
191         * tests/test-stat.h (test_stat_func): Add argument.
192         * tests/test-stat.c (main): Adjust caller.
193         * tests/test-fstatat.c (main): Likewise.
194         * modules/stat-tests (Depends-on): Add stdbool, symlink.
195         Reported by Jim Meyering.
196
197 2009-11-09  James Youngman  <jay@gnu.org>
198
199         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
200         * lib/strftime.c: Correct placement of #include "ignore-value.h".
201
202 2009-11-08  Jim Meyering  <meyering@redhat.com>
203
204         utimens: remove invalid futimesat call
205         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
206         It used the file descriptor of the target file as the DIR_FD
207         parameter and NULL as the file name.  That caused failure with
208         errno == EFAULT on FreeBSD-8.0-rc2
209
210 2009-11-07  Eric Blake  <ebb9@byu.net>
211
212         fflush, freadseek: use fseeko, not fseek
213         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
214         (clear_ungetc_buffer): Avoid potential problems on large files.
215         * lib/freadseek.c (freadseek): Likewise.
216         * modules/freadseek (Depends-on): Add fseeko.
217         * modules/fseek (configure.ac): Set a witness.
218         * tests/test-fflush.c (main): Use fseeko.
219         * tests/test-fpurge.c (fseek): Disable link warning.
220         * tests/test-freadable.c (fseek): Likewise.
221         * tests/test-freading.c (fseek): Likewise.
222         * tests/test-fseeko.c (fseek): Likewise.
223         * tests/test-ftell.c (fseek): Likewise.
224         * tests/test-ftello.c (fseek): Likewise.
225         * tests/test-fwritable.c (fseek): Likewise.
226         * tests/test-fwriting.c (fseek): Likewise.
227
228 2009-11-06  Simon Josefsson  <simon@josefsson.org>
229
230         * modules/memchr (Depends-on): Drop getpagesize dependency.
231
232 2009-11-06  Simon Josefsson  <simon@josefsson.org>
233
234         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
235         Reported by Ludovic Courtès.
236         * build-aux/pmccabe2html: Improve example usage.
237         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
238
239 2009-11-06  Jim Meyering  <meyering@redhat.com>
240
241         do-release-commit-and-tag: New module.
242         Automate the release-commit and tag process.
243         * build-aux/do-release-commit-and-tag: New script, from coreutils.
244         * modules/do-release-commit-and-tag: New file.
245         * MODULES.html.sh (Support for maintaining and releasing): Add it.
246
247 2009-11-06  Simon Josefsson  <simon@josefsson.org>
248
249         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
250         because test-select.c uses inet_pton.
251
252 2009-11-06  Simon Josefsson  <simon@josefsson.org>
253
254         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
255         GETADDRINFO_LIB.  Bump serial number.
256         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
257         Suggested by Eric Blake <ebb9@byu.net>.
258
259 2009-11-05  Eric Blake  <ebb9@byu.net>
260
261         strtod: detect darwin bug
262         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
263         Reported by Leo Davis.
264
265         freopen-safer: new module
266         * modules/freopen-safer: New module.
267         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
268         * lib/freopen-safer.c (freopen_safer): New file.
269         * lib/stdio-safer.h (freopen_safer): New declaration.
270         * lib/stdio--.h (freopen): New override.
271         * MODULES.html.sh (File stream based Input/Output): Mention it.
272         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
273         freopen-safer module.
274         * doc/posix-functions/stderr.texi (stderr): Likewise.
275         * doc/posix-functions/stdin.texi (stdin): Likewise.
276         * doc/posix-functions/stdout.texi (stdout): Likewise.
277         * modules/freopen-safer-tests: New test.
278         * tests/test-reopen-safer.c: New file.
279
280 2009-11-05  Jim Meyering  <meyering@redhat.com>
281
282         maint.mk: Prohibit inclusion of "close-stream.h" without use.
283         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
284
285 2009-11-05  Simon Josefsson  <simon@josefsson.org>
286
287         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
288
289 2009-11-05  Simon Josefsson  <simon@josefsson.org>
290
291         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
292
293 2009-11-05  Simon Josefsson  <simon@josefsson.org>
294
295         Fix link error.
296         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
297         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
298
299 2009-11-05  Simon Josefsson  <simon@josefsson.org>
300
301         * tests/test-func.c: Also test value of __func__.
302
303 2009-11-05  Simon Josefsson  <simon@josefsson.org>
304
305         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
306         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
307
308 2009-11-05  Bruno Haible  <bruno@clisp.org>
309
310         Fix link error.
311         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
312         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
313         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
314
315 2009-11-05  Bruno Haible  <bruno@clisp.org>
316
317         Tests for module 'inet_pton'.
318         * modules/inet_pton-tests: New file.
319         * tests/test-inet_pton.c: New file.
320
321 2009-11-05  Bruno Haible  <bruno@clisp.org>
322
323         Tests for module 'inet_ntop'.
324         * modules/inet_ntop-tests: New file.
325         * tests/test-inet_ntop.c: New file.
326
327 2009-11-04  Eric Blake  <ebb9@byu.net>
328
329         stdlib-safer: wrap all mkstemp variants
330         * modules/mkostemp (configure.ac): Set witness.
331         * modules/mkostemps (configure.ac): Likewise.
332         * modules/mkstemps (configure.ac): Likewise.
333         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
334         (mkstemps_safer): Wrap more functions.
335         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
336         wrapping.
337         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
338         (mkstemps_safer): Implement the wrappers.
339
340         mkstemps, mkostemps: new modules
341         * modules/mkostemps: New module.
342         * modules/mkstemps: Likewise.
343         * lib/mkostemps.c (mkostemps): New file.
344         * lib/mkstemps.c (mkstemps): Likewise.
345         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
346         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
347         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
348         * modules/stdlib (Makefile.am): Substitute them.
349         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
350         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
351         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
352         * doc/gnulib.texi (Glibc stdlib.h): Include them.
353         * MODULES.html.sh (File system functions): Mention them.
354
355         tempname: resync from glibc
356         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
357         same values for __GT_FILE as glibc.  Abort even when assertions
358         are disabled.
359         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
360         match its value otherwise.  Allow idempotent inclusion.
361         * lib/mkdtemp.c (mkdtemp): Adjust caller.
362         * lib/mkostemp.c (mkostemp): Likewise.
363         * lib/mkstemp.c (mkstemp): Likewise.
364         * lib/tmpfile.c (tmpfile): Likewise.
365         * NEWS: Document this.
366
367         utimens: fix use of futimens on older Linux
368         * lib/utimens.c (fdutimens): Use updated, rather than original,
369         timespec to avoid bug in older Linux kernel.
370         Reported by Simon Josefsson.
371
372 2009-11-04  Bruno Haible  <bruno@clisp.org>
373
374         Make num_processors more flexible and consistent.
375         * lib/nproc.h (enum nproc_query): New type.
376         (num_processors): Add a 'query' argument.
377         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
378         (num_processors): Add a 'query' argument. Test the value of the
379         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
380         mingw, count the number of CPUs available for the current process.
381         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
382         Check for sched_getaffinity and sched_getaffinity_np.
383         * modules/nproc (Depends-on): Add c-ctype, extensions.
384         * NEWS: Mention the change.
385
386 2009-11-03  Bruno Haible  <bruno@clisp.org>
387
388         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
389
390 2009-11-03  Jim Meyering  <meyering@redhat.com>
391
392         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
393         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
394         if it is defined.
395
396 2009-11-02  Eric Blake  <ebb9@byu.net>
397
398         mktime, timegm: share common declaration
399         * lib/mktime-internal.h: New file.
400         * lib/mktime.c: Use it rather than open-coding a declaration.
401         * lib/timegm.c: Likewise.
402         * modules/mktime (Files): Ship it.
403         * modules/timegm (Files): Likewise.
404         Suggested by Bruno Haible.
405
406         test-update-copyright: update test to match script changes
407         * tests/test-update-copyright.sh: Avoid hard-coding perl
408         location.  Don't update *.bak created by earlier runs.
409
410 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
411             Simon Josefsson  <simon@josefsson.org>
412             Bruno Haible  <bruno@clisp.org>
413
414         Fix link error on Solaris 8.
415         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
416         also in libnsl. Define also INET_PTON_LIB.
417         * modules/inet_pton (Link): New section.
418
419 2009-11-02  Simon Josefsson  <simon@josefsson.org>
420             Bruno Haible  <bruno@clisp.org>
421
422         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
423         * modules/inet_ntop (Link): New section.
424         Reported by Boyan Kasarov <bkasarov@gmail.com>.
425
426 2009-11-02  Eric Blake  <ebb9@byu.net>
427
428         maint: avoid compiler warnings in m4 macros
429         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
430         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
431
432 2009-11-02  Simon Josefsson  <simon@josefsson.org>
433
434         * m4/pmccabe2html.m4: Remove file.
435         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
436         function.  Change maintainer.
437         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
438         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
439         Courtès).
440
441 2009-10-31  Eric Blake  <ebb9@byu.net>
442
443         fseeko: fix m4 regression
444         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
445         regression from 2009-10-27.
446         Reported by Ralf Wildenhues.
447
448 2009-10-31  Jim Meyering  <meyering@redhat.com>
449
450         inttostr: aesthetics and improved (compile-time) safety
451         Define inttype_is_signed rather than inttype_is_unsigned,
452         since the sole use is via "#if inttype_is_signed".
453         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
454         inttype_is_unsigned.
455         * lib/offtostr.c (inttype_is_signed): Likewise.
456         * lib/uinttostr.c (inttype_is_signed): Likewise.
457         * lib/umaxtostr.c (inttype_is_signed): Likewise.
458         * lib/inttostr.c (inttostr): Use verify to cross-check the
459         inttype_is_signed value and the signedness of the actual type.
460         * modules/inttostr (Depends-on): Add verify.
461
462 2009-10-30  Eric Blake  <ebb9@byu.net>
463
464         build: avoid compiler warnings
465         * lib/fchmodat.c (lchmod): Mark unused variables.
466         * lib/getopt.c (_getopt_initialize): Likewise.
467         * lib/mktime.c (__mktime_internal): Provide prototype.
468         * lib/inttostr.c (inttostr): Avoid compiler warning even with
469         older gcc that do not understand #pragma GCC diagnostic.
470         * lib/uinttostr.c (inttype_is_unsigned): Define.
471         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
472
473 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
474
475         stat: fix compilation on AIX
476         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
477         only see struct stat64.
478
479 2009-10-30  Eric Blake  <ebb9@byu.net>
480
481         exclude: make more robust
482         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
483         rather than masking a coding bug.
484         Suggested by Bruno Haible.
485
486 2009-10-30  Jim Meyering  <meyering@redhat.com>
487
488         perl scripts: remove #!/usr/bin/perl in favor of more portable...
489         Rather than putting #!/usr/bin/perl on the first line,
490         start with a variant of what's recommended by "man perlrun" that
491         invokes the first "perl" program from your shell's search path.
492         * build-aux/gitlog-to-changelog: Replace #!... as above.
493         Add a "Local Variables" perl mode setting.
494         Prompted by a patch from Ludovic Courtès.
495         Improved by Eric Blake.
496         * build-aux/useless-if-before-free: Likewise.
497         * build-aux/announce-gen: Likewise.
498         * build-aux/update-copyright: Likewise.
499
500 2009-10-29  Eric Blake  <ebb9@byu.net>
501
502         filenamecat-lgpl: adjust clients
503         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
504         filenamecat.
505         * modules/renameat (Depends-on): Likewise.
506
507         filenamecat: split into filenamecat-lgpl
508         * modules/filenamecat-lgpl: New module.
509         * modules/filenamecat (Files): Move library-safe files into
510         filenamecat-lgpl.
511         (Depends-on): Add filenamecat-lgpl.
512         (configure.ac): Declare witness.
513         * lib/filenamecat.h (file_name_concat): Only declare when using
514         GPL module.
515         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
516         Move...
517         * lib/filenamecat-lgpl.c: ...into new file.
518         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
519         (gl_FILE_NAME_CONCAT): Use it.
520         * MODULES.html.sh (File system functions): Mention new module.
521
522         argp: avoid memory leak
523         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
524         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
525         base_name, since the latter malloc()s and can call exit().
526         Leak introduced 2006-07-03.
527
528         dirname-lgpl: adjust clients that don't need full dirname
529         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
530         * modules/filenamecat (Depends-on): Likewise.
531         * modules/linkat (Depends-on): Likewise.
532         * modules/mkancesdirs (Depends-on): Likewise.
533         * modules/mkdir (Depends-on): Likewise.
534         * modules/openat (Depends-on): Likewise.
535         * modules/savewd (Depends-on): Likewise.
536         * modules/rename (Depends-on): Likewise.
537         (License): Relax license.
538         * modules/mkdir-tests (Depends-on): Drop progname.
539         (Makefile.am): Delete unneeded LDADD.
540         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
541
542         dirname: split into dirname-lgpl
543         * modules/dirname-lgpl: New module.
544         * modules/dirname (Files): Move library-safe files into
545         dirname-lgpl.
546         (Depends-on): Add dirname-lgpl.
547         (configure.ac): Declare witness.
548         * modules/double-slash-root (License): Relax license.
549         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
550         module.
551         * lib/dirname.c (dir_len, mdir_name): Move...
552         * lib/dirname-lgpl.c: ...into new file.
553         * lib/basename.c (last_component, base_len): Move...
554         * lib/basename-lgpl.c: ...into new file.
555         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
556         (gl_DIRNAME): Use it.
557         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
558         Mention new module.
559         * modules/dirname-tests (Depends-on): Add progname.
560         * tests/test-dirname.c (program_name): Delete.
561
562         mkdir: make safe for libraries
563         * modules/mkdir (Depends-on): Drop xalloc.
564         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
565         exit.
566
567         tests: avoid some compiler warnings
568         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
569         literals.
570         * tests/test-memchr.c (main): Avoid type mismatch.
571         * tests/test-arpa_inet.c (main): Avoid unused parameters.
572         * tests/test-base64.c (main): Likewise.
573         * tests/test-getdelim.c (main): Likewise.
574         * tests/test-gethostname.c (main): Likewise.
575         * tests/test-getline.c (main): Likewise.
576         * tests/test-netinet_in.c (main): Likewise.
577         * tests/test-select.c (open_server_socket, main): Likewise.
578         * tests/test-select-stdin.c (main): Likewise.
579         * tests/test-sockets.c (main): Likewise.
580         * tests/test-strsignal.c (main): Likewise.
581         * tests/test-sys_select.c (main): Likewise.
582         * tests/test-sys_socket.c (main): Likewise.
583         * tests/test-u64.c (main): Likewise.
584         * tests/test-xfprintf-posix.c (main): Likewise.
585         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
586
587         sockets: avoid compiler warning
588         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
589
590         maint: detect usage(1) and other suspicious exits
591         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
592
593 2009-10-29  Jim Meyering  <meyering@redhat.com>
594
595         timespec: long-to-int truncation could make timespec_cmp malfunction
596         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
597         a multiple of 2^32 nanoseconds as no difference.
598
599 2009-10-28  Jim Meyering  <meyering@redhat.com>
600
601         fprintftime: wrap macro code argument in "do {...} while(0)"
602         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
603         cpy macro must be a statement that can be followed by a semicolon.
604         Now that the else clause contains a comment and is hence longer
605         than one line, I require curly braces.  That in turn requires
606         that we wrap this code block in the standard do...while(0).
607
608         fprintftime: remove stray semicolon from previous change
609         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
610
611         fprintftime: avoid a warning about ignored fwrite return value
612         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
613         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
614         that is unsafe.
615         * modules/fprintftime (Depends-on): Add ignore-value.
616
617         exclude: avoid an unwarranted warning
618         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
619
620 2009-10-27  Eric Blake  <ebb9@byu.net>
621
622         fseek: avoid compilation failure when fflush is replaced
623         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
624         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
625         module is in use.
626         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
627         module is not in use; since REPLACE_FSEEK worked otherwise.
628         (GNULIB_FTELLO): Likewise for ftell.
629         Reported by Ian Beckwith and others.
630
631 2009-10-27  Bruno Haible  <bruno@clisp.org>
632
633         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
634         Reported by Jim Meyering.
635
636 2009-10-27  Jim Meyering  <jim@meyering.net>
637             Bruno Haible  <bruno@clisp.org>
638
639         Avoid warning despite dropping the return value of fwrite.
640         * lib/unicodeio.c: Include ignore-value.h.
641         (fwrite_success_callback): Explicitly ignore fwrite's return value.
642         * modules/unicodeio (Depends-on): Add ignore-value.
643
644 2009-10-26  Eric Blake  <ebb9@byu.net>
645
646         areadlinkat: fix fallback path
647         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
648         pointer and zero.
649
650 2009-10-22  Pádraig Brady  <P@draigBrady.com>
651
652         Use a better IO block size for modern systems
653         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
654         * lib/md2.c: Likewise.
655         * lib/md4.c: Likewise.
656         * lib/md5.c: Likewise.
657         * lib/sha1.c: Likewise.
658         * lib/sha256.c: Likewise.
659         * lib/sha512.c: Likewise.
660
661 2009-10-22  Eric Blake  <ebb9@byu.net>
662
663         tests: avoid several compiler warnings
664         * tests/test-getcwd.c (main): Avoid buffer underflow.
665         * tests/test-getdate.c (main): String literals are not safe with
666         putenv, so use setenv.  Declare unused argument.
667         * modules/getdate-tests (Depends-on): Add setenv.
668         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
669         problems with string literals in char *.
670         * tests/test-hash.c (main): Avoid shadowing declaration.
671         (insert_new): Treat string literals as char const *.
672         * tests/test-getopt.h (test_getopt): Likewise.
673         (getopt_loop): Alter types to minimize casting elsewhere.
674         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
675         (test_getopt_long_posix): Likewise.
676         (do_getopt_long): Add wrapper to minimize casting.
677         * tests/test-atexit.c (clear_temp_file): Use void.
678         * tests/test-areadlink-with-size.c (main): Declare unused
679         arguments.
680         * tests/test-areadlink.c (main): Likewise.
681         * tests/test-areadlinkat-with-size.c (main): Likewise.
682         * tests/test-areadlinkat.c (main): Likewise.
683         * tests/test-canonicalize-lgpl.c (main): Likewise.
684         * tests/test-canonicalize.c (main): Likewise.
685         * tests/test-dirent-safer.c (main): Likewise.
686         * tests/test-dirname.c (main): Likewise.
687         * tests/test-dup2.c (main): Likewise.
688         * tests/test-fchdir.c (main): Likewise.
689         * tests/test-fcntl-h.c (main): Likewise.
690         * tests/test-fcntl-safer.c (main): Likewise.
691         * tests/test-fdopendir.c (main): Likewise.
692         * tests/test-fdutimensat.c (main): Likewise.
693         * tests/test-fflush.c (main): Likewise.
694         * tests/test-filenamecat.c (main): Likewise.
695         * tests/test-filevercmp.c (main): Likewise.
696         * tests/test-fopen-safer.c (main): Likewise.
697         * tests/test-fopen.c (main): Likewise.
698         * tests/test-fpending.c (main): Likewise.
699         * tests/test-fpurge.c (main): Likewise.
700         * tests/test-freading.c (main): Likewise.
701         * tests/test-fstatat.c (main): Likewise.
702         * tests/test-fsync.c (main): Likewise.
703         * tests/test-futimens.c (main): Likewise.
704         * tests/test-getndelim2.c (main): Likewise.
705         * tests/test-gettimeofday.c (main): Likewise.
706         * tests/test-getopt.c (main): Likewise.
707         * tests/test-i-ring.c (main): Likewise.
708         * tests/test-inttypes.c (main): Likewise.
709         * tests/test-link.c (main): Likewise.
710         * tests/test-lstat.c (main): Likewise.
711         * tests/test-math.c (main): Likewise.
712         * tests/test-md5.c (main): Likewise.
713         * tests/test-memchr2.c (main): Likewise.
714         * tests/test-memrchr.c (main): Likewise.
715         * tests/test-mkdir.c (main): Likewise.
716         * tests/test-mkdirat.c (main): Likewise.
717         * tests/test-mkfifoat.c (main): Likewise.
718         * tests/test-open.c (main): Likewise.
719         * tests/test-openat-safer.c (main): Likewise.
720         * tests/test-openat.c (main): Likewise.
721         * tests/test-quotearg.c (main): Likewise.
722         * tests/test-rawmemchr.c (main): Likewise.
723         * tests/test-readlink.c (main): Likewise.
724         * tests/test-remove.c (main): Likewise.
725         * tests/test-rename.c (main): Likewise.
726         * tests/test-renameat.c (main): Likewise.
727         * tests/test-rmdir.c (main): Likewise.
728         * tests/test-sha1.c (main): Likewise.
729         * tests/test-signal.c (main): Likewise.
730         * tests/test-sigaction.c (main): Likewise.
731         * tests/test-stat.c (main): Likewise.
732         * tests/test-stat-time.c (main): Likewise.
733         * tests/test-stddef.c (main): Likewise.
734         * tests/test-stdint.c (main): Likewise.
735         * tests/test-stdio.c (main): Likewise.
736         * tests/test-stdlib.c (main): Likewise.
737         * tests/test-strchrnul.c (main): Likewise.
738         * tests/test-strerror.c (main): Likewise.
739         * tests/test-string.c (main): Likewise.
740         * tests/test-strtod.c (main): Likewise.
741         * tests/test-strverscmp.c (main): Likewise.
742         * tests/test-symlink.c (main): Likewise.
743         * tests/test-symlinkat.c (main): Likewise.
744         * tests/test-sys_stat.c (main): Likewise.
745         * tests/test-sys_time.c (main): Likewise.
746         * tests/test-time.c (main): Likewise.
747         * tests/test-unistd.c (main): Likewise.
748         * tests/test-unlink.c (main): Likewise.
749         * tests/test-unlinkat.c (main): Likewise.
750         * tests/test-utimens.c (main): Likewise.
751         * tests/test-utimensat.c (main): Likewise.
752         * tests/test-version-etc.c (main): Likewise.
753         * tests/test-wchar.c (main): Likewise.
754         * tests/test-wctype.c (main): Likewise.
755         * tests/test-xprintf-posix.c (main): Likewise.
756         * tests/test-posixtm.c (main): Likewise.
757         (STREQ): Delete unused macro.
758         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
759         shadowed variables.
760         * tests/test-memchr.c (main): Likewise.
761
762 2009-10-21  Eric Blake  <ebb9@byu.net>
763
764         areadlinkat: avoid failure on older glibc
765         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
766         rather than mis-comparing 0 against FUNC_RESULT of char*.
767
768 2009-10-21  Bruno Haible  <bruno@clisp.org>
769
770         * modules/stpncpy (License): Relicense under LGPLv2+.
771         Reported by David Lutterkort <lutter@redhat.com>.
772
773 2009-10-20  Eric Blake  <ebb9@byu.net>
774
775         utimensat: work around Solaris 9 bug
776         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
777         has trailing slash bugs.
778         * tests/test-lutimens.h (test_lutimens): Enhance test.
779         * tests/test-utimens.h (test_utimens): Likewise.
780         * doc/posix-functions/utime.texi (utime): Enhance documentation.
781         * doc/posix-functions/utimes.texi (utimes): Likewise.
782         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
783         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
784         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
785         * doc/posix-functions/futimens.texi (futimens): Likewise.
786
787         fdutimensat: new module
788         * modules/fdutimensat: New file.
789         * lib/fdutimensat.c (fdutimensat): Likewise.
790         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
791         * MODULES.html.sh (File system functions): Mention module.
792         * modules/fdutimensat-tests: New test.
793         * tests/test-fdutimensat.c: Likewise.
794
795         doc: regenerate INSTALL
796         * doc/INSTALL: Reflect recent autoconf update.
797         * doc/INSTALL.ISO: Likewise.
798         * doc/INSTALL.UTF-8: Likewise.
799
800 2009-10-20  Pádraig Brady  <P@draigBrady.com>
801
802         acl: warn if ACL support is not detected
803         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
804
805 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
806
807         * lib/nproc.h: Add extern "C" block for C++.
808
809 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
810             Bruno Haible  <bruno@clisp.org>
811
812         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
813         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
814         * doc/posix-functions/isalpha.texi: Likewise.
815         * doc/posix-functions/isblank.texi: Likewise.
816         * doc/posix-functions/iscntrl.texi: Likewise.
817         * doc/posix-functions/isdigit.texi: Likewise.
818         * doc/posix-functions/isgraph.texi: Likewise.
819         * doc/posix-functions/islower.texi: Likewise.
820         * doc/posix-functions/isprint.texi: Likewise.
821         * doc/posix-functions/ispunct.texi: Likewise.
822         * doc/posix-functions/isspace.texi: Likewise.
823         * doc/posix-functions/isupper.texi: Likewise.
824         * doc/posix-functions/isxdigit.texi: Likewise.
825
826 2009-10-18  Bruno Haible  <bruno@clisp.org>
827
828         Tests for module 'isblank'.
829         * modules/isblank-tests: New file.
830         * tests/test-isblank.c: New file.
831
832         New module 'isblank'.
833         * lib/isblank.c: New file.
834         * m4/isblank.m4: New file.
835         * modules/isblank: New file.
836         * doc/posix-functions/isblank.texi: Mention the new module.
837
838 2009-10-18  Bruno Haible  <bruno@clisp.org>
839
840         New module 'ctype'.
841         * lib/ctype.in.h: New file.
842         * m4/ctype.m4: New file.
843         * modules/ctype: New file.
844         * doc/posix-headers/ctype.texi: Mention the new module.
845
846 2009-10-18  Jim Meyering  <meyering@redhat.com>
847
848         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
849         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
850         right after its initialization, rather than farther down.
851         Keeping these in close proximity makes it easier to ensure
852         that each such variable is initialized.  E.g.,
853
854             LIB_CLOCK_GETTIME=
855             AC_SUBST([LIB_CLOCK_GETTIME])
856
857         This change also increments these serial numbers.
858         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
859         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
860         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
861
862 2009-10-18  Bruno Haible  <bruno@clisp.org>
863
864         Don't let environment variables perturb build.
865         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
866         (gl_PREREQ_GETHRXTIME): ... not here.
867
868 2009-10-18  Bruno Haible  <bruno@clisp.org>
869
870         Avoid symlink attack in localcharset module.
871         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
872         (O_NOFOLLOW): Define fallback.
873         (get_charset_aliases): Don't open the file if it is a symbolic link.
874         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
875         gl_FCNTL_H.
876         (gl_FCNTL_H): Require it.
877         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
878         * modules/localcharset (Files): Add m4/fcntl_h.m4.
879         Reported by Fergal Glynn <fglynn@veracode.com>.
880
881 2009-10-18  Bruno Haible  <bruno@clisp.org>
882
883         Implement nproc for mingw.
884         * lib/nproc.c: Include <windows.h>
885         (num_processors): On native Windows platforms, try GetSystemInfo.
886
887 2009-10-18  Bruno Haible  <bruno@clisp.org>
888
889         Implement nproc for IRIX.
890         * lib/nproc.c: Include <sys/sysmp.h>.
891         (num_processors): On IRIX systems, try sysmp.
892         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
893
894 2009-10-18  Bruno Haible  <bruno@clisp.org>
895
896         Implement nproc for HP-UX.
897         * lib/nproc.c: Include <sys/pstat.h>
898         (num_processors): On HP-UX systems, try pstat_getdynamic.
899         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
900         pstat_getdynamic.
901
902 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
903             Bruno Haible  <bruno@clisp.org>
904
905         Implement nproc for NetBSD, OpenBSD.
906         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
907         (ARRAY_SIZE): New macro.
908         (num_processors): On BSD systems, try sysctl of HW_NCPU.
909         * m4/nproc.m4: New file.
910         * modules/nproc (Files): Add m4/nproc.m4.
911         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
912         (Makefile.am): Instead, augment lib_SOURCES.
913
914 2009-10-18  Bruno Haible  <bruno@clisp.org>
915
916         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
917         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
918         sys/param.h.
919
920 2009-10-16  Eric Blake  <ebb9@byu.net>
921
922         utimensat: new module
923         * modules/utimensat: New file.
924         * lib/utimensat.c (utimensat): Likewise.
925         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
926         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
927         so we can work around Linux bugs.
928         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
929         * modules/sys_stat (Makefile.am): Substitute them.
930         * lib/sys_stat.in.h (utimensat): Declare it.
931         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
932         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
933         * modules/utimensat-tests: New test.
934         * tests/test-utimensat.c: Likewise.
935
936         utimens: let lutimens work on non-symlinks
937         * lib/utimens.c (lutimens): Fall back to utimens rather than
938         failing with ENOSYS, when file is not a symlink.
939         (utimens): Reduce redirection.
940         * tests/test-lutimens.h (test_lutimens): Update test to cover
941         non-symlinks.
942         * tests/test-utimens.h (test_utimens): Update test to cover
943         symlinks.
944         * tests/test-utimens.c (main): Update caller.
945
946         utimens: cache whether utimensat syscall works
947         * lib/utimens.c (utimensat_works_really): New cache variable.
948         (fdutimens, lutimens): Use it to avoid failing syscall.
949
950         test-stat-time, test-utimens: improve portability
951         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
952         ext4 on alpha, and for cygwin.
953         * tests/test-utimens-common.h: New file.
954         (nap): Factor delays into single function.
955         * tests/test-lutimens.h (test_lutimens): Use new header.
956         * tests/test-futimens.h (test_futimens): Likewise.
957         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
958         timestamps to occur from same machine, as was done previously for
959         test_utimens.
960         * modules/utimens-tests (Files): Ship new file.
961         * modules/futimens-tests (Files): Likewise.
962         Reported in part by Jim Meyering.
963
964         sys_stat: sort replacement declarations
965         * lib/sys_stat.in.h: Sort declarations.
966         * lib/futimens.c (futimens): Fix typo.
967
968 2009-10-15  Jim Meyering  <meyering@redhat.com>
969
970         don't let environment settings perturb build
971         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
972         could cause a configure-time and/or build-time malfunction.
973         Typically, a configure-time function-in-library test is performed
974         via code like this:
975
976           LIB_VAR=
977           AC_SUBST([LIB_VAR])
978           prefix_saved_LIBS=$LIBS
979             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
980                        [test "$ac_cv_search_FUNC" = "none required" ||
981                         LIB_VAR=$ac_cv_search_FUNC])
982           LIBS=$prefix_saved_LIBS
983
984         However, in each of the files affected by this change, the LIB_VAR=
985         initialization was omitted.  Thus, when set in the environment, its
986         value would propagate into generated Makefiles when FUNC is not found
987         in LIB_NAME.
988         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
989         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
990         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
991
992 2009-10-14  Eric Blake  <ebb9@byu.net>
993
994         fchdir: avoid infinite recursion in mingw
995         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
996         recursing.
997
998         test-stat-time: port to mingw
999         * tests/test-stat-time.c (force_unlink): Return a value.
1000         (test_ctime) [W32]: Fix compilation error.
1001         (nap): Don't call usleep with too large an argument.  Use
1002         force_unlink.
1003         * doc/pastposix-functions/usleep.texi (usleep): Document the
1004         portability issue.
1005
1006 2009-10-13  Jim Meyering  <meyering@redhat.com>
1007
1008         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
1009         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
1010         * modules/pipe-filter-ii: Likewise.
1011         * modules/sys_socket-tests: Likewise.
1012         * modules/tsearch-tests: Likewise.
1013         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
1014         (check): Depend on it.
1015
1016 2009-10-12  Eric Blake  <ebb9@byu.net>
1017
1018         utimens-tests: port to NFS file systems
1019         * tests/test-utimens.h (test_utimens): Refactor utimecmp
1020         comparisons to avoid spurious failures from timestamp drift
1021         between NFS machines.
1022
1023 2009-10-12  Eric Blake  <ebb9@byu.net>
1024
1025         stat-time-tests: minor cleanups
1026         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1027         * tests/test-stat-time.c (nap): Separate assignment from call.
1028         Suggested by Paolo Bonzini and Bruno Haible.
1029
1030         sys_stat: guarantee struct timespec
1031         * lib/sys_stat.in.h (includes): Always include <time.h>
1032         * modules/sys_stat (Depends-on): Add time.
1033         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
1034         mode_t permission values.
1035         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
1036         get at subsecond timestamps.
1037
1038 2009-10-10  Eric Blake  <ebb9@byu.net>
1039
1040         futimens: new module
1041         * modules/futimens: New file.
1042         * lib/futimens.c (futimens): Likewise.
1043         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
1044         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
1045         we can work around Linux bugs.
1046         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1047         * modules/sys_stat (Makefile.am): Substitute them.
1048         * lib/sys_stat.in.h (futimens): Declare it.
1049         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1050         * doc/posix-functions/futimens.texi (futimens): Likewise.
1051         * modules/futimens-tests: New test.
1052         * tests/test-futimens.c: Likewise.
1053
1054         utimens: introduce fdutimens
1055         * lib/utimens.h (fdutimens): New prototype.
1056         * lib/utimens.c (gl_futimens): Move guts...
1057         (fdutimens): ...to new interface.
1058         * tests/test-utimens.c (do_fdutimens): Use it.
1059
1060         utimens: add UTIME_NOW and UTIME_OMIT support
1061         * lib/utimens.c (validate_timespec, update_timespec): New helper
1062         functions.
1063         (gl_futimens, lutimens): Use them.
1064         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
1065         stdbool, sys_stat.
1066         (Link): Mention resulting library dependency.
1067         * modules/utimecmp (Link): Likewise.
1068         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
1069         (Makefile.am): Pick up library dependency.
1070         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
1071         definition.
1072         * tests/test-sys_stat.c: Test the definitions.
1073         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
1074         * NEWS: Document library dependency.
1075
1076         utimecmp: support symlink timestamps
1077         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
1078         hashing when possible.  Use pathconf when available.
1079         (SYSCALL_RESOLUTION): Recognize tighter resolution.
1080         * modules/utimecmp (Depends-on): Add lstat.
1081
1082         utimens: add lutimens interface
1083         * lib/utimens.c (lutimens): New function.
1084         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
1085         * lib/utimens.h (lutimens): Declare new interface.
1086         * tests/test-utimens.c (main): Enhance test.
1087         * tests/test-lutimens.h (test_lutimens): New file.
1088         * modules/utimens-tests (Files): Distribute it.
1089         (Depends-on): Add symlink.
1090         (configure.ac): Check for usleep.
1091
1092         utimens: validate futimens usage
1093         * lib/utimens.c (gl_futimens): Require valid fd up front, using
1094         fewer syscalls on failure later on.  Avoid compiler warning on
1095         mingw.
1096         * modules/utimens (Depends-on): Add dup2.
1097
1098         utimens: add test
1099         * modules/utimens-tests: New test.
1100         * tests/test-utimens.h: New file.
1101         * tests/test-futimens.h: Likewise.
1102         * tests/test-utimens.c: Likewise.
1103
1104         doc: mention timestamp portability issues
1105         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
1106         instead.
1107         * doc/posix-functions/utime.texi (utime): Likewise.
1108         * doc/posix-functions/utimes.texi (utimes): Likewise.
1109         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
1110         instead.
1111         * doc/posix-functions/futimens.texi (futimens): Mention utimens
1112         module.
1113         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1114         Mention weakness with symlink timestamps.
1115         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
1116         to utimensat/futimens instead.
1117         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
1118
1119         test-dup2: enhance test
1120         * tests/test-dup2.c (main): Also check AT_FDCWD.
1121
1122         test-stat-time: avoid more spurious failures
1123         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
1124         xfs; and avoid race if the two timestamps cross quantization edge.
1125
1126         relocatable: prefer 'file system' over 'filesystem'
1127         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
1128         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
1129         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
1130         * doc/relocatable.texi (Enabling Relocatability): Likewise.
1131         * lib/relocatable.c (compute_curr_prefix): Likewise.
1132
1133 2009-10-10  Jim Meyering  <meyering@redhat.com>
1134
1135         stat-time-tests: check for the usleep function
1136         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
1137
1138 2009-10-10  Bruno Haible  <bruno@clisp.org>
1139
1140         * modules/xnanosleep: Put the Link section after the Include section.
1141
1142 2009-10-09  Eric Blake  <ebb9@byu.net>
1143
1144         dup2: work around FreeBSD 6.1 bug
1145         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
1146         * doc/posix-functions/dup2.texi (dup2): Document it.
1147         Reported by Nelson H. F. Beebe and Jim Meyering.
1148
1149         test-stat-time: port to buggy NFS clients
1150         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
1151         (test_ctime): Also skip test if mtime and ctime are skewed.
1152
1153         maint: prefer 'file system' over 'filesystem'
1154         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1155         * doc/posix-functions/lstat.texi (lstat): Likewise.
1156         * lib/file-has-acl.c (file_has_acl): Likewise.
1157         * lib/fwriteerror.c [TEST]: Likewise.
1158         * tests/test-areadlink.h (test_areadlink): Likewise.
1159         * tests/test-areadlinkat-with-size.c (main): Likewise.
1160         * tests/test-areadlinkat.c (main): Likewise.
1161         * tests/test-canonicalize-lgpl.c (main): Likewise.
1162         * tests/test-canonicalize.c (main): Likewise.
1163         * tests/test-fstatat.c (main): Likewise.
1164         * tests/test-linkat.c (main): Likewise.
1165         * tests/test-lstat.h (test_lstat_func): Likewise.
1166         * tests/test-mkdir.h (test_mkdir): Likewise.
1167         * tests/test-readlink.h (test_readlink): Likewise.
1168         * tests/test-remove.c (main): Likewise.
1169         * tests/test-rename.h (test_rename): Likewise.
1170         * tests/test-renameat.c (main): Likewise.
1171         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1172         * tests/test-symlink.h (test_symlink): Likewise.
1173         * tests/test-symlinkat.c (main): Likewise.
1174         * tests/test-unlink.h (test_unlink_func): Likewise.
1175         * tests/test-unlinkat.c (main): Likewise.
1176
1177         maint: make realtime library usage explicit
1178         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
1179         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
1180         * modules/settime (Link): Likewise.
1181         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
1182
1183         test-stat-time: speed up execution
1184         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
1185         warning on mingw.
1186         (nap): New helper function.
1187         (prepare_test): Use it to reduce sleep time.
1188         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
1189         execution.
1190         * modules/stat-time-tests (configure.ac): Check for usleep.
1191
1192 2009-10-09  Jim Meyering  <meyering@redhat.com>
1193
1194         selinux-h: always use getfilecon wrappers
1195         * lib/getfilecon.c: New file.
1196         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
1197         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
1198         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
1199         (fgetfilecon): Provide a stub.
1200         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
1201         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
1202         file unconditionally.
1203         When <selinux/selinux.h> is found, arrange to use wrappers.
1204         * modules/selinux-h (Files): Add getfilecon.c.
1205         (Makefile.am): Substitute include-next-related bits
1206         into the now-always-generated selinux/selinux.h file.
1207         * doc/glibc-functions/lgetfilecon.texi: New file.
1208         * doc/glibc-functions/fgetfilecon.texi: New file.
1209         * doc/glibc-functions/getfilecon.texi: New file.
1210         * doc/glibc-functions/getfilecon-desc.texi: New file.
1211         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
1212         which to pull in the new files.
1213         * MODULES.html.sh (Misc): Add selinux-h.
1214
1215 2009-10-08  Jim Meyering  <meyering@redhat.com>
1216
1217         unistd: fix comment typo
1218         * lib/unistd.in.h (euidaccess): Fix a comment typo.
1219
1220 2009-10-08  Eric Blake  <ebb9@byu.net>
1221
1222         areadlink: use SIZE_MAX consistently
1223         * modules/areadlink (Depends-on): Add stdint.
1224         * modules/areadlink-with-size (Depends-on): Likewise.
1225         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
1226         gives NULL; drop sys/types, since unistd gives size_t; and add
1227         stdint for SIZE_MAX.
1228         (SIZE_MAX): Rely on headers.
1229         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
1230         and add stdint.
1231         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
1232         (SIZE_MAX): Likewise.
1233         (INITIAL_BUF_SIZE): Turn into enum.
1234         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
1235
1236 2009-10-08  Jim Meyering  <meyering@redhat.com>
1237
1238         areadlinkat: avoid compilation failure
1239         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
1240         Fix typo in comment.
1241
1242 2009-10-07  Eric Blake  <ebb9@byu.net>
1243
1244         areadlinkat-with-size: new module
1245         * modules/areadlinkat-with-size: New module.
1246         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
1247         * lib/areadlink.h (areadlinkat): Declare it.
1248         * MODULES.html.sh (File system functions): Mention it.
1249         * modules/areadlinkat-with-size-tests: New test.
1250         * tests/test-areadlinkat-with-size.c: New file.
1251
1252         xreadlinkat: new module
1253         * modules/xreadlinkat: New module.
1254         * lib/xreadlinkat.c (xreadlinkat): New file.
1255         * lib/xreadlink.h (xreadlinkat): Declare it.
1256         * MODULES.html.sh (File system functions): Mention it.
1257
1258         areadlinkat: new module
1259         * lib/at-func.c (FUNC_FAIL): New define.
1260         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
1261         * modules/areadlinkat: New module.
1262         * lib/linkat.c (areadlinkat): Move...
1263         * lib/areadlinkat.c (areadlinkat): ...to new file.
1264         * lib/areadlink.h (areadlinkat): Declare it.
1265         * modules/linkat (Depends-on): Add areadlinkat.
1266         * MODULES.html.sh (File system functions): Mention it.
1267         * modules/areadlinkat-tests: New test.
1268         * tests/test-areadlinkat.c: New file.
1269
1270         areadlink, areadlink-with-size: add tests
1271         * modules/areadlink-tests: New test.
1272         * modules/areadlink-with-size-tests: Likewise.
1273         * tests/test-areadlink.h: New file.
1274         * tests/test-areadlink.c: Likewise.
1275         * tests/test-areadlink-with-size.c: Likewise.
1276
1277         maint: minor cleanups
1278         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
1279         _UNUSED_PARAMETER_ instead.
1280         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
1281         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
1282         * modules/linkat-tests (Files): Distribute test-link.h.
1283
1284         openat, utimens: whitespace cleanup
1285         * lib/openat.c: Prefer space throughout, rather than mix of 8
1286         spaces vs. tabs.
1287         * lib/at-func.c: Likewise.
1288         * lib/utimens.c: Likewise.
1289
1290         openat: avoid using wrong fd
1291         * lib/openat.c (openat_permissive): Reject user's fd if saving the
1292         working directory chooses same fd.
1293         * lib/at-func.c (AT_FUNC_NAME): Likewise.
1294
1295         mkdir, mkdirat: fix cygwin 1.5.x bug
1296         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
1297         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
1298         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
1299         bug.
1300         (gl_PREREQ_MKDIR): Delete unused macro.
1301         * modules/mkdir (Files): Track file rename.
1302         (configure.ac): Update macro name.
1303         * modules/openat (Depends-on): Add mkdir.
1304         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
1305
1306         mkdir, mkdirat: add tests
1307         * modules/mkdir-tests: New test.
1308         * tests/test-mkdir.h: New file.
1309         * tests/test-mkdir.c: Likewise.
1310         * tests/test-mkdirat.c: Likewise.
1311         * modules/openat-tests (Files): Add new files.
1312         (Makefile.am): Run new test.
1313
1314 2009-10-06  Eric Blake  <ebb9@byu.net>
1315
1316         doc: tweak *at function documentation
1317         * doc/posix-functions/faccessat.texi (faccessat): Mention
1318         known issue with replacement.
1319         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
1320         * doc/posix-functions/linkat.texi (linkat): Likewise.
1321         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
1322         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
1323         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1324         * doc/posix-functions/renameat.texi (renameat): Likewise.
1325         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
1326
1327         openat: fix GNU/Hurd bug in unlinkat
1328         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
1329         broken.
1330         * doc/posix-functions/unlink.texi (unlink): Document this.
1331         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
1332
1333         fdopendir: fix GNU/Hurd bug
1334         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
1335         allowing non-directory fds.
1336         * lib/fdopendir.c (rpl_fdopendir): Work around it.
1337         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
1338         * modules/dirent (Makefile.am): Substitute it.
1339         * lib/dirent.in.h (fdopendir): Declare replacement.
1340         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
1341         * tests/test-fdopendir.c (main): Test something other than
1342         /dev/null, since on Hurd that behaves like a directory.
1343
1344         test-symlink: port to GNU/Hurd
1345         * tests/test-symlink.h (test_symlink): Relax expected errno.
1346
1347         doc: tweak more cygwin information
1348         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
1349         now compatible with glibc.
1350         * doc/posix-functions/getopt.texi (getopt): Likewise.
1351
1352         getopt-gnu: add another test
1353         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
1354         guarantee behavior relied on by m4.
1355         * tests/test-getopt.c (main): Use it.
1356         * modules/getopt-posix-tests (Depends-on): Add setenv.
1357         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
1358
1359         getopt: fix compilation on darwin
1360         * lib/getopt.in.h (includes): Leave breadcrumbs during system
1361         include.
1362         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
1363         Reported by Ludovic Courtès.
1364
1365 2009-10-06  Bruno Haible  <bruno@clisp.org>
1366
1367         * modules/size_max (Description): Discourage its use.
1368         Reported by Simon Josefsson.
1369
1370 2009-10-06  Jim Meyering  <meyering@redhat.com>
1371
1372         linkat: avoid compilation failure
1373         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
1374
1375 2009-10-05  Eric Blake  <ebb9@byu.net>
1376
1377         linkat: support Linux 2.6.17
1378         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
1379         linkat on Linux, but allow cache variable override.
1380         * lib/linkat.c (rpl_linkat): Define override.
1381         * modules/linkat (Depends-on): Add symlinkat.
1382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
1383         * modules/unistd (Makefile.am): Substitute it.
1384         * lib/unistd.in.h (linkat): Declare replacement.
1385         Reported by Pádraig Brady.
1386
1387         quotearg: port test to systems with C.UTF-8 locale
1388         * tests/test-quotearg.c (struct result_strings): Add another
1389         member, differentiating between C.ASCII and C.UTF-8 handling.
1390         (compare_strings): Add parameter.
1391         (main): Adjust all callers.
1392
1393         getopt: avoid clash with FreeBSD _getopt_internal
1394         * lib/getopt.in.h (_getopt_internal): Override the name.
1395         * lib/getopt_int.h (includes): Pick up any overrides.
1396         Reported by Reuben Thomas.
1397
1398         hash: allow C89 compilation
1399         * lib/hash.c (check_tuning): Move declaration before statement.
1400         Reported by Reuben Thomas.
1401
1402 2009-10-05  Karl Berry  <karl@gnu.org>
1403
1404         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
1405
1406 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
1407             Bruno Haible  <bruno@clisp.org>
1408
1409         * lib/uname.c (uname): Use a table-driven algorithm to compute
1410         Windows NT versions.
1411
1412 2009-10-04  Bruno Haible  <bruno@clisp.org>
1413
1414         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
1415         program_invocation_short_name.
1416         * modules/progname (configure.ac): Test for presence of
1417         program_invocation_short_name.
1418         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
1419
1420 2009-10-04  Bruno Haible  <bruno@clisp.org>
1421
1422         * lib/progname.c (set_program_name): Fix comment.
1423         Reported by Jim Meyering.
1424
1425 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
1426             Bruno Haible  <bruno@clisp.org>
1427
1428         * lib/uname.c: Include <string.h>.
1429         (uname): Do only one call to GetVersionEx in the common case.
1430
1431 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
1432             Bruno Haible  <bruno@clisp.org>
1433
1434         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
1435         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
1436         (uname): Add support for Windows CE and various non-x86 CPU types.
1437
1438 2009-10-03  Bruno Haible  <bruno@clisp.org>
1439
1440         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
1441         invocation to tests/configure.ac.
1442         Reported by Ian Beckwith <ianb@erislabs.net>.
1443
1444 2009-10-02  Eric Blake  <ebb9@byu.net>
1445
1446         fchdir: avoid compiler warning
1447         * lib/fchdir.c (canonicalize_file_name)
1448         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
1449
1450         test-open: support mingw errno values
1451         * tests/test-open.h (test_open): Relax test.
1452         * tests/test-fopen.h (test_fopen): Likewise.
1453         * tests/test-openat-safer.c (main): Likewise.
1454
1455         open: fix opening directory on mingw
1456         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
1457
1458         test-open: on GNU/Hurd, /dev/null is a directory
1459         * tests/test-fopen.h (main): Rename...
1460         (test_fopen): ...to this.  Use a guaranteed non-directory when
1461         confirming open behavior on trailing slash.
1462         * tests/test-openat-safer.c (main): Likewise.
1463         * tests/test-open.h (main): Likewise....
1464         (test_open): ...to this.
1465         * tests/test-fopen.c (main): Adjust caller.
1466         * tests/test-fopen-safer.c (main): Likewise.
1467         * tests/test-open.c (main): Likewise.
1468         * tests/test-fcntl-safer.c (main): Likewise.
1469         Reported by Samuel Thibault.
1470
1471         rename, fchdir: don't ignore chdir failure
1472         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
1473         * lib/rename.c (rpl_rename) [W32]: Likewise.
1474         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
1475         an empty destination directory if source cannot be renamed,
1476         although there is still possibility for failure.
1477         * doc/posix-functions/rename.texi (rename): Document the race.
1478         Reported by Jim Meyering.
1479
1480         maint: cleanup whitespace in recent commits
1481         * lib/rename.c (rpl_rename): Remove tabs.
1482         * tests/test-link.h (test_link): Likewise.
1483         * lib/fchdir.c (get_name): Likewise.
1484         Reported by Jim Meyering.
1485
1486 2009-10-02  Ben Pfaff  <blp@gnu.org>
1487
1488         relocatable-prog-wrapper: Add missing dependency on
1489         double-slash-root.
1490         * modules/relocatable-prog-wrapper: Add dependency.
1491         Reported by Ian Beckwith <ianb@erislabs.net>.
1492
1493 2009-10-02  Eric Blake  <ebb9@byu.net>
1494
1495         renameat: fix Solaris bugs
1496         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
1497         needed fixing.
1498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
1499         * modules/stdio (Makefile.am): Substitute it.
1500         * lib/stdio.in.h (renameat): Declare replacement.
1501         * lib/renameat.c (rpl_renameat): Implement fix.
1502
1503         renameat: new module
1504         * modules/renameat: New file.
1505         * lib/renameat.c (renameat): Likewise.
1506         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
1507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
1508         * modules/stdio (Makefile.am): Substitute them.
1509         * lib/stdio.in.h (renameat): Declare it.
1510         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1511         * doc/posix-functions/renameat.texi (renameat): Likewise.
1512         * modules/renameat-tests: New test.
1513         * tests/test-renameat.c: Likewise.
1514
1515         rename: fix mingw bugs
1516         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
1517         directory overwrite bugs.
1518
1519         rename: fix another cygwin 1.5 bug
1520         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
1521         checks.
1522         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
1523         unnecessary cygwin workarounds.  Also work around bug with moving
1524         full directory onto an empty one.
1525         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
1526
1527         rename-dest-slash: merge into rename module
1528         * modules/rename-dest-slash (Status): Mark obsolete.
1529         (Depends-on): Add rename.
1530         (Files): Let rename do it all.
1531         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
1532         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
1533         * m4/rename-dest-slash.m4: ...so this file can be deleted.
1534         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
1535         * lib/rename.c (rpl_rename): Update comments.
1536
1537         rename: fix cygwin 1.5.x bugs
1538         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
1539         * lib/rename.c (rpl_rename): Work around them.
1540         * modules/rename (Depends-on): Add same-inode.
1541
1542         rename: fix Solaris 10 bug
1543         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
1544         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
1545         was the only bug.
1546
1547         rename: fix Solaris 9 bug
1548         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
1549         on non-directory.  Avoid calling exit.
1550         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
1551         strdup.
1552         * modules/rename-tests (Depends-on): Drop lstat.
1553         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
1554         (gl_PREREQ_RENAME): Delete unused macro.
1555
1556         rename-dest-slash: fix NetBSD bug
1557         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
1558         links.
1559         * modules/rename-dest-slash (Depends-on): Add same-inode.
1560
1561         rename-tests: new test, exposes several platform bugs
1562         * modules/rename-tests: New file.
1563         * tests/test-rename.h: Likewise.
1564         * tests/test-rename.c: Likewise.
1565         * doc/posix-functions/rename.texi (rename): Improve documentation,
1566         including bugs that will eventually be fixed in gnulib.
1567
1568 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
1569
1570         * lib/uname.c: Include <stdlib.h>
1571         (uname): Assume version info is available.
1572
1573 2009-10-02  Jim Meyering  <meyering@redhat.com>
1574
1575         gnu-web-doc-update: correct --help output
1576         * build-aux/gnu-web-doc-update: Make --help output relevant.
1577
1578         gnu-web-doc-update: add standard options
1579         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
1580
1581         gnu-web-doc-update: New module.
1582         Use this script to automatically update the on-line web documentation
1583         for your GNU project at http://www.gnu.org/software/$pkg/manual/
1584         * modules/gnu-web-doc-update: New file, from coreutils.
1585         * build-aux/gnu-web-doc-update: New script.
1586
1587 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
1588
1589         link: LoadLibrary is not needed.
1590         * lib/link.c: Use GetModuleHandle.
1591
1592 2009-10-01  Eric Blake  <ebb9@byu.net>
1593
1594         getopt: bump serial number
1595         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
1596         change.
1597
1598         tests: tighten link, rmdir, and remove tests
1599         * tests/test-link.h (includes): No need to use <config.h> here.
1600         Clean up if directory hard link was created, otherwise test for
1601         trailing '.'.
1602         * tests/test-linkat.c (main): Simplify.
1603         * tests/test-remove.c (main): Enhance test for trailing '.'.
1604         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1605
1606 2009-10-01  Jim Meyering  <meyering@redhat.com>
1607
1608         maint.mk: requiring "make major" was annoying, for a "minor" release.
1609         What is intended is "stable", to contrast with alpha and beta,
1610         so require "make stable", not "make major".
1611         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
1612         (get_tool_versions): Likewise.
1613         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
1614
1615 2009-09-30  Ben Pfaff  <blp@gnu.org>
1616
1617         Fix broken build of replacement for Windows tmpfile().
1618         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
1619         flags argument added along with the 'mkostemp' module.
1620
1621 2009-09-28  Bruno Haible  <bruno@clisp.org>
1622
1623         Avoid identifier clash with POSIX function 'remove' defined as a macro.
1624         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
1625         to 'remove_elt'.
1626         (gl_list_remove): Update.
1627         * lib/gl_list.c (gl_list_remove): Update.
1628         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
1629         to 'remove_elt'.
1630         (gl_oset_remove): Update.
1631         * lib/gl_list.c (gl_oset_remove): Update.
1632         Reported by Eric Blake.
1633
1634 2009-09-28  Eric Blake  <ebb9@byu.net>
1635
1636         doc: mention yet more cygwin 1.7 status
1637         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
1638         cygwin.
1639         * doc/glibc-functions/execvpe.texi (execvpe): New file.
1640         * doc/gnulib.texi (Glibc unistd.h): Mention it.
1641
1642         argp: fix test failure
1643         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
1644         that are not upper-case.  Pass correct range to tolower.
1645
1646 2009-09-27  Jim Meyering  <meyering@redhat.com>
1647
1648         test-yesno: work around sparc-dash here-document infelicity
1649         Without this change, the literal \177 byte in a here document
1650         would make dash 0.5.5.1-3 access uninitialized memory.
1651         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
1652         Instead, use a marker, "@", and filter through tr to create the desired
1653         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
1654
1655 2009-09-27  Bruno Haible  <bruno@clisp.org>
1656
1657         Disable untested support for new flavours of ACLs on AIX.
1658         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
1659         progress.
1660         * lib/set-mode-acl.c (qset_acl): Likewise.
1661
1662 2008-12-07  Bruno Haible  <bruno@clisp.org>
1663
1664         Add support for new flavours of ACLs on AIX. (Untested.)
1665         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
1666         (file_has_acl): Add support for newer AIX.
1667         * lib/set-mode-acl.c (qset_acl): Likewise.
1668         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
1669         Rainer Tammer <tammer@tammer.net>.
1670
1671 2009-09-26  Eric Blake  <ebb9@byu.net>
1672
1673         argp: fix compilation of getopt
1674         * lib/getopt.in.h (includes): Use different guard than glibc.
1675         Reported by Sergey Poznyakoff.
1676
1677         doc: mention more cygwin 1.7 status
1678         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
1679         bug.
1680         * doc/posix-functions/execl.texi (execl): Likewise.
1681         * doc/posix-functions/execle.texi (execle): Likewise.
1682         * doc/posix-functions/execlp.texi (execlp): Likewise.
1683         * doc/posix-functions/execv.texi (execv): Likewise.
1684         * doc/posix-functions/execve.texi (execve): Likewise.
1685         * doc/posix-functions/execvp.texi (execvp): Likewise.
1686         * doc/glibc-functions/canonicalize_file_name.texi
1687         (canonicalize_file_name): Cygwin 1.7 now provides this.
1688         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
1689         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
1690         on AT_SYMLINK_NOFOLLOW.
1691
1692 2009-09-24  Eric Blake  <ebb9@byu.net>
1693
1694         test-linkat: make test more robust
1695         * tests/test-linkat.c (main): Avoid collision with EEXIST.
1696
1697         getopt: fix inclusion guards for cygwin
1698         * modules/getopt-posix (Depends-on): Add include-next.
1699         (Makefile.am): Substitute more items in replacement header.
1700         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
1701         <getopt.h>.
1702         * lib/getopt.in.h (includes): Use split inclusion guard, and
1703         prefer <getopt.h> over include <unistd.h> when one is present.
1704         (option): Also override name of 'struct option'.
1705
1706         same-inode: revert prior change; it is not yet ready
1707         * NEWS: Undo mention of this change.
1708         * lib/same-inode.h (same-inode.h): Undo tri-state change.
1709         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
1710         * lib/cycle-check.c (cycle_check): Likewise.
1711         * lib/same.c (same_name): Likewise.
1712         * lib/at-func2.c (at_func2): Likewise.
1713
1714 2009-09-23  Eric Blake  <ebb9@byu.net>
1715
1716         linkat: new module
1717         * modules/linkat: New file.
1718         * lib/at-func2.c (at_func2): Likewise.
1719         * lib/linkat.c (linkat): Likewise.
1720         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
1721         * lib/openat-priv.h (at_func2): Add declaration.
1722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
1723         * modules/unistd (Makefile.am): Substitute them.
1724         * lib/unistd.in.h (linkat): Declare it.
1725         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1726         * doc/posix-functions/linkat.texi (linkat): Likewise.
1727         * doc/posix-functions/link.texi (link): Tweak wording.
1728         * tests/test-link.c (main): Move guts...
1729         * tests/test-link.h (test_link): ...into new file.
1730         * modules/linkat-tests: New test.
1731         * tests/test-linkat.c: Likewise.
1732         * modules/link-tests (Files): Ship new file.
1733         (Depends-on): Add stdbool.
1734
1735         dirname: add library-safe mdir_name
1736         * lib/dirname.h (mdir_name): New prototype.
1737         * lib/dirname.c (dir_name): Move guts...
1738         (mdir_name): ...to new function that avoids xalloc_die.
1739
1740         fchdir: another mingw fix
1741         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
1742         * lib/fchdir.c (get_name): New helper method; skips canonicalize
1743         on mingw (where it has not yet been ported), and make it optional
1744         elsewhere.
1745         (_gl_register_fd): Use it.
1746
1747         same-inode: make SAME_INODE tri-state, to port to mingw
1748         * NEWS: Mention this change.
1749         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
1750         st_ino always being 0.
1751         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
1752         * lib/cycle-check.c (cycle_check): Likewise.
1753         * lib/same.c (same_name): Likewise.
1754
1755         lstat: avoid mingw compilation error
1756         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
1757         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
1758         lstat ourselves.
1759         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
1760         was adequate.
1761         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
1762         the checks for lstat.
1763         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
1764
1765         link: fix test failure on Solaris 9
1766         * lib/link.c (rpl_link): Don't assume link will catch bogus
1767         trailing slash on source.
1768
1769         test-symlinkat: enhance test
1770         * tests/test-readlink.c (main): Move guts...
1771         * tests/test-readlink.h (test_readlink): ...into new file.
1772         * tests/test-symlink.c (main): Move guts...
1773         * tests/test-symlink.h (test_symlink): ...into new file.
1774         * tests/test-symlinkat.c (main): Use new files for further
1775         coverage.
1776         (do_symlink, do_readlink): New helper functions.
1777         * modules/symlink-tests (Files): Ship new file.
1778         (Depends-on): Add stdbool.
1779         * modules/readlink-tests (Files): Ship new file.
1780         (Depends-on): Add stdbool.
1781         * modules/symlinkat-tests (Files): Use new files.
1782
1783 2009-09-23  Eric Blake  <ebb9@byu.net>
1784
1785         readlink: document portability issue with symlink length
1786         * doc/posix-functions/lstat.texi (lstat): Mention that some file
1787         systems have bogus st_size on symlinks, and mention the
1788         areadlink-with-size module.
1789         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1790         * doc/posix-functions/readlink.texi (readlink): Mention the
1791         areadlink module, and ERANGE failure.
1792         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
1793         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
1794
1795         readlink: fix Solaris 9 bug with trailing slash
1796         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
1797         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
1798         * doc/posix-functions/readlink.texi (readlink): Document this.
1799         * modules/readlink-tests: New test.
1800         * tests/test-readlink.c: Likewise.
1801
1802         readlink: fix cygwin 1.5.x bug with return type
1803         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
1804         * lib/unistd.in.h (readlink): Use ssize_t.
1805         * lib/readlink.c (readlink): Likewise.
1806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
1807         * modules/unistd (Makefile.am): Substitute it.
1808         * lib/unistd.in.h (readlink): Declare replacement.
1809         * doc/posix-functions/readlink.texi (readlink): Document this.
1810
1811         symlink: use throughout gnulib
1812         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
1813         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
1814         symlink is not used.
1815         * modules/symlinkat (Depends-on): Add symlink.
1816         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
1817         * modules/canonicalize-tests (Depends-on): Likewise.
1818         * modules/lstat-tests (Depends-on): Likewise.
1819         * modules/openat-tests (Depends-on): Likewise.
1820         * modules/remove-tests (Depends-on): Likewise.
1821         * modules/rmdir-tests (Depends-on): Likewise.
1822         * modules/unlink-tests (Depends-on): Likewise.
1823         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
1824         * tests/test-canonicalize.c (symlink): Likewise.
1825         * tests/test-fstatat.c (symlink): Likewise.
1826         * tests/test-lstat.c (symlink): Likewise.
1827         * tests/test-remove.c (symlink): Likewise.
1828         * tests/test-rmdir.c (symlink): Likewise.
1829         * tests/test-unlink.c (symlink): Likewise.
1830         * tests/test-unlinkat.c (symlink): Likewise.
1831
1832         symlink: new module, for Solaris 9 bug
1833         * modules/symlink: New file.
1834         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
1835         * lib/symlink.c: Likewise.
1836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
1837         * modules/unistd (Makefile.am): Substitute them.
1838         * lib/unistd.in.h (symlink): Declare replacement.
1839         * MODULES.html.sh (File system functions): Mention it.
1840         * doc/posix-functions/symlink.texi (symlink): Likewise.
1841         * modules/symlink-tests: New test.
1842         * tests/test-symlink.c: Likewise.
1843
1844 2009-09-23  Bruno Haible  <bruno@clisp.org>
1845
1846         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
1847         when needed.
1848         Test case: gnulib-tool --import --with-tests atexit inttypes.
1849         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
1850
1851 2009-09-23  Bruno Haible  <bruno@clisp.org>
1852
1853         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
1854         subcommand, not in a subshell.
1855
1856 2009-09-22  Eric Blake  <ebb9@byu.net>
1857
1858         unistd: sort replacement declarations
1859         * lib/unistd.in.h: Sort declarations.
1860
1861         open, openat: minor optimization
1862         * lib/open.c (open): If open succeeded, len is non-zero.
1863         * lib/openat.c (rpl_openat): Likewise.
1864
1865         link-follow: ensure correct result
1866         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
1867         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
1868         distinguish between possible failures.
1869
1870 2009-09-21  Eric Blake  <ebb9@byu.net>
1871
1872         fts: avoid compiler warning
1873         * lib/fts.c (dirent_inode_sort_may_be_useful)
1874         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
1875
1876 2009-09-19  Bruno Haible  <bruno@clisp.org>
1877
1878         * lib/progreloc.c (canonicalize_file_name): New declaration.
1879
1880 2009-09-19  Eric Blake  <ebb9@byu.net>
1881
1882         link: fix quoting
1883         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
1884
1885         openat: fix openat bugs on Solaris 9
1886         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
1887         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
1888         * modules/openat (Depends-on): Add open.
1889         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
1890         * modules/fcntl-h (Makefile.am): Substitute it.
1891         * lib/fcntl.in.h (openat): Declare replacement.
1892         * doc/posix-functions/openat.texi (openat): Document this.
1893
1894         openat: move fstatat and unlinkat into correct files
1895         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
1896         compiled.
1897         * lib/openat.c (fstatat, unlinkat): Move...
1898         * lib/fstatat.c (fstatat): ...into correct files.
1899         * lib/unlinkat.c (unlinkat): Likewise.
1900
1901         openat: fix unlinkat bugs on Solaris 9
1902         * lib/unlinkat.c (unlinkat): New file.
1903         * modules/openat (Depends-on): Add unlink.
1904         (Files): Distribute it.
1905         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
1906         trailing slash behavior is broken.
1907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
1908         * modules/unistd (Makefile.am): Substitute it.
1909         * lib/unistd.in.h (unlinkat): Declare replacement.
1910         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
1911
1912         openat: fix fstatat bugs on Solaris 9
1913         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
1914         stat.
1915         * doc/posix-functions/fstatat.texi (fstatat): Document this.
1916
1917         test-unlinkat: enhance test, to expose Solaris 9 bug
1918         * tests/test-unlink.c (main): Factor guts...
1919         * tests/test-unlink.h (test_rmdir_func): ...into new file.
1920         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
1921         * tests/test-rmdir.c (main): Adjust caller.
1922         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
1923         (unlinker): New helper function.
1924         (rmdirat): Enhance check.
1925         * modules/rmdir-tests (Depends-on): Add stdbool.
1926         * modules/unlink-tests (Depends-on): Likewise.
1927         (Files): Add test-unlink.h.
1928         * modules/openat-tests (Files): Likewise.
1929         (Depends-on): Add unlinkdir.
1930
1931         test-fstatat: new test, to expose Solaris 9 bugs
1932         * tests/test-stat.c (main): Factor guts...
1933         * tests/test-stat.h (test_stat_func): ...into new file.
1934         * tests/test-lstat.c (main): Factor guts...
1935         * tests/test-lstat.h (test_lstat_func): ...into new file.
1936         * tests/test-fstatat.c: New file.
1937         * modules/stat-tests (Files): Add test-stat.h.
1938         * modules/lstat-tests (Files): Add test-lstat.h.
1939         (Depends-on): Add stdbool.
1940         * modules/openat-tests (Depends-on): Add pathmax.
1941         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
1942         (Makefile.am): Run new test.
1943
1944         remove: new module, for mingw and Solaris 9 bugs
1945         * modules/remove: New file.
1946         * lib/remove.c: Likewise.
1947         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
1948         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
1949         * modules/stdio (Makefile.am): Use them.
1950         * lib/stdio.in.h (remove): Declare replacement.
1951         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1952         * doc/posix-functions/remove.texi (remove): Likewise.
1953         * modules/remove-tests: New test.
1954         * tests/test-remove.c: Likewise.
1955
1956         unlink: new module, for Solaris 9 bug
1957         * modules/unlink: New file.
1958         * lib/unlink.c: Likewise.
1959         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
1961         * modules/unistd (Makefile.am): Use them.
1962         * lib/unistd.in.h (stat): Declare replacement.
1963         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1964         * doc/posix-functions/unlink.texi (unlink): Likewise.
1965         * modules/unlink-tests: New test.
1966         * tests/test-unlink.c: Likewise.
1967
1968         lstat: fix Solaris 9 bug
1969         * lib/lstat.c (lstat): Also check for trailing slash on
1970         non-symlink, non-directories.  Use stat module to simplify logic.
1971         * doc/posix-functions/lstat.texi (lstat): Document it.
1972         * modules/lstat-tests (Depends-on): Add errno, same-inode.
1973         (configure.ac): Check for symlink.
1974         * tests/test-lstat.c (main): Add more tests.
1975
1976         stat: add as dependency to other modules
1977         * modules/chown (Depends-on): Add stat.
1978         * modules/euidaccess (Depends-on): Likewise.
1979         * modules/fchdir (Depends-on): Likewise.
1980         * modules/isdir (Depends-on): Likewise.
1981         * modules/link (Depends-on): Likewise.
1982         * modules/lstat (Depends-on): Likewise.
1983         * modules/mkdir-p (Depends-on): Likewise.
1984         * modules/modechange (Depends-on): Likewise.
1985         * modules/open (Depends-on): Likewise.
1986         * modules/readlink (Depends-on): Likewise.
1987         * modules/same (Depends-on): Likewise.
1988
1989         stat: fix Solaris 9 bug
1990         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
1991         slash.
1992         * lib/stat.c (rpl_stat): Work around it.
1993         * doc/posix-functions/stat.texi (stat): Update documentation.
1994
1995         stat: new module, for mingw bug
1996         * modules/stat: New file.
1997         * lib/stat.c: Likewise.
1998         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1999         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2000         * modules/sys_stat (Makefile.am): Use them.
2001         * lib/sys_stat.in.h (stat): Declare replacement.
2002         * lib/openat.c (fstatat): Deal with lstat and stat being function
2003         macros.
2004         * modules/openat (Depends-on): Add inline.
2005         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2006         * doc/posix-functions/stat.texi (stat): Likewise.
2007         * modules/stat-tests: New test.
2008         * tests/test-stat.c: Likewise.
2009
2010 2009-09-19  Jim Meyering  <meyering@redhat.com>
2011
2012         syntax-check: detect unnecessary inclusion of canonicalize.h
2013         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
2014
2015 2009-09-19  Eric Blake  <ebb9@byu.net>
2016
2017         canonicalize-lgpl: adjust clients to use correct header
2018         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2019         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
2020         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
2021         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
2022         * lib/progreloc.c (includes): Likewise.
2023
2024 2009-09-19  Jim Meyering  <meyering@redhat.com>
2025
2026         test-posixtm.c: correct a comment
2027         * tests/test-posixtm.c: Correct first-line comment.
2028         Spotted by Eric Blake.
2029
2030 2009-09-16  Jim Meyering  <meyering@redhat.com>
2031
2032         posixtm-tests: make T const-correct; add a test case
2033         * tests/test-posixtm.c (T): Declare const.
2034         Add a test for -(2^31+1).
2035         Remove useless can-succeed-only-in-2002 test.
2036
2037         posixtm-tests: adjust the sole failing test
2038         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
2039         expected output matches what mktime now produces.  Cross-checked via
2040         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
2041
2042         posixtm: move #ifdef'd tests into a new module
2043         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
2044         * tests/test-posixtm.c: ... this new file.
2045         * modules/posixtm-tests: New module.
2046
2047 2009-09-19  Eric Blake  <ebb9@byu.net>
2048
2049         openat: simplify use of at-func.c
2050         * lib/at-func.c (includes): Include prerequisites here, to
2051         simplify requirements on client files.
2052         * lib/openat-priv.h: Add double-inclusion guard.
2053         * lib/faccessat.c (includes): Simplify.
2054         * lib/fchmodat.c (includes): Likewise.
2055         * lib/fchownat.c (includes): Likewise.
2056         * lib/mkdirat.c (includes): Likewise.
2057         * lib/mkfifoat.c (includes): Likewise.
2058         * lib/symlinkat.c (includes): Likewise.
2059
2060         openat: allow return of fd 0
2061         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
2062         * modules/save-cwd (Depends-on): Replace fcntl-safer with
2063         unistd-safer.
2064         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
2065         <fcntl.h>; this module does not leak fds.
2066         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
2067         must be allowed to return 0, leaving openat_safer to add the
2068         safety.
2069         (openat_permissive): Avoid writing to just-opened fd 2 if
2070         restoring the current directory fails.
2071         * lib/openat-die.c (openat_restore_fail): Add comment.
2072         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
2073         (save_cwd): Guarantee safe fd, but without use of open_safer.
2074         * tests/test-openat.c: New test.
2075         * modules/openat-tests (Files, Makefile.am): Distribute and build
2076         new file.
2077
2078         relocatable-prog-wrapper: fix build
2079         * modules/relocatable-prog-wrapper (Files): Update name of
2080         canonicalize m4 file, broken on 2009-09-17.
2081         Reported by emad hajjar <aleppos@hotmail.com>.
2082
2083 2009-09-19  Bruno Haible  <bruno@clisp.org>
2084
2085         * lib/safe-alloc.h: Use the standard header with GPL copyright.
2086         * lib/safe-alloc.c: Likewise.
2087         Reported by Ian Beckwith <ianb@erislabs.net>.
2088
2089 2009-09-18  Bruno Haible  <bruno@clisp.org>
2090
2091         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
2092         Reported by <erobles@sensacd.com.mx>.
2093
2094 2009-09-17  Eric Blake  <ebb9@byu.net>
2095
2096         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
2097         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
2098         slashes when checking if last component is missing.
2099         * tests/test-canonicalize.c (main): Test this.
2100
2101         canonicalize, canonicalize-lgpl: honor // if distinct from /
2102         * modules/canonicalize (Files): Add double-slash-root.m4.
2103         * modules/canonicalize-lgpl (Files): Likewise.
2104         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2105         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
2106         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
2107         fallback definition.
2108         (canonicalize_filename_mode): Use it to protect //.
2109         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
2110         (__realpath): Likewise.
2111         * tests/test-canonicalize.c (main): Test this.
2112         * tests/test-canonicalize-lgpl.c (main): Likewise.
2113         * modules/canonicalize-tests (Depends-on): Add same-inode.
2114         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2115
2116         canonicalize-lgpl: fix glibc bug with trailing slash
2117         * m4/canonicalize-lgpl.m4: Move contents...
2118         * m4/canonicalize.m4: ...here.
2119         (gl_CANONICALIZE_LGPL): Factor realpath check...
2120         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
2121         glibc 2.3.5 bug, fixed 2005-04-27.
2122         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
2123         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
2124         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
2125         * modules/canonicalize-lgpl (Files): Manage file rename.
2126         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2127         * modules/stdlib (Makefile.am): Substitute witness.
2128         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
2129         is needed.
2130         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
2131         replacement is required.
2132         * lib/canonicalize.c (canonicalize_file_name): Likewise.
2133         * doc/glibc-functions/canonicalize_file_name.texi
2134         (canonicalize_file_name): Document this.
2135         * doc/posix-functions/realpath.texi (realpath): Likewise.
2136
2137         canonicalize-lgpl: reject non-directory with trailing slash
2138         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
2139         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
2140         catches failures in glibc 2.3.5.
2141         * tests/test-canonicalize.c (main): Likewise.
2142
2143         canonicalize-lgpl: use native realpath if it works
2144         * lib/canonicalize-lgpl.c (realpath): Guard with
2145         FUNC_REALPATH_WORKS.
2146         * lib/stdlib.in.h (realpath): Make declaration optional based on
2147         HAVE_REALPATH.
2148         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
2149         native realpath works.
2150         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2151         * modules/stdlib (Makefile.am): Substitute witness.
2152
2153         canonicalize, canonicalize-lgpl: use <stdlib.h>
2154         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
2155         (Include): Mention <stdlib.h>.
2156         (configure.ac): Mention functions we provide.
2157         * modules/canonicalize (configure.ac): Likewise.
2158         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
2159         realpath if canonicalize_file_name is missing.
2160         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
2161         * modules/stdlib (Makefile.am): Substitute witnesses.
2162         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
2163         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
2164         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
2165         * NEWS: Document this.
2166         * doc/glibc-functions/canonicalize_file_name.texi
2167         (canonicalize_file_name): Likewise.
2168         * doc/posix-functions/realpath.texi (realpath): Likewise.
2169         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
2170
2171         test-canonicalize: consolidate into single C program
2172         * tests/test-canonicalize.sh: Delete; move setup into...
2173         * tests/test-canonicalize.c (main): ...the program, making it
2174         easier to run in debugger.  Add some tests.
2175         * modules/canonicalize-tests (Files): Remove unused file.
2176         (Depends-on): Add progname.
2177         (configure.ac, Makefile.am): Simplify.
2178
2179         test-canonicalize-lgpl: consolidate into single C program
2180         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
2181         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
2182         easier to run in debugger.  Add some tests.
2183         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
2184         (configure.ac, Makefile.am): Simplify.
2185
2186         canonicalize: avoid resolvepath
2187         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
2188         unnecessary checks.
2189         * lib/canonicalize.c (includes): Simplify.
2190         (canonicalize_file_name): Drop resolvepath implementation.
2191         * modules/canonicalize (Depends-on): Drop filenamecat.
2192
2193         canonicalize: don't lose errno
2194         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
2195         over calls to free.
2196
2197         canonicalize: simplify errno handling
2198         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
2199         assignment.
2200
2201         canonicalize, canonicalize-lgpl: update module dependencies
2202         * modules/canonicalize (Depends-on): Add extensions, lstat,
2203         pathmax, stdlib.
2204         (Files): Drop pathmax.h.
2205         (configure.ac): Adjust macro name.
2206         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
2207         lstat, stdlib, sys_stat.
2208         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
2209         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
2210         extensions.
2211         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
2212         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
2213         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
2214         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
2215         declaration, if available.
2216         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
2217         we can rely on the readlink module.
2218         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
2219         (includes): Use <unistd.h> unconditionally.
2220
2221 2009-09-17  Eric Blake  <ebb9@byu.net>
2222
2223         maint: make Include sections of modules consistent
2224         * modules/alloca: Use only header name; no need to list #include.
2225         * modules/alloca-opt: Likewise.
2226         * modules/arpa_inet: Likewise.
2227         * modules/canon-host: Likewise.
2228         * modules/configmake: Likewise.
2229         * modules/dirent: Likewise.
2230         * modules/eealloc: Likewise.
2231         * modules/environ: Likewise.
2232         * modules/fchdir: Likewise.
2233         * modules/fcntl: Likewise.
2234         * modules/fcntl-h: Likewise.
2235         * modules/gethrxtime: Likewise.
2236         * modules/gettime: Likewise.
2237         * modules/ignore-value: Likewise.
2238         * modules/inet_ntop: Likewise.
2239         * modules/inet_pton: Likewise.
2240         * modules/inttypes: Likewise.
2241         * modules/isnand-nolibm: Likewise.
2242         * modules/isnanf-nolibm: Likewise.
2243         * modules/mbchar: Likewise.
2244         * modules/mbfile: Likewise.
2245         * modules/mbiter: Likewise.
2246         * modules/mbuiter: Likewise.
2247         * modules/netdb: Likewise.
2248         * modules/netinet_in: Likewise.
2249         * modules/nproc: Likewise.
2250         * modules/pagealign_alloc: Likewise.
2251         * modules/poll: Likewise.
2252         * modules/printf-frexp: Likewise.
2253         * modules/pthread: Likewise.
2254         * modules/putenv: Likewise.
2255         * modules/random_r: Likewise.
2256         * modules/relocatable-prog: Likewise.
2257         * modules/search: Likewise.
2258         * modules/select: Likewise.
2259         * modules/selinux-h: Likewise.
2260         * modules/settime: Likewise.
2261         * modules/signal: Likewise.
2262         * modules/size_max: Likewise.
2263         * modules/socklen: Likewise.
2264         * modules/ssize_t: Likewise.
2265         * modules/stdarg: Likewise.
2266         * modules/stdbool: Likewise.
2267         * modules/stddef: Likewise.
2268         * modules/stdint: Likewise.
2269         * modules/stdio: Likewise.
2270         * modules/stdlib: Likewise.
2271         * modules/string: Likewise.
2272         * modules/strings: Likewise.
2273         * modules/sys_file: Likewise.
2274         * modules/sys_ioctl: Likewise.
2275         * modules/sys_select: Likewise.
2276         * modules/sys_socket: Likewise.
2277         * modules/sys_stat: Likewise.
2278         * modules/sys_time: Likewise.
2279         * modules/sys_times: Likewise.
2280         * modules/sys_utsname: Likewise.
2281         * modules/sys_wait: Likewise.
2282         * modules/sysexits: Likewise.
2283         * modules/time: Likewise.
2284         * modules/times: Likewise.
2285         * modules/tmpfile: Likewise.
2286         * modules/trim: Likewise.
2287         * modules/unistd: Likewise.
2288         * modules/wchar: Likewise.
2289         * modules/wctype: Likewise.
2290
2291 2009-09-17  Bruno Haible  <bruno@clisp.org>
2292
2293         Make getdate.y compile on QNX and NetBSD 5 / i386.
2294         * m4/getdate.m4 (gl_GETDATE): Conditionally define
2295         TIME_T_FITS_IN_LONG_INT.
2296         * lib/getdate.y (long_time_t): New type.
2297         (relative_time): Change type of 'seconds' field to long_time_t.
2298         (get_date): Update types of local variables. Check against overflow
2299         during conversion from long_time_t to time_t.
2300         Reported by Matt Kraai <kraai@ftbfs.org>
2301         and Hasso Tepper <hasso@netbsd.org>.
2302
2303 2009-09-17  Bruno Haible  <bruno@clisp.org>
2304
2305         * modules/COPYING: Update copyright years.
2306         * modules/README: Likeiwse.
2307         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
2308         Reported by Ian Beckwith <ianb@erislabs.net>.
2309
2310 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2311
2312         * users.txt: Update references for gnuit package.
2313
2314 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
2315
2316         * m4/getdelim.m4: Fix typo in copyright line.
2317
2318 2009-09-17  Bruno Haible  <bruno@clisp.org>
2319
2320         * lib/atoll.c: Use the standard header with GPL copyright.
2321         * lib/argz.in.h: Likewise.
2322         * lib/glob.c: Likewise.
2323         * lib/glob-libc.h: Likewise.
2324         * lib/random_r.c: Likewise.
2325         * lib/siglist.h: Likewise.
2326         * lib/strsignal.c: Likewise.
2327         Reported by Ian Beckwith <ianb@erislabs.net>.
2328
2329 2009-09-17  Eric Blake  <ebb9@byu.net>
2330
2331         rmdir: ensure correct dependency order
2332         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
2333
2334 2009-09-17  Bruno Haible  <bruno@clisp.org>
2335
2336         Disable assertion that fails on NetBSD 5 / i386.
2337         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
2338         Reported by Sam Steingold <sds@gnu.org>
2339         and Hasso Tepper <hasso@netbsd.org>.
2340
2341 2009-09-16  Eric Blake  <ebb9@byu.net>
2342
2343         unlinkdir: port to mingw
2344         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
2345         on which no one can unlink a directory.
2346
2347         stdlib: sort witness names
2348         * modules/stdlib (Makefile.am): Sort replacements.
2349         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
2350         * lib/stdlib.in.h: Likewise.
2351
2352         parse-duration-tests: avoid link failure
2353         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
2354         LIBINTL.
2355         Reported by Tom G. Christensen.
2356
2357         openat-tests: ensure unlinkat behaves like rmdir
2358         * tests/test-rmdir.c (main): Factor guts...
2359         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
2360         * modules/rmdir-tests (Files): Ship new file.
2361         * modules/openat-tests: New test.
2362         * tests/test-unlinkat.c: Likewise.
2363
2364         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
2365         * modules/rmdir-errno (Status, Notice): Now obsolete.
2366
2367         rmdir: work around cygwin 1.5.x and mingw bugs
2368         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
2369         * lib/rmdir.c (rmdir): Work around it.
2370         * modules/rmdir (Status, Notice): No longer obsolete.
2371         (Files): Add dos.m4.
2372         (Depends-on): Add unistd.
2373         (configure.ac): Set witnesses.
2374         (License): Relax to LGPLv2+.
2375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
2376         * modules/unistd (Makefile.am): Substitute witnesses.
2377         * lib/unistd.in.h (rmdir): Declare replacement.
2378         * doc/posix-functions/rmdir.texi (rmdir): Document this.
2379         * modules/rmdir-tests: New tests.
2380         * tests/test-rmdir.c: Likewise.
2381
2382 2009-09-15  Eric Blake  <ebb9@byu.net>
2383
2384         fchdir: improve use of replacement functions
2385         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
2386         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
2387         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
2388         REPLACE_CLOSEDIR.
2389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
2390         * modules/sys_stat (Makefile.am): Substitute correct witness.
2391         * modules/dirent (Makefile.am): Likewise.
2392         * modules/unistd (Makefile.am): Likewise.
2393         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
2394         * lib/unistd.in.h (dup): Likewise.
2395         * lib/sys_stat.in.h (fstat): Likewise.
2396
2397         maint: ignore gnulib-tool temp files
2398         * .gitignore: Ignore files created during gnulib-tool --test.
2399
2400 2009-09-13  Jim Meyering  <meyering@redhat.com>
2401
2402         posixtm: don't reject a time that specify "60" as the number of seconds
2403         * lib/posixtm.c (posixtime): The code to reject invalid dates
2404         would also reject a time specified with the .60 suffix.
2405         But POSIX allows that, in order to accommodate leap seconds.
2406         So don't reject it.
2407         (main): Adjust tests accordingly.
2408         * modules/posixtm (Depends-on): Add stpcpy.
2409
2410 2009-09-11  Jim Meyering  <meyering@redhat.com>
2411
2412         announce-gen: include [$release_type] in emitted Subject:
2413         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
2414         e.g., [stable] in the emitted Subject: line.
2415
2416 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2417
2418         Remove obsolete macros from several modules.
2419         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
2420         obsolete Autoconf macros with their modern counterparts.
2421         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
2422         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
2423         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2424         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
2425         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
2426         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2427         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
2428         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
2429         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
2430         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
2431         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2432         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2433         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2434         * m4/sockets.m4 (gl_SOCKETS): Likewise.
2435         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
2436         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
2437         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
2438         * m4/time_r.m4 (gl_TIME_R): Likewise.
2439         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
2440         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
2441         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
2442
2443         Fix copyright header in build-aux scripts.
2444         * build-aux/git-version-gen: Fix copyright header to match GPLv3
2445         recommendation.
2446         * build-aux/ncftpput-ftp: Likewise.
2447         * build-aux/update-copyright: Likewise.
2448
2449 2009-09-09  Eric Blake  <ebb9@byu.net>
2450
2451         test-link: allow Linux choice of errno
2452         * tests/test-link.c (main): Relax test for alternate error.
2453
2454         strndup: fix improper m4 caching
2455         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
2456         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
2457         (gl_PREREQ_STRNDUP): Delete.
2458         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
2459         * modules/string (Makefile.am): Substitute it.
2460         * lib/string.in.h (strndup): Modernize prototype.
2461
2462         getcwd: port to mingw
2463         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
2464         different from the POSIX assumptions made throughout the getcwd
2465         module; fortunately, the mingw getcwd does not need replacement.
2466         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
2467         * modules/getcwd-tests: New test.
2468         * tests/test-getcwd.c: Likewise.
2469
2470         link: fix platform bugs
2471         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
2472         * lib/link.c (link): Work around them.  Fix related mingw bug.
2473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
2474         * modules/unistd (Makefile.am): Substitute it.
2475         * lib/unistd.in.h (link): Declare replacement.
2476         * doc/posix-functions/link.texi (link): Document this.
2477         * modules/link (Depends-on): Add strdup-posix, sys_stat.
2478
2479         test-link: consolidate into single C program, test more cases
2480         * tests/test-link.sh: Delete.
2481         * tests/test-link.c: Test more error conditions.  Exposes bugs on
2482         at least Cygwin and Solaris.
2483         * modules/link-tests (Files): Remove unused file.
2484         (Depends-on): Add errno, sys_stat.
2485         (Makefile.am): Simplify.
2486
2487 2009-09-08  Bruno Haible  <bruno@clisp.org>
2488
2489         Work around towlower, towupper bug on mingw.
2490         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
2491         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
2492         * doc/posix-functions/towlower.texi: Mention the mingw bug.
2493         * doc/posix-functions/towupper.texi: Likewise.
2494         Reported by Eric Blake.
2495
2496 2009-09-08  Jim Meyering  <meyering@redhat.com>
2497
2498         build: don't try to run autoheader if we don't use it
2499         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
2500         is not used in configure.ac.
2501
2502 2009-09-08  Eric Blake  <ebb9@byu.net>
2503
2504         euidaccess: fix compilation error
2505         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
2506
2507         rawmemchr: relax license
2508         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
2509         okay.
2510         Reported by Jim Meyering.
2511
2512         mkfifoat: new module
2513         * modules/mkfifoat: New file.
2514         * lib/mkfifoat.c: Likewise.
2515         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
2516         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2517         * modules/sys_stat (Makefile.am): Use them.
2518         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
2519         * MODULES.html.sh (File system functions): Mention module.
2520         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
2521         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
2522         * modules/mkfifoat-tests: New test.
2523         * tests/test-mkfifoat.c: Likewise.
2524
2525         strchrnul: relax license
2526         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
2527         okay.
2528         Reported by Jim Meyering.
2529
2530 2009-09-08  Eric Blake  <ebb9@byu.net>
2531
2532         fstatat: fix compilation on Solaris
2533         * lib/fstatat.c (includes): Add fcntl.h.
2534         Reported by Pádraig Brady.
2535
2536 2009-09-07  Eric Blake  <ebb9@byu.net>
2537
2538         rename: modernize replacement
2539         * modules/rename (Depends-on): Add stdio.
2540         (configure.ac): Declare witness.
2541         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
2542         stdio take care of replacement.
2543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
2544         * modules/stdio (Makefile.am): Substitute them.
2545         * lib/stdio.in.h (rename): Declare replacement.
2546         * lib/rename.c (includes): Allow cross-compilation to non-windows
2547         machines.
2548         * doc/posix-functions/rename.texi (rename): Improve
2549         documentation.
2550
2551         stdio: sort witness names
2552         * modules/stdio (Makefile.am): Sort replacements.
2553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
2554         * lib/stdio.in.h: Likewise.
2555
2556         getcwd: minor cleanups
2557         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
2558         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
2559
2560         openat: provide more convenience names
2561         * modules/faccessat (configure.ac): Add C witness.
2562         * lib/unistd.in.h (readlinkat): Fix typo.
2563         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
2564         convenience wrappers.
2565         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
2566         wrappers in syntax checks.
2567
2568 2009-09-06  Eric Blake  <ebb9@byu.net>
2569
2570         doc: fix comments in recent patches
2571         * lib/faccessat.c: Mention correct function.
2572         * lib/fchmodat.c: Likewise.
2573         * lib/fchownat.c: Likewise.
2574         * lib/symlinkat.c: Likewise.
2575         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
2576         constants.
2577
2578         faccessat, symlinkat: continue cleanup of previous patch
2579         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
2580         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
2581         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
2582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
2583         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
2584         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
2585         set.
2586
2587 2009-09-06  Bruno Haible  <bruno@clisp.org>
2588
2589         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
2590         (fstatat): Declare if GNULIB_FSTATAT is set.
2591         (mkdirat): Declare if GNULIB_MKDIRAT is set.
2592         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
2593         (unlinkat): Declare if GNULIB_UNLINKAT is set.
2594         * modules/fcntl-h (Files): Remove m4/openat.m4.
2595         * modules/sys_stat (Files): Remove m4/openat.m4.
2596         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
2597         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
2598         * modules/unistd (Files): Remove m4/openat.m4.
2599         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
2600         GNULIB_OPENAT.
2601         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
2602         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
2603         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
2604         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
2605         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
2606         gl_OPENAT_DEFAULTS.
2607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
2608         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
2609         Don't require gl_OPENAT_DEFAULTS.
2610         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
2611         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
2612         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
2613         (gl_OPENAT_DEFAULTS): Remove macro.
2614
2615 2009-09-06  Bruno Haible  <bruno@clisp.org>
2616
2617         * modules/openat (configure.ac): Remove unneeded witness.
2618
2619 2009-09-06  Bruno Haible  <bruno@clisp.org>
2620
2621         Set errno to ENOSYS when a function is entirely unsupported.
2622         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
2623         EOPNOTSUPP.
2624         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
2625         * modules/chown (Depends-on): Remove errno.
2626
2627 2009-09-06  Bruno Haible  <bruno@clisp.org>
2628
2629         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
2630
2631 2009-09-06  Bruno Haible  <bruno@clisp.org>
2632
2633         * lib/sys_stat.in.h: Fix preprocessor command indentation.
2634
2635 2009-09-06  Ben Pfaff  <blp@gnu.org>
2636             Bruno Haible  <bruno@clisp.org>
2637
2638         Work around a glibc bug in strtok_r.
2639         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
2640         Undefine if UNDEFINE_STRTOK_R is set.
2641         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
2642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2643         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
2644         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
2645         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
2646         UNDEFINE_STRTOK_R.
2647         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
2648
2649 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2650
2651         exclude: minor fix
2652         * lib/exclude.c: Include wctype.h
2653
2654 2009-09-06  Akim Demaille  <demaille@gostai.com>
2655
2656         bootstrap: improve error message
2657         * build-aux/bootstrap (find_tool): Upon failure, report the list
2658         of candidates.
2659         Honor the initial value of the envvar.
2660
2661 2009-09-05  Eric Blake  <ebb9@byu.net>
2662
2663         symlinkat: new module
2664         * modules/symlinkat: New file.
2665         * lib/symlinkat.c: Likewise.
2666         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2668         * modules/unistd (Makefile.am): Use them.
2669         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
2670         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
2671         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
2672         * MODULES.html.sh (File system functions): Mention module.
2673         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
2674         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2675         * modules/symlinkat-tests: New test.
2676         * tests/test-symlinkat.c: Likewise.
2677
2678         test-openat-safer: add more checks
2679         * tests/test-openat-safer.c (main): Check more code paths.
2680
2681 2009-09-05  Jim Meyering  <meyering@redhat.com>
2682
2683         syntax-check: detect unnecessary inclusion of openat.h
2684         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
2685
2686 2009-09-05  Bruno Haible  <bruno@clisp.org>
2687
2688         Support towlower, towupper.
2689         * doc/posix-functions/towlower.texi: Mention module wctype.
2690         * doc/posix-functions/towupper.texi: Likewise.
2691         * lib/wctype.in.h (towlower, towupper): New functions.
2692         * tests/test-wctype.c: Include stdio.h, stdlib.h.
2693         (ASSERT): New macro.
2694         (e): New variable.
2695         (main): Test also towlower, towupper. Test WEOF argument.
2696         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
2697
2698 2009-09-05  Bruno Haible  <bruno@clisp.org>
2699
2700         Fix conversion behaviour when the input is invalid.
2701         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
2702         mark occurring in first pass of indirect conversion.
2703         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
2704         input.
2705         Found by clang's static analyzer.
2706
2707 2009-09-05  Bruno Haible  <bruno@clisp.org>
2708
2709         * tests/test-striconveh.c (main): Test indirect conversion on platforms
2710         where direct conversion is possible.
2711
2712 2009-09-04  Eric Blake  <ebb9@byu.net>
2713
2714         openat: fail with ENOENT on empty name
2715         * lib/openat-proc.c (openat_proc_name): Special-case the empty
2716         buffer.
2717
2718         link-follow: fix logic bug in prior patch
2719         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
2720         reversed sense of yes and no in prior patch.  Avoid confusing
2721         compilation failure with desired semantics.
2722
2723         link-follow: accomodate mingw and cross-compilation
2724         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
2725         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
2726         cross-compilation results to -1, to make linkat easier to
2727         implement when cross-compiling.  Trivially support mingw.
2728         * modules/link-follow (configure.ac): Call new name.
2729         * NEWS: Mention this.
2730
2731 2009-09-03  Eric Blake  <ebb9@byu.net>
2732
2733         faccessat: compile replacement
2734         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
2735         needed.
2736
2737         fts: fix compilation error
2738         * lib/fts.c (includes): Re-add "openat.h", for
2739         openat_needs_fchdir.
2740
2741         faccessat: new module
2742         * modules/faccessat: New file.
2743         * lib/faccessat.c: Likewise.
2744         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
2745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2746         * modules/unistd (Makefile.am): Use it.
2747         * lib/unistd.in.h (faccessat): Declare it.
2748         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
2749         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
2750         * MODULES.html.sh (File system functions): Mention it.
2751         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
2752         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
2753
2754         euidaccess: prefer POSIX over non-standard implementation
2755         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
2756         * lib/euidaccess.c (euidaccess): Use it if available.
2757
2758         openat: make template easier to use
2759         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
2760         AT_FUNC_F2 to be undefined.
2761         (VALIDATE_FLAG): New macro; use it to reject bad flags.
2762         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
2763         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
2764         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
2765         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
2766         Likewise.
2767         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
2768         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
2769         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
2770         Likewise.
2771
2772         openat: declare in POSIX headers
2773         * NEWS: Mention this.
2774         * modules/openat (configure.ac): Declare witnesses.
2775         (Depends-on): Add fcntl-h, sys_stat, unistd.
2776         (Include): Mention correct headers.
2777         * modules/fcntl-h (Depends-on): Add link-warning.
2778         (Files): Add openat.m4.
2779         (Makefile.am): Substitute witnesses.
2780         * modules/sys_stat (Files, Makefile.am): Likewise.
2781         * modules/unistd (Files, Makefile.am): Likewise.
2782         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
2783         (gl_OPENAT_DEFAULTS): New macro.
2784         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
2785         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
2786         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
2787         (SYS_STAT_H): Remove unused variable.
2788         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
2789         * lib/fcntl--.h (includes): Remove unneeded header.
2790         * lib/openat-safer.c (includes): Likewise.
2791         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
2792         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
2793         appropriate headers.
2794         (__OPENAT_PREFIX): Delete.
2795         * lib/fcntl.in.h (openat): Provide declaration.
2796         (AT_FDCWD): Fix Solaris bug.
2797         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
2798         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
2799         * lib/fchmodat.c (includes):  Adjust to find declaration.
2800         * lib/fchownat.c (includes): Likewise.
2801         * lib/mkdirat.c (includes): Likewise.
2802         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
2803         still visible.
2804
2805 2009-09-02  Eric Blake  <ebb9@byu.net>
2806
2807         errno: use consistently
2808         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
2809         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
2810         * lib/canonicalize.c (ELOOP): Likewise.
2811         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
2812         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
2813         * lib/lchown.c (EOPNOTSUPP): Likewise.
2814         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
2815         * lib/savewd.c (ESTALE): Likewise.
2816         * lib/settime.c (ENOSYS): Likewise.
2817         * lib/utimens.c (ENOSYS): Likewise.
2818         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
2819         * lib/chdir-safer.c (ELOOP): Likewise.
2820         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
2821         * modules/c-stack (Depends-on): Add errno.
2822         * modules/canonicalize (Depends-on): Likewise.
2823         * modules/chdir-safer (Depends-on): Likewise.
2824         * modules/fdopendir (Depends-on): Likewise.
2825         * modules/inet_ntop (Depends-on): Likewise.
2826         * modules/inet_pton (Depends-on): Likewise.
2827         * modules/lchown (Depends-on): Likewise.
2828         * modules/openat (Depends-on): Likewise.
2829         * modules/savewd (Depends-on): Likewise.
2830         * modules/settime (Depends-on): Likewise.
2831         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
2832
2833         fts: avoid leaking fds
2834         * modules/fts (Depends-on): Add cloexec.
2835         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
2836         flag.
2837
2838         fts: make directory fds more robust
2839         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
2840         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
2841
2842         backupfile, chdir-long, fts, savedir: make safer
2843         * lib/backupfile.c (includes): Use "dirent--.h", since
2844         numbered_backup can write to stderr during readdir.
2845         * lib/savedir.c (includes): Likewise.
2846         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
2847         emulation can write to stderr on failure.
2848         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
2849         * lib/getcwd.c: Document why opendir_safer is unused.
2850         * lib/glob.c: Likewise.
2851         * lib/scandir.c: Likewise.
2852         * lib/openat-proc.c: Likewise, for open_safer.
2853         * modules/backupfile (Depends-on): Add dirent-safer.
2854         * modules/savedir (Depends-on): Likewise.
2855         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
2856         * modules/chdir-long (Depends-on): Add openat-safer.
2857
2858         openat-safer: new module
2859         * modules/openat-safer: New file.
2860         * lib/openat-safer.c: Likewise.
2861         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
2862         * lib/fcntl-safer.h (openat_safer): Declare.
2863         * lib/fcntl--.h (openat): Override.
2864         * MODULES.html.sh (File descriptor based I/O): Mention it.
2865         * lib/openat.h: Add double-inclusion guards.
2866         * lib/openat.c (includes): Only include "fcntl-safer.h", not
2867         "fcntl--.h", so we can implement openat.
2868         * modules/openat-safer-tests: New test.
2869         * tests/test-openat-safer.c: New file.
2870
2871         dirent-safer: new module
2872         * modules/dirent-safer: New file.
2873         * lib/dirent--.h: Likewise.
2874         * lib/dirent-safer.h: Likewise.
2875         * lib/opendir-safer.c: Likewise.
2876         * m4/dirent-safer.m4: Likewise.
2877         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
2878         * modules/dirent-safer-tests: New test.
2879         * tests/test-dirent-safer.c: New file.
2880         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
2881
2882         fdopendir: optimize on mingw
2883         * lib/unistd.in.h (_gl_directory_name): New prototype.
2884         * lib/fchdir.c (_gl_directory_name): Implement it.
2885         (fchdir): Use it to simplify implementation.
2886         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
2887         fchdir, when available, to avoid calling [f]chdir().
2888
2889         fdopendir: split into its own module
2890         * lib/openat.c (fdopendir): Move...
2891         * lib/fdopendir.c: ...into new file.
2892         * modules/fdopendir: New module.
2893         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
2894         * modules/openat (Depends-on): Add fdopendir.
2895         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
2896         fdopendir here.
2897         * modules/savedir (Depends-on): Only need fdopendir, not full
2898         openat.
2899         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
2900         * lib/openat.h (fdopendir): Drop prototype.
2901         * lib/dirent.in.h (fdopendir): Provide prototype.
2902         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
2903         * modules/dirent (Makefile.am): Substitute them.
2904         * MODULES.html.sh (File system functions): Mention it.
2905         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
2906         * modules/fdopendir-tests: New file.
2907         * tests/test-fdopendir.c: Likewise.
2908
2909         fchdir: use more consistent macro convention
2910         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
2911         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
2912         REPLACE_FCHDIR, rather than relying on config.h macros.
2913         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
2914         inside a single make-time REPLACE_FCHDIR block, rather than using
2915         the config.h FCHDIR_REPLACEMENT.
2916         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
2917         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
2918         Manage fstat replacement.
2919         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
2920         REPLACE_FCHDIR.
2921         * modules/sys_stat (Files): Add m4/unistd_h.m4.
2922         (Makefile.am): Substitute REPLACE_FCHDIR.
2923         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
2924         FCHDIR_REPLACEMENT.
2925         * lib/dup-safer.c (dup_safer): Likewise.
2926         * lib/dup2.c (rpl_dup2): Likewise.
2927         * lib/dup3.c (rpl_dup3): Likewise.
2928         * lib/open.c (rpl_open): Likewise.
2929
2930         fchdir: simplify error handling, and support dup3
2931         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
2932         stdbool, malloc-posix, realloc-posix.
2933         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
2934         (ensure_dirs_slot): Return false on allocation failure.
2935         (rpl_dup2): Delete.
2936         (_gl_register_dup): New function.
2937         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
2938         (_gl_register_fd): Close fd on allocation failure.
2939         * lib/fcntl.in.h (_gl_register_fd): Update signature.
2940         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
2941         prototype.
2942         (rpl_dup2_fchdir): Delete prototype.
2943         * lib/open.c (open): Update caller.
2944         * lib/dup2.c (dup2): Track fchdir metadata.
2945         * lib/dup3.c (dup3): Likewise.
2946         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
2947         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
2948
2949 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2950
2951         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
2952         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
2953         don't pass arguments to AC_OUTPUT.
2954
2955 2009-09-02  Bruno Haible  <bruno@clisp.org>
2956
2957         * modules/mkdtemp (License): Relicense under LGPLv2+.
2958         Reported by Paolo Bonzini.
2959
2960 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2961
2962         Replace uses of obsolete autoconf macros in Jim's modules.
2963         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
2964         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
2965         can evoke a warning from autoconf when run with -Wobsolete
2966         enabled.  They were declared obsolete for good reasons (see
2967         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
2968         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
2969         should not continue using the deprecated macros.
2970         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
2971         obsolete Autoconf macros with modern counterparts.
2972         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
2973         * m4/dos.m4 (gl_AC_DOS): Likewise.
2974         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
2975         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
2976         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
2977         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
2978         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
2979         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
2980         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
2981         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
2982         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
2983         Likewise.
2984         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2985         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
2986         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
2987         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
2988         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2989         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
2990
2991 2009-09-01  Eric Blake  <ebb9@byu.net>
2992
2993         fchdir: fix off-by-one bug in previous patch
2994         * lib/fchdir.c (rpl_fstat): Use correct bounds.
2995         (_gl_unregister_fd): Delete useless if.
2996
2997 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
2998
2999         maint.mk: sort the list of syntax-check rules
3000         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
3001         easier to get a sense of progress when the rules are run sequentially
3002         and take a long time.
3003
3004 2009-09-01  Simon Josefsson  <simon@josefsson.org>
3005
3006         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
3007         * modules/netinet_in: Likewise.
3008         * modules/sys_file: Likewise.
3009         * modules/sys_ioctl: Likewise.
3010         * modules/sys_select: Likewise.
3011         * modules/sys_socket: Likewise.
3012         * modules/sys_stat: Likewise.
3013         * modules/sys_time: Likewise.
3014         * modules/sys_times: Likewise.
3015         * modules/sys_utsname: Likewise.
3016         * modules/sys_wait: Likewise.
3017
3018 2009-09-01  Jim Meyering  <meyering@redhat.com>
3019
3020         fts: help ensure that return values are not ignored
3021         * lib/fts_.h (__GNUC_PREREQ): Define.
3022         (__attribute_warn_unused_result__): Define.
3023         (fts_children, fts_close, fts_open, fts_read): Declare with
3024         __attribute_warn_unused_result__.
3025
3026         fts: fts_close now fails also when closing a dir file descriptor fails
3027         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
3028         and propagate to caller, along with errno.
3029
3030         announce-gen: correct formatting in --help output
3031         * build-aux/announce-gen (usage): Move the one-line description in
3032         --help output "up", to where it belongs, just after Usage:.
3033
3034 2009-08-31  Eric Blake  <ebb9@byu.net>
3035
3036         fchdir: port to mingw
3037         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
3038         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
3039         opened, then use a substitute.
3040         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
3041         replacement.
3042         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
3043         (_gl_register_fd): No need to check stat if open already filters
3044         all directories.
3045         (fchdir): Fix error condition to match POSIX.
3046         * modules/fchdir (Depends-on): Add sys_stat.
3047         * doc/posix-functions/open.texi (open): Document the limitation.
3048         * modules/fchdir-tests: New file.
3049         * tests/test-fchdir.c: Likewise.
3050
3051         canonicalize: allow cross-testing from cygwin to mingw
3052         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
3053         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
3054         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
3055         Likewise.
3056         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
3057         target does not support symlinks.
3058         * tests/test-canonicalize-lgpl.sh: Likewise.
3059
3060         chown: avoid compilation warning on mingw
3061         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
3062         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
3063         mingw.
3064         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3065         * modules/chown (Depends-on): Add errno.
3066
3067 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3068
3069         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
3070         command.
3071
3072 2009-08-31  Jim Meyering  <meyering@redhat.com>
3073
3074         canonicalize: remove useless initialization
3075         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
3076         initialization of local, "end".
3077
3078 2009-08-30  Bruno Haible  <bruno@clisp.org>
3079
3080         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
3081         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
3082         ENOSYS.
3083
3084 2009-08-30  Bruno Haible  <bruno@clisp.org>
3085
3086         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
3087         /usr/xpg4/bin/tr when it exists.
3088         * tests/test-pipe-filter-gi1.sh: Likewise.
3089
3090 2009-08-30  Bruno Haible  <bruno@clisp.org>
3091
3092         Work around deficient /usr/bin/id program on Solaris.
3093         * tests/test-file-has-acl.sh (ID): New variable.
3094         * tests/test-set-mode-acl.sh (ID): Likewise.
3095         * tests/test-copy-acl.sh (ID): Likewise.
3096         * tests/test-copy-file.sh (ID): Likewise.
3097
3098 2009-08-30  Bruno Haible  <bruno@clisp.org>
3099
3100         New module 'xstriconveh'.
3101         * lib/xstriconveh.h: New file.
3102         * lib/xstriconveh.c: New file.
3103         * modules/xstriconveh: New file.
3104
3105 2009-08-30  Bruno Haible  <bruno@clisp.org>
3106
3107         Make it easier to use mem_cd_iconveh.
3108         * lib/striconveh.h (iconveh_t): New type.
3109         (iconveh_open, iconveh_close): New declarations.
3110         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3111         with a single 'const iconveh_t *' argument.
3112         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
3113         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3114         with a single 'const iconveh_t *' argument.
3115         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
3116         * tests/test-striconveh.c (main): Update.
3117         * NEWS: Mention the change.
3118
3119 2009-08-30  Bruno Haible  <bruno@clisp.org>
3120
3121         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
3122         problem.
3123
3124 2009-08-30  Bruno Haible  <bruno@clisp.org>
3125
3126         Work around iconv_open problem on Solaris.
3127         * lib/iconv_open-solaris.gperf: New file.
3128         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
3129         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
3130         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
3131         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
3132         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
3133         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
3134
3135 2009-08-29  Jim Meyering  <meyering@redhat.com>
3136
3137         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
3138         * top/maint.mk (cvs-check): Remove target; it was just an alias
3139         to the better-named vc-diff-check.
3140         (maintainer-distcheck): Remove rule.  It was used only from
3141         the (alpha/beta/major) target, and all of its commands but one
3142         were coreutils-specific.
3143         (vc-dist): Remove rule.
3144         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
3145         Run vc-diff-check, not vc-dist.
3146         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
3147
3148 2009-08-27  Bruno Haible  <bruno@clisp.org>
3149
3150         * tests/test-bitrotate.c (main): Remove test that uses a shift count
3151         of 0.
3152
3153 2009-08-27  Bruno Haible  <bruno@clisp.org>
3154
3155         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
3156         compilers.
3157         * doc/func.texi: Document the SunPRO C bug.
3158
3159 2009-08-27  Bruno Haible  <bruno@clisp.org>
3160
3161         Fix link error on Solaris.
3162         * tests/test-parse-duration.c (xstrdup): Remove function.
3163
3164 2009-08-26  Pádraig Brady  <P@draigbrady.com>
3165
3166         ignore-value: handle pointer types, too
3167         * lib/ignore-value.h (__attribute__): Remove definition.
3168         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
3169         of a more concise and more-often effective "(void) i" statement.
3170         (ignore_ptr): New function to suppress warnings from functions that
3171         return pointers, and to make it explicit that one function doesn't
3172         handle all cases.
3173
3174 2009-08-25  Bruno Haible  <bruno@clisp.org>
3175
3176         dup2: work around a Linux bug.
3177         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
3178         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
3179         * doc/posix-functions/dup2.texi: Mention the Linux bug.
3180         Reported by Simon Josefsson.
3181
3182 2009-08-25  Jim Meyering  <meyering@redhat.com>
3183
3184         libguestfs uses gnulib
3185         * users.txt: Add libguestfs.
3186
3187 2009-08-24  Eric Blake  <ebb9@byu.net>
3188
3189         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
3190         * lib/pipe2.c (includes): Add binary-io.h.
3191         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
3192
3193 2009-08-24  Bruno Haible  <bruno@clisp.org>
3194
3195         Tolerate declared but missing accept4 syscall.
3196         * lib/accept4.c (accept4): Invoke original accept4 function first, if
3197         available.
3198         * lib/sys_socket.in.h (accept4): If the function is already present,
3199         override it.
3200         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
3201         * modules/accept4 (Makefile.am): Compile accept4.c always.
3202         Reported by Paolo Bonzini and Eric Blake.
3203
3204 2009-08-23  Bruno Haible  <bruno@clisp.org>
3205
3206         New module 'accept4'.
3207         * lib/sys_socket.in.h (accept4): New declaration.
3208         * lib/accept4.c: New file.
3209         * m4/accept4.m4: New file.
3210         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
3211         GNULIB_ACCEPT4, HAVE_ACCEPT4.
3212         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
3213         HAVE_ACCEPT4.
3214         * modules/accept4: New file.
3215         * doc/glibc-functions/accept4.texi: Mention the new module.
3216
3217 2009-08-24  Jim Meyering  <meyering@redhat.com>
3218
3219         progname: also set global program_invocation_name, when possible
3220         Before this change, a libtool-enabled program that calls glibc's
3221         error function would report the program name as
3222         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
3223         * modules/progname (configure.ac): Check for a declaration of
3224         program_invocation_name.
3225         * lib/progname.c:  Include <errno.h>.
3226         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
3227         Set program_invocation_name.
3228
3229 2009-08-23  Bruno Haible  <bruno@clisp.org>
3230
3231         * lib/dup3.c: Include <string.h>.
3232
3233 2009-08-23  Bruno Haible  <bruno@clisp.org>
3234
3235         * lib/dup3.c (dup3): Test only once whether the system actually exists.
3236         * lib/pipe2.c (pipe2): Likewise.
3237         Suggested by Eric Blake.
3238
3239 2009-08-23  Bruno Haible  <bruno@clisp.org>
3240
3241         Tolerate declared but missing dup3 syscall.
3242         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
3243         * lib/unistd.in.h (dup3): If the function is already present,
3244         override it.
3245         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
3246         * modules/dup3 (Makefile.am): Compile dup3.c always.
3247         Reported by Paolo Bonzini.
3248
3249 2009-08-23  Bruno Haible  <bruno@clisp.org>
3250
3251         Tolerate declared but missing pipe2 syscall.
3252         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
3253         available.
3254         * lib/unistd.in.h (pipe2): If the function is already present,
3255         override it.
3256         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
3257         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
3258         Reported by Paolo Bonzini.
3259
3260 2009-08-23  Bruno Haible  <bruno@clisp.org>
3261
3262         * lib/pipe2.c (pipe2): Move #ifs inside function.
3263
3264 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3265
3266         quotearg: document limitations of quote_these_too
3267         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
3268         those limitations are created.
3269         * lib/quotearg.h (set_char_quoting): Document that digits and
3270         letters that are special after backslash are not permitted.
3271         (quotearg_char): Cross-reference set_char_quoting documentation.
3272
3273 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
3274
3275         quotearg: implement custom_quoting_style
3276         * lib/quotearg.c: (struct quoting_options): Add left_quote and
3277         right_quote fields.
3278         (set_custom_quoting): New public function.
3279         (quotearg_buffer_restyled): Add left_quote and right_quote
3280         arguments, handle them very much like locale quoting, and update
3281         all uses.
3282         (quotearg_n_custom): New public function.
3283         (quotearg_n_custom_mem): New public function.
3284         (quotearg_custom): New public function.
3285         (quotearg_custom_mem): New public function.
3286         * lib/quotearg.h: Prototype and document new public functions.
3287         (enum quoting_style): For escape_quoting_style and
3288         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
3289         ignored even though they're otherwise like c_quoting_style.
3290         Add custom_quoting_style member and document with comparison to
3291         clocale_quoting_style.
3292         * tests/test-quotearg.c (custom_quotes): New array.
3293         (custom_results): New array.
3294         (main): Extend to test custom quoting.
3295
3296 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3297
3298         quotearg: fix right quote escaping when it's in quote_these_too
3299         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
3300         quote, be sure to prepend only one backslash.
3301         * tests/test-quotearg.c (use_quote_double_quotes): New function.
3302         (main): Test it.
3303
3304 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
3305
3306         quotearg-tests: test escaping of embedded locale quotes
3307         * tests/test-quotearg.c (struct result_strings): Add member for
3308         new input.
3309         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
3310         (inputs): Add new input.
3311         (results_g): Add expected results.
3312         (flag_results): Likewise.
3313         (locale_results): Likewise.
3314         (compare_strings): Check those.
3315
3316 2009-08-23  Bruno Haible  <bruno@clisp.org>
3317
3318         Tests for module 'dup3'.
3319         * modules/dup3-tests: New file.
3320         * tests/test-dup3.c: New file.
3321
3322         New module 'dup3'.
3323         * lib/unistd.in.h (dup3): New declaration.
3324         * lib/dup3.c: New file.
3325         * m4/dup3.m4: New file.
3326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
3327         HAVE_DUP3.
3328         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
3329         * modules/dup3: New file.
3330         * doc/glibc-functions/dup3.texi: Mention the new module.
3331
3332 2009-08-23  Bruno Haible  <bruno@clisp.org>
3333
3334         Tweak the dup2 test.
3335         * tests/test-dup2.c (main): Create the test file empty. Verify that an
3336         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
3337         the test file is still empty. Fix argument order of lseek.
3338
3339 2009-08-23  Bruno Haible  <bruno@clisp.org>
3340
3341         Avoid test link errors when the modules getopt-gnu, gettext are used.
3342         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
3343         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3344
3345 2009-08-23  Bruno Haible  <bruno@clisp.org>
3346
3347         Fix getdtablesize() on mingw.
3348         * lib/getdtablesize.c (getdtablesize): Implement differently.
3349         * lib/unistd.in.h (getdtablesize): Improve comment.
3350
3351 2009-08-23  Bruno Haible  <bruno@clisp.org>
3352
3353         New module 'mkostemp'.
3354         Based on Ulrich Drepper's 2007-08-10 change in glibc.
3355         * lib/stdlib.in.h (mksotemp): New declaration.
3356         * lib/mkostemp.c: New file, from glibc with modifications.
3357         * lib/tempname.h (GT_FILE): Remove outdated comment.
3358         (gen_tempname): Add flags argument.
3359         * lib/tempname.c (__GT_BIGFILE): Remove macro.
3360         (__GT_FILE): Map to 1.
3361         (small_open, large_open): Remove macros.
3362         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
3363         * lib/mkstemp.c (mkstemp): Update.
3364         * lib/mkdtemp.c (mkdtemp): Likewise.
3365         * m4/mkostemp.m4: New file.
3366         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
3367         HAVE_MKOSTEMP.
3368         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
3369         HAVE_MKOSTEMP.
3370         * modules/mkostemp: New file, based on modules/mkstemp.
3371         * doc/glibc-functions/mkostemp.texi: Mention the new module.
3372         * NEWS: Mention the change.
3373
3374 2009-08-23  Bruno Haible  <bruno@clisp.org>
3375
3376         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
3377         Reported by Eric Blake.
3378
3379 2009-08-23  Bruno Haible  <bruno@clisp.org>
3380
3381         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
3382         Reported by Eric Blake.
3383
3384 2009-08-23  Bruno Haible  <bruno@clisp.org>
3385
3386         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
3387         * modules/pipe2 (Depends-on): Likewise.
3388
3389 2009-08-23  Eric Blake  <ebb9@byu.net>
3390
3391         fcntl-h: add O_TTY_INIT support
3392         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
3393         * tests/test-fcntl-h.c (o): Test it.
3394         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3395
3396         fcntl-h: rename from fcntl, in preparation for fcntl(2)
3397         * modules/fcntl: Move <fcntl.h> header replacement...
3398         * modules/fcntl-h: ...to new name, so as not to collide with
3399         like-named function.
3400         * tests/test-fcntl.c: Rename...
3401         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
3402         * modules/fcntl-tests: Rename...
3403         * modules/fcntl-h-tests: ...to this.  Update test file name.
3404         * modules/chdir-long (Depends-on): Update clients.
3405         * modules/chdir-safer (Depends-on): Likewise.
3406         * modules/fcntl-safer (Depends-on): Likewise.
3407         * modules/fts (Depends-on): Likewise.
3408         * modules/mkancesdirs (Depends-on): Likewise.
3409         * modules/mkdir-p (Depends-on): Likewise.
3410         * modules/open (Depends-on): Likewise.
3411         * modules/savewd (Depends-on): Likewise.
3412         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
3413         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
3414
3415 2009-08-22  Bruno Haible  <bruno@clisp.org>
3416
3417         * modules/binary-io (License): Relicense under LGPL.
3418         * modules/pipe2 (License): Likewise.
3419
3420 2009-08-22  Bruno Haible  <bruno@clisp.org>
3421
3422         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
3423         return value.
3424         * lib/pipe-filter-gi.c (filter_init): Likewise.
3425         Reported by Eric Blake.
3426
3427 2009-08-22  Bruno Haible  <bruno@clisp.org>
3428
3429         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
3430         * modules/pipe (Depends-on): Add pipe2.
3431
3432 2009-08-22  Bruno Haible  <bruno@clisp.org>
3433
3434         Tests for module 'pipe2'.
3435         * modules/pipe2-tests: New file.
3436         * tests/test-pipe2.c: New file.
3437
3438         New module 'pipe2'.
3439         * lib/unistd.in.h (pipe2): New declaration.
3440         * lib/pipe2.c: New file.
3441         * m4/pipe2.m4: New file.
3442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
3443         HAVE_PIPE2.
3444         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
3445         * modules/pipe2: New file.
3446         * doc/glibc-functions/pipe2.texi: Mention the new module.
3447
3448 2009-08-22  Bruno Haible  <bruno@clisp.org>
3449
3450         Reference some new glibc functions.
3451         * doc/glibc-functions/accept4.texi: New file.
3452         * doc/glibc-functions/dup3.texi: New file.
3453         * doc/glibc-functions/mkostemp.texi: New file.
3454         * doc/glibc-functions/pipe2.texi: New file.
3455         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
3456         (Glibc sys/socket.h): Refer to accept4.
3457         (Glibc unistd.h): Refer to dup3, pipe2.
3458         Reported by Eric Blake.
3459
3460 2009-08-22  Jim Meyering  <meyering@redhat.com>
3461             Bruno Haible  <bruno@clisp.org>
3462
3463         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
3464         This makes it so packages using automake-1.11's silent-rules option
3465         can print e.g., a single "GEN    configmake.h" line, rather than
3466         the 30+ statements that perform the job.  If you want to see the
3467         actual commands, you can still run "make V=1".
3468         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
3469         so that make output is abbreviated when those variables are defined
3470         appropriately.
3471         * modules/argz: Likewise.
3472         * modules/arpa_inet: Likewise.
3473         * modules/byteswap: Likewise.
3474         * modules/configmake: Likewise.
3475         * modules/dirent: Likewise.
3476         * modules/errno: Likewise.
3477         * modules/fcntl: Likewise.
3478         * modules/float: Likewise.
3479         * modules/fnmatch: Likewise.
3480         * modules/getopt-posix: Likewise.
3481         * modules/glob: Likewise.
3482         * modules/iconv_open: Likewise.
3483         * modules/inttypes: Likewise.
3484         * modules/localcharset: Likewise.
3485         * modules/locale: Likewise.
3486         * modules/math: Likewise.
3487         * modules/netdb: Likewise.
3488         * modules/netinet_in: Likewise.
3489         * modules/poll: Likewise.
3490         * modules/posix_spawnp-tests: Likewise.
3491         * modules/sched: Likewise.
3492         * modules/search: Likewise.
3493         * modules/selinux-h: Likewise.
3494         * modules/signal: Likewise.
3495         * modules/spawn: Likewise.
3496         * modules/stdarg: Likewise.
3497         * modules/stdbool: Likewise.
3498         * modules/stddef: Likewise.
3499         * modules/stdint: Likewise.
3500         * modules/stdio: Likewise.
3501         * modules/stdlib: Likewise.
3502         * modules/string: Likewise.
3503         * modules/strings: Likewise.
3504         * modules/sys_file: Likewise.
3505         * modules/sys_ioctl: Likewise.
3506         * modules/sys_select: Likewise.
3507         * modules/sys_socket: Likewise.
3508         * modules/sys_stat: Likewise.
3509         * modules/sys_time: Likewise.
3510         * modules/sys_times: Likewise.
3511         * modules/sys_utsname: Likewise.
3512         * modules/sys_wait: Likewise.
3513         * modules/sysexits: Likewise.
3514         * modules/time: Likewise.
3515         * modules/unistd: Likewise.
3516         * modules/wchar: Likewise.
3517         * modules/wctype: Likewise.
3518
3519 2009-08-22  Jim Meyering  <meyering@redhat.com>
3520
3521         announce-gen: detect write failure
3522         * build-aux/announce-gen: Add Coda at end.
3523         Remove equivalent-but-more-verbose block at top.
3524
3525 2009-08-19  Akim Demaille  <demaille@gostai.com>
3526
3527         bootstrap: --help to stdout.
3528         * bootstrap (usage): Don't send --help to stderr.
3529         Use a here doc instead of a long string.
3530
3531 2009-08-21  Eric Blake  <ebb9@byu.net>
3532
3533         test-popen-safer: split from test-popen
3534         * tests/test-popen.c (main): Move...
3535         * tests/test-popen.h: ...into new file.
3536         * tests/test-popen-safer2.c: New file.
3537         * modules/popen-tests (Files): Add test-popen.h.
3538         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
3539         Suggested by Bruno Haible.
3540
3541         test-fcntl-safer: split from test-open
3542         * tests/test-open.c (main): Move...
3543         * tests/test-open.h: ...into new file.
3544         * tests/test-fcntl-safer.c: New file.
3545         * modules/open-tests (Files): Add test-open.h.
3546         * modules/fcntl-safer-tests: New file.
3547         Suggested by Bruno Haible.
3548
3549         test-fopen-safer: split from test-fopen
3550         * tests/test-fopen.c (main): Move...
3551         * tests/test-fopen.h: ...into new file.
3552         * tests/test-fopen-safer.c: New file.
3553         * modules/fopen-tests (Files): Add test-fopen.h.
3554         * modules/fopen-safer-tests: New file.
3555         Suggested by Bruno Haible.
3556
3557 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
3558
3559         popen-safer: test O_CLOEXEC at run-time.
3560         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
3561
3562 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
3563
3564         fcntl: move more flags to the header
3565         * lib/cloexec.c: Do not define FD_CLOEXEC here.
3566         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
3567         * lib/fcntl.in.h: Do both things here.
3568
3569 2009-08-21  Jim Meyering  <meyering@redhat.com>
3570
3571         consistently remove $@-t before redirecting to it
3572         * modules/argz: Remove $@-t and $@ before redirecting to the former.
3573         * modules/alloca-opt: Likewise.
3574         * modules/byteswap: Likewise.
3575         * modules/fnmatch: Likewise.
3576         * modules/getopt-posix: Likewise.
3577         * modules/glob: Likewise.
3578         * modules/poll: Likewise.
3579         * modules/posix_spawnp-tests: Likewise.
3580         * modules/sys_socket: Likewise.
3581         * modules/sysexits: Likewise.
3582
3583 2009-08-21  Eric Blake  <ebb9@byu.net>
3584
3585         popen: simplify access to original popen
3586         * lib/popen.c (rpl_popen): No need to worry about popen being a
3587         macro.
3588         Reported by Bruno Haible.
3589
3590 2009-08-20  Eric Blake  <ebb9@byu.net>
3591
3592         build: avoid some compiler warnings
3593         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
3594         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
3595         type.
3596         (new_exclude_segment, excluded_file_pattern_p)
3597         (excluded_file_name_p): Reduce scope.
3598         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
3599         old-style declaration.
3600
3601 2009-08-20  Simon Josefsson  <simon@josefsson.org>
3602
3603         * tests/test-exclude1.sh: Handle Windows EOL.
3604         * tests/test-exclude2.sh: Likewise.
3605         * tests/test-exclude3.sh: Likewise.
3606         * tests/test-exclude4.sh: Likewise.
3607         * tests/test-exclude5.sh: Likewise.
3608         * tests/test-exclude6.sh: Likewise.
3609         * tests/test-exclude7.sh: Likewise.
3610
3611 2009-08-19  Akim Demaille  <demaille@gostai.com>
3612
3613         bootstrap: find sha1sum when named gsha1sum.
3614         * bootstrap (find_tool): New.
3615         ($SHA1SUM): New.
3616         Use it.
3617
3618 2009-08-20  Jim Meyering  <meyering@redhat.com>
3619
3620         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
3621         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
3622         expression that converts "." in a file name to "\." in the resulting
3623         regexp.  Start with a dummy statement, so that prior shell variable
3624         definitions are expanded portably.  Reported by Simon Josefsson.
3625
3626 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
3627
3628         Fix polling for writeability of a screen buffer.
3629         * lib/poll.c: Distinguish input and screen buffers for the
3630         Win32 implementation.
3631         * lib/select.c: Likewise.
3632
3633 2009-08-19  Eric Blake  <ebb9@byu.net>
3634
3635         popen-safer: prevent popen from clobbering std descriptors
3636         * modules/popen-safer: New file.
3637         * lib/popen-safer.c: Likewise.
3638         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
3639         * lib/stdio--.h (popen): Provide override.
3640         * lib/stdio-safer.h (popen_safer): Provide declaration.
3641         * tests/test-popen.c (includes): Partially test this.
3642         * modules/popen-safer-tests: New file, for more tests.
3643         * tests/test-popen-safer.c: Likewise.
3644         * MODULES.html.sh (file stream based Input/Output): Mention it.
3645
3646         tests: test some of the *-safer modules
3647         * modules/fopen-safer (Depends-on): Add fopen.
3648         * modules/fcntl-safer (Depends-on): Add fcntl.
3649         * modules/stdlib-safer (Depends-on): Add stdlib.
3650         (configure.ac): Set indicator.
3651         * modules/unistd-safer (configure.ac): Likewise.
3652         * modules/tmpfile-safer (configure.ac): Likewise.
3653         (Depends-on): Add tmpfile.
3654         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
3655         active.
3656         * tests/test-fopen.c (includes): Test safer versions when they are
3657         in use.
3658         * tests/test-open.c (includes): Likewise.
3659
3660         popen: fix cygwin 1.5 bug when stdin closed
3661         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
3662         * modules/popen: New file.
3663         * modules/popen-tests: Likewise.
3664         * tests/test-popen.c: Likewise.
3665         * m4/popen.m4: Likewise.
3666         * lib/popen.c: Likewise.
3667         * lib/stdio.in.h (popen): New declaration.
3668         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
3669         * modules/stdio (Makefile.am): Likewise.
3670         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
3671
3672 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
3673
3674         maint.mk: give full control over update-copyright exclusions
3675         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
3676         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
3677         (update-copyright): Don't force inclusion of top-level
3678         ChangeLog.  Don't force exclusion of all COPYING files, but make
3679         them the default exclusion instead.
3680
3681 2009-08-16  Bruno Haible  <bruno@clisp.org>
3682
3683         Fix test failures on Solaris 10.
3684         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
3685         tests when Solaris iconv() is used.
3686         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3687         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3688         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3689         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3690         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3691
3692 2009-08-16  Bruno Haible  <bruno@clisp.org>
3693
3694         Fix test failures on Solaris 10.
3695         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
3696         'tr' program and pass it as first argument.
3697         * tests/test-pipe-filter-gi1.sh: Likewise.
3698         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
3699         program as first argument.
3700         * tests/test-pipe-filter-gi1.c (main): Likewise.
3701
3702 2009-08-16  Eric Blake  <ebb9@byu.net>
3703
3704         fpurge: fix previous commits
3705         * modules/fpurge (Makefile.am): Make replacement conditional,
3706         partially reverting 2007-04-29 change; missed in previous
3707         attempt.
3708         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
3709         is missing.
3710
3711 2009-08-16  Bruno Haible  <bruno@clisp.org>
3712
3713         Clarify fpurge's effect on the file position.
3714         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
3715         * tests/test-fpurge.c (main): Make a second pass for checking the file
3716         position.
3717
3718 2009-08-16  Bruno Haible  <bruno@clisp.org>
3719
3720         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
3721         declaration of fpurge is missing.
3722         * tests/test-fpurge.c (main): Check that the file has not more contents
3723         than expected. Close the file before removing it.
3724
3725 2009-08-15  Eric Blake  <ebb9@byu.net>
3726
3727         fpurge: don't wrap working cygwin implementation
3728         * lib/fpurge.c (fpurge): Fix comment typo.
3729         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
3730         1.7 to avoid replacement.
3731         * tests/test-fpurge.c (main): Enhance test.
3732
3733 2009-08-15  Eric Blake  <ebb9@byu.net>
3734         and Jim Meyering  <meyering@redhat.com>
3735
3736         test-update-copyright: skip if perl is insufficient
3737         * tests/test-update-copyright.sh: Failure to run maintainer tool
3738         should not cause testsuite failure on cygwin 1.5.
3739
3740 2009-08-14  Eric Blake  <ebb9@byu.net>
3741
3742         doc: mention more functions added in cygwin 1.7.0
3743         * doc/posix-headers/limits.texi (limits.h): Update for recent
3744         cygwin additions.
3745         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
3746         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
3747         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
3748         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
3749         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
3750
3751 2009-08-14  Eric Blake  <ebb9@byu.net>
3752
3753         maint.mk: simplify update-copyright rule
3754         * top/maint.mk (update-copyright-local): Delete, and document how
3755         to do it in cfg.mk instead.
3756         (update-copyright-exclude-regexp): Delete, and document how to do
3757         it in .x-update-copyright instead.
3758         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
3759         exclude ChangeLog.
3760
3761 2009-08-14  Bruno Haible  <bruno@clisp.org>
3762
3763         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
3764
3765 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
3766
3767         maint.mk: support update-copyright-env
3768         * top/maint.mk (update-copyright-env): Define place-holder.
3769         (update-copyright): Expand $(update-copyright-env) before
3770         invoking update-copyright.
3771
3772 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
3773
3774         update-copyright: implement forced reformatting
3775         * build-aux/update-copyright: Implement and document
3776         UPDATE_COPYRIGHT_FORCE.
3777         * tests/test-update-copyright.sh: Test it.
3778
3779 2009-08-14  Eric Blake  <ebb9@byu.net>
3780         and Bruno Haible  <bruno@clisp.org>
3781
3782         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
3783         * tests/test-locale.c: Revert previous patch related to NULL.
3784         * tests/test-stdio.c: Likewise.
3785         * tests/test-stdlib.c: Likewise.
3786         * tests/test-string.c: Likewise.
3787         * tests/test-unistd.c: Likewise.
3788         * modules/time-tests (Depends-on): Add verify.
3789         * modules/wchar-tests (Depends-on): Likewise.
3790         * tests/test-time.c: Test for NULL compliance.
3791         * tests/test-wchar.c: Likewise.
3792         * modules/locale (Depends-on): Add stddef.
3793         * modules/stdio (Depends-on): Likewise.
3794         * modules/stdlib (Depends-on): Likewise.
3795         * modules/string (Depends-on): Likewise.
3796         * modules/time (Depends-on): Likewise.
3797         * modules/unistd (Depends-on): Likewise.
3798         * modules/wchar (Depends-on): Likewise.
3799         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
3800         * lib/stdlib.in.h (includes): Likewise.
3801         * lib/string.in.h (includes): Likewise.
3802         * lib/time.in.h (includes): Likewise.
3803         * lib/unistd.in.h (includes): Likewise.
3804         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
3805         replaced.
3806         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
3807         * m4/stddef_h.m4: New file.
3808         * modules/stddef: Likewise.
3809         * lib/stddef.in.h: Likewise.
3810         * modules/stddef-tests: Likewise.
3811         * tests/test-stddef.c: Likewise.
3812         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
3813         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
3814         * doc/posix-headers/locale.texi (locale.h): Likewise.
3815         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
3816         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
3817         * doc/posix-headers/string.texi (string.h): Likewise.
3818         * doc/posix-headers/time.texi (time.h): Likewise.
3819         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
3820         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
3821
3822 2009-08-14  Eric Blake  <ebb9@byu.net>
3823
3824         doc: improve git diff of texinfo files
3825         * .gitattributes: Add rule for *.texi files, with hint on how to
3826         use it.
3827         Copied from m4, and based on a report by Bruno Haible.
3828
3829 2009-08-14  Bruno Haible  <bruno@clisp.org>
3830
3831         Disable multithread support by default on Cygwin 1.5.x for real.
3832         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
3833
3834 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
3835
3836         update-copyright: much ado about intervals
3837         * build-aux/update-copyright: Implement and document
3838         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
3839         of copyright year intervals.
3840         Also, document UPDATE_COPYRIGHT_YEAR.
3841         * tests/test-update-copyright.sh: Test it.
3842
3843         update-copyright: convert 2-digit to 4-digit years
3844         * build-aux/update-copyright: Implement and document.
3845         * tests/test-update-copyright.sh: Update.
3846
3847 2009-08-14  Jim Meyering  <meyering@redhat.com>
3848
3849         test-exclude: avoid coreutils "make check" failure
3850         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
3851         just as in test-argmatch.c.
3852
3853 2009-08-13  Eric Blake  <ebb9@byu.net>
3854
3855         test-dup2: fix bad assumption
3856         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
3857         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
3858
3859         test-version-etc: fix CRLF portability issue
3860         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
3861         recognize \r.
3862         * tests/test-argp-version-etc-1.sh: Likewise.
3863
3864         getopt: update client modules
3865         * modules/argp (Depends-on): Use getopt-gnu.
3866         * modules/git-merge-changelog (Depends-on): Likewise.
3867         * modules/long-options (Depends-on): Likewise.
3868         * modules/xstrtol (Depends-on): Likewise.
3869
3870 2009-08-13  Simon Josefsson  <simon@josefsson.org>
3871
3872         * tests/test-version-etc.sh: Don't fail on different
3873         project/version.  Don't fail on CRLF differences.  Rewrite to use
3874         multiple -e instead of multiple sed forks, suggested by Eric Blake
3875         <ebb9@byu.net>.
3876         * tests/test-argp-version-etc-1.sh: Likewise.
3877
3878 2009-08-13  Simon Josefsson  <simon@josefsson.org>
3879
3880         * tests/test-version-etc.sh: Don't fail on different
3881         project/version.
3882
3883 2009-08-12  Bruno Haible  <bruno@clisp.org>
3884
3885         Tests for modules 'getopt-posix', 'getopt-gnu'.
3886         * modules/getopt-posix-tests: New file.
3887         * tests/test-getopt.c: New file.
3888         * tests/test-getopt.h: New file.
3889         * tests/test-getopt_long.h: New file.
3890
3891         New modules 'getopt-posix', 'getopt-gnu'.
3892         * modules/getopt-gnu: New file, renamed from modules/getopt.
3893         * modules/getopt-posix: New file.
3894         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
3895         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
3896         (gl_GETOPT): Remove macro.
3897         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
3898         Disable the test against BSD systems that declare optreset. Test
3899         against mingw bug. Test against lack of support of optional arguments
3900         on many platforms.
3901         * doc/glibc-headers/getopt.texi: Update module name and list of
3902         relevant platforms.
3903         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
3904         'getopt-gnu' and more portability problems.
3905         * NEWS: Mention the changes.
3906
3907 2009-08-12  Bruno Haible  <bruno@clisp.org>
3908
3909         Ensure that optarg etc. get declared by <unistd.h>.
3910         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
3911         AC_USE_SYSTEM_EXTENSIONS.
3912         * modules/getopt (Depends-on): Add 'extensions'.
3913
3914 2009-08-12  Bruno Haible  <bruno@clisp.org>
3915
3916         Avoid test link errors.
3917         * modules/pipe-filter-ii-tests (Makefile.am): Define
3918         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
3919         * modules/pipe-filter-gi-tests (Makefile.am): Define
3920         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
3921         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3922
3923 2009-08-12  Bruno Haible  <bruno@clisp.org>
3924
3925         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
3926         gl_GETOPT_SUBSTITUTE before.
3927         (gl_GETOPT): Use it.
3928         * m4/argp.m4 (gl_ARGP): Update.
3929         Reported by Sergey Poznyakoff.
3930
3931         * m4/getopt.m4: Reorder macros.
3932         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
3933         (gl_GETOPT_SUBSTITUTE): Remove macro.
3934
3935 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
3936
3937         Minor improvement in gitlog-to-changelog
3938
3939         * build-aux/gitlog-to-changelog: New option `--format' makes
3940         output format string configurable.
3941
3942 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
3943
3944         Optimize exclude: use hash tables for non-wildcard patterns.
3945
3946         * lib/exclude.c: Include hash.h and mbuiter.h
3947         (struct exclude_pattern, exclude_segment): New data types.
3948         (struct exclude): Rewrite.
3949         (fnmatch_pattern_has_wildcards): New function.
3950         (new_exclude_segment, free_exclude_segment): New functions.
3951         (excluded_file_pattern_p, excluded_file_name_p): New functions.
3952         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
3953         * lib/exclude.h (is_fnmatch_pattern): New prototype.
3954         * modules/exclude: Depend on hash and mbuiter.
3955
3956         * modules/exclude-tests: New file.
3957         * tests/test-exclude.c: New file.
3958         * tests/test-exclude1.sh: New file.
3959         * tests/test-exclude2.sh: New file.
3960         * tests/test-exclude3.sh: New file.
3961         * tests/test-exclude4.sh: New file.
3962         * tests/test-exclude5.sh: New file.
3963         * tests/test-exclude6.sh: New file.
3964         * tests/test-exclude7.sh: New file.
3965
3966 2009-08-12  Bruno Haible  <bruno@clisp.org>
3967
3968         Ensure that getopt() gets declared by <unistd.h>.
3969         * lib/unistd.in.h: Conditionally include getopt.h.
3970         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
3971         Set GNULIB_UNISTD_H_GETOPT.
3972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3973         GNULIB_UNISTD_H_GETOPT.
3974         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
3975
3976 2009-08-12  Bruno Haible  <bruno@clisp.org>
3977
3978         Clarify logic.
3979         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
3980         gl_replace_getopt instead of GETOPT_H.
3981
3982 2009-08-12  Bruno Haible  <bruno@clisp.org>
3983
3984         * m4/getopt.m4: Add comments.
3985
3986 2009-08-12  Bruno Haible  <bruno@clisp.org>
3987
3988         Disable multithread support by default on Cygwin 1.5.x.
3989         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
3990         set gl_use_threads=no if not specified otherwise.
3991
3992 2009-08-11  Bruno Haible  <bruno@clisp.org>
3993
3994         Avoid compilation error on NetBSD 5.0.
3995         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
3996         * tests/test-stdio.c: Likewise.
3997         * tests/test-stdlib.c: Likewise.
3998         * tests/test-string.c: Likewise.
3999         * tests/test-unistd.c: Likewise.
4000         Reported by Greg Troxel <gdt@ir.bbn.com>
4001         at <https://savannah.gnu.org/support/?106973>.
4002
4003 2009-08-11  Bruno Haible  <bruno@clisp.org>
4004
4005         * modules/dup2-tests (Depends-on): Remove close.
4006
4007         Undo 2009-07-19 commit.
4008         * modules/acl-tests (Depends-on): Remove close.
4009         * modules/binary-io-tests (Depends-on): Likewise.
4010         * modules/closein-tests (Depends-on): Likewise.
4011         * modules/flock-tests (Depends-on): Likewise.
4012         * modules/fsync-tests (Depends-on): Likewise.
4013         * modules/lseek-tests (Depends-on): Likewise.
4014         * modules/pipe-tests (Depends-on): Likewise.
4015         * modules/posix_spawn-tests (Depends-on): Likewise.
4016         * modules/posix_spawnp-tests (Depends-on): Likewise.
4017         * modules/stat-time-tests (Depends-on): Likewise.
4018         * modules/yesno-tests (Depends-on): Likewise.
4019
4020 2009-08-10  Bruno Haible  <bruno@clisp.org>
4021
4022         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
4023
4024 2009-08-10  Bruno Haible  <bruno@clisp.org>
4025
4026         Fix a gcc warning.
4027         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
4028
4029 2009-08-10  Bruno Haible  <bruno@clisp.org>
4030
4031         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
4032         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
4033         not only the first time.
4034         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
4035         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
4036         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
4037         is 1, not only the the first time.
4038
4039 2009-08-10  Bruno Haible  <bruno@clisp.org>
4040
4041         Make it possible to use module 'gethostname' without module 'close'.
4042         * lib/unistd.in.h (close): Evoke a link error only if
4043         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4045         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4046         * modules/unistd (Makefile.am): Substitute
4047         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4048         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
4049         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4050         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4051         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4052         * modules/sys_ioctl (Makefile.am): Substitute
4053         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4054         * modules/socket (configure.ac): On native Windows, set
4055         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
4056         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4057         Reported by Sam Steingold <sds@gnu.org>.
4058
4059 2009-08-10  Bruno Haible  <bruno@clisp.org>
4060
4061         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
4062         * modules/ioctl (configure.ac): Likewise.
4063
4064 2009-08-10  Bruno Haible  <bruno@clisp.org>
4065
4066         Avoid collision between gnulib wrapper and libintl wrapper.
4067         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
4068         already defined in intl/printf.c.
4069         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
4070         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
4071
4072 2009-08-09  Bruno Haible  <bruno@clisp.org>
4073
4074         Make <sys/select.h> really self-contained, also on Solaris 10.
4075         * lib/sys_select.in.h: Include <string.h>.
4076         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
4077         Solaris 10 problem.
4078         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
4079         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
4080         Reported by Jim Meyering.
4081
4082 2009-08-09  Bruno Haible  <bruno@clisp.org>
4083
4084         Avoid warnings from 'aclocal' that are due to a use of macro name
4085         AM_XGETTEXT_OPTION that is not defined in automake.
4086         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
4087         automake.
4088         * modules/error (configure.ac): Likewise.
4089         * modules/propername (configure.ac): Likewise.
4090         * modules/vasprintf (configure.ac): Likewise.
4091         * modules/verror (configure.ac): Likewise.
4092         * modules/xprintf (configure.ac): Likewise.
4093         * modules/xvasprintf (configure.ac): Likewise.
4094
4095 2009-08-08  Bruno Haible  <bruno@clisp.org>
4096
4097         Avoid compilation error in C++ mode.
4098         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
4099         Reported by Sam Steingold <sds@gnu.org>.
4100
4101 2009-08-08  Bruno Haible  <bruno@clisp.org>
4102
4103         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
4104         for the various Unix platforms.
4105         * doc/posix-headers/limits.texi: Update platforms list regarding
4106         HOST_NAME_MAX.
4107         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4108
4109 2009-08-07  Jim Meyering  <meyering@redhat.com>
4110
4111         selinux-at: fix typo in a comment
4112         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
4113         Spotted by Paolo Bonzini.
4114
4115         selinux-at: remove redundant m4 code, add documentation
4116         * modules/selinux-at (configure.ac): Remove redundant code.
4117         LIB_SELINUX is already set via the dependent module, selinux-h.
4118         (Include): Add quotes around selinux-at.h.
4119         * lib/selinux-at.h: Add documentation.
4120         Reported by Bruno Haible in
4121         http://marc.info/?l=gnulib-bug&m=124958988300749
4122
4123 2009-08-07  Bruno Haible  <bruno@clisp.org>
4124
4125         Avoid link error on MacOS X 10.3 and 10.4.
4126         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
4127         on non-ELF systems.
4128         * lib/argp-pv.c (argp_program_version): Likewise.
4129         Reported by Simon Josefsson.
4130
4131 2009-08-07  Simon Josefsson  <simon@josefsson.org>
4132
4133         * tests/test-version-etc.sh: Use $EXEEXT.
4134
4135 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
4136
4137         update-copyright: update documentation to point to maint.mk
4138         * build-aux/update-copyright: Here.
4139
4140 2009-08-06  Jim Meyering  <meyering@redhat.com>
4141
4142         maint.mk: support update-copyright-local
4143         * top/maint.mk (update-copyright-local): Define place-holder.
4144         (update-copyright): Depend on $(update-copyright-local).
4145
4146 2009-08-06  Jim Meyering  <meyering@redhat.com>
4147
4148         selinux-at: new module
4149         Initially written for coreutils, this module will soon be
4150         used by findutils, too.
4151         * MODULES.html.sh [Misc]: Add selinux-at.
4152         * lib/selinux-at.h: New file, from coreutils.
4153         * lib/selinux-at.c: Likewise.
4154         * modules/selinux-at: Likewise.
4155         (License): Change from LGPL to GPL, since it depends
4156         on the GPL'd openat module.
4157
4158         doc: update README
4159         * README: Remove references to cogito.
4160         Remove cvs-repo-updating instructions from 2007.
4161         Don't imply that CVS is better if you have limited disk space.
4162
4163 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4164
4165         update-copyright: support C-style comments
4166         * build-aux/update-copyright: Implement and document.
4167         * tests/test-update-copyright.sh: Test.
4168
4169 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4170
4171         update-copyright: support omitted "(C)"
4172         * build-aux/update-copyright: Implement and document.  Also,
4173         allow variable whitespace before "(C)".
4174         * tests/test-update-copyright.sh: Test.
4175
4176 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4177
4178         update-copyright: don't trip on non-FSF copyright statements
4179         * build-aux/update-copyright: Fix so that the first correctly
4180         formatted FSF copyright statement is recognized no matter what
4181         appears before it.  Update documentation.
4182         * tests/test-update-copyright.sh: Test that.
4183
4184 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4185
4186         update-copyright: clean up code a little
4187         * build-aux/update-copyright: Append "_re" to the name of any
4188         variable holding a regular expression.
4189         Replace "old" and "new" with "stmt" in variable names.
4190         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
4191         handled correctly.
4192         Format code more consistently.
4193
4194 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4195
4196         update-copyright-tests: improve portability
4197         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
4198         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
4199
4200 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4201
4202         update-copyright: support @copyright{} and &copy;
4203         * build-aux/update-copyright: Implement and document.
4204         * tests/test-update-copyright.sh: Test.
4205
4206 2009-08-04  Jim Meyering  <meyering@redhat.com>
4207
4208         update-copyright-tests: correctly test EOL=\r\n handling
4209         * tests/test-update-copyright.sh: Put \r at the end of some lines
4210         for the dos-eol tests.  Based on a patch by Joel E. Denny.
4211
4212         maint.mk: make update-copyright exclusion list more configurable
4213         * top/maint.mk (update-copyright): Default to excluding COPYING,
4214         but allow an override, in case someone does want to update that file.
4215
4216         maint.mk: don't update copyright date in COPYING
4217         * top/maint.mk (update-copyright): Exclude COPYING.
4218
4219         maint.mk: add a copyright-updating rule
4220         * top/maint.mk (update-copyright): New rule.
4221         Derived from coreutils/Makefile.am.
4222
4223         update-copyright: rename some variables
4224         * build-aux/update-copyright: Rename a few variables for clarity.
4225         Tweak syntax.  List Joel E. Denny as coauthor.
4226
4227 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4228
4229         update-copyright: fix bug for 2-digit last year and add tests
4230         * build-aux/update-copyright: Fix bug.
4231         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
4232         specified.
4233         * modules/update-copyright-tests: New
4234         * tests/test-update-copyright.sh: New.
4235
4236 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4237
4238         update-copyright: handle leading tabs in line prefix
4239         * build-aux/update-copyright: Count leading tabs as 8 spaces
4240         when computing margin.  This helps with the formatting of
4241         ChangeLogs, for example.
4242         Fix documentation a little.
4243
4244 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4245
4246         update-copyright: support EOL=\r\n
4247         * build-aux/update-copyright: Implement that.
4248
4249 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4250
4251         update-copyright: automatically format copyright statements
4252         * build-aux/update-copyright: Implement that.
4253         Also, be a little more predictable and safer by always failing
4254         when the full copyright format is not perfectly recognized as an
4255         unbroken whole.  Discussed at
4256         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
4257         Rewrite documentation.
4258
4259 2009-08-03  Bruno Haible  <bruno@clisp.org>
4260
4261         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
4262
4263 2009-08-02  Bruno Haible  <bruno@clisp.org>
4264
4265         Tests for module 'uname'.
4266         * modules/uname-tests: New file.
4267         * tests/test-uname.c: New file.
4268
4269         New module 'uname'.
4270         * lib/uname.c: New file.
4271         * m4/uname.m4: New file.
4272         * modules/uname: New file.
4273         * doc/posix-functions/uname.texi: Mention the new module.
4274
4275 2009-08-02  Bruno Haible  <bruno@clisp.org>
4276
4277         Tests for module 'sys_utsname'.
4278         * modules/sys_utsname-tests: New file.
4279         * tests/test-sys_utsname.c: New file.
4280
4281         New module 'sys_utsname'.
4282         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
4283         * m4/sys_utsname_h.m4: New file.
4284         * modules/sys_utsname: New file.
4285         * doc/posix-headers/sys_utsname.texi: Mention the new module.
4286
4287 2009-08-02  Bruno Haible  <bruno@clisp.org>
4288
4289         Implicitly initialize the sockets library.
4290         * lib/gethostname.c: Include sockets.h.
4291         (rpl_gethostname): Invoke gl_sockets_startup.
4292         * lib/socket.c: Include sockets.h.
4293         (rpl_socket): Invoke gl_sockets_startup.
4294         * modules/gethostname (Depends-on): Add sockets.
4295         * modules/socket (Depends-on): Likewise.
4296         * tests/test-poll.c: Don't include sockets.h.
4297         (main): Don't invoke gl_sockets_startup.
4298         * tests/test-select.c: Don't include sockets.h.
4299         (main): Don't invoke gl_sockets_startup.
4300
4301 2009-08-02  Bruno Haible  <bruno@clisp.org>
4302
4303         Allow multiple calls to gl_sockets_startup.
4304         * lib/sockets.c (initialized_sockets_version): New variable.
4305         (gl_sockets_startup): Do nothing if already called for this or a higher
4306         version.
4307         (gl_sockets_cleanup): Reset initialized_sockets_version.
4308
4309 2009-08-03  Simon Josefsson  <simon@josefsson.org>
4310
4311         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
4312         different project/version.
4313
4314 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
4315             Bruno Haible  <bruno@clisp.org>
4316
4317         Tests for module 'pipe-filter-gi'.
4318         * modules/pipe-filter-gi-tests: New file.
4319         * tests/test-pipe-filter-gi1.sh: New file.
4320         * tests/test-pipe-filter-gi1.c: New file.
4321         * tests/test-pipe-filter-gi2.sh: New file.
4322         * tests/test-pipe-filter-gi2-main.c: New file.
4323         * tests/test-pipe-filter-gi2-child.c: New file.
4324
4325         New module 'pipe-filter-gi'.
4326         * lib/pipe-filter-gi.c: New file.
4327         * modules/pipe-filter-gi: New file.
4328
4329 2009-08-02  Bruno Haible  <bruno@clisp.org>
4330             Paolo Bonzini  <bonzini@gnu.org>
4331
4332         Tests for module 'pipe-filter-ii'.
4333         * modules/pipe-filter-ii-tests: New file.
4334         * tests/test-pipe-filter-ii1.sh: New file.
4335         * tests/test-pipe-filter-ii1.c: New file.
4336         * tests/test-pipe-filter-ii2.sh: New file.
4337         * tests/test-pipe-filter-ii2-main.c: New file.
4338         * tests/test-pipe-filter-ii2-child.c: New file.
4339
4340         New module 'pipe-filter-ii'.
4341         * lib/pipe-filter.h: New file.
4342         * lib/pipe-filter-ii.c: New file.
4343         * lib/pipe-filter-aux.h: New file.
4344         * modules/pipe-filter-ii: New file.
4345
4346 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4347
4348         * lib/gc-libgcrypt.c: Change copyright to FSF.
4349         * lib/gc-gnulib.c: Likewise.
4350
4351 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
4352
4353         * lib/gethostname.c: Include limits.h.
4354
4355 2009-08-02  Simon Josefsson  <simon@josefsson.org>
4356             Bruno Haible  <bruno@clisp.org>
4357
4358         Ensure HOST_NAME_MAX as part of the gethostname module.
4359         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
4360         define also HOST_NAME_MAX.
4361         * tests/test-gethostname.c: Include <limits.h>.
4362         (main): Check also HOST_NAME_MAX.
4363         * doc/posix-headers/limits.texi: Document the mingw problem.
4364
4365 2009-08-02  Bruno Haible  <bruno@clisp.org>
4366
4367         * lib/gethostname.c (gethostname): Fix handling of large len argument.
4368         Add comments.
4369
4370 2009-03-31  Simon Josefsson  <simon@josefsson.org>
4371
4372         * lib/gethostname.c: Add Windows wrapper.
4373         * m4/gethostname.m4: Look for gethostname in -lws2_32.
4374         * modules/gethostname: Depend on sys_socket & errno, for also
4375         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
4376         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
4377
4378 2009-07-31  Jim Meyering  <meyering@redhat.com>
4379
4380         getloadavg: fix symbol name in comment
4381         * lib/getloadavg.c: Correct a typo I introduced when adding
4382         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
4383         Matt Kraai spotted the problem.
4384
4385 2009-07-29  Matt Kraai  <mkraai@beckman.com>
4386
4387         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
4388         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
4389         code also if ! defined N_NAME_POINTER.
4390         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
4391         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
4392         but the n_name member is a 12-byte array.
4393
4394 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
4395
4396         update-copyright: generalize comment handling
4397         * build-aux/update-copyright: Handle copyright statements
4398         within more comment styles.
4399         Document usage.
4400         Report any file with an external copyright holder or parse failure.
4401
4402 2009-07-29  Jim Meyering  <meyering@redhat.com>
4403
4404         mktime: correct setting of REPLACE_MKTIME
4405         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
4406
4407         update-copyright: new module
4408         * modules/update-copyright: New file.
4409         * build-aux/update-copyright: New file.
4410         * MODULES.html.sh (maint+release support): Add update-copyright.
4411
4412 2009-07-27  Bruno Haible  <bruno@clisp.org>
4413
4414         Fix compilation error when <ctime> is used and mktime is replaced.
4415         * lib/time.in.h (mktime): New declaration.
4416         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
4417         REPLACE_MKTIME instead of defining mktime in config.h.
4418         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
4419         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
4420         Reported by Ross McFarland <rwmcfa1@neces.com>.
4421
4422 2009-07-27  Bruno Haible  <bruno@clisp.org>
4423
4424         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
4425         Reported by Matt Kraai <mkraai@beckman.com>.
4426
4427 2009-07-25  Jim Meyering  <meyering@redhat.com>
4428
4429         maint.mk: avoid warnings about missing files
4430         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
4431         diagnostic when .prev-version does not exist.
4432         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
4433         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
4434         nonexistent cfg.mk.
4435         Suggestions from Simon Josefsson.
4436
4437 2009-07-25  Bruno Haible  <bruno@clisp.org>
4438
4439         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
4440         defined as macros. Needed on QNX 6.4.1.
4441         Reported by Matt Kraai <mkraai@beckman.com>.
4442
4443 2009-07-23  Jim Meyering  <meyering@redhat.com>
4444
4445         maint.mk: invoke "make dist" with a working value of XZ_OPT
4446         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
4447
4448 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
4449
4450         Make fseeko.c compile on QNX.
4451         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
4452
4453 2009-07-22  Peter Simons  <simons@cryp.to>
4454
4455         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
4456         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
4457         * lib/md4.h: Likewise.
4458         * lib/md5.h: Likewise.
4459         * lib/sha1.h: Likewise.
4460         * lib/sha256.h: Likewise.
4461         * lib/sha512.h: Likewise.
4462
4463         tests-sha1: don't assign literal string to 'char *' variable
4464         * tests/test-sha1.c (main): Declare locals with "const" to match
4465         attributes of the right hand side.
4466
4467 2009-07-21  Eric Blake  <ebb9@byu.net>
4468
4469         dup2: fix more mingw problems
4470         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
4471         fd to itself.
4472         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4473         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
4474         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
4475         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
4476         care of mingw bugs.
4477
4478 2009-07-21  Jim Meyering  <meyering@redhat.com>
4479
4480         vc-list-files: avoid failure when /bin/sh is dash
4481         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
4482         On some Debian based systems, /bin/sh is a symlink to dash, and running
4483         this command would omit the "/" following each 'tests' prefix:
4484           dash -x build-aux/vc-list-files -C . tests
4485         That is because bash and dash work differently:
4486           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
4487           bash ok
4488           dash odd
4489
4490 2009-07-21  Eric Blake  <ebb9@byu.net>
4491
4492         dup2-tests: test previous patch
4493         * modules/dup2-tests: New file.
4494         * tests/test-dup2.c: Likewise.
4495         * tests/test-open.c (main): Avoid unspecified behavior.
4496         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
4497         test.
4498
4499         dup2: work around mingw and cygwin 1.5 bug
4500         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
4501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
4502         * modules/unistd (Makefile.am): Substitute it.
4503         * lib/unistd.in.h (dup2): Declare the replacement.
4504         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
4505         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
4506         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
4507         * modules/execute (Depends-on): Add dup2.
4508         * modules/fseterr (Depends-on): Likewise.
4509         * modules/pipe (Depends-on): Likewise.
4510         * modules/posix_spawn-internal (Depends-on): Likewise.
4511
4512 2009-07-21  Bruno Haible  <bruno@clisp.org>
4513
4514         * modules/.gitattributes: New file.
4515
4516 2009-07-20  Bruno Haible  <bruno@clisp.org>
4517
4518         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
4519         (main): Use it.
4520
4521 2009-07-20  Eric Blake  <ebb9@byu.net>
4522
4523         test-pipe: make a bit more robust.
4524         * tests/test-pipe.c (myerr): Allow error messages regardless of
4525         what we do to stderr.
4526         (test_pipe): Rearrange to avoid deadlock.
4527         (child_main): Try a larger read, to ensure we avoided deadlock.
4528         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
4529         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
4530         if misused.
4531
4532 2009-07-19  Jim Meyering  <meyering@redhat.com>
4533
4534         fts: avoid false-positive cycle-detection
4535         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
4536         for each new command line argument.
4537
4538 2009-07-19  Bruno Haible  <bruno@clisp.org>
4539
4540         Fix build error on mingw with the modules sys_select and unistd.
4541         * modules/acl-tests (Depends-on): Add close.
4542         * modules/binary-io-tests (Depends-on): Likewise.
4543         * modules/closein-tests (Depends-on): Likewise.
4544         * modules/flock-tests (Depends-on): Likewise.
4545         * modules/fsync-tests (Depends-on): Likewise.
4546         * modules/lseek-tests (Depends-on): Likewise.
4547         * modules/pipe-tests (Depends-on): Likewise.
4548         * modules/posix_spawn-tests (Depends-on): Likewise.
4549         * modules/posix_spawnp-tests (Depends-on): Likewise.
4550         * modules/stat-time-tests (Depends-on): Likewise.
4551         * modules/yesno-tests (Depends-on): Likewise.
4552
4553 2009-07-19  Bruno Haible  <bruno@clisp.org>
4554
4555         Unify conditionals.
4556         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
4557         macros, not at the compiler macros.
4558         * lib/pipe.c: Likewise.
4559         * lib/execute.c: Likewise.
4560         * lib/spawni.c: Likewise.
4561
4562 2009-07-19  Bruno Haible  <bruno@clisp.org>
4563
4564         Fix handling of closed stdin/stdout/stderr on mingw.
4565         * lib/w32spawn.h: Include unistd.h.
4566         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
4567         file descriptor with O_NOINHERIT flag.
4568         (fd_safer_noinherit): New function, based on fd-safer.c.
4569         (dup_safer_noinherit): New function, based on dup-safer.c.
4570         (undup_safer_noinherit): New function.
4571         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
4572         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
4573         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
4574         instead of fd_safer.
4575         * tests/test-pipe.c: Include <windows.h>.
4576         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
4577
4578         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
4579         from main.
4580         (test_pipe): Pass an extra argument for disambiguation.
4581         (main): Invoke parent_main or child_main.
4582
4583         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
4584         consistently.
4585
4586 2009-07-18  Eric Blake  <ebb9@byu.net>
4587
4588         test-pipe: fix mingw build
4589         * tests/test-pipe.c (main): Avoid fcntl on mingw.
4590
4591 2009-07-18  Bruno Haible  <bruno@clisp.org>
4592
4593         * modules/pipe-tests (Makefile.am): Fix typo.
4594
4595 2009-07-18  Eric Blake  <ebb9@byu.net>
4596
4597         error: fix mingw build
4598         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
4599         Reported by Bruno Haible.
4600
4601         error: avoid undefined use of stdout
4602         * lib/error.c (error, error_at_line): Check that fd 1 is open
4603         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
4604         is handling faults and the close_stdout module wants to report the
4605         detection of closed stdout as an error.
4606
4607 2009-07-17  Eric Blake  <ebb9@byu.net>
4608
4609         pipe: be robust in face of closed fds
4610         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
4611         should cause child to misbehave.
4612         * modules/pipe-tests: New module.
4613         * tests/test-pipe.c: New file.
4614         * tests/test-pipe.sh: New file.
4615         Reported by Akim Demaille.
4616
4617 2009-07-14  Bruno Haible  <bruno@clisp.org>
4618
4619         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
4620         Reported by anonymous kc.
4621
4622 2009-07-07  Jim Meyering  <meyering@redhat.com>
4623
4624         maint.mk: don't look for translatable strings in *.m4 or *.mk
4625         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
4626         when searching for translatable strings.
4627
4628 2009-07-05  Jim Meyering  <meyering@redhat.com>
4629
4630         remove superfluous parentheses in STREQ definition
4631         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
4632         * lib/getugroups.c (STREQ): Likewise.
4633         * lib/fnmatch.c (STREQ): Likewise.
4634         Spotted by Bruno Haible.
4635
4636 2009-07-04  Jim Meyering  <meyering@redhat.com>
4637
4638         argv-iter: new module
4639         * MODULES.html.sh: Add argv-iter.
4640         * lib/argv-iter.c, lib/argv-iter.h: New files.
4641         * modules/argv-iter: New file.
4642         * modules/argv-iter-tests: New file.
4643         * tests/test-argv-iter.c: Test it.
4644
4645 2009-07-04  Bruno Haible  <bruno@clisp.org>
4646
4647         Fix assertion.
4648         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
4649         contains more exact copies of a given entry than file2, leave the extra
4650         copies unpaired rather than aborting.
4651         Reported by Eric Blake.
4652
4653 2009-07-02  Bruno Haible  <bruno@clisp.org>
4654
4655         Speedup git-merge-changelog for git cherry-pick.
4656         * lib/git-merge-changelog.c (struct entries_mapping): New type.
4657         (entries_mapping_get): New function, extracted from compute_mapping.
4658         (entries_mapping_reverse_get): New function.
4659         (compute_mapping): Add a 'full' argument. Return the result in a
4660         'struct entries_mapping'.
4661         (main): Update. Access the mappings through entries_mapping_get.
4662         Reported by Eric Blake.
4663
4664 2009-07-02  Bruno Haible  <bruno@clisp.org>
4665
4666         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
4667         best_i.
4668
4669 2009-07-02  Bruno Haible  <bruno@clisp.org>
4670
4671         Speed up approximate search for matching ChangeLog entries.
4672         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
4673         argument. Call fstrcmp_bounded instead of fstrcmp.
4674         (compute_mapping, try_split_merged_entry, main): Update callers.
4675
4676 2009-07-02  Bruno Haible  <bruno@clisp.org>
4677
4678         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
4679
4680 2009-06-30  Bruno Haible  <bruno@clisp.org>
4681
4682         Reduce the number of uc_is_cased calls.
4683         * lib/unicase.h (casing_suffix_context_t): Add
4684         'first_char_except_ignorable' field.
4685         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
4686         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
4687         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
4688         Update initializer.
4689         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
4690         case-ignorable characters.
4691         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
4692         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
4693         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
4694         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
4695         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
4696
4697 2009-06-30  Bruno Haible  <bruno@clisp.org>
4698
4699         Tests for module 'unicase/ignorable'.
4700         * modules/unicase/ignorable-tests: New file.
4701         * tests/unicase/test-ignorable.c: New file, generated by
4702         gen-uni-tables.
4703
4704         Tests for module 'unicase/cased'.
4705         * modules/unicase/cased-tests: New file.
4706         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
4707         * tests/unicase/test-predicate-part1.h: New file, derived from
4708         tests/unictype/test-predicate-part1.h.
4709         * tests/unicase/test-predicate-part2.h: New file, same as
4710         tests/unictype/test-predicate-part2.h.
4711
4712         Fix evaluation of "Before C" condition of FINAL_SIGMA.
4713         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
4714         (output_casing_properties): New function.
4715         (main): Call it.
4716         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
4717         * lib/unicase/cased.c: Include unictype/bitmap.h.
4718         (uc_is_cased): Define through a bitmap lookup.
4719         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
4720         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
4721         (uc_is_case_ignorable): Define through a bitmap lookup.
4722         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
4723         lib/unictype/bitmap.h.
4724         (Depends-on): Add inline. Clean up.
4725         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
4726         lib/unictype/bitmap.h.
4727         (Depends-on): Add inline. Clean up.
4728         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
4729         recognition.
4730         * tests/unicase/test-u16-tolower.c (main): Likewise.
4731         * tests/unicase/test-u32-tolower.c (main): Likewise.
4732
4733 2009-06-30  Bruno Haible  <bruno@clisp.org>
4734
4735         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
4736         * lib/unicase/u16-casemap.c: Likewise.
4737         * lib/unicase/u32-casemap.c: Likewise.
4738
4739 2009-06-29  Bruno Haible  <bruno@clisp.org>
4740
4741         Define u32_casefold as a wrapper around u32_ct_casefold.
4742         * lib/unicase/u32-casefold.c: Update.
4743         * modules/unicase/u32-casefold (Depends-on): Add
4744         unicase/u32-ct-casefold, unicase/empty-prefix-context,
4745         unicase/empty-suffix-context. Clean up.
4746
4747         Define u16_casefold as a wrapper around u16_ct_casefold.
4748         * lib/unicase/u16-casefold.c: Update.
4749         * modules/unicase/u16-casefold (Depends-on): Add
4750         unicase/u16-ct-casefold, unicase/empty-prefix-context,
4751         unicase/empty-suffix-context. Clean up.
4752
4753         Define u8_casefold as a wrapper around u8_ct_casefold.
4754         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
4755         * lib/unicase/u8-casefold.c: Update.
4756         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
4757         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4758
4759         Define u32_totitle as a wrapper around u32_ct_totitle.
4760         * lib/unicase/u32-totitle.c: Update.
4761         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
4762         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4763
4764         Define u16_totitle as a wrapper around u16_ct_totitle.
4765         * lib/unicase/u16-totitle.c: Update.
4766         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
4767         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4768
4769         Define u8_totitle as a wrapper around u8_ct_totitle.
4770         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
4771         functions.
4772         (FUNC): Delegate to U_CT_TOTITLE.
4773         * lib/unicase/u8-totitle.c: Update.
4774         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
4775         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
4776
4777         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
4778         invocation.
4779         * modules/unicase/u32-tolower (Depends-on): Add
4780         unicase/empty-prefix-context, unicase/empty-suffix-context.
4781
4782         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
4783         invocation.
4784         * modules/unicase/u16-tolower (Depends-on): Add
4785         unicase/empty-prefix-context, unicase/empty-suffix-context.
4786
4787         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
4788         * modules/unicase/u8-tolower (Depends-on): Add
4789         unicase/empty-prefix-context, unicase/empty-suffix-context.
4790
4791         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
4792         invocation.
4793         * modules/unicase/u32-toupper (Depends-on): Add
4794         unicase/empty-prefix-context, unicase/empty-suffix-context.
4795
4796         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
4797         invocation.
4798         * modules/unicase/u16-toupper (Depends-on): Add
4799         unicase/empty-prefix-context, unicase/empty-suffix-context.
4800
4801         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
4802         * modules/unicase/u8-toupper (Depends-on): Add
4803         unicase/empty-prefix-context, unicase/empty-suffix-context.
4804
4805         New module 'unicase/u32-ct-casefold'.
4806         * lib/unicase/u32-ct-casefold.c: New file.
4807         * modules/unicase/u32-ct-casefold: New file.
4808
4809         New module 'unicase/u16-ct-casefold'.
4810         * lib/unicase/u16-ct-casefold.c: New file.
4811         * modules/unicase/u16-ct-casefold: New file.
4812
4813         New module 'unicase/u8-ct-casefold'.
4814         * lib/unicase/u8-ct-casefold.c: New file.
4815         * lib/unicase/u-ct-casefold.h: New file, derived from
4816         lib/unicase/u-casefold.h.
4817         * modules/unicase/u8-ct-casefold: New file.
4818
4819         New module 'unicase/u32-ct-totitle'.
4820         * lib/unicase/u32-ct-totitle.c: New file.
4821         * modules/unicase/u32-ct-totitle: New file.
4822
4823         New module 'unicase/u16-ct-totitle'.
4824         * lib/unicase/u16-ct-totitle.c: New file.
4825         * modules/unicase/u16-ct-totitle: New file.
4826
4827         New module 'unicase/u8-ct-totitle'.
4828         * lib/unicase/u8-ct-totitle.c: New file.
4829         * lib/unicase/u-ct-totitle.h: New file, derived from
4830         lib/unicase/u-totitle.h.
4831         * modules/unicase/u8-ct-totitle: New file.
4832
4833         New module 'unicase/u32-ct-tolower'.
4834         * lib/unicase/u32-ct-tolower.c: New file.
4835         * modules/unicase/u32-ct-tolower: New file.
4836
4837         New module 'unicase/u16-ct-tolower'.
4838         * lib/unicase/u16-ct-tolower.c: New file.
4839         * modules/unicase/u16-ct-tolower: New file.
4840
4841         New module 'unicase/u8-ct-tolower'.
4842         * lib/unicase/u8-ct-tolower.c: New file.
4843         * modules/unicase/u8-ct-tolower: New file.
4844
4845         New module 'unicase/u32-ct-toupper'.
4846         * lib/unicase/u32-ct-toupper.c: New file.
4847         * modules/unicase/u32-ct-toupper: New file.
4848
4849         New module 'unicase/u16-ct-toupper'.
4850         * lib/unicase/u16-ct-toupper.c: New file.
4851         * modules/unicase/u16-ct-toupper: New file.
4852
4853         New module 'unicase/u8-ct-toupper'.
4854         * lib/unicase/u8-ct-toupper.c: New file.
4855         * modules/unicase/u8-ct-toupper: New file.
4856
4857         Add context arguments to u*_casemap functions.
4858         * lib/unicase/unicasemap.h: Include unicase.h.
4859         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
4860         suffix_context arguments.
4861         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
4862         functions.
4863         (FUNC): Add prefix_context and suffix_context arguments. Use
4864         uc_is_cased and uc_is_case_ignorable.
4865         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
4866         * lib/unicase/u16-casemap.c: Likewise.
4867         * lib/unicase/u32-casemap.c: Likewise.
4868         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
4869         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
4870         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
4871         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
4872         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
4873         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
4874
4875         New module 'unicase/u32-suffix-context'.
4876         * lib/unicase/u32-suffix-context.c: New file.
4877         * modules/unicase/u32-suffix-context: New file.
4878
4879         New module 'unicase/u16-suffix-context'.
4880         * lib/unicase/u16-suffix-context.c: New file.
4881         * modules/unicase/u16-suffix-context: New file.
4882
4883         New module 'unicase/u8-suffix-context'.
4884         * lib/unicase/u8-suffix-context.c: New file.
4885         * lib/unicase/u-suffix-context.h: New file.
4886         * modules/unicase/u8-suffix-context: New file.
4887
4888         New module 'unicase/empty-suffix-context'.
4889         * lib/unicase/empty-suffix-context.c: New file.
4890         * modules/unicase/empty-suffix-context: New file.
4891
4892         New module 'unicase/u32-prefix-context'.
4893         * lib/unicase/u32-prefix-context.c: New file.
4894         * modules/unicase/u32-prefix-context: New file.
4895
4896         New module 'unicase/u16-prefix-context'.
4897         * lib/unicase/u16-prefix-context.c: New file.
4898         * modules/unicase/u16-prefix-context: New file.
4899
4900         New module 'unicase/u8-prefix-context'.
4901         * lib/unicase/u8-prefix-context.c: New file.
4902         * lib/unicase/u-prefix-context.h: New file.
4903         * lib/unicase/context.h: New file.
4904         * modules/unicase/u8-prefix-context: New file.
4905
4906         New module 'unicase/empty-prefix-context'.
4907         * lib/unicase/empty-prefix-context.c: New file.
4908         * modules/unicase/empty-prefix-context: New file.
4909
4910         New module 'unicase/ignorable'.
4911         * lib/unicase/ignorable.c: New file.
4912         * modules/unicase/ignorable: New file.
4913
4914         New module 'unicase/cased'.
4915         * lib/unicase/caseprop.h: New file.
4916         * lib/unicase/cased.c: New file.
4917         * modules/unicase/cased: New file.
4918
4919         New functions for case mapping of substrings.
4920         * lib/unicase.h (casing_prefix_context_t): New type.
4921         (unicase_empty_prefix_context): New variable.
4922         (u8_casing_prefix_context, u16_casing_prefix_context,
4923         u32_casing_prefix_context, u8_casing_prefixes_context,
4924         u16_casing_prefixes_context, u32_casing_prefixes_context): New
4925         declarations.
4926         (casing_suffix_context_t): New type.
4927         (unicase_empty_suffix_context): New variable.
4928         (u8_casing_suffix_context, u16_casing_suffix_context,
4929         u32_casing_suffix_context, u8_casing_suffixes_context,
4930         u16_casing_suffixes_context, u32_casing_suffixes_context,
4931         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
4932         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
4933         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
4934         declarations.
4935
4936 2009-06-28  Jim Meyering  <meyering@redhat.com>
4937
4938         boostrap: indent only with spaces
4939         * build-aux/bootstrap: Indent only with spaces, never TABs.
4940
4941         bootstrap: split long lines
4942         * build-aux/bootstrap: Keep line length < 80.
4943
4944         bootstrap: sync from coreutils
4945         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
4946         just as autoreconf does.  Verify a list of prerequisite
4947         package-name,version-number pairs if defined in bootstrap.conf.
4948         Refer to README-prereq, if prerequisites are not satisfied.
4949
4950 2009-06-27  Eric Blake  <ebb9@byu.net>
4951
4952         tests: add test for bogus NULL definition
4953         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
4954         * tests/test-stdlib.c: Likewise.
4955         * tests/test-string.c: Likewise.
4956         * tests/test-locale.c: Likewise.
4957         * tests/test-unistd.c: Likewise.
4958         * modules/stdio-tests (Depends-on): Add verify.
4959         * modules/stdlib-tests (Depends-on): Likewise.
4960         * modules/string-tests (Depends-on): Likewise.
4961         * modules/locale-tests (Depends-on): Likewise.
4962         * modules/unistd-tests (Depends-on): Likewise.
4963
4964 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
4965
4966         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
4967         self-explaining comment.
4968         * m4/selinux-selinux-h: Update serial.
4969         (gl_LIBSELINUX): New macro, adding a warning for missing development
4970         packages to code extracted from...
4971         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
4972         Add warning for missing development packages here, too.
4973
4974 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
4975
4976         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
4977
4978 2009-06-25  Eric Blake  <ebb9@byu.net>
4979
4980         version-etc: fix regression
4981         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
4982         gcc.
4983         (version_etc): Use it, to catch bugs with trailing NULL.
4984         * lib/version-etc.c (version_etc_arn): Delete unused argument.
4985         (version_etc_va): Fix logic bug.
4986         * modules/version-etc-tests: Add test.
4987         * tests/test-version-etc.c: New file.
4988         * tests/test-version-etc.sh: Likewise.
4989
4990 2009-06-25  Sam Steingold  <sds@gnu.org>
4991
4992         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
4993         mbtowc declaration.
4994
4995 2009-06-25  Eric Blake  <ebb9@byu.net>
4996
4997         fpurge: migrate into <stdio.h>
4998         * lib/fpurge.h: Delete...
4999         * lib/stdio.in.h (fpurge): ...and declare here, instead.
5000         * lib/fpurge.c (fpurge): Change declaring header.
5001         * modules/fpurge (Files): Drop deleted file.
5002         (Depends-on): Add stdio.
5003         (configure.ac): Set witness.
5004         * modules/stdio (Makefile.am): Support fpurge macros.
5005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5006         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
5007         * lib/fflush.c: Update client.
5008         * tests/test-fpurge.c: Likewise.
5009         * NEWS: Mention the change.
5010
5011 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5012
5013         * lib/argp-version-etc.c (program_authors): Add const
5014         qualifier.
5015         * lib/version-etc.c: Fix typos in the comments.
5016         * modules/argp-version-etc: Depends on version-etc.
5017
5018 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5019
5020         argp-version-etc: new module.
5021
5022         * lib/argp-version-etc.c: New file.
5023         * lib/argp-version-etc.h: New file.
5024         * modules/argp-version-etc: New file.
5025         * modules/argp-version-etc-tests: New file.
5026         * tests/test-argp-version-etc.c: New test.
5027         * tests/test-argp-version-etc-1.sh: New test.
5028
5029 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5030
5031         Provide additional interfaces and documentation for version-etc
5032         module.
5033
5034         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
5035         interfaces.
5036         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
5037         prototypes.
5038
5039 2009-06-24  Bruno Haible  <bruno@clisp.org>
5040
5041         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
5042         HAVE_LIB${NAME} macro.
5043         Reported by Sam Steingold <sds@gnu.org>.
5044
5045 2009-06-23  Simon Josefsson  <simon@josefsson.org>
5046
5047         * modules/hash-tests (test_hash_LDADD): Link to libintl when
5048         needed.
5049
5050 2009-06-21  Bruno Haible  <bruno@clisp.org>
5051
5052         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
5053         work.
5054         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
5055         together with LIB${NAME}, LTLIB${NAME}.
5056         Reported by Sam Steingold <sds@gnu.org>.
5057
5058 2009-06-20  Jim Meyering  <meyering@redhat.com>
5059
5060         tests: make sc_require_test_exit_idiom more generic
5061         * top/maint.mk (Exit_witness_file): New overridable variable.
5062         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
5063         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
5064
5065 2009-06-19  Jim Meyering  <meyering@redhat.com>
5066
5067         hash: reverse order of src/dst parameters in an internal interface
5068         * lib/hash.c (transfer_entries): Reverse order of parameters to
5069         put DST before SRC.  Adjust callers.
5070
5071         tests: test-hash: avoid wholesale duplication
5072         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
5073         Instead, use a loop and add a single conditional.
5074
5075         tests: test-hash: allow seed selection via a command line argument
5076         * tests/test-hash.c (get_seed): New function.
5077         (main): Use it.
5078
5079 2009-06-19  Eric Blake  <ebb9@byu.net>
5080
5081         hash: avoid memory leak on allocation failure
5082         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
5083         failure.  Factor repeated algorithm...
5084         (transfer_entries): ...into new helper routine.
5085         (hash_delete): React to hash_rehash return value.
5086
5087         hash: reduce memory pressure in hash_rehash no-op case
5088         * lib/hash.c (next_prime): Avoid overflow.
5089         (hash_initialize): Factor bucket size computation...
5090         (compute_bucket_size): ...into new helper function.
5091         (hash_rehash): Use new function and open coding to reduce memory
5092         pressure, and avoid a memory leak in USE_OBSTACK code.
5093         Reported by Jim Meyering.
5094
5095 2009-06-18  Eric Blake  <ebb9@byu.net>
5096
5097         hash: make rotation more obvious
5098         * modules/hash (Depends-on): Add bitrotate and stdint.
5099         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
5100         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
5101         (SIZE_MAX): Rely on headers for definition.
5102         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
5103         (raw_hasher): Use rotr_sz.
5104         Suggested by Jim Meyering.
5105
5106         hash: fix memory leak in last patch
5107         * lib/hash.c (hash_rehash): Avoid memory leak.
5108
5109         hash: avoid no-op rehashing
5110         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
5111
5112         hash: provide default callback functions
5113         * lib/hash.c (raw_hasher, raw_comparator): New functions.
5114         (hash_initialize): Use them as defaults.
5115         * tests/test-hash.c (main): Test this.
5116
5117         hash: minor optimization
5118         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
5119         when possible.
5120         (hash_initialize): Document this promise.
5121         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
5122         * tests/test-hash.c (hash_compare_strings): Test this.
5123
5124 2009-06-18  Bruno Haible  <bruno@clisp.org>
5125
5126         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
5127         going to be replaced anyway.
5128
5129 2009-06-18  Bruno Haible  <bruno@clisp.org>
5130
5131         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
5132         in one place.
5133         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
5134         be replaced anyway.
5135
5136 2009-06-18  Eric Blake  <ebb9@byu.net>
5137
5138         hash: check for resize before insertion
5139         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
5140         threshold before insertion, so that a pathological hash_rehash
5141         that fills every bucket can still trigger another rehash.
5142
5143 2009-06-18  Jim Meyering  <meyering@redhat.com>
5144
5145         hash-tests: add a loop around the small tests
5146         * tests/test-hash.c (main): Repeat small tests with selected
5147         small initial table sizes.
5148
5149 2009-06-17  Eric Blake  <ebb9@byu.net>
5150
5151         hash: minor cleanups
5152         * lib/hash.h (hash_entry): Make opaque, by moving...
5153         * lib/hash.c (hash_entry): ...here.
5154         (hash_insert): Clarify restrictions on what can be inserted.
5155         (hash_get_next): Clarify when it is safe to remove an element
5156         during traversal.
5157         (check_tuning): Skip verification when tuning is known safe.
5158         (hash_initialize): Clarify restrictions on tuning.
5159
5160 2009-06-17  Jim Meyering  <jim@meyering.net>
5161         and Eric Blake  <ebb9@byu.net>
5162
5163         hash-tests: new module
5164         * modules/hash-tests: New file.
5165         * tests/test-hash.c: New file.
5166
5167 2009-06-17  Eric Blake  <ebb9@byu.net>
5168
5169         strstr-simple: document new module
5170         * MODULES.html.sh: Document new module.
5171
5172         strstr, strcasestr: replace on platforms with broken memchr
5173         * modules/strstr: Split into...
5174         * modules/strstr-simple: ...new module that does not care about
5175         performance, but does care about glibc bug.
5176         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
5177         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
5178         if platform memchr is broken, per Debian bug 521737.
5179         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
5180         memchr.
5181         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
5182         * doc/posix-functions/strstr.texi (strstr): Document the fix.
5183         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5184         * modules/mountlist (Depends-on): Add strstr-simple.
5185         * modules/gen-uni-tables (Depends-on): Likewise.
5186         * modules/argz (Depends-on): Add strstr.
5187
5188 2009-06-17  Bruno Haible  <bruno@clisp.org>
5189
5190         * modules/posix_spawn-internal (Depends-on): Add errno.
5191
5192 2009-06-17  Bruno Haible  <bruno@clisp.org>
5193
5194         Define missing ESTALE on Interix 3.5.
5195         * lib/errno.in.h (ESTALE): Assign a value if missing.
5196         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
5197         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
5198         missing.
5199         * doc/posix-headers/errno.texi: Mention the Interix bug.
5200         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
5201
5202 2009-06-15  Eric Blake  <ebb9@byu.net>
5203
5204         memchr, memchr2: add valgrind exception
5205         * lib/memchr.valgrind: New file.
5206         * lib/memchr2.valgrind: New file.
5207         * modules/memchr (Files): Distribute valgrind file.
5208         * modules/memchr2 (Files): Likewise.
5209
5210         docs: memchr is no longer obsolete
5211         * MODULES.html.sh: Move memchr from obsolete to string.h section.
5212         * lib/string.in.h (memchr): Simplify logic.
5213
5214 2009-06-14  Jim Meyering  <meyering@redhat.com>
5215
5216         link-follow: fix the "checking..." message to not mention trailing slash
5217         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
5218         never considered trailing slashes.
5219
5220 2009-06-14  Bruno Haible  <bruno@clisp.org>
5221
5222         * m4/memchr.m4: Mention also the bug on IA-64.
5223         * doc/posix-functions/memchr.texi: Likewise.
5224
5225 2009-06-12  Eric Blake  <ebb9@byu.net>
5226
5227         memchr: detect broken x86_64 and alpha implementations
5228         * modules/memchr-tests (Depends-on): Move mmap detection...
5229         * modules/memchr (Depends-on): ...here.
5230         (configure.ac): Set indicator.
5231         * lib/string.in.h (memchr): Declare replacement.
5232         * modules/string (Makefile.am): Trigger replacement.
5233         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
5234         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
5235         bugs.
5236         * doc/posix-functions/memchr.texi (memchr): Document the bug.
5237         * modules/getpagesize (License): Relax license.
5238
5239 2009-06-11  Bruno Haible  <bruno@clisp.org>
5240
5241         * lib/idpriv.h: Add more references.
5242
5243 2009-06-08  Bruno Haible  <bruno@clisp.org>
5244
5245         Tests for module 'idpriv-droptemp'.
5246         * modules/idpriv-droptemp-tests: New file.
5247         * tests/test-idpriv-droptemp.sh: New file.
5248         * tests/test-idpriv-droptemp.su.sh: New file.
5249         * tests/test-idpriv-droptemp.c: New file.
5250
5251         New module 'idpriv-droptemp'.
5252         * lib/idpriv-droptemp.c: New file.
5253         * modules/idpriv-droptemp: New file.
5254
5255 2009-06-08  Bruno Haible  <bruno@clisp.org>
5256
5257         Tests for module 'idpriv-drop'.
5258         * modules/idpriv-drop-tests: New file.
5259         * tests/test-idpriv-drop.sh: New file.
5260         * tests/test-idpriv-drop.su.sh: New file.
5261         * tests/test-idpriv-drop.c: New file.
5262
5263         New module 'idpriv-drop'.
5264         * lib/idpriv.h: New file.
5265         * lib-idpriv-drop.c: New file.
5266         * m4/idpriv.m4: New file.
5267         * modules/idpriv-drop: New file.
5268
5269 2009-06-08  Bruno Haible  <bruno@clisp.org>
5270
5271         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
5272         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
5273         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
5274         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
5275         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
5276         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
5277         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
5278
5279 2009-06-08  Eric Blake  <ebb9@byu.net>
5280
5281         test-strstr: use memory fence, when possible
5282         * tests/test-strstr.c (main): Use memory fence, in order to be
5283         more likely to trigger Debian bug 521737.
5284         * modules/strstr-tests (Files): Pull in additional files.
5285
5286         memchr: no longer obsolete, for wider field testing
5287         * modules/memchr (Status, Notice): Delete, this module is no
5288         longer obsolete.
5289         * modules/vasnprintf (Depends-on): Add memchr.
5290
5291 2009-06-07  Jim Meyering  <meyering@redhat.com>
5292
5293         hash: declare some functions with the warn_unused_result attribute
5294         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
5295
5296 2009-06-07  Bruno Haible  <bruno@clisp.org>
5297
5298         * tests/test-alignof.c: Don't test int64_t if it does not exist.
5299         Reported by Eric Blake.
5300
5301 2009-06-06  Eric Blake  <ebb9@byu.net>
5302
5303         test-alignof: fix typo with long double
5304         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
5305         compiler error.
5306
5307 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
5308
5309         Escape non-texinfo { and }s.
5310         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
5311         markup error.
5312
5313 2009-06-04  Jim Meyering  <meyering@redhat.com>
5314
5315         gitlog-to-changelog: don't infloop on an empty commit log
5316         * build-aux/gitlog-to-changelog: Warn about an empty log message.
5317         Reported by Boris Petersen <transacid@centerim.org>.
5318
5319 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
5320
5321         version-etc: extend for packagers
5322         Add three new configure options, intended for packagers:
5323           --with-packager="packager name"
5324           --with-packager-version="packager-specific version"
5325           --with-packager-bug-reports="packager bug reporting"
5326         An example with coreutils:
5327           $ ./configure \
5328             --with-packager=Gentoo \
5329             --with-packager-bug-report=http://bugs.gentoo.org/ \
5330             --with-packager-version="patchset 1.6"
5331           $ ./src/ls --version | head -n3
5332           ls (GNU coreutils) 7.1-dirty
5333           Packaged by Gentoo (patchset 1.6)
5334           Copyright (C) 2009 Free Software Foundation, Inc.
5335         Note that the bug reporting info via --help doesn't show up because
5336         coreutils uses its own custom emit_bug_reporting_address() implementation
5337         in src/system.h.  If it didn't, it'd look like:
5338           $ ./src/ls --help | tail -n4
5339           Report bugs to <bug-coreutils@gnu.org>.
5340           Report Gentoo bugs to <http://bugs.gentoo.org/>.
5341           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
5342           General help using GNU software: <http://www.gnu.org/gethelp/>.
5343         * lib/version-etc.c: Print new information, if provided.
5344         * m4/version-etc.m4: New file.
5345         * modules/version-etc (Files): Add m4/version-etc.m4.
5346         (configure.ac): Add gl_VERSION_ETC.
5347
5348 2009-05-31  Bruno Haible  <bruno@clisp.org>
5349
5350         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
5351         and 'int64_t'.
5352         * modules/alignof-tests (Dependencies): Add stdint.
5353         Reported by Eric Blake.
5354
5355 2009-05-31  Bruno Haible  <bruno@clisp.org>
5356
5357         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
5358         restriction due to compiler bugs.
5359         Reported by Eric Blake.
5360
5361 2009-05-31  Simon Josefsson  <simon@josefsson.org>
5362             Bruno Haible  <bruno@clisp.org>
5363
5364         Fix test-alignof failure.
5365         * lib/alignof.h (alignof_slot): New macro.
5366         (alignof_type): New macro, with the same semantics as the previous
5367         'alignof'.
5368         (alignof): Alias to alignof_slot.
5369         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
5370         check that the results are usable as constant expressions.
5371
5372 2009-05-31  Bruno Haible  <bruno@clisp.org>
5373
5374         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
5375         * tests/test-memchr.c (main): Check that memchr does not read past the
5376         first occurrence of the byte.
5377         * tests/test-strstr.c (main): Update comment.
5378         Suggested by Eric Blake.
5379
5380 2009-05-30  Bruno Haible  <bruno@clisp.org>
5381
5382         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
5383         detail how to use dumpbin.
5384         Reported by David Byron <dbyron@dbyron.com>.
5385
5386 2009-06-02  Simon Josefsson  <simon@josefsson.org>
5387
5388         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
5389
5390 2009-06-02  Simon Josefsson  <simon@josefsson.org>
5391
5392         * m4/manywarnings.m4: Add GCC 4.4 warnings.
5393
5394 2009-05-28  Bruno Haible  <bruno@clisp.org>
5395
5396         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
5397         build-aux/ files.
5398
5399 2009-05-28  Simon Josefsson  <simon@josefsson.org>
5400
5401         * gnulib-tool (func_import): Transform license on build-aux/ files too.
5402
5403 2009-05-27  Simon Josefsson  <simon@josefsson.org>
5404
5405         * gnulib-tool (sed_transform_main_lib_file)
5406         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
5407         regexps.
5408
5409 2009-05-26  Simon Josefsson  <simon@josefsson.org>
5410
5411         * tests/test-strstr.c: Add another self-test.
5412         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
5413         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
5414
5415 2009-05-23  Bruno Haible  <bruno@clisp.org>
5416
5417         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
5418         change.
5419
5420 2009-05-21  Bruno Haible  <bruno@clisp.org>
5421
5422         Simplify use of mode_t varargs.
5423         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
5424         uses 'mode_t' or 'int'.
5425         * lib/openat.c (openat): Likewise.
5426         * lib/open-safer.c (open_safer): Likewise.
5427         * m4/mode_t.m4: New file.
5428         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
5429         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
5430         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
5431         * modules/open (Files): Add m4/mode_t.m4.
5432         * modules/openat (Files): Likewise.
5433         * modules/fcntl-safer (Files): Likewise.
5434         Suggested by Eric Blake.
5435
5436 2009-05-21  Pádraig Brady  <P@draigbrady.com>
5437
5438         * doc/glibc-functions/fallocate.texi: New file.
5439         * doc/gnulib.texi: Include it.
5440
5441 2009-05-21  Eric Blake  <ebb9@byu.net>
5442             Bruno Haible  <bruno@clisp.org>
5443
5444         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
5445         invocations.
5446         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
5447
5448 2009-05-21  Eric Blake  <ebb9@byu.net>
5449             Bruno Haible  <bruno@clisp.org>
5450
5451         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
5452         include_next. Fix of 2008-11-20 commit.
5453         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
5454         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
5455         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
5456         NEXT_MATH_H.
5457         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
5458         instead of NEXT_MATH_H.
5459
5460 2009-05-21  Bruno Haible  <bruno@clisp.org>
5461
5462         Avoid redefinition warnings for SIZE_MAX.
5463         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
5464         Reported by Simon Josefsson.
5465
5466 2009-05-21  Bruno Haible  <bruno@clisp.org>
5467
5468         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
5469         AC_CACHE_VAL.
5470
5471 2009-05-20  Bruno Haible  <bruno@clisp.org>
5472
5473         Make zeroptr.h work on mingw.
5474         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
5475         mprotect.
5476         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
5477         * modules/memchr2-tests (configure.ac): Likewise.
5478         * modules/memcmp-tests (configure.ac): Likewise.
5479         * modules/memmem-tests (configure.ac): Likewise.
5480         * modules/memrchr-tests (configure.ac): Likewise.
5481         Reported by Simon Josefsson.
5482
5483 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5484
5485         * tests/test-glob.c: Include string.h for strcmp prototype.
5486
5487 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5488
5489         * modules/getdelim (Depends-on): Add explicit stdint, although it
5490         was implicitly already pulled in via realloc-posix.
5491         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
5492
5493 2009-05-20  Simon Josefsson  <simon@josefsson.org>
5494
5495         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
5496         G. Christensen" <tgc@jupiterrise.com>.
5497         * m4/sys_socket_h.m4: Check for sa_family_t.
5498         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
5499         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
5500         * tests/test-sys_socket.c: Check that sa_family_t works.
5501
5502 2009-05-18  Eric Blake  <ebb9@byu.net>
5503
5504         maint.mk: allow gnulib_dir in VPATH build
5505         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
5506
5507 2009-05-15  Jim Meyering  <meyering@redhat.com>
5508
5509         maint.mk: Give gnulib_dir a default definition.
5510         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
5511         Thus, most packages no longer need to specify this variable in cfg.mk
5512
5513 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
5514
5515         rename.m4: fix typos that would make non-mingw cross-configure fail
5516         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
5517
5518 2009-05-13  Eric Blake  <ebb9@byu.net>
5519
5520         mmap-anon: avoid out-of-order autoconf expansion
5521         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
5522         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
5523         * modules/memchr-tests (Depends-on): Add extensions.
5524         * modules/memchr2-tests (Depends-on): Add extensions.
5525         * modules/memcmp-tests (Depends-on): Add extensions.
5526         * modules/memmem-tests (Depends-on): Add extensions.
5527         * modules/memrchr-tests (Depends-on): Add extensions.
5528
5529 2009-05-13  Bruno Haible  <bruno@clisp.org>
5530
5531         Make some tests ISO C 99 compliant.
5532         * tests/zerosize-ptr.h: New file.
5533         * tests/test-memchr.c: Include zerosize-ptr.h.
5534         (main): Use a zero-size object pointer instead of NULL.
5535         * tests/test-memchr2.c: Include zerosize-ptr.h.
5536         (main): Use a zero-size object pointer instead of NULL.
5537         * tests/test-memcmp.c: Include zerosize-ptr.h.
5538         (main): Use a zero-size object pointer instead of NULL.
5539         * tests/test-memmem.c: Include zerosize-ptr.h.
5540         (main): Use a zero-size object pointer instead of NULL.
5541         * tests/test-memrchr.c: Include zerosize-ptr.h.
5542         (main): Use a zero-size object pointer instead of NULL.
5543         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
5544         m4/mmap-anon.m4.
5545         (Depends-on): Add getpagesize.
5546         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5547         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
5548         m4/mmap-anon.m4.
5549         (Depends-on): Add getpagesize.
5550         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5551         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
5552         m4/mmap-anon.m4.
5553         (Depends-on): Add getpagesize.
5554         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5555         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
5556         m4/mmap-anon.m4.
5557         (Depends-on): Add getpagesize.
5558         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5559         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
5560         m4/mmap-anon.m4.
5561         (Depends-on): Add getpagesize.
5562         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
5563
5564 2009-05-12  Bruno Haible  <bruno@clisp.org>
5565
5566         Tests for module 'alignof'.
5567         * modules/alignof-tests: New file.
5568         * tests/test-alignof.c: New file.
5569
5570 2009-05-12  Bruno Haible  <bruno@clisp.org>
5571
5572         Fix alignof macro.
5573         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
5574         vendor compilers that are always correct.
5575
5576 2009-05-12  Bruno Haible  <bruno@clisp.org>
5577
5578         Make the MAP_ANONYMOUS detection work on HP-UX 11.
5579         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
5580         not whether its fully works.
5581
5582 2009-05-12  Bruno Haible  <bruno@clisp.org>
5583
5584         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
5585
5586 2009-05-12  Jim Meyering  <meyering@redhat.com>
5587
5588         * top/maint.mk: Adjust backslash alignment.
5589
5590 2009-05-11  Simon Josefsson  <simon@josefsson.org>
5591
5592         * top/maint.mk: Make $(srcdir)/build-aux configurable.
5593
5594 2009-05-11  Eric Blake  <ebb9@byu.net>
5595
5596         argp: avoid undefined behavior
5597         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
5598         macros.
5599
5600 2009-05-08  Simon Josefsson  <simon@josefsson.org>
5601
5602         * tests/test-vc-list-files-git.sh: Do git config of user.email and
5603         user.name to prevent git commit from complaining.
5604
5605 2009-05-10  Bruno Haible  <bruno@clisp.org>
5606
5607         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
5608         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
5609         it rewrites every file name only once.
5610         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
5611
5612 2009-05-08  Bruno Haible  <bruno@clisp.org>
5613
5614         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
5615         instead of 'max'.
5616
5617 2009-05-08  Simon Josefsson  <simon@josefsson.org>
5618
5619         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
5620         sockaddr_storage test.
5621
5622 2009-05-07  Simon Josefsson  <simon@josefsson.org>
5623
5624         * modules/sys_socket (Makefile.am): Substitute
5625         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
5626         * m4/sys_socket_h.m4: Check for sockaddr_storage.
5627         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
5628         * tests/test-sys_socket.c: Check sockaddr_storage.
5629
5630 2009-05-08  Bruno Haible  <bruno@clisp.org>
5631
5632         New module 'alignof'.
5633         * lib/alignof.h: New file.
5634         * modules/alignof: New file.
5635
5636 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5637             Bruno Haible  <bruno@clisp.org>
5638
5639         Fix test-file-has-acl on FreeBSD.
5640         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
5641         mask is implicitly added.
5642         * tests/test-file-has-acl.c: Include <signal.h>.
5643         (main): Terminate the test after 5 seconds.
5644         * modules/acl-tests (configure.ac): Check for alarm function.
5645
5646 2009-05-04  Bruno Haible  <bruno@clisp.org>
5647
5648         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
5649         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
5650         * modules/errno (configure.ac): Drop AC_REQUIRE.
5651         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
5652         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
5653
5654 2009-05-04  Simon Josefsson  <simon@josefsson.org>
5655
5656         * modules/glob-tests: New module.
5657         * tests/test-glob.c: Add.
5658
5659 2009-05-04  Simon Josefsson  <simon@josefsson.org>
5660
5661         * modules/fnmatch-tests: New module.
5662         * tests/test-fnmatch.c: Add.
5663
5664 2009-05-04  Eric Blake  <ebb9@byu.net>
5665
5666         maint: make the new no-submodule-changes rule VPATH-safe
5667         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
5668
5669 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5670             Bruno Haible  <bruno@clisp.org>
5671
5672         acl: Fix infinite loop on FreeBSD.
5673         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
5674         of return value from acl_get_entry.
5675         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
5676         Likewise.
5677
5678 2009-05-03  Bruno Haible  <bruno@clisp.org>
5679
5680         * lib/acl-internal.h (acl_entries): Clarify return value.
5681         * lib/acl_entries.c (acl_entries): Likewise.
5682
5683 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5684
5685         Bug fix in acl module.
5686         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
5687
5688 2009-05-03  Bruno Haible  <bruno@clisp.org>
5689
5690         Create gperf-generated file in the source dir, not in the build dir.
5691         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
5692         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
5693         * modules/unicase/locale-language (unicase/locale-languages.h):
5694         Likewise.
5695         * modules/unicase/special-casing (unicase/special-casing-table.h):
5696         Likewise.
5697         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
5698         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
5699         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
5700         Reported by Ralf Wildenhues.
5701
5702 2009-05-03  Bruno Haible  <bruno@clisp.org>
5703
5704         * modules/fnmatch (Description, configure.ac): Taken from
5705         fnmatch-posix.
5706         * modules/fnmatch-posix: Turn into a symbolic reference to the
5707         'fnmatch' module, and deprecate.
5708         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
5709
5710 2009-05-03  Bruno Haible  <bruno@clisp.org>
5711
5712         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
5713         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
5714         Reported by Ralf Wildenhues.
5715
5716 2009-05-04  Simon Josefsson  <simon@josefsson.org>
5717
5718         * m4/fnmatch.m4: Fix fnmatch re-define.
5719
5720 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
5721
5722         priv-set: new module and tests; adapt write-any-file
5723         * lib/priv-set.c: New file.
5724         * lib/priv-set.h: New file.
5725         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
5726         * lib/write-any-file.c: Simplify by using priv-set module.
5727         * m4/priv-set.m4: New file.
5728         * modules/priv-set: New file.
5729         * modules/unlinkdir: Add dependency on priv-set module.
5730         * modules/write-any-file: Likewise.
5731
5732         Tests for module 'priv-set'.
5733         * modules/priv-set-tests: New file.
5734         * tests/test-priv-set.c: New file.
5735
5736 2009-05-03  Jim Meyering  <meyering@redhat.com>
5737             Bruno Haible  <bruno@clisp.org>
5738
5739         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
5740         use the converted UTF-8 variant of the name instead.
5741
5742 2009-05-03  Jim Meyering  <meyering@redhat.com>
5743
5744         tests: tighten some getdate tests
5745         * tests/test-getdate.c (main): Tighten tests: require equality,
5746         not just greater than.  Set TZ envvar to UTC0.
5747
5748 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
5749
5750         getdate: correctly interpret "next monday" when run on a Monday
5751         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
5752         that e.g., "next tues" (when run on a tuesday) results in a date
5753         that is one week in the future, and not today's date.
5754         I.e., add a week when the wday is the same as the current one.
5755         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
5756         and earlier by Martin Bernreuther and Jan Minář.
5757         * tests/test-getdate.c (main): Check that "next DAY" is always in
5758         the future and that "last DAY" is always in the past.
5759
5760 2009-05-02  Jim Meyering  <meyering@redhat.com>
5761
5762         build: ensure that a release build fails when a submodule is unclean
5763         * top/maint.mk (no-submodule-changes): New rule.
5764         (alpha beta major): Depend on it.
5765
5766 2009-05-02  Bruno Haible  <bruno@clisp.org>
5767
5768         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
5769         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
5770         shell variable gl_fnmatch_required to detect which variant is
5771         requested.
5772         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
5773         gl_FUNC_FNMATCH_POSIX.
5774         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
5775         exclude fnmatch-posix.
5776
5777 2009-05-02  Bruno Haible  <bruno@clisp.org>
5778
5779         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
5780         * modules/mbsrtowcs (License): Change to LGPLv2+.
5781         * modules/strnlen1 (License): Likewise.
5782         Reported by Simon Josefsson.
5783
5784 2009-05-02  Bruno Haible  <bruno@clisp.org>
5785
5786         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
5787         "cross".
5788         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
5789         gnulib-tool was called with option --source-base=lib.
5790
5791 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5792
5793         Use automake *-local hooks without commands, for extensibility.
5794         * modules/localcharset (Makefile.am): Rename install-exec-local
5795         rule to install-exec-localcharset, and make it a prerequisite of
5796         install-exec-local.  Likewise, rename the uninstall-local rule to
5797         uninstall-localcharset, and make it a prerequisite of the former.
5798
5799 2009-05-01  Bruno Haible  <bruno@clisp.org>
5800
5801         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
5802         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
5803         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
5804         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
5805         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
5806         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
5807         m4/locale-zh.m4, m4/codeset.m4.
5808
5809         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
5810         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
5811         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
5812         m4/locale-zh.m4.
5813
5814         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
5815         REPLACE_WCRTOMB if mbstate_t must be replaced.
5816         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
5817         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
5818
5819 2009-05-01  Bruno Haible  <bruno@clisp.org>
5820
5821         Avoid compiler warnings when redefining macros defined by <libintl.h>.
5822         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
5823         dngettext, dcngettext, textdomain, bindtextdomain,
5824         bind_textdomain_codeset): Undefine before redefining.
5825
5826 2009-04-30  Bruno Haible  <bruno@clisp.org>
5827
5828         Fix bug introduced on 2009-04-25.
5829         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
5830         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
5831         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
5832         is defined.
5833         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
5834         is defined.
5835         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
5836         is defined.
5837         Reported by Elbert_Pol <elbert.pol@gmail.com>.
5838
5839 2009-04-28  Bruno Haible  <bruno@clisp.org>
5840
5841         Comment tweaks.
5842         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
5843         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
5844         * lib/unicase.h (u*_casexfrm): Likewise.
5845         Reported by Paolo Bonzini.
5846
5847 2009-04-28  Bruno Haible  <bruno@clisp.org>
5848
5849         Fix a compilation error.
5850         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
5851         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
5852         Reported by Jim Meyering.
5853
5854 2009-04-27  Bruno Haible  <bruno@clisp.org>
5855
5856         New module 'libunistring'.
5857         * modules/libunistring: New file.
5858         * m4/libunistring.m4: New file.
5859         * MODULES.html.sh (Unicode string functions): Add it.
5860
5861 2009-04-27  Eric Blake  <ebb9@byu.net>
5862
5863         maint.mk: allow package-specific header to provide <config.h>
5864         * top/maint.mk (sc_require_config_h): New variable.
5865         (sc_require_config_h, sc_require_config_h_first): Use it.
5866
5867 2009-04-27  Simon Josefsson  <simon@josefsson.org>
5868
5869         * top/maint.mk (sc_avoid_if_before_free): Except
5870         useless-if-before-free script.
5871
5872 2009-04-27  Eric Blake  <ebb9@byu.net>
5873
5874         maintainer-makefile: depend on all required helper scripts
5875         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
5876         useless-if-before-free.
5877         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
5878         version, rather than assuming gnulib checkout is available.
5879         Reported by Simen Josefsson.
5880
5881 2009-04-26  Bruno Haible  <bruno@clisp.org>
5882
5883         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
5884         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
5885         "../" or "..".
5886
5887 2009-04-26  Bruno Haible  <bruno@clisp.org>
5888
5889         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
5890         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
5891         AC_LIB_HAVE_LINKFLAGS.
5892
5893 2009-04-26  Bruno Haible  <bruno@clisp.org>
5894
5895         Simplify calling convention of u*_conv_from_encoding.
5896         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
5897         u32_conv_from_encoding): Expect a resultbuf argument and return the
5898         result directly as a pointer.
5899         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
5900         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
5901         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
5902         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
5903         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
5904         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
5905         Update.
5906         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
5907         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
5908         * lib/vasnprintf.c (VASNPRINTF): Update.
5909         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
5910         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
5911         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
5912         * NEWS: Mention the change.
5913
5914 2009-04-26  Bruno Haible  <bruno@clisp.org>
5915
5916         Simplify calling convention of u*_conv_to_encoding.
5917         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
5918         u32_conv_to_encoding): Expect a resultbuf argument and return the
5919         result directly as a pointer.
5920         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
5921         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
5922         freeing scaled_offsets if mem_iconveha failed.
5923         * lib/unicase/u-casexfrm.h (FUNC): Update.
5924         * lib/uninorm/u-normxfrm.h (FUNC): Update.
5925         * lib/vasnprintf.c (VASNPRINTF): Update.
5926         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
5927         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
5928         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
5929         * NEWS: Mention the change.
5930
5931 2009-04-26  Bruno Haible  <bruno@clisp.org>
5932
5933         Avoid test failures on AIX and OSF/1.
5934         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
5935         malloc(0).
5936         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
5937         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
5938         Likewise.
5939         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
5940         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
5941         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
5942         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
5943         * doc/posix-functions/malloc.texi: Document the portability problem
5944         related to malloc(0).
5945
5946 2009-04-26  Bruno Haible  <bruno@clisp.org>
5947
5948         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
5949         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
5950         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
5951
5952 2009-04-25  Bruno Haible  <bruno@clisp.org>
5953
5954         Avoid link error when creating a namespace clean library.
5955         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
5956         as macro with arguments if already defined as an alias.
5957         * lib/signbitf.c (gl_signbitf): Don't undefine.
5958         * lib/signbitd.c (gl_signbitd): Don't undefine.
5959         * lib/signbitl.c (gl_signbitl): Don't undefine.
5960
5961 2009-04-25  Jim Meyering  <meyering@redhat.com>
5962
5963         vc-list-files: fix another quoting bug
5964         * build-aux/vc-list-files: Avoid sed backslash expansion
5965         of pathological directory names.
5966
5967 2009-04-25  Eric Blake  <ebb9@byu.net>
5968
5969         vc-list-files: fix shell quoting error
5970         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
5971         timestamp.
5972
5973 2009-04-25  Jim Meyering  <meyering@redhat.com>
5974
5975         vc-list-files: restore lost functionality with subdir argument
5976         * build-aux/vc-list-files: When given a non-"." sub-directory
5977         argument, substitute the $dir/ prefix back onto each resulting name.
5978         Otherwise, coreutils' root_tests check would fail.
5979
5980 2009-04-24  Eric Blake  <ebb9@byu.net>
5981
5982         vc-list-files: ignore git symlinks
5983         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
5984         than ls-files, to ignore git symlinks.
5985
5986         maint.mk: import improvements from m4
5987         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
5988         (move_if_change): Delete unused macro.
5989         (news-date-check, vc-diff-check): Support VPATH builds.
5990         (announcement): Likewise.  Split --bootstrap-tools list...
5991         (boostrap-tools): ...into separate list, which can be overridden
5992         in cfg.mk.
5993         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
5994         requiring dependency on useless-if-before-free module.
5995         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
5996         Support VPATH builds.
5997
5998 2009-04-24  Jim Meyering  <meyering@redhat.com>
5999
6000         maint.mk: remove coreutils-specific rules and variables
6001         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
6002         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
6003         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
6004
6005         maint.mk: remove obsolete rule
6006         * top/maint.mk (rel-check): Remove rule.
6007         (WGET, WGETFLAGS): Remove now-unused variables.
6008
6009 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6010
6011         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
6012         consistency.
6013
6014         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
6015         '$(PATH_SEPARATOR)' instead of ':'.
6016
6017 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6018
6019         * lib/getopt1.c (main): Use 'const' for static array.
6020
6021 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6022
6023         * top/maint.mk: Sync with coreutils.
6024         * NEWS: Explain incompatibilities.
6025
6026 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6027             Bruno Haible  <bruno@clisp.org>
6028
6029         Fix cross-compilation results.
6030         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
6031         statement, as third argument of AC_TRY_RUN.
6032         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6033         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6034         Likewise.
6035         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6036         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6037         Likewise.
6038         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6039         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
6040         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
6041
6042 2009-04-20  Bruno Haible  <bruno@clisp.org>
6043
6044         Avoid test failure on mingw.
6045         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
6046
6047 2009-04-20  Bruno Haible  <bruno@clisp.org>
6048
6049         Avoid compilation error on mingw.
6050         * modules/localename-tests (Depends-on): Add locale.
6051
6052 2009-04-19  Bruno Haible  <bruno@clisp.org>
6053
6054         Support for building a shared library on Windows platforms.
6055         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
6056         (main): Test the presence of UNINORM_NFC here.
6057         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
6058         (main): Test the presence of UNINORM_NFD here.
6059         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
6060         (main): Test the presence of UNINORM_NFKC here.
6061         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
6062         (main): Test the presence of UNINORM_NFKD here.
6063
6064 2009-04-19  Bruno Haible  <bruno@clisp.org>
6065
6066         Avoid a compiler warning.
6067         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
6068         Change type of variable 'sequence'.
6069
6070 2009-04-19  Bruno Haible  <bruno@clisp.org>
6071
6072         * modules/configmake (Makefile.am): When the contents of configmake.h
6073         does not change, arrange to preserve its modification time.
6074
6075 2009-04-17  Simon Josefsson  <simon@josefsson.org>
6076
6077         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
6078         gettext domain.
6079
6080 2009-04-16  Jim Meyering  <meyering@redhat.com>
6081
6082         useless-if-before-free: improve conversion code
6083         * build-aux/useless-if-before-free: Adjust code-in-comment to match
6084         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
6085
6086 2009-04-14  Bruno Haible  <bruno@clisp.org>
6087
6088         * modules/fcntl (Depends-on): Add extensions.
6089         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
6090
6091 2009-04-12  Ben Pfaff  <blp@gnu.org>
6092
6093         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
6094         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
6095
6096 2009-03-20  Ben Pfaff  <blp@gnu.org>
6097
6098         Make rename replace existing destinations on Windows.
6099         * m4/rename.m4: Add test for Mingw.
6100         * lib/rename.c: Add rename replacement that uses MoveFileEx with
6101         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
6102         * doc/posix-functions/rename.texi: Document.
6103
6104 2009-04-10  Bruno Haible  <bruno@clisp.org>
6105
6106         New include file "iconveh.h".
6107         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
6108         * lib/striconveh.h: Include it.
6109         (enum iconv_ilseq_handler): Remove definition.
6110         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
6111         striconveh.h.
6112         * lib/striconveha.c: Include striconveh.h.
6113         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
6114         * modules/striconveh (Files): Add lib/iconveh.h.
6115         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
6116         lib/striconveh.h.
6117
6118 2009-04-10  Bruno Haible  <bruno@clisp.org>
6119
6120         * lib/uniconv.h: Update comment.
6121
6122 2009-04-10  Bruno Haible  <bruno@clisp.org>
6123
6124         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
6125         always.
6126         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
6127         * lib/unistr/u16-mbtouc-aux.c: Likewise.
6128         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
6129         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
6130         "unistring-notinline.h", so that the function gets defined always.
6131         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
6132         * lib/unistr/u8-uctomb.c: Likewise.
6133         * lib/unistr/u16-mbtouc.c: Likewise.
6134         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
6135         * lib/unistr/u16-uctomb.c: Likewise.
6136         * lib/unistr/u32-mbtouc.c: Likewise.
6137         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
6138         * lib/unistr/u32-uctomb.c: Likewise.
6139
6140 2009-04-10  Bruno Haible  <bruno@clisp.org>
6141
6142         Mark 'utime' obsolete.
6143         * modules/utime (Status, Notice): New sections.
6144         Suggested by Jim Meyering.
6145
6146         Fix cross-compile guess for utime test.
6147         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
6148         autoconf.
6149         * doc/posix-functions/utime.texi: Give more precisions.
6150         Reported by Jan <ipif@ymail.com>.
6151
6152 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
6153
6154         filevercmp: correct today's change
6155         * lib/filevercmp.c: Also handle coreutils' test inputs.
6156         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
6157
6158         Fix regression in 'filevercmp' module. Thanks Sven Joachim
6159         for reporting it.
6160         * lib/filevercmp.c: Special handle for "", "." and "..".
6161         * tests/test-filevercmp.c: Enlarge the set suite.
6162
6163 2009-04-07  Jim Meyering  <meyering@redhat.com>
6164
6165         useless-if-before-free: show how to remove braced useless free, too
6166         * build-aux/useless-if-before-free: still only in a comment, though.
6167
6168 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
6169
6170         maint.mk: import changes to syntax-check macros from coreutils
6171         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
6172         Use them in the relevant macros.
6173
6174 2009-04-06  Bruno Haible  <bruno@clisp.org>
6175
6176         Fix unportable use of bit-fields.
6177         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
6178         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
6179         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
6180
6181 2009-04-06  Bruno Haible  <bruno@clisp.org>
6182
6183         Avoid test failures on AIX and OSF/1.
6184         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
6185         that malloc(0) = NULL.
6186         * tests/unicase/test-u8-tolower.c (check): Likewise.
6187         * tests/unicase/test-u8-totitle.c (check): Likewise.
6188         * tests/unicase/test-u8-toupper.c (check): Likewise.
6189         * tests/unicase/test-u16-casefold.c (check): Likewise.
6190         * tests/unicase/test-u16-tolower.c (check): Likewise.
6191         * tests/unicase/test-u16-totitle.c (check): Likewise.
6192         * tests/unicase/test-u16-toupper.c (check): Likewise.
6193         * tests/unicase/test-u32-casefold.c (check): Likewise.
6194         * tests/unicase/test-u32-tolower.c (check): Likewise.
6195         * tests/unicase/test-u32-totitle.c (check): Likewise.
6196         * tests/unicase/test-u32-toupper.c (check): Likewise.
6197         * tests/uninorm/test-u8-nfc.c (check): Likewise.
6198         * tests/uninorm/test-u8-nfd.c (check): Likewise.
6199         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
6200         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
6201         * tests/uninorm/test-u16-nfc.c (check): Likewise.
6202         * tests/uninorm/test-u16-nfd.c (check): Likewise.
6203         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
6204         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
6205         * tests/uninorm/test-u32-nfc.c (check): Likewise.
6206         * tests/uninorm/test-u32-nfd.c (check): Likewise.
6207         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
6208         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
6209
6210 2009-04-05  Bruno Haible  <bruno@clisp.org>
6211
6212         Work around an autoconf limitation.
6213         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
6214         comment line if it would be longer than 3 KB.
6215
6216 2009-04-05  Bruno Haible  <bruno@clisp.org>
6217
6218         Avoid test failure with libiconv-1.13.
6219         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
6220         of the expected test results.
6221
6222 2009-04-05  Bruno Haible  <bruno@clisp.org>
6223
6224         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
6225         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
6226         that it should be installed.
6227
6228 2009-04-05  Bruno Haible  <bruno@clisp.org>
6229
6230         * gnulib-tool: New option --copy-file.
6231         (func_usage): Document it.
6232         (func_dest_tmpfilename): Moved out of func_import.
6233         (func_add_file, func_update_file): New functions, extracted from
6234         func_import.
6235         (func_import): Update.
6236
6237 2009-04-05  Karl Berry  <karl@gnu.org>
6238
6239         * README: prominently mention gnulib-tool.
6240         Rearrange sections so getting the code is near the top.
6241
6242 2009-04-05  Bruno Haible  <bruno@clisp.org>
6243
6244         * lib/unicase.h: Mention u*_cmp2.
6245         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6246         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
6247         * lib/unicase/ulc-casecmp.c: Likewise.
6248         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
6249         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
6250         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
6251         unistr/u8-cmp.
6252         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
6253         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
6254         unistr/u16-cmp.
6255         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
6256         unistr/u32-cmp.
6257
6258         * lib/uninorm.h: Mention u*_cmp2.
6259         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6260         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
6261         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
6262         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
6263         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
6264         unistr/u8-cmp.
6265         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
6266         unistr/u16-cmp.
6267         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
6268         unistr/u32-cmp.
6269
6270         New module 'unistr/u32-cmp2'.
6271         * lib/unistr/u32-cmp2.c: New file.
6272         * modules/unistr/u32-cmp2: New file.
6273
6274         New module 'unistr/u16-cmp2'.
6275         * lib/unistr/u16-cmp2.c: New file.
6276         * modules/unistr/u16-cmp2: New file.
6277
6278         New module 'unistr/u8-cmp2'.
6279         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
6280         * lib/unistr/u8-cmp2.c: New file.
6281         * lib/unistr/u-cmp2.h: New file.
6282         * modules/unistr/u8-cmp2: New file.
6283
6284 2009-04-05  Bruno Haible  <bruno@clisp.org>
6285
6286         * lib/unictype.h (uc_property_is_valid): New macro.
6287         * tests/unictype/test-pr_byname.c (main): Use it.
6288
6289         * lib/unistr.h: Doc fixes.
6290         * lib/uniconv.h: Doc fixes.
6291         * lib/unictype.h: Doc fixes.
6292
6293 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
6294
6295         Port coreutils 7.2 to Solaris 8.
6296
6297         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
6298         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
6299         for Solaris 8.  This is a bit of a hack, as it means it's the
6300         caller's responsibility to add -lnsl if needed, but most likely it
6301         won't be needed since only getaddrinfo uses this and getaddrinfo
6302         isn't needed on Solaris 8.
6303
6304         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
6305         problem to Solaris 8 encountered with coreutils 7.2, which
6306         resulted in a message "fnmatch.c:292: warning: passing argument 4
6307         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
6308         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
6309
6310 2009-04-03  Simon Josefsson  <simon@josefsson.org>
6311
6312         * m4/ld-version-script.m4: Add FIXME comment.
6313
6314 2009-04-02  Simon Josefsson  <simon@josefsson.org>
6315
6316         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
6317         SOVERSION variable.
6318
6319 2009-04-02  Bruno Haible  <bruno@clisp.org>
6320
6321         * Makefile (info, html, dvi, pdf): Combine the rules.
6322         Suggested by Jim Meyering.
6323
6324 2009-04-01  Bruno Haible  <bruno@clisp.org>
6325
6326         * Makefile (info, html, dvi, pdf): New targets.
6327         Reported by Reuben Thomas <rrt@sc3d.org>.
6328
6329 2009-04-01  Bruno Haible  <bruno@clisp.org>
6330
6331         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
6332         can be put into PATH.
6333         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
6334
6335 2009-04-01  Bruno Haible  <bruno@clisp.org>
6336
6337         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
6338
6339 2009-04-01  Bruno Haible  <bruno@clisp.org>
6340
6341         Rename module 'visibility'.
6342         * modules/lib-symbol-visibility: Renamed from modules/visibility.
6343         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
6344         * doc/gnulib.texi: Update.
6345         * MODULES.html.sh (Misc): Update.
6346         * NEWS: Mention the change.
6347
6348 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6349
6350         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
6351         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
6352         Eric Blake <ebb9@byu.net> for review.
6353         * MODULES.html.sh: Add lib-msvc-compat.
6354         * doc/gnulib.texi: Link to new section.
6355         * m4/ld-output-def.m4: New file.
6356         * doc/ld-output-def.texi: New file.
6357
6358 2009-04-01  Simon Josefsson  <simon@josefsson.org>
6359
6360         Rename ld-version-script to lib-symbol-versions.  Suggested by
6361         Bruno Haible <bruno@clisp.org>.
6362         * modules/ld-version-script: Renamed to lib-symbol-versions.
6363         * doc/ld-version-script.texi: Fix module name.
6364         * MODULES.html.sh: Add lib-symbol-versions.
6365
6366 2009-03-31  Simon Josefsson  <simon@josefsson.org>
6367
6368         * modules/u64-tests: New file.
6369         * tests/test-u64.c: New file.
6370
6371 2009-03-04  Simon Josefsson  <simon@josefsson.org>
6372
6373         * MODULES.html.sh: Mention u64.
6374         * modules/u64: New module.
6375         * modules/crypto/sha512: Depend on u64 module instead of providing
6376         u64.h.
6377
6378 2009-03-27  Eric Blake  <ebb9@byu.net>
6379
6380         test-strerror: make debugging EAI_SYSTEM easier
6381         * modules/getaddrinfo-tests (Depends-on): Add strerror.
6382         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
6383         failure was EAI_SYSTEM.
6384
6385 2009-03-25  Bruno Haible  <bruno@clisp.org>
6386
6387         Fix a problem with --enable-relocatable on Solaris 7.
6388         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
6389         since 2008-02-24.
6390
6391 2009-03-25  Eric Blake  <ebb9@byu.net>
6392
6393         test-sockets: avoid gcc warning
6394         * tests/test-sockets.c (main): Silence compiler warning.
6395
6396 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
6397
6398         New modules nproc, pthread, contributed by Glen Lenker.
6399
6400         * MODULES.html.sh: Add pthread, nproc.
6401         * lib/nproc.c: New file.
6402         * lib/nproc.h: New file.
6403         * lib/pthread.in.h: New file.
6404         * m4/pthread.m4: New file.
6405         * modules/nproc: New file.
6406         * modules/pthread: New file.
6407
6408 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6409
6410         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
6411         New variable.
6412
6413 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
6414
6415         filevercmp: handle simple~ and numbered.~3~ backup suffixes
6416         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
6417         * tests/test-filevercmp.c: Add tests for backup suffixes.
6418
6419 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6420
6421         * modules/stdlib (Depends-on): Add stdint, needed when defining
6422         struct random_data on, for example, HP-UX 10.20.  Reported by
6423         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6424
6425 2009-03-24  Simon Josefsson  <simon@josefsson.org>
6426
6427         * lib/readline.c (readline): Call fflush on stdout after printing
6428         prompt.
6429
6430 2009-03-20  Bruno Haible  <bruno@clisp.org>
6431
6432         Remove dependency from 'close' module to -lws2_32 on native Windows.
6433         * lib/close-hook.h: New file.
6434         * lib/close-hook.c: New file.
6435         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
6436         w32sock.h.
6437         (_gl_close_fd_maybe_socket): Remove function.
6438         (rpl_close): Invoke execute_all_close_hooks instead of
6439         _gl_close_fd_maybe_socket.
6440         * lib/sockets.c: Include close-hook.h, w32sock.h.
6441         (close_fd_maybe_socket): New function, essentially from lib/close.c.
6442         (close_sockets_hook): New variable.
6443         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
6444         (gl_sockets_cleanup): Unregister it.
6445         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
6446         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
6447         * modules/close-hook: New file.
6448         * modules/close (Files): Remove lib/w32sock.h.
6449         (Depends-on): Add close-hook.
6450         (Link): Remove section.
6451         * modules/sockets (Files): Add lib/w32sock.h.
6452         (Depends-on): Add close-hook.
6453         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
6454         invocation.
6455         * NEWS: Mention that LIB_CLOSE is gone.
6456
6457 2009-03-23  Eric Blake  <ebb9@byu.net>
6458
6459         signal-tests: test previous patch
6460         * tests/test-signal.c: New file.
6461         * modules/signal-tests: Likewise.
6462
6463         signal.h: always support 'volatile sig_atomic_t'
6464         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
6465         (gl_SIGNAL_H_DEFAULTS): Add a default.
6466         * modules/signal (Makefile.am): Substitute if needed.
6467         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
6468         users can blindly add volatile.
6469         * doc/posix-headers/signal.texi (signal.h): Document it.
6470         Reported by Matthew Woehlke.
6471
6472 2009-03-23  Jim Meyering  <meyering@redhat.com>
6473
6474         pathmax: PATH_MAX: use pathconf only when available
6475         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
6476         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
6477         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
6478         This avoids a link failure in a PSP cross-compilation environment
6479         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
6480
6481         * lib/vasnprintf.c (divide): Fix typo in comment.
6482
6483 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6484
6485         * gnulib-tool (func_filter_filelist): Fix comment.
6486
6487 2009-03-20  Bruno Haible  <bruno@clisp.org>
6488
6489         Make sockets.h self-contained.
6490         * lib/sockets.c: Include sockets.h first.
6491         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
6492
6493 2009-03-19  Eric Blake  <ebb9@byu.net>
6494
6495         doc: mention more functions added in cygwin 1.7.0
6496         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
6497         addition.
6498         * doc/posix-functions/log2f.texi: Likewise.
6499
6500 2009-03-19  Jim Meyering  <meyering@redhat.com>
6501
6502         fsusage: avoid syntax error due to statement-before-declaration
6503         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
6504         after all declarations.  Reported by Matthew Woehlke in
6505         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
6506
6507 2009-03-18  Eric Blake  <ebb9@byu.net>
6508
6509         build-aux/compile: sync from automake
6510         * build-aux/compile: New file, from automake.
6511         * config/srclist.txt: Mention build-aux/compile.
6512
6513 2009-03-17  Bruno Haible  <bruno@clisp.org>
6514
6515         * lib/git-merge-changelog.c: Fix typo in comment.
6516         Reported by Reuben Thomas <rrt@sc3d.org>.
6517
6518 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
6519
6520         * m4/regex.m4: update and improve help for
6521         --without-included-regex.
6522
6523 2009-03-17  Simon Josefsson  <simon@josefsson.org>
6524
6525         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
6526         failure on missing include files.
6527
6528 2009-03-17  Eric Blake  <ebb9@byu.net>
6529
6530         doc: mention more functions added in cygwin 1.7.0
6531         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
6532         addition.
6533         * doc/posix-functions/fwscanf.texi: Likewise.
6534         * doc/posix-functions/swprintf.texi: Likewise.
6535         * doc/posix-functions/swscanf.texi: Likewise.
6536         * doc/posix-functions/vfwprintf.texi: Likewise.
6537         * doc/posix-functions/vfwscanf.texi: Likewise.
6538         * doc/posix-functions/vswprintf.texi: Likewise.
6539         * doc/posix-functions/vswscanf.texi: Likewise.
6540         * doc/posix-functions/vwprintf.texi: Likewise.
6541         * doc/posix-functions/vwscanf.texi: Likewise.
6542         * doc/posix-functions/wcscasecmp.texi: Likewise.
6543         * doc/posix-functions/wcsdup.texi: Likewise.
6544         * doc/posix-functions/wcsftime.texi: Likewise.
6545         * doc/posix-functions/wcsncasecmp.texi: Likewise.
6546         * doc/posix-functions/wprintf.texi: Likewise.
6547         * doc/posix-functions/wscanf.texi: Likewise.
6548         * doc/glibc-functions/gethostbyname2.texi: Likewise.
6549
6550 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6551
6552         maint.mk: really add $(AM_MAKEFLAGS)
6553         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
6554         was inadvertently omitted in the last commit.
6555         Spotted by Bruno Haible.
6556
6557         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
6558         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
6559         $(AM_MAKEFLAGS)' rather than plain `make'.
6560
6561         gnulib-tool: execute $MAKE not make
6562         * gnulib-tool: Default $MAKE to 'make'.
6563         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
6564         than make.  Initialize $MAKE in the do-autobuild script.
6565
6566         gnulib-tool: use $MAKE not make in generated files
6567         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
6568         make, in generated files.  Initialize $MAKE in the do-autobuild
6569         script.
6570
6571         * top/GNUmakefile (_have-git-version-gen): Fix typo.
6572
6573         GNUmakefile: disable parallelism only for multiple, recursive targets
6574         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
6575         additions in the Makefile.
6576         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
6577         by Automake.
6578         (.NOTPARALLEL): Only disable parallel builds if multiple targets
6579         are listed on the command line and at least one of them is
6580         listed in $(ALL_RECURSIVE_TARGETS).
6581
6582 2009-03-14  Bruno Haible  <bruno@clisp.org>
6583
6584         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
6585         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
6586         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
6587         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
6588         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
6589         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
6590         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
6591         unistr/u8-uctomb.
6592         * modules/unistr/u8-strchr (Depends-on): Likewise.
6593         * modules/unistr/u8-strrchr (Depends-on): Likewise.
6594         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
6595         unistr/u16-uctomb.
6596         * modules/unistr/u16-strchr (Depends-on): Likewise.
6597         * modules/unistr/u16-strrchr (Depends-on): Likewise.
6598
6599 2009-03-12  Bruno Haible  <bruno@clisp.org>
6600
6601         Work around select() bug on Interix 3.5.
6602         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
6603         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
6604         * m4/select.m4: New file.
6605         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
6606         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
6607         * modules/select (Files): Add m4/select.m4.
6608         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
6609         * modules/nanosleep (Depends-on): Add select.
6610         * modules/poll (Depends-on): Likewise.
6611         * doc/posix-functions/select.texi: Mention the Interix bug.
6612         Reported by Markus Duft <mduft@gentoo.org>.
6613
6614         * lib/select.c: Renamed from lib/winsock-select.c.
6615         * modules/select (Files): Add lib/select.c, remove
6616         lib/winsock-select.c.
6617         (configure.ac): Update.
6618
6619 2009-03-12  Jim Meyering  <meyering@redhat.com>
6620
6621         avoid gcc warnings about unused macro definitions
6622         * lib/readtokens.c (STREQ): Remove unused definition.
6623         * lib/xmalloc.c (SIZE_MAX): Likewise.
6624         * lib/openat-die.c (N_): Likewise.
6625         * lib/mountlist.c (SIZE_MAX): Remove definition.
6626         Instead, include <stdint.h>.
6627         * lib/readutmp.c: Likewise.
6628         * modules/readutmp (Depends-on): Add stdint.
6629         * modules/mountlist (Depends-on): Add stdint.
6630         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
6631
6632 2009-03-10  Bruno Haible  <bruno@clisp.org>
6633
6634         Tests for module 'mbmemcasecoll'.
6635         * modules/mbmemcasecoll-tests: New file.
6636         * tests/test-mbmemcasecoll1.sh: New file.
6637         * tests/test-mbmemcasecoll2.sh: New file.
6638         * tests/test-mbmemcasecoll3.sh: New file.
6639         * tests/test-mbmemcasecoll.c: New file.
6640
6641         New module 'mbmemcasecoll'.
6642         * lib/mbmemcasecoll.h: New file.
6643         * lib/mbmemcasecoll.c: New file.
6644         * modules/mbmemcasecoll: New file.
6645
6646         * tests/test-mbmemcasecmp.h: New file, extracted from
6647         tests/test-mbmemcasecmp.c.
6648         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
6649         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
6650         (main): Update.
6651         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
6652
6653 2009-03-09  Bruno Haible  <bruno@clisp.org>
6654
6655         Tests for module 'mbmemcasecmp'.
6656         * modules/mbmemcasecmp-tests: New file.
6657         * tests/test-mbmemcasecmp1.sh: New file.
6658         * tests/test-mbmemcasecmp2.sh: New file.
6659         * tests/test-mbmemcasecmp3.sh: New file.
6660         * tests/test-mbmemcasecmp.c: New file.
6661
6662         New module 'mbmemcasecmp'.
6663         * lib/mbmemcasecmp.h: New file.
6664         * lib/mbmemcasecmp.c: New file.
6665         * modules/mbmemcasecmp: New file.
6666
6667 2009-03-09  Bruno Haible  <bruno@clisp.org>
6668
6669         Tests for module 'unicase/ulc-casecoll'.
6670         * modules/unicase/ulc-casecoll-tests: New file.
6671         * tests/unicase/test-ulc-casecoll1.sh: New file.
6672         * tests/unicase/test-ulc-casecoll2.sh: New file.
6673         * tests/unicase/test-ulc-casecoll.c: New file.
6674
6675         New module 'unicase/ulc-casecoll'.
6676         * lib/unicase.h (ulc_casecoll): New declaration.
6677         * lib/unicase/ulc-casecoll.c: New file.
6678         * modules/unicase/ulc-casecoll: New file.
6679
6680         New module 'unicase/ulc-casexfrm'.
6681         * lib/unicase.h (ulc_casexfrm): New declaration.
6682         * lib/unicase/ulc-casexfrm.c: New file.
6683         * modules/unicase/ulc-casexfrm: New file.
6684
6685 2009-03-09  Bruno Haible  <bruno@clisp.org>
6686
6687         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
6688         invocations.
6689
6690         * m4/mbscasecmp.m4: Remove file.
6691         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
6692         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
6693
6694         * m4/mbscasestr.m4: Remove file.
6695         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
6696         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
6697
6698         * m4/mbschr.m4: Remove file.
6699         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
6700         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
6701
6702         * m4/mbscspn.m4: Remove file.
6703         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
6704         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
6705
6706         * m4/mbslen.m4: Remove file.
6707         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
6708         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
6709
6710         * m4/mbsncasecmp.m4: Remove file.
6711         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
6712         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
6713
6714         * m4/mbsnlen.m4: Remove file.
6715         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
6716         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
6717
6718         * m4/mbspbrk.m4: Remove file.
6719         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
6720         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
6721
6722         * m4/mbspcasecmp.m4: Remove file.
6723         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
6724         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
6725
6726         * m4/mbsrchr.m4: Remove file.
6727         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
6728         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
6729
6730         * m4/mbssep.m4: Remove file.
6731         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
6732         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
6733
6734         * m4/mbsspn.m4: Remove file.
6735         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
6736         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
6737
6738         * m4/mbsstr.m4: Remove file.
6739         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
6740         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
6741
6742         * m4/mbstok_r.m4: Remove file.
6743         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
6744         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
6745
6746         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
6747
6748         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
6749         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
6750
6751         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
6752
6753 2009-03-08  Bruno Haible  <bruno@clisp.org>
6754
6755         Tests for module 'unicase/ulc-casecmp'.
6756         * modules/unicase/ulc-casecmp-tests: New file.
6757         * tests/unicase/test-ulc-casecmp1.sh: New file.
6758         * tests/unicase/test-ulc-casecmp2.sh: New file.
6759         * tests/unicase/test-ulc-casecmp.c: New file.
6760
6761         New module 'unicase/ulc-casecmp'.
6762         * lib/unicase.h (ulc_casecmp): New declaration.
6763         * lib/unicase/ulc-casecmp.c: New file.
6764         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
6765         'const SRC_UNIT *'.
6766         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
6767         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
6768         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
6769         * modules/unicase/ulc-casecmp: New file.
6770
6771         Tests for module 'unicase/u32-is-cased'.
6772         * modules/unicase/u32-is-cased-tests: New file.
6773         * tests/unicase/test-u32-is-cased.c: New file.
6774
6775         Tests for module 'unicase/u16-is-cased'.
6776         * modules/unicase/u16-is-cased-tests: New file.
6777         * tests/unicase/test-u16-is-cased.c: New file.
6778
6779         Tests for module 'unicase/u8-is-cased'.
6780         * modules/unicase/u8-is-cased-tests: New file.
6781         * tests/unicase/test-u8-is-cased.c: New file.
6782         * tests/unicase/test-is-cased.h: New file.
6783
6784         New module 'unicase/u32-is-cased'.
6785         * lib/unicase/u32-is-cased.c: New file.
6786         * modules/unicase/u32-is-cased: New file.
6787
6788         New module 'unicase/u16-is-cased'.
6789         * lib/unicase/u16-is-cased.c: New file.
6790         * modules/unicase/u16-is-cased: New file.
6791
6792         New module 'unicase/u8-is-cased'.
6793         * lib/unicase/u8-is-cased.c: New file.
6794         * lib/unicase/u-is-cased.h: New file.
6795         * modules/unicase/u8-is-cased: New file.
6796
6797         Tests for module 'unicase/u32-is-casefolded'.
6798         * modules/unicase/u32-is-casefolded-tests: New file.
6799         * tests/unicase/test-u32-is-casefolded.c: New file.
6800
6801         Tests for module 'unicase/u16-is-casefolded'.
6802         * modules/unicase/u16-is-casefolded-tests: New file.
6803         * tests/unicase/test-u16-is-casefolded.c: New file.
6804
6805         Tests for module 'unicase/u8-is-casefolded'.
6806         * modules/unicase/u8-is-casefolded-tests: New file.
6807         * tests/unicase/test-u8-is-casefolded.c: New file.
6808         * tests/unicase/test-is-casefolded.h: New file.
6809
6810         New module 'unicase/u32-is-casefolded'.
6811         * lib/unicase/u32-is-casefolded.c: New file.
6812         * modules/unicase/u32-is-casefolded: New file.
6813
6814         New module 'unicase/u16-is-casefolded'.
6815         * lib/unicase/u16-is-casefolded.c: New file.
6816         * modules/unicase/u16-is-casefolded: New file.
6817
6818         New module 'unicase/u8-is-casefolded'.
6819         * lib/unicase/u8-is-casefolded.c: New file.
6820         * modules/unicase/u8-is-casefolded: New file.
6821
6822         Tests for module 'unicase/u32-is-titlecase'.
6823         * modules/unicase/u32-is-titlecase-tests: New file.
6824         * tests/unicase/test-u32-is-titlecase.c: New file.
6825
6826         Tests for module 'unicase/u16-is-titlecase'.
6827         * modules/unicase/u16-is-titlecase-tests: New file.
6828         * tests/unicase/test-u16-is-titlecase.c: New file.
6829
6830         Tests for module 'unicase/u8-is-titlecase'.
6831         * modules/unicase/u8-is-titlecase-tests: New file.
6832         * tests/unicase/test-u8-is-titlecase.c: New file.
6833         * tests/unicase/test-is-titlecase.h: New file.
6834
6835         New module 'unicase/u32-is-titlecase'.
6836         * lib/unicase/u32-is-titlecase.c: New file.
6837         * modules/unicase/u32-is-titlecase: New file.
6838
6839         New module 'unicase/u16-is-titlecase'.
6840         * lib/unicase/u16-is-titlecase.c: New file.
6841         * modules/unicase/u16-is-titlecase: New file.
6842
6843         New module 'unicase/u8-is-titlecase'.
6844         * lib/unicase/u8-is-titlecase.c: New file.
6845         * modules/unicase/u8-is-titlecase: New file.
6846
6847         Tests for module 'unicase/u32-is-lowercase'.
6848         * modules/unicase/u32-is-lowercase-tests: New file.
6849         * tests/unicase/test-u32-is-lowercase.c: New file.
6850
6851         Tests for module 'unicase/u16-is-lowercase'.
6852         * modules/unicase/u16-is-lowercase-tests: New file.
6853         * tests/unicase/test-u16-is-lowercase.c: New file.
6854
6855         Tests for module 'unicase/u8-is-lowercase'.
6856         * modules/unicase/u8-is-lowercase-tests: New file.
6857         * tests/unicase/test-u8-is-lowercase.c: New file.
6858         * tests/unicase/test-is-lowercase.h: New file.
6859
6860         New module 'unicase/u32-is-lowercase'.
6861         * lib/unicase/u32-is-lowercase.c: New file.
6862         * modules/unicase/u32-is-lowercase: New file.
6863
6864         New module 'unicase/u16-is-lowercase'.
6865         * lib/unicase/u16-is-lowercase.c: New file.
6866         * modules/unicase/u16-is-lowercase: New file.
6867
6868         New module 'unicase/u8-is-lowercase'.
6869         * lib/unicase/u8-is-lowercase.c: New file.
6870         * modules/unicase/u8-is-lowercase: New file.
6871
6872         Tests for module 'unicase/u32-is-uppercase'.
6873         * modules/unicase/u32-is-uppercase-tests: New file.
6874         * tests/unicase/test-u32-is-uppercase.c: New file.
6875
6876         Tests for module 'unicase/u16-is-uppercase'.
6877         * modules/unicase/u16-is-uppercase-tests: New file.
6878         * tests/unicase/test-u16-is-uppercase.c: New file.
6879
6880         Tests for module 'unicase/u8-is-uppercase'.
6881         * modules/unicase/u8-is-uppercase-tests: New file.
6882         * tests/unicase/test-u8-is-uppercase.c: New file.
6883         * tests/unicase/test-is-uppercase.h: New file.
6884
6885         New module 'unicase/u32-is-uppercase'.
6886         * lib/unicase/u32-is-uppercase.c: New file.
6887         * modules/unicase/u32-is-uppercase: New file.
6888
6889         New module 'unicase/u16-is-uppercase'.
6890         * lib/unicase/u16-is-uppercase.c: New file.
6891         * modules/unicase/u16-is-uppercase: New file.
6892
6893         New module 'unicase/u8-is-uppercase'.
6894         * lib/unicase/u8-is-uppercase.c: New file.
6895         * modules/unicase/u8-is-uppercase: New file.
6896
6897         New module 'unicase/u32-is-invariant'.
6898         * lib/unicase/u32-is-invariant.c: New file.
6899         * modules/unicase/u32-is-invariant: New file.
6900
6901         New module 'unicase/u16-is-invariant'.
6902         * lib/unicase/u16-is-invariant.c: New file.
6903         * modules/unicase/u16-is-invariant: New file.
6904
6905         New module 'unicase/u8-is-invariant'.
6906         * lib/unicase/u8-is-invariant.c: New file.
6907         * lib/unicase/invariant.h: New file.
6908         * lib/unicase/u-is-invariant.h: New file.
6909         * modules/unicase/u8-is-invariant: New file.
6910
6911         Tests for module 'unicase/u32-casecoll'.
6912         * modules/unicase/u32-casecoll-tests: New file.
6913         * tests/unicase/test-u32-casecoll.c: New file.
6914
6915         Tests for module 'unicase/u16-casecoll'.
6916         * modules/unicase/u16-casecoll-tests: New file.
6917         * tests/unicase/test-u16-casecoll.c: New file.
6918
6919         Tests for module 'unicase/u8-casecoll'.
6920         * modules/unicase/u8-casecoll-tests: New file.
6921         * tests/unicase/test-u8-casecoll.c: New file.
6922
6923         New module 'unicase/u32-casecoll'.
6924         * lib/unicase/u32-casecoll.c: New file.
6925         * modules/unicase/u32-casecoll: New file.
6926
6927         New module 'unicase/u16-casecoll'.
6928         * lib/unicase/u16-casecoll.c: New file.
6929         * modules/unicase/u16-casecoll: New file.
6930
6931         New module 'unicase/u8-casecoll'.
6932         * lib/unicase/u8-casecoll.c: New file.
6933         * lib/unicase/u-casecoll.h: New file.
6934         * modules/unicase/u8-casecoll: New file.
6935
6936         New module 'unicase/u32-casexfrm'.
6937         * lib/unicase/u32-casexfrm.c: New file.
6938         * modules/unicase/u32-casexfrm: New file.
6939
6940         New module 'unicase/u16-casexfrm'.
6941         * lib/unicase/u16-casexfrm.c: New file.
6942         * modules/unicase/u16-casexfrm: New file.
6943
6944         New module 'unicase/u8-casexfrm'.
6945         * lib/unicase/u8-casexfrm.c: New file.
6946         * lib/unicase/u-casexfrm.h: New file.
6947         * modules/unicase/u8-casexfrm: New file.
6948
6949         Tests for module 'unicase/u32-casecmp'.
6950         * modules/unicase/u32-casecmp-tests: New file.
6951         * tests/unicase/test-u32-casecmp.c: New file.
6952
6953         Tests for module 'unicase/u16-casecmp'.
6954         * modules/unicase/u16-casecmp-tests: New file.
6955         * tests/unicase/test-u16-casecmp.c: New file.
6956
6957         Tests for module 'unicase/u8-casecmp'.
6958         * modules/unicase/u8-casecmp-tests: New file.
6959         * tests/unicase/test-u8-casecmp.c: New file.
6960         * tests/unicase/test-casecmp.h: New file.
6961
6962         New module 'unicase/u32-casecmp'.
6963         * lib/unicase/u32-casecmp.c: New file.
6964         * modules/unicase/u32-casecmp: New file.
6965
6966         New module 'unicase/u16-casecmp'.
6967         * lib/unicase/u16-casecmp.c: New file.
6968         * modules/unicase/u16-casecmp: New file.
6969
6970         New module 'unicase/u8-casecmp'.
6971         * lib/unicase/u8-casecmp.c: New file.
6972         * lib/unicase/u-casecmp.h: New file.
6973         * modules/unicase/u8-casecmp: New file.
6974
6975         Tests for module 'unicase/u32-casefold'.
6976         * modules/unicase/u32-casefold-tests: New file.
6977         * tests/unicase/test-u32-casefold.c: New file.
6978
6979         Tests for module 'unicase/u16-casefold'.
6980         * modules/unicase/u16-casefold-tests: New file.
6981         * tests/unicase/test-u16-casefold.c: New file.
6982
6983         Tests for module 'unicase/u8-casefold'.
6984         * modules/unicase/u8-casefold-tests: New file.
6985         * tests/unicase/test-u8-casefold.c: New file.
6986
6987         New module 'unicase/u32-casefold'.
6988         * lib/unicase/u32-casefold.c: New file.
6989         * modules/unicase/u32-casefold: New file.
6990
6991         New module 'unicase/u16-casefold'.
6992         * lib/unicase/u16-casefold.c: New file.
6993         * modules/unicase/u16-casefold: New file.
6994
6995         New module 'unicase/u8-casefold'.
6996         * lib/unicase/u8-casefold.c: New file.
6997         * lib/unicase/u-casefold.h: New file.
6998         * modules/unicase/u8-casefold: New file.
6999
7000         New module 'unicase/tocasefold'.
7001         * lib/unicase/casefold.h: New file.
7002         * lib/unicase/tocasefold.c: New file.
7003         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
7004         * modules/unicase/tocasefold: New file.
7005
7006         Tests for module 'unicase/u32-totitle'.
7007         * modules/unicase/u32-totitle-tests: New file.
7008         * tests/unicase/test-u32-totitle.c: New file.
7009
7010         Tests for module 'unicase/u16-totitle'.
7011         * modules/unicase/u16-totitle-tests: New file.
7012         * tests/unicase/test-u16-totitle.c: New file.
7013
7014         Tests for module 'unicase/u8-totitle'.
7015         * modules/unicase/u8-totitle-tests: New file.
7016         * tests/unicase/test-u8-totitle.c: New file.
7017
7018         New module 'unicase/u32-totitle'.
7019         * lib/unicase/u32-totitle.c: New file.
7020         * modules/unicase/u32-totitle: New file.
7021
7022         New module 'unicase/u16-totitle'.
7023         * lib/unicase/u16-totitle.c: New file.
7024         * modules/unicase/u16-totitle: New file.
7025
7026         New module 'unicase/u8-totitle'.
7027         * lib/unicase/u8-totitle.c: New file.
7028         * lib/unicase/u-totitle.h: New file.
7029         * modules/unicase/u8-totitle: New file.
7030
7031         Tests for module 'unicase/u32-tolower'.
7032         * modules/unicase/u32-tolower-tests: New file.
7033         * tests/unicase/test-u32-tolower.c: New file.
7034
7035         Tests for module 'unicase/u16-tolower'.
7036         * modules/unicase/u16-tolower-tests: New file.
7037         * tests/unicase/test-u16-tolower.c: New file.
7038
7039         Tests for module 'unicase/u8-tolower'.
7040         * modules/unicase/u8-tolower-tests: New file.
7041         * tests/unicase/test-u8-tolower.c: New file.
7042
7043         New module 'unicase/u32-tolower'.
7044         * lib/unicase/u32-tolower.c: New file.
7045         * modules/unicase/u32-tolower: New file.
7046
7047         New module 'unicase/u16-tolower'.
7048         * lib/unicase/u16-tolower.c: New file.
7049         * modules/unicase/u16-tolower: New file.
7050
7051         New module 'unicase/u8-tolower'.
7052         * lib/unicase/u8-tolower.c: New file.
7053         * modules/unicase/u8-tolower: New file.
7054
7055         Tests for module 'unicase/u32-toupper'.
7056         * modules/unicase/u32-toupper-tests: New file.
7057         * tests/unicase/test-u32-toupper.c: New file.
7058
7059         Tests for module 'unicase/u16-toupper'.
7060         * modules/unicase/u16-toupper-tests: New file.
7061         * tests/unicase/test-u16-toupper.c: New file.
7062
7063         Tests for module 'unicase/u8-toupper'.
7064         * modules/unicase/u8-toupper-tests: New file.
7065         * tests/unicase/test-u8-toupper.c: New file.
7066
7067         New module 'unicase/u32-toupper'.
7068         * lib/unicase/u32-toupper.c: New file.
7069         * modules/unicase/u32-toupper: New file.
7070
7071         New module 'unicase/u16-toupper'.
7072         * lib/unicase/u16-toupper.c: New file.
7073         * modules/unicase/u16-toupper: New file.
7074
7075         New module 'unicase/u8-toupper'.
7076         * lib/unicase/u8-toupper.c: New file.
7077         * modules/unicase/u8-toupper: New file.
7078
7079         New module 'unicase/u32-casemap'.
7080         * lib/unicase/u32-casemap.c: New file.
7081         * modules/unicase/u32-casemap: New file.
7082
7083         New module 'unicase/u16-casemap'.
7084         * lib/unicase/u16-casemap.c: New file.
7085         * modules/unicase/u16-casemap: New file.
7086
7087         New module 'unicase/u8-casemap'.
7088         * lib/unicase/unicasemap.h: New file.
7089         * lib/unicase/u8-casemap.c: New file.
7090         * lib/unicase/u-casemap.h: New file.
7091         * modules/unicase/u8-casemap: New file.
7092
7093         New module 'unicase/special-casing'.
7094         * lib/unicase/special-casing.h: New file.
7095         * lib/unicase/special-casing.c: New file.
7096         * lib/unicase/special-casing-table.gperf: New file, generated by
7097         gen-uni-tables.c.
7098         * modules/unicase/special-casing: New file.
7099
7100         Tests for module 'unicase/locale-language'.
7101         * modules/unicase/locale-language-tests: New file.
7102         * tests/unicase/test-locale-language.sh: New file.
7103         * tests/unicase/test-locale-language.c: New file.
7104
7105         New module 'unicase/locale-language'.
7106         * lib/unicase/locale-language.c: New file.
7107         * lib/unicase/locale-languages.gperf: New file.
7108         * modules/unicase/locale-language: New file.
7109
7110         Generate more tables for case conversion and case folding.
7111         * lib/gen-uni-tables.c (SCC_*): New enum items.
7112         (struct special_casing_rule): New type.
7113         (casing_rules, num_casing_rules, allocated_casing_rules): New
7114         variables.
7115         (add_casing_rule, fill_casing_rules): New functions.
7116         (struct casefold_rule): New type.
7117         (casefolding_rules, num_casefolding_rules,
7118         allocated_casefolding_rules): New variables.
7119         (fill_casefolding_rules): New function.
7120         (unicode_casefold): New variable.
7121         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
7122         sort_casing_rules, output_casing_rules): New functions.
7123         (main): Accept to more arguments: SpecialCasing.txt and
7124         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
7125         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
7126         Output mapping for casefolding.
7127
7128         * lib/unicase.h: Include stdbool.h, uninorm.h.
7129         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
7130         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
7131         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
7132         arguments.
7133         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
7134         resultp arguments.
7135         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
7136         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
7137         resultp arguments.
7138         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
7139         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
7140         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
7141         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
7142         declarations.
7143         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
7144
7145 2009-03-08  Bruno Haible  <bruno@clisp.org>
7146
7147         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7148         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
7149         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
7150         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7151
7152 2009-03-07  Bruno Haible  <bruno@clisp.org>
7153
7154         Adjust u*_normcmp, u*_normcoll API.
7155         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7156         u16_normcoll, u32_normcoll): Change failure conventions.
7157         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
7158         errno and return -1.
7159         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7160
7161 2009-03-07  Bruno Haible  <bruno@clisp.org>
7162
7163         Tests for module 'uninorm/u32-normcoll'.
7164         * modules/uninorm/u32-normcoll-tests: New file.
7165         * tests/uninorm/test-u32-normcoll.c: New file.
7166
7167         Tests for module 'uninorm/u16-normcoll'.
7168         * modules/uninorm/u16-normcoll-tests: New file.
7169         * tests/uninorm/test-u16-normcoll.c: New file.
7170
7171         Tests for module 'uninorm/u8-normcoll'.
7172         * modules/uninorm/u8-normcoll-tests: New file.
7173         * tests/uninorm/test-u8-normcoll.c: New file.
7174
7175 2009-03-07  Bruno Haible  <bruno@clisp.org>
7176
7177         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
7178         tests/uninorm/test-u32-normcmp.c.
7179         * tests/uninorm/test-u32-normcmp.c: Include it.
7180         (test_nonascii): New function, extracted from main. Add some more
7181         tests.
7182         (main): Invoke test_ascii and test_nonascii.
7183         * modules/uninorm/u32-normcmp-tests (Files): Add
7184         tests/uninorm/test-u32-normcmp.h.
7185         (Depends-on): Remove uninorm/u32-normcmp.
7186
7187         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
7188         tests/uninorm/test-u16-normcmp.c.
7189         * tests/uninorm/test-u16-normcmp.c: Include it.
7190         (test_nonascii): New function, extracted from main. Add some more
7191         tests.
7192         (main): Invoke test_ascii and test_nonascii.
7193         * modules/uninorm/u16-normcmp-tests (Files): Add
7194         tests/uninorm/test-u16-normcmp.h.
7195         (Depends-on): Remove uninorm/u16-normcmp.
7196
7197         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
7198         tests/uninorm/test-u8-normcmp.c.
7199         * tests/uninorm/test-u8-normcmp.c: Include it.
7200         (test_nonascii): New function, extracted from main. Add some more
7201         tests.
7202         (main): Invoke test_ascii and test_nonascii.
7203         * modules/uninorm/u8-normcmp-tests (Files): Add
7204         tests/uninorm/test-u8-normcmp.h.
7205         (Depends-on): Remove uninorm/u8-normcmp.
7206
7207 2009-03-07  Bruno Haible  <bruno@clisp.org>
7208
7209         New module 'uninorm/u32-normcoll'.
7210         * lib/uninorm/u32-normcoll.c: New file.
7211         * modules/uninorm/u32-normcoll: New file.
7212
7213         New module 'uninorm/u16-normcoll'.
7214         * lib/uninorm/u16-normcoll.c: New file.
7215         * modules/uninorm/u16-normcoll: New file.
7216
7217         New module 'uninorm/u8-normcoll'.
7218         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
7219         declarations.
7220         * lib/uninorm/u8-normcoll.c: New file.
7221         * lib/uninorm/u-normcoll.h: New file.
7222         * modules/uninorm/u8-normcoll: New file.
7223
7224         New module 'uninorm/u32-normxfrm'.
7225         * lib/uninorm/u32-normxfrm.c: New file.
7226         * modules/uninorm/u32-normxfrm: New file.
7227
7228         New module 'uninorm/u16-normxfrm'.
7229         * lib/uninorm/u16-normxfrm.c: New file.
7230         * modules/uninorm/u16-normxfrm: New file.
7231
7232         New module 'uninorm/u8-normxfrm'.
7233         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
7234         declarations.
7235         * lib/uninorm/u8-normxfrm.c: New file.
7236         * lib/uninorm/u-normxfrm.h: New file.
7237         * modules/uninorm/u8-normxfrm: New file.
7238
7239 2009-03-07  Bruno Haible  <bruno@clisp.org>
7240
7241         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
7242         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
7243         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
7244
7245 2009-03-07  Bruno Haible  <bruno@clisp.org>
7246
7247         New module 'memxfrm'.
7248         * lib/memxfrm.h: New file.
7249         * lib/memxfrm.c: New file.
7250         * modules/memxfrm: New file.
7251
7252 2009-03-07  Bruno Haible  <bruno@clisp.org>
7253
7254         New module 'memcmp2'.
7255         * lib/memcmp2.h: New file.
7256         * lib/memcmp2.c: New file.
7257         * modules/memcmp2: New file.
7258
7259 2009-03-07  Bruno Haible  <bruno@clisp.org>
7260
7261         Tests for module 'uninorm/decomposing-form'.
7262         * modules/uninorm/decomposing-form-tests: New file.
7263         * tests/uninorm/test-decomposing-form.c: New file.
7264
7265         New module 'uninorm/decomposing-form'.
7266         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
7267         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
7268         Add 'decomposing_variant' field.
7269         * lib/uninorm/decomposing-form.c: New file.
7270         * lib/uninorm/nfc.c (uninorm_nfc): Update.
7271         * lib/uninorm/nfd.c (uninorm_nfd): Update.
7272         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
7273         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
7274         * modules/uninorm/decomposing-form: New file.
7275         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
7276         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
7277
7278 2009-03-07  Bruno Haible  <bruno@clisp.org>
7279
7280         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
7281         strings.
7282
7283 2009-03-06  Bruno Haible  <bruno@clisp.org>
7284
7285         Tests for module 'uninorm/u32-normcmp'.
7286         * tests/uninorm/test-u32-normcmp.c: New file.
7287         * modules/uninorm/u32-normcmp-tests: New file.
7288
7289         Tests for module 'uninorm/u16-normcmp'.
7290         * tests/uninorm/test-u16-normcmp.c: New file.
7291         * modules/uninorm/u16-normcmp-tests: New file.
7292
7293         Tests for module 'uninorm/u8-normcmp'.
7294         * tests/uninorm/test-u8-normcmp.c: New file.
7295         * modules/uninorm/u8-normcmp-tests: New file.
7296
7297         New module 'uninorm/u32-normcmp'.
7298         * lib/uninorm/u32-normcmp.c: New file.
7299         * modules/uninorm/u32-normcmp: New file.
7300
7301         New module 'uninorm/u16-normcmp'.
7302         * lib/uninorm/u16-normcmp.c: New file.
7303         * modules/uninorm/u16-normcmp: New file.
7304
7305         New module 'uninorm/u8-normcmp'.
7306         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
7307         declarations.
7308         * lib/uninorm/u8-normcmp.c: New file.
7309         * lib/uninorm/u-normcmp.h: New file.
7310         * modules/uninorm/u8-normcmp: New file.
7311
7312 2009-03-06  Bruno Haible  <bruno@clisp.org>
7313
7314         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
7315         Reported by Eric Blake.
7316
7317 2009-03-06  Eric Blake  <ebb9@byu.net>
7318             Bruno Haible  <bruno@clisp.org>
7319
7320         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
7321         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
7322         condition.
7323         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7324         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
7325         condition.
7326         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
7327
7328 2009-03-06  Eric Blake  <ebb9@byu.net>
7329
7330         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
7331         to avoid compiler warnings.
7332         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
7333
7334 2009-03-05  Bruno Haible  <bruno@clisp.org>
7335
7336         * tests/test-ftell.c (main): Disable test beyond end of file on
7337         FreeMiNT.
7338         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7339
7340 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
7341
7342         * lib/filevercmp.c: Move hidden files up in ordering.
7343         * tests/test-filevercmp.c: Add tests for hidden files.
7344
7345 2009-03-04  Bruno Haible  <bruno@clisp.org>
7346
7347         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
7348         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
7349         AM_CFLAGS.
7350         Reported by Simon Josefsson.
7351
7352 2009-03-03  Bruno Haible  <bruno@clisp.org>
7353
7354         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
7355         Reported by Simon Josefsson.
7356
7357         * doc/ld-version-script.texi: Update node reference.
7358
7359 2009-03-03  Bruno Haible  <bruno@clisp.org>
7360
7361         * modules/visibility (License): Change to 'unlimited'.
7362         Suggested by Simon Josefsson.
7363
7364 2009-03-03  Jim Meyering  <meyering@redhat.com>
7365
7366         unlinkdir: cannot_unlink_dir may modify process state
7367         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
7368         it's neither thread-safe nor appropriate for use in a library.
7369
7370 2009-03-03  Eric Blake  <ebb9@byu.net>
7371
7372         test-closein: silence test under Darwin
7373         * tests/test-closein.sh: Ignore stderr from cat, since we don't
7374         care if it dies from EPIPE or EBADF.
7375
7376 2009-03-03  Bruno Haible  <bruno@clisp.org>
7377
7378         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
7379         earlier.
7380         * doc/visibility.texi: Fix @node and @section.
7381
7382 2009-03-03  Simon Josefsson  <simon@josefsson.org>
7383
7384         * doc/gnulib.texi: Link to sections for ld version script and
7385         visibility.
7386         * doc/visibility.texi: Add @node and @section.
7387         * modules/ld-version-script: New module.
7388         * m4/ld-version-script.m4: New file.
7389         * doc/ld-version-script.texi: New file.
7390
7391 2009-03-02  David Lutterkort  <lutter@redhat.com>
7392
7393         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
7394         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7395
7396 2009-03-02  Bruno Haible  <bruno@clisp.org>
7397
7398         * doc/visibility.texi: Mention libtool's -export-symbols option.
7399
7400 2009-03-02  Jim Meyering  <meyering@redhat.com>
7401
7402         announce-gen: new option: --no-print-checksums
7403         * build-aux/announce-gen (usage): Describe it.
7404         (print_checksums): Print a newline here, not in the [*] footnote.
7405         (main): Honor it.
7406
7407 2009-03-01  Bruno Haible  <bruno@clisp.org>
7408
7409         Use socklen_t in the native Windows replacements prototypes.
7410         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
7411         instead of 'int'.
7412         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7413         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7414         * modules/getsockopt (Depends-on): Add socklen.
7415         * modules/setsockopt (Depends-on): Add socklen.
7416
7417 2009-03-01  Bruno Haible  <bruno@clisp.org>
7418
7419         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
7420         least 4.2.
7421
7422 2009-03-01  Eric Blake  <ebb9@byu.net>
7423             Bruno Haible  <bruno@clisp.org>
7424
7425         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
7426         error messages.
7427         * lib/wait-process.c (wait_subprocess): Omit error message about
7428         deadly signal sent to the child of termsigp != NULL.
7429
7430 2009-03-01  Eric Blake  <ebb9@byu.net>
7431
7432         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
7433
7434 2009-03-01  Bruno Haible  <bruno@clisp.org>
7435
7436         Avoid a gcc warning.
7437         * tests/test-sched.c (b): Make global.
7438         Reported by Eric Blake.
7439
7440 2009-01-19  Martin Lambers  <marlam@marlam.de>
7441
7442         Provide POSIX semantics for socket timeout options on W32.
7443         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
7444         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
7445         * modules/setsockopt: Depend on sys_time module for struct timeval.
7446         * modules/getsockopt: Depend on sys_time module for struct timeval.
7447
7448 2009-03-01  Simon Josefsson  <simon@josefsson.org>
7449
7450         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
7451         __USE_GNU, for consistency with netdb.in.h.
7452         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7453
7454 2009-03-01  Bruno Haible  <bruno@clisp.org>
7455
7456         More support for FreeMiNT.
7457         * lib/fseeko.c (rpl_fseeko): Complete last commit.
7458         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7459
7460 2009-03-01  Bruno Haible  <bruno@clisp.org>
7461
7462         More support for FreeMiNT.
7463         * lib/fpurge.c (fpurge): Correct last commit.
7464         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7465
7466 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7467
7468         Fix unportable awk script in vc-list-files.
7469         * build-aux/vc-list-files: In the replacement awk script, use
7470         substr with a second argument of 1, not zero.
7471         Report by Simon Josefsson.
7472
7473 2009-02-28  Bruno Haible  <bruno@clisp.org>
7474
7475         More support for FreeMiNT.
7476         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
7477         to FreeMiNT today.
7478         * lib/fwriting.c (fwriting): Likewise.
7479         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
7480
7481 2009-02-28  Bruno Haible  <bruno@clisp.org>
7482
7483         * tests/test-freadseek.c (main): Disable test beyond end of file on
7484         FreeMiNT.
7485         * tests/test-ftello.c (main): Likewise.
7486         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
7487
7488 2009-02-28  Bruno Haible  <bruno@clisp.org>
7489
7490         Add tentative support for FreeMiNT.
7491         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
7492         * lib/fpurge.c (fpurge): Likewise.
7493         * lib/freadable.c (freadable): Likewise.
7494         * lib/freading.c (freading): Likewise.
7495         * lib/freadptr.c (freadptr): Likewise.
7496         * lib/freadseek.c (freadptrinc): Likewise.
7497         * lib/fseeko.c (rpl_fseeko): Likewise.
7498         * lib/fseterr.c (fseterr): Likewise.
7499         * lib/fwritable.c (fwritable): Likewise.
7500         * lib/fwriting.c (fwriting): Likewise.
7501         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
7502         Hourihane.
7503         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
7504
7505 2009-02-28  Bruno Haible  <bruno@clisp.org>
7506
7507         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
7508         SIGCHLD.
7509         Reported by Jim Meyering.
7510
7511 2009-02-28  Bruno Haible  <bruno@clisp.org>
7512
7513         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
7514         Mention the results of these tests on various platforms.
7515         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
7516         order.
7517         * doc/posix-functions/printf.texi: Likewise.
7518         * doc/posix-functions/snprintf.texi: Likewise.
7519         * doc/posix-functions/sprintf.texi: Likewise.
7520         * doc/posix-functions/vfprintf.texi: Likewise.
7521         * doc/posix-functions/vprintf.texi: Likewise.
7522         * doc/posix-functions/vsnprintf.texi: Likewise.
7523         * doc/posix-functions/vsprintf.texi: Likewise.
7524         * doc/glibc-functions/obstack_printf.texi: Likewise.
7525         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7526
7527 2009-02-28  Bruno Haible  <bruno@clisp.org>
7528
7529         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
7530         Reported by Loïc Minier <lool@dooz.org>.
7531
7532 2009-02-27  Bruno Haible  <bruno@clisp.org>
7533
7534         * gnulib-tool (func_import): Make the sed expression used to create the
7535         sed script for updating the .gitignore file POSIX compliant.
7536         Reported by Eric Blake.
7537
7538 2009-02-27  Bruno Haible  <bruno@clisp.org>
7539
7540         * gnulib-tool (sed): Don't alias as "sed --posix".
7541         Reported by Eric Blake.
7542
7543 2009-02-27  Bruno Haible  <bruno@clisp.org>
7544
7545         Avoid test link errors.
7546         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
7547         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
7548         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
7549         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
7550         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7551
7552 2009-02-27  Bruno Haible  <bruno@clisp.org>
7553
7554         Avoid spurious "(cached)" in configure output.
7555         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
7556         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
7557         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
7558         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
7559         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
7560         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
7561         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
7562         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
7563         Reported by Eric Blake.
7564
7565 2009-02-27  Eric Blake  <ebb9@byu.net>
7566
7567         printf: fix regression in previous patch
7568         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
7569
7570 2009-02-27  Bruno Haible  <bruno@clisp.org>
7571
7572         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
7573         value.
7574         * lib/stdint.in.h: Likewise.
7575         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
7576
7577 2009-02-27  Eric Blake  <ebb9@byu.net>
7578
7579         doc: mention more functions added in cygwin 1.7.0
7580         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
7581         addition.
7582         * doc/posix-functions/open_wmemstream.texi: Likewise.
7583         * doc/posix-functions/wcsnlen.texi: Likewise.
7584         * doc/posix-functions/wcsnrtombs.texi: Likewise.
7585         * doc/posix-functions/wcstod.texi: Likewise.
7586         * doc/posix-functions/wcstof.texi: Likewise.
7587         * doc/posix-functions/wcstoimax.texi: Likewise.
7588         * doc/posix-functions/wcstok.texi: Likewise.
7589         * doc/posix-functions/wcstoumax.texi: Likewise.
7590
7591         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
7592         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
7593         * doc/posix-functions/fprintf.texi: Update.
7594         * doc/posix-functions/printf.texi: Update.
7595         * doc/posix-functions/snprintf.texi: Update.
7596         * doc/posix-functions/sprintf.texi: Update.
7597         * doc/posix-functions/vfprintf.texi: Update.
7598         * doc/posix-functions/vprintf.texi: Update.
7599         * doc/posix-functions/vsnprintf.texi: Update.
7600         * doc/posix-functions/vsprintf.texi: Update.
7601         * doc/glibc-functions/obstack_printf.texi: Update.
7602         * doc/glibc-functions/obstack_vprintf.texi: Update.
7603
7604 2009-02-26  Eric Blake  <ebb9@byu.net>
7605
7606         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
7607         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
7608         compilation bug by using runtime conversion.
7609         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7610         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
7611         * modules/ceill-tests (Files): Use nan.h.
7612         * modules/floorl-tests (Files): Likewise.
7613         * modules/frexpl-tests (Files): Likewise.
7614         * modules/isnanl-tests (Files): Likewise.
7615         * modules/ldexpl-tests (Files): Likewise.
7616         * modules/roundl-tests (Files): Likewise.
7617         * modules/truncl-tests (Files): Likewise.
7618         * tests/test-ceill.c (main): Use a working NaN.
7619         * tests/test-floorl.c (main): Likewise.
7620         * tests/test-frexpl.c (main): Likewise.
7621         * tests/test-isnan.c (test_long_double): Likewise.
7622         * tests/test-isnanl.h (main): Likewise.
7623         * tests/test-ldexpl.h (main): Likewise.
7624         * tests/test-roundl.h (main): Likewise.
7625         * tests/test-truncl.h (main): Likewise.
7626         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
7627
7628 2009-02-26  Eric Blake  <ebb9@byu.net>
7629             Bruno Haible  <bruno@clisp.org>
7630
7631         Work around a *printf bug with %ls on Solaris.
7632         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
7633         precision is specified, sprintf stops converting the wide string
7634         argument when the number of bytes that have been produced by this
7635         conversion equals or exceeds the precision.
7636         * doc/posix-functions/fprintf.texi: Update.
7637         * doc/posix-functions/printf.texi: Update.
7638         * doc/posix-functions/snprintf.texi: Update.
7639         * doc/posix-functions/sprintf.texi: Update.
7640         * doc/posix-functions/vfprintf.texi: Update.
7641         * doc/posix-functions/vprintf.texi: Update.
7642         * doc/posix-functions/vsnprintf.texi: Update.
7643         * doc/posix-functions/vsprintf.texi: Update.
7644         * doc/glibc-functions/obstack_printf.texi: Update.
7645         * doc/glibc-functions/obstack_vprintf.texi: Update.
7646
7647 2009-02-26  Eric Blake  <ebb9@byu.net>
7648
7649         stdlib: favor compiler check of random.h
7650         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
7651         to avoid an ObjC random.h installed by Swarm.
7652
7653 2009-02-26  Bruno Haible  <bruno@clisp.org>
7654
7655         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
7656         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
7657         Reported by Gary V. Vaughan <gary@gnu.org>.
7658
7659 2009-02-26  Bruno Haible  <bruno@clisp.org>
7660
7661         Fix *printf behaviour regarding the %ls directive.
7662         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
7663         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
7664         NEED_PRINTF_DIRECTIVE_LS.
7665         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
7666         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
7667         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
7668         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
7669         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
7670         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
7671         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
7672         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
7673         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
7674         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
7675         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
7676         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
7677         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
7678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
7679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
7680         * doc/posix-functions/fprintf.texi: Update.
7681         * doc/posix-functions/printf.texi: Update.
7682         * doc/posix-functions/snprintf.texi: Update.
7683         * doc/posix-functions/sprintf.texi: Update.
7684         * doc/posix-functions/vfprintf.texi: Update.
7685         * doc/posix-functions/vprintf.texi: Update.
7686         * doc/posix-functions/vsnprintf.texi: Update.
7687         * doc/posix-functions/vsprintf.texi: Update.
7688         * doc/glibc-functions/obstack_printf.texi: Update.
7689         * doc/glibc-functions/obstack_vprintf.texi: Update.
7690         Reported by Eric Blake.
7691
7692 2009-02-25  Bruno Haible  <bruno@clisp.org>
7693
7694         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
7695         with known value.
7696         Reported by Gary V. Vaughan <gary@gnu.org>.
7697
7698 2009-02-25  Bruno Haible  <bruno@clisp.org>
7699
7700         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
7701         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
7702         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
7703         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
7704         Reported by Gary V. Vaughan <gary@gnu.org>.
7705
7706 2009-02-25  Bruno Haible  <bruno@clisp.org>
7707
7708         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
7709         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
7710         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
7711         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
7712         Reported by Gary V. Vaughan <gary@gnu.org>.
7713
7714 2009-02-25  Eric Blake  <ebb9@byu.net>
7715
7716         tests: skip fseek/ftell tests if ungetc is broken
7717         * m4/ungetc.m4: New file.
7718         * modules/fseek-tests: Split test, so ungetc dependency is
7719         separate from rest of test.
7720         * modules/fseeko-tests: Likewise.
7721         * modules/ftell-tests: Likewise.
7722         * modules/ftello-tests: Likewise.
7723         * tests/test-fseek.c (main): Isolate ungetc dependency.
7724         * tests/test-fseeko.c (main): Likewise.
7725         * tests/test-ftell.c (main): Likewise.
7726         * tests/test-ftello.c (main): Likewise.
7727         * tests/test-fseek2.sh: New file.
7728         * tests/test-fseeko2.sh: Likewise.
7729         * tests/test-ftell2.sh: Likewise.
7730         * tests/test-ftello2.sh: Likewise.
7731
7732 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
7733
7734         test-getaddrinfo: fix usage of skip return code 77
7735         * tests/test-gettaddrinfo.c: Return skip code 77 only
7736         for first occurance of skip (4x77 is not 77)
7737
7738 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
7739
7740         strtod: avoid C99 decl-after-statement
7741         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
7742
7743 2009-02-24  Eric Blake  <ebb9@byu.net>
7744
7745         strtod: detect HP-UX 11.31 bug
7746         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
7747         Reported by Gary V. Vaughan.
7748
7749 2009-02-23  Bruno Haible  <bruno@clisp.org>
7750
7751         Fix invalid read past end of memory block.
7752         * lib/vasnprintf.c (DCHAR_SET): Define.
7753         (local_wcslen): Define only when needed.
7754         (local_strnlen, local_wcsnlen): New functions.
7755         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
7756         directives that involve a conversion ourselves.
7757         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
7758         wcsnlen, mbrtowc, wcrtomb.
7759         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
7760         * tests/test-vasprintf-posix.c (test_function): Likewise.
7761         * tests/test-snprintf-posix.h (test_function): Likewise.
7762         * tests/test-sprintf-posix.h (test_function): Likewise.
7763         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7764
7765 2009-02-22  Bruno Haible  <bruno@clisp.org>
7766
7767         Implement new clarified decomposition of Hangul syllables.
7768         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
7769         of type LTV, return only a pairwise decomposition.
7770         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
7771         Likewise.
7772         * tests/uninorm/test-decomposition.c (main): Updated expected result.
7773         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
7774         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
7775
7776 2009-02-22  Bruno Haible  <bruno@clisp.org>
7777
7778         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
7779         zero-length results and shrink excess allocated memory.
7780         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
7781         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
7782         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
7783         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
7784         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
7785         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
7786         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
7787         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
7788         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
7789         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
7790         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
7791         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
7792
7793 2009-02-21  Bruno Haible  <bruno@clisp.org>
7794
7795         * doc/gnulib.texi: Include safe-alloc.texi earlier.
7796         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
7797         spaces after a period. Put a space between a macro name and its
7798         argument list. Trivial rewordings.
7799         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
7800         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
7801         (main): Return 0 explicitly.
7802
7803 2009-02-21  Bruno Haible  <bruno@clisp.org>
7804
7805         Tests for module 'uninorm/filter'.
7806         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
7807         * modules/uninorm/filter-tests: New file.
7808
7809         New module 'uninorm/filter'.
7810         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
7811         uninorm_filter_flush, uninorm_filter_free): New declarations.
7812         * lib/uninorm/uninorm-filter.c: New file.
7813         * modules/uninorm/filter: New file.
7814
7815 2009-02-21  Bruno Haible  <bruno@clisp.org>
7816
7817         Tests for module 'uninorm/nfkc'.
7818         * tests/uninorm/test-nfkc.c: New file.
7819         * tests/uninorm/test-u8-nfkc.c: New file.
7820         * tests/uninorm/test-u16-nfkc.c: New file.
7821         * tests/uninorm/test-u32-nfkc.c: New file.
7822         * tests/uninorm/test-u32-nfkc-big.sh: New file.
7823         * tests/uninorm/test-u32-nfkc-big.c: New file.
7824         * modules/uninorm/nfkc-tests: New file.
7825
7826         New module 'uninorm/nfkc'.
7827         * lib/uninorm/nfkc.c: New file.
7828         * modules/uninorm/nfkc: New file.
7829
7830         Tests for module 'uninorm/nfkd'.
7831         * tests/uninorm/test-nfkd.c: New file.
7832         * tests/uninorm/test-u8-nfkd.c: New file.
7833         * tests/uninorm/test-u16-nfkd.c: New file.
7834         * tests/uninorm/test-u32-nfkd.c: New file.
7835         * tests/uninorm/test-u32-nfkd-big.sh: New file.
7836         * tests/uninorm/test-u32-nfkd-big.c: New file.
7837         * modules/uninorm/nfkd-tests: New file.
7838
7839         New module 'uninorm/nfkd'.
7840         * lib/uninorm/nfkd.c: New file.
7841         * modules/uninorm/nfkd: New file.
7842
7843         Tests for module 'uninorm/nfc'.
7844         * tests/uninorm/test-nfc.c: New file.
7845         * tests/uninorm/test-u8-nfc.c: New file.
7846         * tests/uninorm/test-u16-nfc.c: New file.
7847         * tests/uninorm/test-u32-nfc.c: New file.
7848         * tests/uninorm/test-u32-nfc-big.sh: New file.
7849         * tests/uninorm/test-u32-nfc-big.c: New file.
7850         * modules/uninorm/nfc-tests: New file.
7851
7852         New module 'uninorm/nfc'.
7853         * lib/uninorm/nfc.c: New file.
7854         * modules/uninorm/nfc: New file.
7855
7856         Tests for module 'uninorm/nfd'.
7857         * tests/uninorm/test-nfd.c: New file.
7858         * tests/uninorm/test-u8-nfd.c: New file.
7859         * tests/uninorm/test-u16-nfd.c: New file.
7860         * tests/uninorm/test-u32-nfd.c: New file.
7861         * tests/uninorm/test-u32-nfd-big.sh: New file.
7862         * tests/uninorm/test-u32-nfd-big.c: New file.
7863         * tests/uninorm/test-u32-normalize-big.h: New file.
7864         * tests/uninorm/test-u32-normalize-big.c: New file.
7865         * tests/uninorm/NormalizationTest.txt: New file, created from
7866         Unicode 5.1.0 NormalizationTest.txt.
7867         * modules/uninorm/nfd-tests: New file.
7868
7869         New module 'uninorm/nfd'.
7870         * lib/uninorm/nfd.c: New file.
7871         * modules/uninorm/nfd: New file.
7872
7873         New module 'uninorm/u32-normalize'.
7874         * lib/uninorm/u32-normalize.c: New file.
7875         * modules/uninorm/u32-normalize: New file.
7876
7877         New module 'uninorm/u16-normalize'.
7878         * lib/uninorm/u16-normalize.c: New file.
7879         * modules/uninorm/u16-normalize: New file.
7880
7881         New module 'uninorm/u8-normalize'.
7882         * lib/uninorm/u8-normalize.c: New file.
7883         * lib/uninorm/normalize-internal.h: New file.
7884         * lib/uninorm/u-normalize-internal.h: New file.
7885         * modules/uninorm/u8-normalize: New file.
7886
7887         New module 'uninorm/decompose-internal'.
7888         * lib/uninorm/decompose-internal.c: New file.
7889         * modules/uninorm/decompose-internal: New file.
7890
7891         Tests for module 'uninorm/composition'.
7892         * tests/uninorm/test-composition.c: New file.
7893         * modules/uninorm/composition-tests: New file.
7894
7895         New module 'uninorm/composition'.
7896         * lib/uninorm/composition.c: New file.
7897         * lib/uninorm/composition-table.gperf: New file, generated by
7898         gen-uni-tables.
7899         * modules/uninorm/composition: New file.
7900
7901         Tests for module 'uninorm/compat-decomposition'.
7902         * tests/uninorm/test-compat-decomposition.c: New file.
7903         * modules/uninorm/compat-decomposition-tests: New file.
7904
7905         New module 'uninorm/compat-decomposition'.
7906         * lib/uninorm/decompose-internal.h: New file.
7907         * lib/uninorm/compat-decomposition.c: New file.
7908         * modules/uninorm/compat-decomposition: New file.
7909
7910         Tests for module 'uninorm/canonical-decomposition'.
7911         * tests/uninorm/test-canonical-decomposition.c: New file.
7912         * modules/uninorm/canonical-decomposition-tests: New file.
7913
7914         New module 'uninorm/canonical-decomposition'.
7915         * lib/uninorm/canonical-decomposition.c: New file.
7916         * modules/uninorm/canonical-decomposition: New file.
7917
7918         Tests for module 'uninorm/decomposition'.
7919         * tests/uninorm/test-decomposition.c: New file.
7920         * modules/uninorm/decomposition-tests: New file.
7921
7922         New module 'uninorm/decomposition'.
7923         * lib/uninorm/decomposition.c: New file.
7924         * modules/uninorm/decomposition: New file.
7925
7926         New module 'uninorm/decomposition-table'.
7927         * lib/uninorm/decomposition-table.h: New file.
7928         * lib/uninorm/decomposition-table.c: New file.
7929         * lib/uninorm/decomposition-table1.h: New file, generated by
7930         gen-uni-tables.
7931         * lib/uninorm/decomposition-table2.h: New file, generated by
7932         gen-uni-tables.
7933         * modules/uninorm/decomposition-table: New file.
7934
7935         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
7936         (UC_DECOMP_*): New enumeration items.
7937         (get_decomposition): New function.
7938         (struct decomp_table): New type.
7939         (output_decomposition, output_decomposition_tables): New functions.
7940         (unicode_composition_exclusions): New variable.
7941         (fill_composition_exclusions, debug_output_composition_tables): New
7942         functions.
7943         (main): Accept one more argument. Invoke fill_composition_exclusions.
7944         Output decomposition and composition tables.
7945
7946         New module 'uninorm/base'.
7947         * lib/uninorm.h: New file.
7948         * lib/unictype.h: Update comment.
7949         * modules/uninorm/base: New file.
7950
7951 2009-02-21  David Lutterkort  <lutter@redhat.com>
7952
7953         Tests for module 'safe-alloc'.
7954         * tests/test-safe-alloc.c: New file.
7955         * modules/safe-alloc-tests: New file.
7956
7957         New module 'safe-alloc'.
7958         * lib/safe-alloc.h: New file.
7959         * lib/safe-alloc.c: New file.
7960         * m4/safe-alloc.m4: New file.
7961         * modules/safe-alloc: New file.
7962         * doc/safe-alloc.texi: New file.
7963         * doc/gnulib.texi: Include it.
7964         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
7965         safe-alloc.
7966
7967 2009-02-18  Bruno Haible  <bruno@clisp.org>
7968
7969         Fix link error on non-glibc systems.
7970         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
7971         variable.
7972         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7973
7974 2009-02-18  Jim Meyering  <meyering@redhat.com>
7975
7976         fts: avoid used-uninitialized error due to recent change
7977         * lib/fts.c (fts_read): Guard uses of the new member,
7978         parent->fts_n_dirs_remaining, since it's not relevant for
7979         the parent of a directory specified on the command-line.
7980
7981 2009-02-17  James Youngman  <jay@gnu.org>
7982             Bruno Haible  <bruno@clisp.org>
7983
7984         * m4/include_next.m4: Reformulate comment.
7985
7986 2009-02-16  Jim Meyering  <meyering@redhat.com>
7987
7988         fts: add #if guards so that the fts_lgpl module still builds
7989         * lib/fts.c: Guard just-added hash-table-using parts with
7990         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
7991         Reported by Simon Josefsson.
7992
7993 2009-02-15  Bruno Haible  <bruno@clisp.org>
7994
7995         * modules/array-mergesort-tests: New file.
7996         * tests/test-array-mergesort.c: New file.
7997
7998         New module 'array-mergesort'.
7999         * modules/array-mergesort: New file.
8000         * lib/array-mergesort.h: New file.
8001
8002 2009-02-15  Bruno Haible  <bruno@clisp.org>
8003
8004         Fix 2009-02-07 commit.
8005         * lib/gen-uni-tables.c (output_predicate, output_category,
8006         output_combclass, output_bidi_category, output_decimal_digit,
8007         output_digit, output_numeric, output_mirror, output_scripts,
8008         output_ident_category, output_simple_mapping): Fix format directives.
8009         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
8010
8011 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
8012
8013         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
8014         fixes are available from IBM.
8015
8016 2009-02-13  Jim Meyering  <meyering@redhat.com>
8017
8018         fts: arrange not to stat non-directories in more cases
8019         This makes GNU find (when it doesn't need to stat each file)
8020         *much* more efficient at traversing reiserfs file systems.
8021         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
8022         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
8023         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
8024         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
8025         (leaf_optimization_applies): New function.
8026         (LCO_hash, LCO_compare): New helper functions.
8027         (link_count_optimize_ok): New function.
8028         (fts_stat): Initialize new member (if dir).
8029         (fts_read): Decrement parent's fts_n_dirs_remaining count if
8030         we've just stat'ed a directory.  Skip the stat call when possible.
8031         ---
8032         Note this AFS-related exchange:
8033         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
8034         and note find's pioctl call in find/fstype.c.
8035         But that is necessary only if you want to enable the
8036         optimization for AFS, and for now, I don't.
8037
8038         fts: move a function definition "up" (no semantic change)
8039         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
8040         "up" to precede upcoming use of a related function.
8041
8042 2009-02-11  Jim Meyering  <meyering@redhat.com>
8043
8044         fts: correct internal computation of nlinks (optimization-related)
8045         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
8046         whether the current entry is a directory, so don't test it.
8047
8048 2009-02-10  Bruno Haible  <bruno@clisp.org>
8049
8050         Tests for module 'uniwbrk/ulc-wordbreaks'.
8051         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
8052         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
8053         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
8054
8055         Tests for module 'uniwbrk/u32-wordbreaks'.
8056         * modules/uniwbrk/u32-wordbreaks-tests: New file.
8057         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
8058
8059         Tests for module 'uniwbrk/u16-wordbreaks'.
8060         * modules/uniwbrk/u16-wordbreaks-tests: New file.
8061         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
8062
8063         Tests for module 'uniwbrk/u8-wordbreaks'.
8064         * modules/uniwbrk/u8-wordbreaks-tests: New file.
8065         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
8066
8067 2009-02-10  Bruno Haible  <bruno@clisp.org>
8068
8069         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
8070         property.
8071         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
8072         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
8073         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
8074
8075 2009-02-10  Simon Josefsson  <simon@josefsson.org>
8076
8077         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
8078         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
8079
8080 2009-02-10  Bruno Haible  <bruno@clisp.org>
8081
8082         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
8083         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
8084         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
8085         * lib/unilbrk/u8-possible-linebreaks.c: Update.
8086         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
8087         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
8088
8089 2009-02-09  Simon Josefsson  <simon@josefsson.org>
8090
8091         * lib/sockets.h (gl_fd_to_handle): New function.
8092
8093         * tests/test-sockets.c: Call gl_fd_to_handle.
8094
8095 2009-02-09  Bruno Haible  <bruno@clisp.org>
8096
8097         * doc/havelib.texi: Document the conventions on bi-arch systems.
8098
8099 2009-02-08  Bruno Haible  <bruno@clisp.org>
8100
8101         Document the AC_LIB_LINKFLAGS macro.
8102         * doc/havelib.texi: New file, mostly written on 2005-05-24.
8103         * doc/gnulib.texi: Include it.
8104
8105 2009-02-08  Bruno Haible  <bruno@clisp.org>
8106
8107         Fix wrong order of sections, compared to TOC.
8108         * doc/gnulib.texi: Include relocatable-maint.texi after the
8109         "Regular expressions" node, not before.
8110
8111 2009-02-08  Bruno Haible  <bruno@clisp.org>
8112
8113         Tests for module 'unicase/totitle'.
8114         * modules/unicase/totitle-tests: New file.
8115
8116         Tests for module 'unicase/tolower'.
8117         * modules/unicase/tolower-tests: New file.
8118
8119         Tests for module 'unicase/toupper'.
8120         * modules/unicase/toupper-tests: New file.
8121         * tests/unicase/test-mapping-part1.h: New file.
8122         * tests/unicase/test-mapping-part2.h: New file.
8123
8124         New module 'unicase/totitle'.
8125         * modules/unicase/totitle: New file.
8126         * lib/unicase/totitle.c: New file.
8127
8128         New module 'unicase/tolower'.
8129         * modules/unicase/tolower: New file.
8130         * lib/unicase/tolower.c: New file.
8131
8132         New module 'unicase/toupper'.
8133         * modules/unicase/toupper: New file.
8134         * lib/unicase/toupper.c: New file.
8135         * lib/unicase/simple-mapping.h: New file.
8136
8137         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
8138         (mapping_table): New structure.
8139         (output_simple_mapping): New function.
8140         (main): Invoke output_simple_mapping_test and output_simple_mapping.
8141         * modules/gen-uni-tables (Description): Update.
8142         * lib/unicase/toupper.h: New file, automatically generated by
8143         gen-uni-tables.
8144         * lib/unicase/tolower.h: New file, automatically generated by
8145         gen-uni-tables.
8146         * lib/unicase/totitle.h: New file, automatically generated by
8147         gen-uni-tables.
8148         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
8149         gen-uni-tables.
8150         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
8151         gen-uni-tables.
8152         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
8153         gen-uni-tables.
8154
8155         New module 'unicase/base'.
8156         * modules/unicase/base: New file.
8157         * lib/unicase.h: New file.
8158
8159 2009-02-08  Bruno Haible  <bruno@clisp.org>
8160
8161         New module 'uniwbrk/ulc-wordbreaks'.
8162         * modules/uniwbrk/ulc-wordbreaks: New file.
8163         * lib/uniwbrk/ulc-wordbreaks.c: New file.
8164
8165         New module 'uniwbrk/u32-wordbreaks'.
8166         * modules/uniwbrk/u32-wordbreaks: New file.
8167         * lib/uniwbrk/u32-wordbreaks.c: New file.
8168
8169         New module 'uniwbrk/u16-wordbreaks'.
8170         * modules/uniwbrk/u16-wordbreaks: New file.
8171         * lib/uniwbrk/u16-wordbreaks.c: New file.
8172
8173         New module 'uniwbrk/u8-wordbreaks'.
8174         * modules/uniwbrk/u8-wordbreaks: New file.
8175         * lib/uniwbrk/u8-wordbreaks.c: New file.
8176         * lib/uniwbrk/u-wordbreaks.h: New file.
8177
8178         New module 'uniwbrk/table'.
8179         * modules/uniwbrk/table: New file.
8180         * lib/uniwbrk/wbrktable.h: New file.
8181         * lib/uniwbrk/wbrktable.c: New file.
8182
8183         New module 'uniwbrk/wordbreak-property'.
8184         * modules/uniwbrk/wordbreak-property: New file.
8185         * lib/uniwbrk/wordbreak-property.c: New file.
8186
8187         * lib/gen-uni-tables.c (WBP_*): New enum items.
8188         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
8189         (unicode_org_wbp): New variable.
8190         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
8191         New functions.
8192         (wbp_table): New structure.
8193         (output_wbp, output_wbrk_tables): New functions.
8194         (main): Accept additional argument. Invoke fill_org_wbp,
8195         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
8196         output_wbrk_tables.
8197         * modules/gen-uni-tables (Description): Update.
8198         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
8199         gen-uni-tables.
8200
8201         New module 'uniwbrk/base'.
8202         * modules/uniwbrk/base: New file.
8203         * lib/uniwbrk.h: New file.
8204
8205 2009-02-08  Bruno Haible  <bruno@clisp.org>
8206
8207         Update to Unicode 5.1.0.
8208         * lib/gen-uni-tables.c (is_property_alphabetic): Include
8209         U+2185..U+2188.
8210         (is_property_default_ignorable_code_point): Don't include characters
8211         of category Cc or Cs and not-a-characters.
8212         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
8213         U+0D79, U+109E, U+109F, U+A60C.
8214         * lib/unictype/bidi_of.h: Regenerated.
8215         * lib/unictype/blocks.h: Regenerated.
8216         * lib/unictype/categ_C.h: Regenerated.
8217         * lib/unictype/categ_Cf.h: Regenerated.
8218         * lib/unictype/categ_Cn.h: Regenerated.
8219         * lib/unictype/categ_L.h: Regenerated.
8220         * lib/unictype/categ_Ll.h: Regenerated.
8221         * lib/unictype/categ_Lm.h: Regenerated.
8222         * lib/unictype/categ_Lo.h: Regenerated.
8223         * lib/unictype/categ_Lu.h: Regenerated.
8224         * lib/unictype/categ_M.h: Regenerated.
8225         * lib/unictype/categ_Mc.h: Regenerated.
8226         * lib/unictype/categ_Me.h: Regenerated.
8227         * lib/unictype/categ_Mn.h: Regenerated.
8228         * lib/unictype/categ_N.h: Regenerated.
8229         * lib/unictype/categ_Nd.h: Regenerated.
8230         * lib/unictype/categ_Nl.h: Regenerated.
8231         * lib/unictype/categ_No.h: Regenerated.
8232         * lib/unictype/categ_P.h: Regenerated.
8233         * lib/unictype/categ_Pd.h: Regenerated.
8234         * lib/unictype/categ_Pe.h: Regenerated.
8235         * lib/unictype/categ_Pf.h: Regenerated.
8236         * lib/unictype/categ_Pi.h: Regenerated.
8237         * lib/unictype/categ_Po.h: Regenerated.
8238         * lib/unictype/categ_Ps.h: Regenerated.
8239         * lib/unictype/categ_S.h: Regenerated.
8240         * lib/unictype/categ_Sk.h: Regenerated.
8241         * lib/unictype/categ_Sm.h: Regenerated.
8242         * lib/unictype/categ_So.h: Regenerated.
8243         * lib/unictype/categ_of.h: Regenerated.
8244         * lib/unictype/combining.h: Regenerated.
8245         * lib/unictype/ctype_alnum.h: Regenerated.
8246         * lib/unictype/ctype_alpha.h: Regenerated.
8247         * lib/unictype/ctype_graph.h: Regenerated.
8248         * lib/unictype/ctype_lower.h: Regenerated.
8249         * lib/unictype/ctype_print.h: Regenerated.
8250         * lib/unictype/ctype_punct.h: Regenerated.
8251         * lib/unictype/ctype_upper.h: Regenerated.
8252         * lib/unictype/decdigit.h: Regenerated.
8253         * lib/unictype/digit.h: Regenerated.
8254         * lib/unictype/mirror.h: Regenerated.
8255         * lib/unictype/numeric.h: Regenerated.
8256         * lib/unictype/pr_alphabetic.h: Regenerated.
8257         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
8258         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
8259         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
8260         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
8261         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
8262         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
8263         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
8264         * lib/unictype/pr_combining.h: Regenerated.
8265         * lib/unictype/pr_dash.h: Regenerated.
8266         * lib/unictype/pr_decimal_digit.h: Regenerated.
8267         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
8268         * lib/unictype/pr_deprecated.h: Regenerated.
8269         * lib/unictype/pr_diacritic.h: Regenerated.
8270         * lib/unictype/pr_extender.h: Regenerated.
8271         * lib/unictype/pr_format_control.h: Regenerated.
8272         * lib/unictype/pr_grapheme_base.h: Regenerated.
8273         * lib/unictype/pr_grapheme_extend.h: Regenerated.
8274         * lib/unictype/pr_grapheme_link.h: Regenerated.
8275         * lib/unictype/pr_id_continue.h: Regenerated.
8276         * lib/unictype/pr_id_start.h: Regenerated.
8277         * lib/unictype/pr_ideographic.h: Regenerated.
8278         * lib/unictype/pr_ignorable_control.h: Regenerated.
8279         * lib/unictype/pr_lowercase.h: Regenerated.
8280         * lib/unictype/pr_math.h: Regenerated.
8281         * lib/unictype/pr_numeric.h: Regenerated.
8282         * lib/unictype/pr_other_alphabetic.h: Regenerated.
8283         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
8284         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
8285         * lib/unictype/pr_other_id_continue.h: Regenerated.
8286         * lib/unictype/pr_other_lowercase.h: Regenerated.
8287         * lib/unictype/pr_other_math.h: Regenerated.
8288         * lib/unictype/pr_punctuation.h: Regenerated.
8289         * lib/unictype/pr_sentence_terminal.h: Regenerated.
8290         * lib/unictype/pr_soft_dotted.h: Regenerated.
8291         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
8292         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
8293         * lib/unictype/pr_unified_ideograph.h: Regenerated.
8294         * lib/unictype/pr_uppercase.h: Regenerated.
8295         * lib/unictype/pr_xid_continue.h: Regenerated.
8296         * lib/unictype/pr_xid_start.h: Regenerated.
8297         * lib/unictype/pr_zero_width.h: Regenerated.
8298         * lib/unictype/scripts.h: Regenerated.
8299         * lib/unictype/scripts_byname.gperf: Regenerated.
8300         * lib/unictype/sy_java_ident.h: Regenerated.
8301         * lib/unilbrk/lbrkprop1.h: Regenerated.
8302         * lib/unilbrk/lbrkprop2.h: Regenerated.
8303         * tests/unictype/test-categ_C.c: Regenerated.
8304         * tests/unictype/test-categ_Cf.c: Regenerated.
8305         * tests/unictype/test-categ_Cn.c: Regenerated.
8306         * tests/unictype/test-categ_L.c: Regenerated.
8307         * tests/unictype/test-categ_Ll.c: Regenerated.
8308         * tests/unictype/test-categ_Lm.c: Regenerated.
8309         * tests/unictype/test-categ_Lo.c: Regenerated.
8310         * tests/unictype/test-categ_Lu.c: Regenerated.
8311         * tests/unictype/test-categ_M.c: Regenerated.
8312         * tests/unictype/test-categ_Mc.c: Regenerated.
8313         * tests/unictype/test-categ_Me.c: Regenerated.
8314         * tests/unictype/test-categ_Mn.c: Regenerated.
8315         * tests/unictype/test-categ_N.c: Regenerated.
8316         * tests/unictype/test-categ_Nd.c: Regenerated.
8317         * tests/unictype/test-categ_Nl.c: Regenerated.
8318         * tests/unictype/test-categ_No.c: Regenerated.
8319         * tests/unictype/test-categ_P.c: Regenerated.
8320         * tests/unictype/test-categ_Pd.c: Regenerated.
8321         * tests/unictype/test-categ_Pe.c: Regenerated.
8322         * tests/unictype/test-categ_Pf.c: Regenerated.
8323         * tests/unictype/test-categ_Pi.c: Regenerated.
8324         * tests/unictype/test-categ_Po.c: Regenerated.
8325         * tests/unictype/test-categ_Ps.c: Regenerated.
8326         * tests/unictype/test-categ_S.c: Regenerated.
8327         * tests/unictype/test-categ_Sk.c: Regenerated.
8328         * tests/unictype/test-categ_Sm.c: Regenerated.
8329         * tests/unictype/test-categ_So.c: Regenerated.
8330         * tests/unictype/test-ctype_alnum.c: Regenerated.
8331         * tests/unictype/test-ctype_alpha.c: Regenerated.
8332         * tests/unictype/test-ctype_graph.c: Regenerated.
8333         * tests/unictype/test-ctype_lower.c: Regenerated.
8334         * tests/unictype/test-ctype_print.c: Regenerated.
8335         * tests/unictype/test-ctype_punct.c: Regenerated.
8336         * tests/unictype/test-ctype_upper.c: Regenerated.
8337         * tests/unictype/test-decdigit.h: Regenerated.
8338         * tests/unictype/test-digit.h: Regenerated.
8339         * tests/unictype/test-numeric.h: Regenerated.
8340         * tests/unictype/test-pr_alphabetic.c: Regenerated.
8341         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
8342         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
8343         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
8344         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
8345         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
8346         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
8347         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
8348         * tests/unictype/test-pr_combining.c: Regenerated.
8349         * tests/unictype/test-pr_dash.c: Regenerated.
8350         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
8351         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
8352         * tests/unictype/test-pr_deprecated.c: Regenerated.
8353         * tests/unictype/test-pr_diacritic.c: Regenerated.
8354         * tests/unictype/test-pr_extender.c: Regenerated.
8355         * tests/unictype/test-pr_format_control.c: Regenerated.
8356         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
8357         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
8358         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
8359         * tests/unictype/test-pr_id_continue.c: Regenerated.
8360         * tests/unictype/test-pr_id_start.c: Regenerated.
8361         * tests/unictype/test-pr_ideographic.c: Regenerated.
8362         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
8363         * tests/unictype/test-pr_lowercase.c: Regenerated.
8364         * tests/unictype/test-pr_math.c: Regenerated.
8365         * tests/unictype/test-pr_numeric.c: Regenerated.
8366         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
8367         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
8368         Regenerated.
8369         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
8370         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
8371         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
8372         * tests/unictype/test-pr_other_math.c: Regenerated.
8373         * tests/unictype/test-pr_punctuation.c: Regenerated.
8374         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
8375         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
8376         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
8377         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
8378         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
8379         * tests/unictype/test-pr_uppercase.c: Regenerated.
8380         * tests/unictype/test-pr_xid_continue.c: Regenerated.
8381         * tests/unictype/test-pr_xid_start.c: Regenerated.
8382         * tests/unictype/test-pr_zero_width.c: Regenerated.
8383
8384         Update to Unicode 5.1.0.
8385         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
8386         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
8387         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
8388         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
8389         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
8390         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
8391         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
8392         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
8393         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
8394         (nonspacing_table_ind): Update.
8395         * tests/uniwidth/test-uc_width2.sh: Update expected result.
8396
8397         Update to Unicode 5.1.0.
8398         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
8399         code transform.
8400         * lib/uniname/uniname.c (unicode_character_name,
8401         unicode_name_character): Add the range 0x1Fxxx to the code transform.
8402         * lib/uniname/uninames.h: Regenerated.
8403         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
8404
8405 2009-02-07  Bruno Haible  <bruno@clisp.org>
8406
8407         Merge gen-ctype and gen-lbrk into a single program.
8408         * lib/gen-uni-tables.c: New file, incorporating
8409         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
8410         Add directory prefixes to the names of the generated files.
8411         * lib/unictype/gen-ctype.c: Remove file.
8412         * lib/unilbrk/gen-lbrk.c: Remove file.
8413         * modules/gen-uni-tables: New file.
8414         * modules/unictype/gen-ctype: Remove file.
8415         * modules/unilbrk/gen-lbrk: Remove file.
8416
8417 2009-02-07  Bruno Haible  <bruno@clisp.org>
8418
8419         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
8420
8421         New module 'unistr/u32-strcoll'.
8422         * modules/unistr/u32-strcoll: New file.
8423         * lib/unistr/u32-strcoll.c: New file.
8424
8425         New module 'unistr/u16-strcoll'.
8426         * modules/unistr/u16-strcoll: New file.
8427         * lib/unistr/u16-strcoll.c: New file.
8428
8429         New module 'unistr/u8-strcoll'.
8430         * modules/unistr/u8-strcoll: New file.
8431         * lib/unistr/u8-strcoll.c: New file.
8432         * lib/unistr/u-strcoll.h: New file.
8433
8434 2009-02-07  Bruno Haible  <bruno@clisp.org>
8435
8436         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
8437         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
8438         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
8439         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
8440         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
8441         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
8442
8443 2009-02-07  Bruno Haible  <bruno@clisp.org>
8444
8445         Make 64-bit clean.
8446         * lib/unictype/gen-ctype.c (output_predicate, output_category,
8447         output_combclass, output_bidi_category, output_decimal_digit,
8448         output_digit, output_numeric, output_mirror, output_scripts,
8449         output_ident_category): Use proper width specifier in format strings.
8450
8451 2009-02-07  Bruno Haible  <bruno@clisp.org>
8452
8453         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
8454         failure behaviour.
8455
8456 2009-02-07  Jim Meyering  <meyering@redhat.com>
8457
8458         regex: avoid compilation failure with upcoming gcc-4.4
8459         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
8460         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
8461         "... error: integer overflow in preprocessor expression".
8462
8463 2009-02-05  Ben Pfaff  <blp@gnu.org>
8464
8465         Fix link errors on Windows when close module is used.
8466         * modules/close: Add $(LIB_CLOSE) to Link section.
8467         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
8468         $(LIB_CLOSE) on Windows.
8469
8470 2009-02-05  Jim Meyering  <meyering@redhat.com>
8471
8472         still avoid unused-parameter warnings, but do it cleanly
8473         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
8474         (get_fs_usage): Cast to void instead.
8475         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
8476         (dev_from_mount_options, read_file_system_list): Cast to void.
8477         Prompted by Bruno Haible.
8478
8479 2009-02-04  Jim Meyering  <meyering@redhat.com>
8480
8481         fsusage.c: correct copyright year
8482         * lib/fsusage.c: Reflect year in which the change is pushed into
8483
8484         avoid misc. warnings
8485         * lib/fsusage.c (UNUSED_PARAM): Define.
8486         (get_fs_usage): Mark parameter "disk" as unused.
8487         * lib/getugroups.c (getgrent): Use "void" in prototype.
8488         * lib/mountlist.c: Mark unused parameters.
8489         (read_file_system_list): Declare a local with "const".
8490         * lib/nanosleep.c (getnow): Declare static.
8491         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
8492
8493         dirfd: set errno upon failure
8494         * lib/dirfd.c: Include <errno.h>.
8495         Set errno to ENOTSUP when returning -1.
8496         * modules/dirfd (Depends-on): Add errno.
8497         Suggested by John Kodis <kodis@comcast.net>.
8498
8499 2009-02-01  Bruno Haible  <bruno@clisp.org>
8500
8501         Don't assume sizeof (long) >= sizeof (void *).
8502         * lib/memcmp.c: Include stdint.h.
8503         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
8504         srcp2 to 'const byte *'.
8505         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
8506         types to uintptr_t.
8507         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
8508         * modules/memcmp (Depends-on): Add stdint.
8509         Reported by Ozkan Sezer <sezeroz@gmail.com>.
8510
8511 2009-01-30  Eric Blake  <ebb9@byu.net>
8512
8513         fix more require-before-expand issues
8514         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
8515         expand, AC_PROG_AWK.
8516         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
8517
8518 2009-01-28  Eric Blake  <ebb9@byu.net>
8519
8520         version-etc: use consistent URL formatting
8521         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
8522         Improve formatting.  Use fputs for string without %.
8523
8524 2009-01-28  Jim Meyering  <meyering@redhat.com>
8525
8526         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
8527         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
8528         "underquoted definition of NAME" from autoconf-2.59.
8529
8530 2009-01-28  Bruno Haible  <bruno@clisp.org>
8531
8532         * doc/gnulib.texi: Add "Obsolete modules" to index.
8533
8534 2009-01-28  Jim Meyering  <meyering@redhat.com>
8535
8536         useless-if-before-free: recognize more variants
8537         * build-aux/useless-if-before-free: Also recognize e.g.,
8538         if (NULL != p) free (p);
8539
8540 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
8541
8542         test-getaddrinfo: skip (don't fail) this test when there's no network
8543         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
8544         on the presumption that it means you lack network access.
8545
8546 2009-01-26  Jim Meyering  <meyering@redhat.com>
8547
8548         fflush: avoid warnings on modern systems
8549         * lib/fflush.c (rpl_fflush): Move declarations of locals,
8550         pos and result, into scopes where they're used.
8551
8552 2009-01-26  Eric Blake  <ebb9@byu.net>
8553
8554         Silence warning reintroduced by recent extensions patch.
8555         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
8556         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
8557         autoconf.
8558
8559         Backport improved autoconf semantics of AC_DEFUN_ONCE.
8560         * m4/00gnulib.m4: New file.
8561         * gnulib-tool (func_get_filelist): Always use it.
8562         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
8563         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
8564
8565 2009-01-25  Bruno Haible  <bruno@clisp.org>
8566
8567         Make test-quotearg work on MacOS X and AIX.
8568         * tests/test-quotearg.sh: New file.
8569         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
8570         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
8571         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
8572         include <libintl.h>.
8573         (fake_locale): Remove variable.
8574         (gettext, dgettext, dcgettext): Remove functions.
8575         (main): Instead of setting a fake locale, set a real locale. Call
8576         textdomain and bindtextdomain.
8577         * modules/quotearg-tests (Files): Add the new files.
8578         (Depends-on): Add gettext, setenv, unsetenv.
8579         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
8580         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
8581         Augment TESTS_ENVIRONMENT.
8582
8583 2009-01-25  Bruno Haible  <bruno@clisp.org>
8584
8585         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
8586         fr_FR.ISO8859-1 locale on MacOS X.
8587         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
8588         ja_JP.eucJP locale on MacOS X.
8589         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
8590         zh_CN.GB18030 locale on MacOS X.
8591
8592 2009-01-25  Bruno Haible  <bruno@clisp.org>
8593
8594         Avoid link errors on MacOS X 10.3.
8595         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
8596         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
8597
8598 2009-01-25  Bruno Haible  <bruno@clisp.org>
8599
8600         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
8601         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
8602         * modules/pipe (Files): Remove m4/posix_spawn.m4.
8603         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
8604         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
8605         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
8606         posix_spawnattr_init, posix_spawnattr_setsigmask,
8607         posix_spawnattr_setflags, posix_spawnattr_destroy.
8608
8609         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
8610         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
8611         * modules/execute (Files): Remove m4/posix_spawn.m4.
8612         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
8613         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
8614         posix_spawnattr_init, posix_spawnattr_setsigmask,
8615         posix_spawnattr_setflags, posix_spawnattr_destroy.
8616
8617 2009-01-25  Bruno Haible  <bruno@clisp.org>
8618
8619         * lib/glthread/threadlib.c: Include <stdlib.h>.
8620
8621 2009-01-25  Bruno Haible  <bruno@clisp.org>
8622
8623         * lib/glthread/threadlib.c (dummy): New declaration.
8624
8625 2009-01-25  Bruno Haible  <bruno@clisp.org>
8626
8627         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
8628         multibyte characters also for the GB18030 encoding. Don't crash when
8629         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
8630
8631 2009-01-25  Bruno Haible  <bruno@clisp.org>
8632
8633         Avoid redefining 'struct random_data' on OSF/1 5.1.
8634         * lib/stdlib.in.h: Include <random.h> if it exists.
8635         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
8636         HAVE_RANDOM_H. Include <random.h> when testing whether
8637         'struct random_data' exists.
8638         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
8639
8640 2009-01-25  Bruno Haible  <bruno@clisp.org>
8641
8642         Don't install charset.alias on MacOS X >= 10.3.
8643         * lib/localcharset.c (DARWIN7): New macro.
8644         (get_charset_aliases): Hardcode the result for Darwin7.
8645         * modules/localcharset (install-exec-local): Don't install
8646         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
8647
8648 2009-01-25  Bruno Haible  <bruno@clisp.org>
8649
8650         Don't install charset.alias on mingw and Cygwin.
8651         * modules/localcharset (install-exec-local): Don't install
8652         charset.alias on mingw and Cygwin, if the file does not yet exist.
8653         The result for these platforms is hardcoded in localcharset.c.
8654
8655 2009-01-25  Bruno Haible  <bruno@clisp.org>
8656
8657         Make it possible again to use AC_GNU_SOURCE together with gnulib.
8658         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
8659         before requiring AC_USE_SYSTEM_EXTENSIONS.
8660
8661 2009-01-25  Jim Meyering  <meyering@redhat.com>
8662
8663         c-strtod: avoid warnings
8664         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
8665         "assignment discards qualifiers from pointer target type" warnings.
8666
8667 2009-01-24  Bruno Haible  <bruno@clisp.org>
8668
8669         Add support for non-UTF-8 locales on MacOS X.
8670         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
8671         canonical encodings. For Darwin 7 and newer, don't map traditional
8672         encodings to UTF-8.
8673         Reported by Vincent Lefevre <vincent@vinc17.org>
8674         at <http://savannah.gnu.org/bugs/?25235>.
8675
8676 2009-01-24  Bruno Haible  <bruno@clisp.org>
8677
8678         * doc/gnulib.texi (Obsolete modules): New section.
8679         Reported by Mike Frysinger <vapier@gentoo.org>.
8680
8681 2009-01-24  Bruno Haible  <bruno@clisp.org>
8682
8683         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
8684         (%.dvi): New rule.
8685
8686 2009-01-24  Bruno Haible  <bruno@clisp.org>
8687
8688         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
8689         Reported by Eric Blake.
8690
8691 2009-01-24  Bruno Haible  <bruno@clisp.org>
8692
8693         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
8694         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
8695         Reported by Gary V. Vaughan <gary@gnu.org>.
8696
8697 2009-01-24  Bruno Haible  <bruno@clisp.org>
8698
8699         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
8700
8701 2009-01-23  Bruno Haible  <bruno@clisp.org>
8702
8703         Make c-strtod, c-strtold usable in libraries.
8704         * lib/c-strtod.c: Include string.h instead of xalloc.h.
8705         (C_STRTOD): Call strdup instead of xstrdup.
8706         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
8707         * modules/c-strtold (Depends-on): Likewise.
8708         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
8709         * NEWS: Mention the change.
8710         Reported by Michael Gold <mgold@ncf.ca>.
8711
8712 2009-01-23  Jim Meyering  <meyering@redhat.com>
8713
8714         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
8715         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
8716         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
8717
8718 2009-01-23  Simon Josefsson  <simon@josefsson.org>
8719
8720         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
8721         GNU CoreUtils.
8722         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
8723         * modules/version-etc (Description): Update.
8724
8725 2009-01-22  Bruno Haible  <bruno@clisp.org>
8726
8727         Cache the C locale object.
8728         * lib/c-strtod.c (c_locale_cache): New variable.
8729         (c_locale): New function.
8730         (C_STRTOD): Use it, and don't call freelocale.
8731         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
8732         Suggested by Paolo Bonzini.
8733
8734 2009-01-21  Bruno Haible  <bruno@clisp.org>
8735
8736         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
8737         conditions other than overflow.
8738
8739 2009-01-21  Bruno Haible  <bruno@clisp.org>
8740
8741         * lib/c-strtod.c: Include errno.h.
8742         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
8743         value from STRTOD_L and STRTOD.
8744
8745 2009-01-21  Bruno Haible  <bruno@clisp.org>
8746         and Jim Meyering  <meyering@redhat.com>
8747
8748         nanosleep: skip configure test (fail it) for apple universal builds
8749         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
8750         universal builds, assume that nanosleep does not work.
8751         * modules/nanosleep (Depends-on): Add multiarch.
8752
8753         mktime: skip configure test (fail it) for apple universal builds
8754         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
8755         universal builds, assume that mktime does not work.
8756         * modules/mktime (Depends-on): Add multiarch.
8757
8758 2009-01-21  Eric Blake  <ebb9@byu.net>
8759
8760         multiarch: avoid expand-before-require warning
8761         * modules/multiarch (configure.ac): Require, rather than expand,
8762         gl_MULTIARCH.
8763         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
8764         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
8765         enforce that all clients require it.  Partial reversion of
8766         2008-12-29 patch.
8767
8768         error: avoid expand-before-require warning
8769         * modules/errno (configure.ac): Require, rather than expand,
8770         gl_HEADER_ERRNO_H.
8771         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
8772         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
8773         enforce that all clients require it.
8774
8775         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
8776         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
8777         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
8778         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
8779
8780 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
8781
8782         Revert:
8783         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
8784
8785         regex: do not depend on obsolete modules.
8786         * modules/regex: Remove memcmp and memmove.
8787
8788 2009-01-20  Bruno Haible  <bruno@clisp.org>
8789
8790         Make the 'link' module link on Windows NT 4.
8791         * lib/link.c (_WIN32_WINNT): Don't define.
8792         (CreateHardLinkFuncType): New type.
8793         (CreateHardLinkFunc, initialized): New variables.
8794         (initialize): New function.
8795         (link): Invoke CreateHardLink indirectly through the function pointer.
8796
8797 2009-01-20  Bruno Haible  <bruno@clisp.org>
8798
8799         Fix compilation failure on mingw.
8800         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
8801
8802 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
8803
8804         * doc/c-strtod.texi: Mention a couple of restrictions.
8805
8806 2009-01-20  Jim Meyering  <meyering@redhat.com>
8807
8808         gettimeofday: move more declarations out of functions
8809         * lib/gettimeofday.c: Move extern declarations of tzset and
8810         gmtime out of containing functions.  Prompted by Bruno Haible.
8811
8812 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
8813
8814         regex: do not depend on obsolete modules.
8815         * modules/regex: Remove memcmp and memmove.
8816
8817 2009-01-19  Bruno Haible  <bruno@clisp.org>
8818
8819         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
8820         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
8821         gl_BIGENDIAN, not AC_C_BIGENDIAN.
8822         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
8823         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
8824
8825 2009-01-19  Bruno Haible  <bruno@clisp.org>
8826
8827         * tests/test-link.c: Include <errno.h>.
8828         (main): Exit with code 77 when a hard link cannot be created due to
8829         the file system.
8830         * tests/test-link.sh: Skip test when a hard link cannot be created due
8831         to the file system.
8832         Suggested by Eric Blake.
8833
8834 2009-01-19  Martin Lambers  <marlam@marlam.de>
8835
8836         * modules/link-tests: New file.
8837         * tests/test-link.sh: New file.
8838         * tests/test-link.c: New file.
8839
8840 2009-01-19  Eric Blake  <ebb9@byu.net>
8841
8842         doc: mention another function added in cygwin 1.7.0
8843         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
8844         Another new function in cygwin 1.7.
8845
8846 2009-01-19  Bruno Haible  <bruno@clisp.org>
8847
8848         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
8849         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
8850         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
8851         gl_BIGENDIAN, not AC_C_BIGENDIAN.
8852         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8853         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
8854         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8855         * m4/md4.m4 (gl_MD4): Likewise.
8856         * m4/md5.m4 (gl_MD5): Likewise.
8857         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
8858         * m4/sha1.m4 (gl_SHA1): Likewise.
8859         * m4/sha256.m4 (gl_SHA256): Likewise.
8860         * m4/sha512.m4 (gl_SHA512): Likewise.
8861
8862 2009-01-19  Bruno Haible  <bruno@clisp.org>
8863
8864         * modules/uniname/uniname-tests (Depends-on): Add progname.
8865         * tests/uniname/test-uninames.c: Include progname.h.
8866         (main): Call set_program_name.
8867
8868         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
8869         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
8870         (main): Call set_program_name.
8871
8872         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
8873         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
8874         (main): Call set_program_name.
8875
8876         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
8877         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
8878         (main): Call set_program_name.
8879
8880         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
8881         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
8882         (main): Call set_program_name.
8883
8884         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
8885         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
8886         (main): Call set_program_name.
8887
8888         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
8889         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
8890         (main): Call set_program_name.
8891
8892         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
8893         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
8894         (main): Call set_program_name.
8895
8896         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
8897         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
8898         (main): Call set_program_name.
8899
8900 2009-01-19  Eric Blake  <ebb9@byu.net>
8901
8902         test-unistd: test previous patch
8903         * tests/test-unistd.c: Test *_FILENO macros.
8904
8905         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
8906         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
8907         Guarantee a definition.
8908         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
8909         * modules/unistd-safer (Depends-on): Add dependency on unistd.
8910         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
8911         * lib/dup-safer.c (STDERR_FILENO): Likewise.
8912         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
8913         Likewise.
8914         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
8915         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
8916         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
8917         Likewise.
8918         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
8919         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
8920         (STDERR_FILENO): Likewise.
8921         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
8922         (STDERR_FILENO): Likewise.
8923         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
8924         (STDERR_FILENO): Likewise.
8925         Reported by Elbert Pol.
8926
8927 2009-01-19  Eric Blake  <ebb9@byu.net>
8928
8929         doc: mention more functions added in cygwin 1.7.0
8930         * doc/posix-functions/abort.texi (abort): Update wording related
8931         to cygwin.
8932         * doc/posix-functions/daylight.texi (daylight): Likewise.
8933         * doc/posix-functions/optarg.texi (optarg): Likewise.
8934         * doc/posix-functions/optarg.texi (opterr): Likewise.
8935         * doc/posix-functions/optarg.texi (optind): Likewise.
8936         * doc/posix-functions/optarg.texi (optopt): Likewise.
8937         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
8938         worked in 1.5.x, and was withdrawn in 1.7.
8939         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
8940         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
8941         cygwin versions.
8942         * doc/posix-functions/perror.texi (perror): Likewise.
8943         * doc/posix-functions/printf.texi (printf): Likewise.
8944         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
8945         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
8946         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
8947         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
8948         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
8949         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
8950         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
8951         Likewise.
8952         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
8953         Likewise.
8954         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
8955         this function.
8956         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
8957         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
8958         Likewise.
8959         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
8960         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
8961         * doc/posix-functions/confstr.texi (confstr): Likewise.
8962         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
8963         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
8964         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
8965         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
8966         * doc/posix-functions/fputws.texi (fputws): Likewise.
8967         * doc/posix-functions/fwide.texi (fwide): Likewise.
8968         * doc/posix-functions/getwc.texi (getwc): Likewise.
8969         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
8970         * doc/posix-functions/putwc.texi (putwc): Likewise.
8971         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
8972         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
8973         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
8974         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
8975         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
8976         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
8977         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
8978         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
8979         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
8980         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
8981         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
8982
8983 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
8984
8985         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
8986         * lib/ioctl.c: Include <sys/ioctl.h>.
8987
8988 2009-01-19  Simon Josefsson  <simon@josefsson.org>
8989
8990         * modules/getdate-tests (Depends-on): Add progname.
8991         * tests/test-getdate.c: Use progname module, to avoid link errors
8992         on non-glibc systems.
8993
8994 2009-01-18  Simon Josefsson  <simon@josefsson.org>
8995
8996         * modules/filenamecat-tests (Depends-on): Add progname.
8997         * modules/fstrcmp-tests (Depends-on): Likewise.
8998
8999         * tests/test-filenamecat.c: Use progname module, to avoid link
9000         errors on non-glibc systems.
9001         * tests/test-fstrcmp.c: Likewise.
9002
9003 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9004
9005         gettimeofday: avoid warning: nested extern declaration of 'localtime'
9006         * lib/gettimeofday.c: Move extern declaration out of function.
9007
9008 2009-01-18  Bruno Haible  <bruno@clisp.org>
9009
9010         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
9011         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
9012         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
9013
9014 2009-01-18  Bruno Haible  <bruno@clisp.org>
9015
9016         * lib/strftime.c (MEMPCPY): Remove unused macro.
9017         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
9018
9019 2009-01-18  Martin Lambers  <marlam@marlam.de>
9020
9021         New module 'link'.
9022         * lib/unistd.in.h (link): New declaration.
9023         * lib/link.c: New file.
9024         * m4/link.m4: New file.
9025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
9026         HAVE_LINK.
9027         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
9028         * modules/link: New file.
9029         * doc/posix-functions/link.texi: Mention the new module.
9030
9031 2009-01-18  Bruno Haible  <bruno@clisp.org>
9032
9033         * tests/test-avltree_list.c (main): Call set_program_name.
9034         * tests/test-avltree_oset.c (main): Likewise.
9035         * tests/test-obstack-printf.c: Include progname.h.
9036         (main): Call set_program_name.
9037         * tests/test-quotearg.c: Include progname.h.
9038         (main): Call set_program_name.
9039         * tests/test-xmemdup0.c: Include progname.h.
9040         (main): Call set_program_name.
9041
9042 2009-01-18  Bruno Haible  <bruno@clisp.org>
9043
9044         New module 'alphasort'.
9045         * lib/dirent.in.h (alphasort): New declaration.
9046         * lib/alphasort.c: New file, from glibc with modifications.
9047         * m4/alphasort.m4: New file.
9048         * modules/alphasort: New file.
9049         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
9050         HAVE_ALPHASORT.
9051         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
9052         HAVE_ALPHASORT.
9053         * doc/posix-functions/alphasort.texi: Mention the new module and the
9054         portability problems.
9055
9056 2009-01-18  Bruno Haible  <bruno@clisp.org>
9057
9058         New module 'scandir'.
9059         * lib/dirent.in.h (scandir): New declaration.
9060         * lib/scandir.c: New file, from glibc with modifications.
9061         * m4/scandir.m4: New file.
9062         * modules/scandir: New file.
9063         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
9064         HAVE_SCANDIR.
9065         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
9066         HAVE_SCANDIR.
9067         * doc/posix-functions/scandir.texi: Mention the new module and the
9068         portability problems.
9069
9070 2009-01-17  Bruno Haible  <bruno@clisp.org>
9071
9072         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
9073         Update documentation.
9074         (func_remove_suffix): Escape all dots in the suffix. Update
9075         documentation.
9076         (func_filter_filelist): Update documentation.
9077         Reported by Ralf Wildenhues.
9078
9079 2009-01-17  Bruno Haible  <bruno@clisp.org>
9080
9081         * modules/dprintf-posix-tests: New file.
9082         * tests/test-dprintf-posix.sh: New file.
9083         * tests/test-dprintf-posix.c: New file.
9084
9085         New modules 'dprintf', 'dprintf-posix'.
9086         * lib/stdio.in.h (dprintf): New declaration.
9087         * lib/dprintf.c: New file.
9088         * m4/dprintf.m4: New file.
9089         * m4/dprintf-posix.m4: New file.
9090         * modules/dprintf: New file.
9091         * modules/dprintf-posix: New file.
9092         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
9093         HAVE_DPRINTF, REPLACE_DPRINTF.
9094         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
9095         HAVE_DPRINTF, REPLACE_DPRINTF.
9096         * doc/posix-functions/dprintf.texi: Mention the new modules.
9097
9098 2009-01-17  Bruno Haible  <bruno@clisp.org>
9099
9100         * modules/vdprintf-posix-tests: New file.
9101         * tests/test-vdprintf-posix.sh: New file.
9102         * tests/test-vdprintf-posix.c: New file.
9103
9104         New modules 'vdprintf', 'vdprintf-posix'.
9105         * lib/stdio.in.h (vdprintf): New declaration.
9106         * lib/vdprintf.c: New file.
9107         * m4/vdprintf.m4: New file.
9108         * m4/vdprintf-posix.m4: New file.
9109         * modules/vdprintf: New file.
9110         * modules/vdprintf-posix: New file.
9111         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
9112         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9113         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
9114         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9115         * doc/posix-functions/vdprintf.texi: Mention the new modules.
9116
9117 2009-01-17  Bruno Haible  <bruno@clisp.org>
9118
9119         Fix replacement of fopen on mingw.
9120         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
9121         mingw.
9122
9123 2009-01-17  Bruno Haible  <bruno@clisp.org>
9124
9125         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
9126         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
9127
9128 2009-01-17  Bruno Haible  <bruno@clisp.org>
9129
9130         Avoid test-fflush2.sh failure on mingw.
9131         * tests/test-fflush2.c: Include binary-io.h.
9132         (main): Put standard input into binary mode.
9133         * modules/fflush-tests (Depends-on): Add binary-io.
9134
9135 2009-01-17  Bruno Haible  <bruno@clisp.org>
9136
9137         * lib/wchar.in.h: In another particular situation, include only the
9138         system's <wchar.h> file.
9139         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
9140         Reported by Albert Chin-A-Young <china@thewrittenword.com>
9141         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
9142
9143 2009-01-17  Bruno Haible  <bruno@clisp.org>
9144
9145         Support for stripping executables in --enable-relocatable.
9146         * build-aux/install-reloc: Expect one more argument, or an environment
9147         variable RELOC_STRIP_PROG. If set, strip the destination program and
9148         its wrapper.
9149         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
9150         RELOC_STRIP_PROG.
9151         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
9152         to set RELOCATABLE_STRIP.
9153         * NEWS: Mention the new Makefile requirement.
9154
9155 2009-01-17  Bruno Haible  <bruno@clisp.org>
9156
9157         * build-aux/install-reloc: Remove debugging information left over by
9158         C compiler on MacOS X.
9159
9160 2009-01-17  Bruno Haible  <bruno@clisp.org>
9161
9162         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
9163         * lib/progreloc.c (find_executable): Fix type of pointer passed to
9164         _NSGetExecutablePath.
9165
9166 2009-01-16  Jim Meyering  <meyering@redhat.com>
9167
9168         strerror: avoid warnings about discarding "const"
9169         * lib/strerror.c (rpl_strerror): Instead of returning a const
9170         string from each and every "case", use a variable, and add a single
9171         cast after the switch.
9172
9173 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
9174
9175         * lib/arpa_inet.in.h: Add extern "C" block for C++.
9176
9177 2009-01-16  Bruno Haible  <bruno@clisp.org>
9178
9179         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
9180         array initializer syntax that also works in C++ mode.
9181         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9182
9183 2009-01-16  Jim Meyering  <meyering@redhat.com>
9184
9185         poll: suppress a warning
9186         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
9187         to ignore "...unsigned expression < 0 is always false" warnings.
9188
9189 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
9190
9191         poll: remove declarations of unused variables
9192         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
9193         sockbuf and optlen.
9194
9195 2009-01-15  Bruno Haible  <bruno@clisp.org>
9196
9197         Make fflush-after-ungetc POSIX compliant on BSD systems.
9198         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
9199         (clear_ungetc_buffer): Implement also for other systems.
9200         (rpl_fflush): On glibc systems, invoke
9201         clear_ungetc_buffer_preserving_position. Otherwise, invoke
9202         clear_ungetc_buffer after fetching the stream's position, not before.
9203
9204 2009-01-15  Bruno Haible  <bruno@clisp.org>
9205
9206         Make fflush-after-ungetc POSIX compliant on glibc systems.
9207         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
9208         after ungetc.
9209         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
9210         (rpl_fflush): On glibc systems, simply call the system's fflush
9211         function after clearing the ungetc buffer.
9212         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
9213         Instead, lseek only to the end of file, then use the system's fseeko
9214         for the rest. On glibc systems, reset the EOF indicator bit.
9215
9216 2009-01-15  Jim Meyering  <meyering@redhat.com>
9217
9218         openmp.m4: revert quote-adding change, for portability to older autoconf
9219         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
9220         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
9221         Simon Josefsson noticed the problem when using autoconf-2.61.
9222
9223 2009-01-15  Bruno Haible  <bruno@clisp.org>
9224
9225         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
9226         * tests/test-fflush2.c (ASSERT): Always fail.
9227         (main): Add two tests for fflush() after ungetc(), taking into account
9228         the Austin Group's clarification.
9229         Suggested by Eric Blake.
9230
9231 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
9232
9233         mktime.m4: remove K&R-style function prototypes
9234         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
9235         for the Sun C++ compiler.
9236
9237 2009-01-14  Bruno Haible  <bruno@clisp.org>
9238
9239         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
9240         while including <wchar.h>.
9241         * lib/wchar.in.h: In two particular situations on HP-UX, include only
9242         the system's <wchar.h> file.
9243         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9244
9245 2009-01-14  Bruno Haible  <bruno@clisp.org>
9246
9247         * m4/csharp.m4: Don't mention gettext on the serial number line.
9248         * m4/csharpexec.m4: Likewise.
9249         * m4/eaccess.m4: Likewise.
9250         * m4/javaexec.m4: Likewise.
9251         * m4/sig_atomic_t.m4: Likewise.
9252         * m4/tmpdir.m4: Likewise.
9253         * m4/intldir.m4: Bump gettext version.
9254         * m4/lib-ld.m4: Likewise.
9255
9256 2009-01-14  Bruno Haible  <bruno@clisp.org>
9257
9258         * lib/progname.c (set_program_name): Add more comments.
9259         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
9260
9261 2009-01-14  Simon Josefsson  <simon@josefsson.org>
9262
9263         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
9264         were sys/stat.h does not define it.
9265
9266 2009-01-14  Jim Meyering  <meyering@redhat.com>
9267
9268         many *.m4 files: improve m4 quoting
9269         99% of this change was performed by running the following commands:
9270         git ls-files | grep '\.m4$' | xargs perl -pi \
9271           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
9272           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9273           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
9274           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
9275         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
9276         The remainder were to add Copyright dates, increment serial numbers,
9277         undo some changes in comments, exclude m4/intl.m4, and add quotes
9278         around the "1" in ",1" where the unusual spacing prohibited the
9279         above regexps from doing the job.  For more details, see
9280         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
9281         * m4/acl.m4: Modified.
9282         * m4/afs.m4: Likewise.
9283         * m4/alloca.m4: Likewise.
9284         * m4/argp.m4: Likewise.
9285         * m4/argz.m4: Likewise.
9286         * m4/atexit.m4: Likewise.
9287         * m4/bison-i18n.m4: Likewise.
9288         * m4/bison.m4: Likewise.
9289         * m4/byteswap.m4: Likewise.
9290         * m4/c-stack.m4: Likewise.
9291         * m4/c-strtod.m4: Likewise.
9292         * m4/calloc.m4: Likewise.
9293         * m4/canonicalize-lgpl.m4: Likewise.
9294         * m4/chown.m4: Likewise.
9295         * m4/clock_time.m4: Likewise.
9296         * m4/codeset.m4: Likewise.
9297         * m4/copy-file.m4: Likewise.
9298         * m4/csharp.m4: Likewise.
9299         * m4/csharpcomp.m4: Likewise.
9300         * m4/csharpexec.m4: Likewise.
9301         * m4/d-ino.m4: Likewise.
9302         * m4/d-type.m4: Likewise.
9303         * m4/dirfd.m4: Likewise.
9304         * m4/double-slash-root.m4: Likewise.
9305         * m4/eaccess.m4: Likewise.
9306         * m4/eealloc.m4: Likewise.
9307         * m4/environ.m4: Likewise.
9308         * m4/errno_h.m4: Likewise.
9309         * m4/euidaccess.m4: Likewise.
9310         * m4/execute.m4: Likewise.
9311         * m4/fatal-signal.m4: Likewise.
9312         * m4/fchdir.m4: Likewise.
9313         * m4/fcntl_h.m4: Likewise.
9314         * m4/fileblocks.m4: Likewise.
9315         * m4/filenamecat.m4: Likewise.
9316         * m4/findprog.m4: Likewise.
9317         * m4/flexmember.m4: Likewise.
9318         * m4/fnmatch.m4: Likewise.
9319         * m4/fopen.m4: Likewise.
9320         * m4/fpending.m4: Likewise.
9321         * m4/fprintf-posix.m4: Likewise.
9322         * m4/free.m4: Likewise.
9323         * m4/frexp.m4: Likewise.
9324         * m4/frexpl.m4: Likewise.
9325         * m4/fsusage.m4: Likewise.
9326         * m4/ftruncate.m4: Likewise.
9327         * m4/gc-camellia.m4: Likewise.
9328         * m4/gc-random.m4: Likewise.
9329         * m4/gc.m4: Likewise.
9330         * m4/getaddrinfo.m4: Likewise.
9331         * m4/getcwd-abort-bug.m4: Likewise.
9332         * m4/getcwd-path-max.m4: Likewise.
9333         * m4/getdate.m4: Likewise.
9334         * m4/getdomainname.m4: Likewise.
9335         * m4/getgroups.m4: Likewise.
9336         * m4/gethostname.m4: Likewise.
9337         * m4/gethrxtime.m4: Likewise.
9338         * m4/getline.m4: Likewise.
9339         * m4/getloadavg.m4: Likewise.
9340         * m4/getndelim2.m4: Likewise.
9341         * m4/getpass.m4: Likewise.
9342         * m4/gettext.m4: Likewise.
9343         * m4/gettime.m4: Likewise.
9344         * m4/gettimeofday.m4: Likewise.
9345         * m4/gnulib-common.m4: Likewise.
9346         * m4/group-member.m4: Likewise.
9347         * m4/host-os.m4: Likewise.
9348         * m4/iconv.m4: Likewise.
9349         * m4/iconv_open.m4: Likewise.
9350         * m4/inet_ntop.m4: Likewise.
9351         * m4/inet_pton.m4: Likewise.
9352         * m4/inline.m4: Likewise.
9353         * m4/intldir.m4: Likewise.
9354         * m4/intlmacosx.m4: Likewise.
9355         * m4/intmax.m4: Likewise.
9356         * m4/intmax_t.m4: Likewise.
9357         * m4/inttypes.m4: Likewise.
9358         * m4/inttypes_h.m4: Likewise.
9359         * m4/inttypes-pri.m4: Likewise.
9360         * m4/isapipe.m4: Likewise.
9361         * m4/isnand.m4: Likewise.
9362         * m4/isnanf.m4: Likewise.
9363         * m4/isnanl.m4: Likewise.
9364         * m4/javacomp.m4: Likewise.
9365         * m4/javaexec.m4: Likewise.
9366         * m4/jm-winsz1.m4: Likewise.
9367         * m4/jm-winsz2.m4: Likewise.
9368         * m4/lchown.m4: Likewise.
9369         * m4/lcmessage.m4: Likewise.
9370         * m4/ldexpl.m4: Likewise.
9371         * m4/lib-ld.m4: Likewise.
9372         * m4/lib-link.m4: Likewise.
9373         * m4/libsigsegv.m4: Likewise.
9374         * m4/link-follow.m4: Likewise.
9375         * m4/localcharset.m4: Likewise.
9376         * m4/locale-fr.m4: Likewise.
9377         * m4/locale-ja.m4: Likewise.
9378         * m4/locale-tr.m4: Likewise.
9379         * m4/locale-zh.m4: Likewise.
9380         * m4/lock.m4: Likewise.
9381         * m4/longlong.m4: Likewise.
9382         * m4/ls-mntd-fs.m4: Likewise.
9383         * m4/lstat.m4: Likewise.
9384         * m4/malloc.m4: Likewise.
9385         * m4/mathl.m4: Likewise.
9386         * m4/mbrtowc.m4: Likewise.
9387         * m4/mbstate_t.m4: Likewise.
9388         * m4/mbswidth.m4: Likewise.
9389         * m4/memchr.m4: Likewise.
9390         * m4/memcmp.m4: Likewise.
9391         * m4/memcpy.m4: Likewise.
9392         * m4/memmem.m4: Likewise.
9393         * m4/memmove.m4: Likewise.
9394         * m4/mempcpy.m4: Likewise.
9395         * m4/memrchr.m4: Likewise.
9396         * m4/memset.m4: Likewise.
9397         * m4/minmax.m4: Likewise.
9398         * m4/mkdir-slash.m4: Likewise.
9399         * m4/mkdtemp.m4: Likewise.
9400         * m4/mktime.m4: Likewise.
9401         * m4/mmap-anon.m4: Likewise.
9402         * m4/mountlist.m4: Likewise.
9403         * m4/nanosleep.m4: Likewise.
9404         * m4/nls.m4: Likewise.
9405         * m4/nocrash.m4: Likewise.
9406         * m4/open.m4: Likewise.
9407         * m4/openat.m4: Likewise.
9408         * m4/openmp.m4: Likewise.
9409         * m4/pathmax.m4: Likewise.
9410         * m4/perl.m4: Likewise.
9411         * m4/physmem.m4: Likewise.
9412         * m4/pipe.m4: Likewise.
9413         * m4/po.m4: Likewise.
9414         * m4/poll.m4: Likewise.
9415         * m4/posixtm.m4: Likewise.
9416         * m4/posixver.m4: Likewise.
9417         * m4/printf-frexp.m4: Likewise.
9418         * m4/printf-frexpl.m4: Likewise.
9419         * m4/printf-posix.m4: Likewise.
9420         * m4/printf-posix-rpl.m4: Likewise.
9421         * m4/printf.m4: Likewise.
9422         * m4/progtest.m4: Likewise.
9423         * m4/putenv.m4: Likewise.
9424         * m4/readline.m4: Likewise.
9425         * m4/readlink.m4: Likewise.
9426         * m4/readutmp.m4: Likewise.
9427         * m4/realloc.m4: Likewise.
9428         * m4/regex.m4: Likewise.
9429         * m4/relocatable.m4: Likewise.
9430         * m4/relocatable-lib.m4: Likewise.
9431         * m4/rename-dest-slash.m4: Likewise.
9432         * m4/rename.m4: Likewise.
9433         * m4/rmdir-errno.m4: Likewise.
9434         * m4/rmdir.m4: Likewise.
9435         * m4/roundf.m4: Likewise.
9436         * m4/roundl.m4: Likewise.
9437         * m4/rpmatch.m4: Likewise.
9438         * m4/save-cwd.m4: Likewise.
9439         * m4/selinux-selinux-h.m4: Likewise.
9440         * m4/setenv.m4: Likewise.
9441         * m4/settime.m4: Likewise.
9442         * m4/sig2str.m4: Likewise.
9443         * m4/sig_atomic_t.m4: Likewise.
9444         * m4/signalblocking.m4: Likewise.
9445         * m4/signbit.m4: Likewise.
9446         * m4/sigpipe.m4: Likewise.
9447         * m4/sockets.m4: Likewise.
9448         * m4/sockpfaf.m4: Likewise.
9449         * m4/st_dm_mode.m4: Likewise.
9450         * m4/stat-time.m4: Likewise.
9451         * m4/stdbool.m4: Likewise.
9452         * m4/stdint.m4: Likewise.
9453         * m4/stdint_h.m4: Likewise.
9454         * m4/stpcpy.m4: Likewise.
9455         * m4/stpncpy.m4: Likewise.
9456         * m4/strcase.m4: Likewise.
9457         * m4/strchrnul.m4: Likewise.
9458         * m4/strcspn.m4: Likewise.
9459         * m4/strdup.m4: Likewise.
9460         * m4/strftime.m4: Likewise.
9461         * m4/strndup.m4: Likewise.
9462         * m4/strnlen.m4: Likewise.
9463         * m4/strpbrk.m4: Likewise.
9464         * m4/strptime.m4: Likewise.
9465         * m4/strsep.m4: Likewise.
9466         * m4/strtod.m4: Likewise.
9467         * m4/strtoimax.m4: Likewise.
9468         * m4/strtok_r.m4: Likewise.
9469         * m4/strtol.m4: Likewise.
9470         * m4/strtoll.m4: Likewise.
9471         * m4/strtoul.m4: Likewise.
9472         * m4/strtoull.m4: Likewise.
9473         * m4/strtoumax.m4: Likewise.
9474         * m4/strverscmp.m4: Likewise.
9475         * m4/threadlib.m4: Likewise.
9476         * m4/timegm.m4: Likewise.
9477         * m4/tm_gmtoff.m4: Likewise.
9478         * m4/tmpdir.m4: Likewise.
9479         * m4/tmpfile.m4: Likewise.
9480         * m4/tzset.m4: Likewise.
9481         * m4/uintmax_t.m4: Likewise.
9482         * m4/unlinkdir.m4: Likewise.
9483         * m4/unlocked-io.m4: Likewise.
9484         * m4/uptime.m4: Likewise.
9485         * m4/userspec.m4: Likewise.
9486         * m4/utimbuf.m4: Likewise.
9487         * m4/utime.m4: Likewise.
9488         * m4/utimes-null.m4: Likewise.
9489         * m4/utimes.m4: Likewise.
9490         * m4/vararrays.m4: Likewise.
9491         * m4/vasnprintf.m4: Likewise.
9492         * m4/vfprintf-posix.m4: Likewise.
9493         * m4/vprintf-posix.m4: Likewise.
9494         * m4/wait-process.m4: Likewise.
9495         * m4/wchar_t.m4: Likewise.
9496         * m4/wint_t.m4: Likewise.
9497         * m4/write-any-file.m4: Likewise.
9498         * m4/yield.m4: Likewise.
9499
9500 2009-01-13  Bruno Haible  <bruno@clisp.org>
9501
9502         Avoid test-copy-file.sh failures when ACL support insufficient.
9503         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
9504         TESTS_ENVIRONMENT.
9505         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
9506         Reported by Jim Meyering.
9507
9508 2009-01-13  Bruno Haible  <bruno@clisp.org>
9509
9510         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
9511         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
9512         * modules/unistdio/u8-printf-parse (Files): Likewise.
9513         * modules/unistdio/u32-printf-parse (Files): Likewise.
9514         * modules/unistdio/ulc-printf-parse (Files): Likewise.
9515
9516 2009-01-13  Simon Josefsson  <simon@josefsson.org>
9517
9518         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
9519         and m4/inttypes_h.m4 too.
9520
9521 2009-01-12  Eric Blake  <ebb9@byu.net>
9522
9523         tests: IRIX 6.2 cc can't compile -0.0 into .data
9524         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
9525         rather than at compile-time.
9526         * tests/test-floorl.c (minus_zero): Likewise.
9527         * tests/test-frexpl.c (minus_zero): Likewise.
9528         * tests/test-isnan.c (minus_zerol): Likewise.
9529         * tests/test-isnanl.h (minus_zero): Likewise.
9530         * tests/test-ldexpl.c (minus_zero): Likewise.
9531         * tests/test-roundl.c (minus_zero): Likewise.
9532         * tests/test-signbit.c (minus_zerol): Likewise.
9533         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
9534         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
9535         * tests/test-truncl.c (minus_zero): Likewise.
9536         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
9537         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
9538         Reported by Tom G. Christensen and Nelson H. F. Beebe.
9539
9540 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9541
9542         regex: fix glibc bug 9697
9543         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
9544         handling.
9545
9546 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9547
9548         regex: fix glibc bug 697
9549         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
9550         being NULL also if there are no backreferences.
9551
9552 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
9553
9554         regex: merge glibc changes
9555         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
9556         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
9557         re_string_skip_chars, re_string_reconstruct): Likewise.
9558         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
9559
9560 2009-01-07  Jim Meyering  <meyering@redhat.com>
9561
9562         poll: filter through cppi
9563         * lib/poll.c: Indent cpp directives to reflect nesting.
9564
9565 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
9566
9567         poll: don't return uninitialized
9568         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
9569
9570 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
9571
9572         avoid compile failure on AIX 6.1
9573         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
9574         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
9575
9576 2009-01-04  Jim Meyering  <meyering@redhat.com>
9577
9578         remove duplicate inclusion of <stdio.h>
9579         * tests/test-fprintf-posix.c: Likewise.
9580         * tests/test-printf-posix.c: Likewise.
9581         * tests/test-snprintf-posix.c: Likewise.
9582         * tests/test-sprintf-posix.c: Likewise.
9583         * tests/test-vasprintf-posix.c: Likewise.
9584         * tests/test-vfprintf-posix.c: Likewise.
9585         * tests/test-vprintf-posix.c: Likewise.
9586         * tests/test-vsnprintf-posix.c: Likewise.
9587         * tests/test-vsprintf-posix.c: Likewise.
9588
9589 2009-01-03  Jim Meyering  <meyering@redhat.com>
9590
9591         gnulib-tool: fix sed-based filtering
9592         * gnulib-tool (func_filter_filelist): Remove extra backslash
9593         in sed_fff_filter definition.
9594
9595 2009-01-02  Jim Meyering  <meyering@redhat.com>
9596
9597         strftime: avoid compilation failure on Solaris 2.6
9598         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
9599         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
9600         Don't #define mbrlen or mbsinit, since now they're guaranteed to
9601         be available.  Reported by Tom G. Christensen.  Details in
9602         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
9603
9604 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9605             Bruno Haible  <bruno@clisp.org>
9606
9607         Speed up gnulib-tool by doing more string processing through shell
9608         built-ins.
9609         * gnulib-tool (fast_func_append): New variable.
9610         (func_remove_prefix, func_remove_suffix): New functions.
9611         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
9612         (func_filter_filelist): New function.
9613         (func_get_dependencies): Use func_remove_suffix instead of sed.
9614         (func_get_automake_snippet): Use func_filter_filelist instead of a
9615         subshell and sed invocation.
9616
9617 2009-01-01  Bruno Haible  <bruno@clisp.org>
9618
9619         Fix a security bug.
9620         * gnulib-tool (func_import, import, update): Don't allow the characters
9621         '"', '$', '`', '\' in macro arguments that become part of commands that
9622         are evaluated.
9623
9624 2009-01-01  Bruno Haible  <bruno@clisp.org>
9625
9626         * gnulib-tool (func_reset_sigpipe): Add more comments.
9627
9628 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9629
9630         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
9631         func_emit_tests_Makefile_am, func_import): Abort loops early if we
9632         already know the answer.
9633
9634 2009-01-01  Jim Meyering  <meyering@redhat.com>
9635
9636         * lib/version-etc.c (version_etc_va): Update copyright year.
9637
9638 2008-12-30  Bruno Haible  <bruno@clisp.org>
9639
9640         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
9641         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
9642         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
9643
9644 2008-12-29  Eric Blake  <ebb9@byu.net>
9645
9646         multiarch: avoid autoconf AC_REQUIRE bug
9647         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
9648         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
9649         2.63 and older.
9650         Reported by Bruno Haible, and analyzed in
9651         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
9652
9653 2008-12-29  Bruno Haible  <bruno@clisp.org>
9654
9655         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
9656         files in subdirectories correctly.
9657         Reported by Ralf Wildenhues.
9658
9659 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9660
9661         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
9662         rather than 'join FILE -', for Solaris join.
9663
9664 2008-12-29  Bruno Haible  <bruno@clisp.org>
9665
9666         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
9667         quoting.
9668         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
9669         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
9670         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
9671         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
9672         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9673         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
9674         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
9675         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
9676         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
9677         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
9678         * m4/nls.m4 (AM_NLS): Likewise.
9679         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
9680         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9681         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
9682         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
9683         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
9684         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9685         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
9686         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
9687         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
9688         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
9689         * m4/xsize.m4 (gl_XSIZE): Likewise.
9690         Suggested by Jim Meyering.
9691
9692 2008-11-17  Bruce Korb  <bkorb@gnu.org>
9693
9694         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
9695         * lib/parse-duration.c: use a switch instead of cascading if's.
9696
9697 2008-12-29  Eric Blake  <ebb9@byu.net>
9698
9699         wchar.h: supply WEOF on Irix 5.3
9700         * lib/wchar.in.h (wint_t): Also supply WEOF.
9701         * lib/wctype.in.h (wint_t): Likewise.
9702         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
9703         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
9704         Reported by Tom G. Christensen.
9705
9706 2008-12-26  Bruno Haible  <bruno@clisp.org>
9707
9708         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
9709         i486, i586, i686.
9710
9711 2008-12-26  Bruno Haible  <bruno@clisp.org>
9712
9713         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
9714
9715 2008-12-26  Bruno Haible  <bruno@clisp.org>
9716
9717         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
9718         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
9719         not __STDC_CONSTANT_MACROS.
9720         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
9721
9722 2008-12-25  Bruno Haible  <bruno@clisp.org>
9723
9724         Add support for universal builds to vasnprintf.
9725         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
9726         universal builds, guess no.
9727         * modules/vasnprintf-posix (Depends-on): Add multiarch.
9728         * modules/vasprintf-posix (Depends-on): Likewise.
9729         * modules/fprintf-posix (Depends-on): Likewise.
9730         * modules/vfprintf-posix (Depends-on): Likewise.
9731         * modules/snprintf-posix (Depends-on): Likewise.
9732         * modules/vsnprintf-posix (Depends-on): Likewise.
9733         * modules/sprintf-posix (Depends-on): Likewise.
9734         * modules/vsprintf-posix (Depends-on): Likewise.
9735         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9736         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9737         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9738         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9739         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9740         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9741         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9742
9743         Add support for universal builds to <inttypes.h>.
9744         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
9745         _SCNu64_PREFIX): In Apple
9746         universal builds, define directly, using _LP64.
9747         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
9748         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
9749         * modules/inttypes (Depends-on): Add multiarch.
9750         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
9751
9752         Add support for universal builds to <stdint.h>.
9753         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
9754         universal builds, define directly, using _LP64.
9755         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
9756         Apple universal builds, don't test for the size and suffix of ptrdiff_t
9757         and size_t.
9758         * modules/stdint (Depends-on): Add multiarch.
9759         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
9760
9761         New module 'multiarch'.
9762         * modules/multiarch: New file.
9763         * m4/multiarch.m4: New file.
9764
9765 2008-12-25  Bruno Haible  <bruno@clisp.org>
9766
9767         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
9768
9769 2008-12-25  Bruno Haible  <bruno@clisp.org>
9770
9771         * modules/btowc (License): Relicense under LGPLv2+.
9772         * modules/mbsinit (License): Likewise.
9773         * modules/mbrtowc (License): Likewise.
9774         * modules/wcrtomb (License): Likewise.
9775         * modules/streq (License): Likewise.
9776         Reported by David Lutterkort <lutter@redhat.com>.
9777
9778 2008-12-23  Bruno Haible  <bruno@clisp.org>
9779
9780         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
9781
9782 2008-12-23  Bruno Haible  <bruno@clisp.org>
9783
9784         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
9785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
9786         GETADDRINFO_LIB, not in LIBS.
9787         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
9788         * modules/canon-host (Link): Likewise.
9789         * NEWS: Mention the change.
9790         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
9791         GETADDRINFO_LIB.
9792
9793 2008-12-22  Bruno Haible  <bruno@clisp.org>
9794
9795         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
9796         * doc/posix-functions/iswalpha_l.texi: Likewise.
9797         * doc/posix-functions/iswblank_l.texi: Likewise.
9798         * doc/posix-functions/iswcntrl_l.texi: Likewise.
9799         * doc/posix-functions/iswctype_l.texi: Likewise.
9800         * doc/posix-functions/iswdigit_l.texi: Likewise.
9801         * doc/posix-functions/iswgraph_l.texi: Likewise.
9802         * doc/posix-functions/iswlower_l.texi: Likewise.
9803         * doc/posix-functions/iswprint_l.texi: Likewise.
9804         * doc/posix-functions/iswpunct_l.texi: Likewise.
9805         * doc/posix-functions/iswspace_l.texi: Likewise.
9806         * doc/posix-functions/iswupper_l.texi: Likewise.
9807         * doc/posix-functions/iswxdigit_l.texi: Likewise.
9808         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
9809         * doc/posix-functions/open_wmemstream.texi: Likewise.
9810         * doc/posix-functions/swscanf.texi: Likewise.
9811         * doc/posix-functions/towctrans_l.texi: Likewise.
9812         * doc/posix-functions/towlower.texi: Likewise.
9813         * doc/posix-functions/towlower_l.texi: Likewise.
9814         * doc/posix-functions/towupper.texi: Likewise.
9815         * doc/posix-functions/towupper_l.texi: Likewise.
9816         * doc/posix-functions/vfwprintf.texi: Likewise.
9817         * doc/posix-functions/vfwscanf.texi: Likewise.
9818         * doc/posix-functions/vswscanf.texi: Likewise.
9819         * doc/posix-functions/vwprintf.texi: Likewise.
9820         * doc/posix-functions/vwscanf.texi: Likewise.
9821         * doc/posix-functions/wcpcpy.texi: Likewise.
9822         * doc/posix-functions/wcpncpy.texi: Likewise.
9823         * doc/posix-functions/wcscasecmp.texi: Likewise.
9824         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
9825         * doc/posix-functions/wcscoll_l.texi: Likewise.
9826         * doc/posix-functions/wcsdup.texi: Likewise.
9827         * doc/posix-functions/wcsncasecmp.texi: Likewise.
9828         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
9829         * doc/posix-functions/wcsnlen.texi: Likewise.
9830         * doc/posix-functions/wcsnrtombs.texi: Likewise.
9831         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
9832         * doc/posix-functions/wctrans_l.texi: Likewise.
9833         * doc/posix-functions/wctype_l.texi: Likewise.
9834         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
9835         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
9836         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
9837         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
9838         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
9839         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
9840         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
9841         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
9842         * doc/glibc-functions/wcschrnul.texi: Likewise.
9843         * doc/glibc-functions/wcsftime_l.texi: Likewise.
9844         * doc/glibc-functions/wcstod_l.texi: Likewise.
9845         * doc/glibc-functions/wcstof_l.texi: Likewise.
9846         * doc/glibc-functions/wcstol_l.texi: Likewise.
9847         * doc/glibc-functions/wcstold_l.texi: Likewise.
9848         * doc/glibc-functions/wcstoll_l.texi: Likewise.
9849         * doc/glibc-functions/wcstoq.texi: Likewise.
9850         * doc/glibc-functions/wcstoul_l.texi: Likewise.
9851         * doc/glibc-functions/wcstoull_l.texi: Likewise.
9852         * doc/glibc-functions/wcstouq.texi: Likewise.
9853         * doc/glibc-functions/wmempcpy.texi: Likewise.
9854
9855 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
9856             Eric Blake  <ebb9@byu.net>
9857             Paolo Bonzini  <bonzini@gnu.org>
9858             Bruno Haible  <bruno@clisp.org>
9859
9860         Make c-stack work on Haiku.
9861         * lib/c-stack.c (SA_ONSTACK): Define fallback.
9862         (c_stack_action): Use SA_ONSTACK flag.
9863
9864 2008-12-22  Bruno Haible  <bruno@clisp.org>
9865
9866         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
9867
9868 2008-12-22  Bruno Haible  <bruno@clisp.org>
9869
9870         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
9871         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
9872         being overridden.
9873         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
9874         New macros.
9875         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
9876         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
9877         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
9878         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
9879
9880 2008-12-22  Bruno Haible  <bruno@clisp.org>
9881
9882         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
9883         from test code.
9884
9885 2008-12-22  Eric Blake  <ebb9@byu.net>
9886
9887         Avoid gcc warnings on cygwin.
9888         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
9889         Avoid unused variable.
9890         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
9891         Likewise.
9892
9893 2008-12-22  Bruno Haible  <bruno@clisp.org>
9894
9895         Remove HAVE_MBRTOWC conditionals.
9896         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
9897         (mbscasecmp): Assume mbrtowc function.
9898         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
9899         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
9900         * lib/mbschr.c: Include mbuiter.h unconditionally.
9901         (mbschr): Assume mbrtowc function.
9902         * lib/mbscspn.c: Include mbuiter.h unconditionally.
9903         (mbscspn): Assume mbrtowc function.
9904         * lib/mbslen.c: Include mbuiter.h unconditionally.
9905         (mbslen): Assume mbrtowc function.
9906         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
9907         (mbsncasecmp): Assume mbrtowc function.
9908         * lib/mbsnlen.c: Include mbiter.h unconditionally.
9909         (mbsnlen): Assume mbrtowc function.
9910         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
9911         (mbspbrk): Assume mbrtowc function.
9912         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
9913         (mbspcasecmp): Assume mbrtowc function.
9914         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
9915         (mbsrchr): Assume mbrtowc function.
9916         * lib/mbssep.c: Include mbuiter.h unconditionally.
9917         (mbssep): Assume mbrtowc function.
9918         * lib/mbsspn.c: Include mbuiter.h unconditionally.
9919         (mbsspn): Assume mbrtowc function.
9920         * lib/mbsstr.c: Include mbuiter.h unconditionally.
9921         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
9922         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
9923         (mbstok_r): Assume mbrtowc function.
9924         * lib/propername.c: Include mbuiter.h unconditionally.
9925         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
9926         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
9927         (trim2): Assume mbrtowc function.
9928         * lib/mbswidth.c (mbsinit): Remove fallback definition.
9929         (mbsnwidth): Assume mbrtowc function.
9930         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
9931         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
9932         fallback definitions.
9933         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
9934
9935 2008-12-22  Bruno Haible  <bruno@clisp.org>
9936
9937         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
9938
9939 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
9940
9941         * modules/regex: Request emulations for the mb*/wc* functions we need.
9942         * m4/regex.m4: Don't look for those functions here.
9943         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
9944
9945 2008-12-22  Bruno Haible  <bruno@clisp.org>
9946
9947         * modules/fnmatch (Depends-on): Remove duplicated dependency.
9948
9949 2008-12-21  Bruno Haible  <bruno@clisp.org>
9950
9951         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
9952         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
9953         (Include): Remove conditionalization.
9954         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
9955         (Include): Remove conditionalization.
9956         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
9957         (Include): Remove conditionalization.
9958         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
9959         * m4/mbfile.m4 (gl_MBFILE): Likewise.
9960         * NEWS: Mention the change.
9961         Reported by Alan Hourihane <alanh@fairlite.co.uk>
9962         via Sergey Poznyakoff <gray@gnu.org.ua>.
9963
9964 2008-12-21  Bruno Haible  <bruno@clisp.org>
9965
9966         * MODULES.html.sh (Extended multibyte and wide character utilities
9967         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
9968         wcrtomb, wcsrtombs.
9969         (Support for systems lacking POSIX:2008): Add accept, bind, close,
9970         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
9971         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
9972         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
9973
9974 2008-12-21  Bruno Haible  <bruno@clisp.org>
9975
9976         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
9977
9978 2008-12-21  Bruno Haible  <bruno@clisp.org>
9979
9980         * modules/wcsnrtombs-tests: New file.
9981         * tests/test-wcsnrtombs1.sh: New file.
9982         * tests/test-wcsnrtombs2.sh: New file.
9983         * tests/test-wcsnrtombs3.sh: New file.
9984         * tests/test-wcsnrtombs4.sh: New file.
9985         * tests/test-wcsnrtombs.c: New file.
9986
9987         New module 'wcsnrtombs'.
9988         * lib/wchar.in.h (wcsnrtombs): New declaration.
9989         * lib/wcsnrtombs.c: New file.
9990         * lib/wcsrtombs-state.c: New file.
9991         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
9992         (internal_state): Remove variable.
9993         * m4/wcsnrtombs.m4: New file.
9994         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
9995         compilation units.
9996         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
9997         HAVE_WCSNRTOMBS.
9998         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
9999         HAVE_WCSNRTOMBS.
10000         * modules/wcsnrtombs: New file.
10001         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
10002         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10003
10004 2008-12-21  Bruno Haible  <bruno@clisp.org>
10005
10006         * modules/wcsrtombs-tests: New file.
10007         * tests/test-wcsrtombs1.sh: New file.
10008         * tests/test-wcsrtombs2.sh: New file.
10009         * tests/test-wcsrtombs3.sh: New file.
10010         * tests/test-wcsrtombs4.sh: New file.
10011         * tests/test-wcsrtombs.c: New file.
10012
10013         New module 'wcsrtombs'.
10014         * lib/wchar.in.h (wcsrtombs): New declaration.
10015         * lib/wcsrtombs.c: New file.
10016         * m4/wcsrtombs.m4: New file.
10017         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
10018         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10019         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
10020         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10021         * modules/wcsrtombs: New file.
10022         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
10023         bugs.
10024
10025 2008-12-21  Bruno Haible  <bruno@clisp.org>
10026
10027         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
10028         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
10029         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
10030         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
10031         if not correct.
10032         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
10033         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
10034         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10035         m4/locale-zh.m4, m4/codeset.m4.
10036         * doc/posix-functions/wcrtomb.texi: Document the bug.
10037
10038 2008-12-21  Bruno Haible  <bruno@clisp.org>
10039
10040         Work around a btowc() bug on IRIX 6.5.
10041         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
10042         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
10043         REPLACE_WTOBC if not.
10044         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
10045         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
10046         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
10047
10048 2008-12-21  Bruno Haible  <bruno@clisp.org>
10049
10050         * modules/wcrtomb-tests: New file.
10051         * tests/test-wcrtomb.sh: New file.
10052         * tests/test-wcrtomb.c: New file.
10053
10054         New module 'wcrtomb'.
10055         * lib/wchar.in.h (wcrtomb): New declaration.
10056         * lib/wcrtomb.c: New file.
10057         * m4/wcrtomb.m4: New file.
10058         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
10059         HAVE_WCRTOMB.
10060         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
10061         HAVE_WCRTOMB.
10062         * modules/wcrtomb: New file.
10063         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10064
10065 2008-12-21  Bruno Haible  <bruno@clisp.org>
10066
10067         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
10068         * modules/mbsrtowcs (Files): Likewise.
10069         * modules/wctob (Files): Likewise.
10070         * modules/c-strcase-tests (Files): Likewise.
10071         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10072         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10073         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10074         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10075         * modules/vasnprintf-posix-tests (Files): Likewise.
10076
10077 2008-12-21  William Pursell  <bill.pursell@gmail.com>
10078
10079         gitlog-to-changelog: pass all command-line arguments to git-log
10080         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
10081         it is sometimes convenient to filter the commits in various ways.
10082         gitlog-to-changelog only allows --since to specify a start date,
10083         but git-log itself supports many other filtering mechanisms.
10084         At the moment, I want to filter by branch name.  Rather than
10085         adding a --branch option to gitlog-to-changelog, it seems more
10086         flexible to simply pass all options directly to git-log and let
10087         git do the work.  Notice that this effectively makes --since a
10088         redundant option for gitlog-to-changelog, but removing it would
10089         require current usage to change since calls would then require
10090         an additional '--'.
10091
10092 2008-12-21  Bruno Haible  <bruno@clisp.org>
10093
10094         * modules/mbsnrtowcs-tests: New file.
10095         * tests/test-mbsnrtowcs1.sh: New file.
10096         * tests/test-mbsnrtowcs2.sh: New file.
10097         * tests/test-mbsnrtowcs3.sh: New file.
10098         * tests/test-mbsnrtowcs4.sh: New file.
10099         * tests/test-mbsnrtowcs.c: New file.
10100
10101         New module 'mbsnrtowcs'.
10102         * lib/wchar.in.h (mbsnrtowcs): New declaration.
10103         * lib/mbsnrtowcs.c: New file.
10104         * lib/mbsrtowcs-state.c: New file.
10105         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
10106         (internal_state): Remove variable.
10107         * m4/mbsnrtowcs.m4: New file.
10108         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
10109         compilation units.
10110         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
10111         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10112         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
10113         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10114         * modules/mbsnrtowcs: New file.
10115         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
10116         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
10117         portability problem.
10118
10119 2008-12-21  Bruno Haible  <bruno@clisp.org>
10120
10121         Work around mbsrtowcs bug.
10122         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
10123         (gl_FUNC_MBSRTOWCS): Invoke it.
10124         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10125         m4/locale-zh.m4.
10126         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
10127
10128 2008-12-21  Bruno Haible  <bruno@clisp.org>
10129
10130         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
10131
10132 2008-12-21  Bruno Haible  <bruno@clisp.org>
10133
10134         Update doc for AIX.
10135         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
10136         16-bit wchar_t type.
10137         * doc/posix-functions/btowc.texi: Likewise.
10138         * doc/posix-functions/fgetwc.texi: Likewise.
10139         * doc/posix-functions/fgetws.texi: Likewise.
10140         * doc/posix-functions/fputwc.texi: Likewise.
10141         * doc/posix-functions/fputws.texi: Likewise.
10142         * doc/posix-functions/fwide.texi: Likewise.
10143         * doc/posix-functions/fwprintf.texi: Likewise.
10144         * doc/posix-functions/fwscanf.texi: Likewise.
10145         * doc/posix-functions/getwchar.texi: Likewise.
10146         * doc/posix-functions/getwc.texi: Likewise.
10147         * doc/posix-functions/iswalnum.texi: Likewise.
10148         * doc/posix-functions/iswalpha.texi: Likewise.
10149         * doc/posix-functions/iswblank.texi: Likewise.
10150         * doc/posix-functions/iswcntrl.texi: Likewise.
10151         * doc/posix-functions/iswctype.texi: Likewise.
10152         * doc/posix-functions/iswdigit.texi: Likewise.
10153         * doc/posix-functions/iswgraph.texi: Likewise.
10154         * doc/posix-functions/iswlower.texi: Likewise.
10155         * doc/posix-functions/iswprint.texi: Likewise.
10156         * doc/posix-functions/iswpunct.texi: Likewise.
10157         * doc/posix-functions/iswspace.texi: Likewise.
10158         * doc/posix-functions/iswupper.texi: Likewise.
10159         * doc/posix-functions/iswxdigit.texi: Likewise.
10160         * doc/posix-functions/mbrtowc.texi: Likewise.
10161         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10162         * doc/posix-functions/mbstowcs.texi: Likewise.
10163         * doc/posix-functions/mbtowc.texi: Likewise.
10164         * doc/posix-functions/putwchar.texi: Likewise.
10165         * doc/posix-functions/putwc.texi: Likewise.
10166         * doc/posix-functions/swprintf.texi: Likewise.
10167         * doc/posix-functions/tolower.texi: Likewise.
10168         * doc/posix-functions/toupper.texi: Likewise.
10169         * doc/posix-functions/towctrans.texi: Likewise.
10170         * doc/posix-functions/ungetwc.texi: Likewise.
10171         * doc/posix-functions/vswprintf.texi: Likewise.
10172         * doc/posix-functions/wcrtomb.texi: Likewise.
10173         * doc/posix-functions/wcscat.texi: Likewise.
10174         * doc/posix-functions/wcschr.texi: Likewise.
10175         * doc/posix-functions/wcscmp.texi: Likewise.
10176         * doc/posix-functions/wcscoll.texi: Likewise.
10177         * doc/posix-functions/wcscpy.texi: Likewise.
10178         * doc/posix-functions/wcscspn.texi: Likewise.
10179         * doc/posix-functions/wcsftime.texi: Likewise.
10180         * doc/posix-functions/wcslen.texi: Likewise.
10181         * doc/posix-functions/wcsncat.texi: Likewise.
10182         * doc/posix-functions/wcsncmp.texi: Likewise.
10183         * doc/posix-functions/wcsncpy.texi: Likewise.
10184         * doc/posix-functions/wcspbrk.texi: Likewise.
10185         * doc/posix-functions/wcsrchr.texi: Likewise.
10186         * doc/posix-functions/wcsrtombs.texi: Likewise.
10187         * doc/posix-functions/wcsspn.texi: Likewise.
10188         * doc/posix-functions/wcsstr.texi: Likewise.
10189         * doc/posix-functions/wcstod.texi: Likewise.
10190         * doc/posix-functions/wcstof.texi: Likewise.
10191         * doc/posix-functions/wcstoimax.texi: Likewise.
10192         * doc/posix-functions/wcstok.texi: Likewise.
10193         * doc/posix-functions/wcstold.texi: Likewise.
10194         * doc/posix-functions/wcstoll.texi: Likewise.
10195         * doc/posix-functions/wcstol.texi: Likewise.
10196         * doc/posix-functions/wcstombs.texi: Likewise.
10197         * doc/posix-functions/wcstoull.texi: Likewise.
10198         * doc/posix-functions/wcstoul.texi: Likewise.
10199         * doc/posix-functions/wcstoumax.texi: Likewise.
10200         * doc/posix-functions/wcswidth.texi: Likewise.
10201         * doc/posix-functions/wcsxfrm.texi: Likewise.
10202         * doc/posix-functions/wctob.texi: Likewise.
10203         * doc/posix-functions/wctomb.texi: Likewise.
10204         * doc/posix-functions/wctrans.texi: Likewise.
10205         * doc/posix-functions/wctype.texi: Likewise.
10206         * doc/posix-functions/wcwidth.texi: Likewise.
10207         * doc/posix-functions/wmemchr.texi: Likewise.
10208         * doc/posix-functions/wmemcmp.texi: Likewise.
10209         * doc/posix-functions/wmemcpy.texi: Likewise.
10210         * doc/posix-functions/wmemmove.texi: Likewise.
10211         * doc/posix-functions/wmemset.texi: Likewise.
10212         * doc/posix-functions/wprintf.texi: Likewise.
10213         * doc/posix-functions/wscanf.texi: Likewise.
10214
10215 2008-12-21  Bruno Haible  <bruno@clisp.org>
10216
10217         Update doc for HP-UX 11.11.
10218         * doc/posix-functions/btowc.texi: Clarify that the function is missing
10219         in HP-UX version 11.00, not in all versions of HP-UX 11.
10220         * doc/posix-functions/fwide.texi: Likewise.
10221         * doc/posix-functions/fwprintf.texi: Likewise.
10222         * doc/posix-functions/fwscanf.texi: Likewise.
10223         * doc/posix-functions/inet_ntop.texi: Likewise.
10224         * doc/posix-functions/inet_pton.texi: Likewise.
10225         * doc/posix-functions/mbrlen.texi: Likewise.
10226         * doc/posix-functions/mbrtowc.texi: Likewise.
10227         * doc/posix-functions/mbsinit.texi: Likewise.
10228         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10229         * doc/posix-functions/swprintf.texi: Likewise.
10230         * doc/posix-functions/swscanf.texi: Likewise.
10231         * doc/posix-functions/towctrans.texi: Likewise.
10232         * doc/posix-functions/vfwprintf.texi: Likewise.
10233         * doc/posix-functions/vswprintf.texi: Likewise.
10234         * doc/posix-functions/vwprintf.texi: Likewise.
10235         * doc/posix-functions/wcrtomb.texi: Likewise.
10236         * doc/posix-functions/wcsrtombs.texi: Likewise.
10237         * doc/posix-functions/wcsstr.texi: Likewise.
10238         * doc/posix-functions/wctob.texi: Likewise.
10239         * doc/posix-functions/wctrans.texi: Likewise.
10240         * doc/posix-functions/wmemchr.texi: Likewise.
10241         * doc/posix-functions/wmemcmp.texi: Likewise.
10242         * doc/posix-functions/wmemcpy.texi: Likewise.
10243         * doc/posix-functions/wmemmove.texi: Likewise.
10244         * doc/posix-functions/wmemset.texi: Likewise.
10245         * doc/posix-functions/wprintf.texi: Likewise.
10246         * doc/posix-functions/wscanf.texi: Likewise.
10247
10248 2008-12-21  Bruno Haible  <bruno@clisp.org>
10249
10250         Work around a portability problem.
10251         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
10252         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
10253
10254 2008-12-20  Bruno Haible  <bruno@clisp.org>
10255
10256         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
10257         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
10258         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
10259         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
10260         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
10261
10262         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
10263         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
10264         set.
10265         (GNULIB_defined_mbstate_t): New macro.
10266         (mbsinit): Redefine if REPLACE_MBSINIT is set.
10267         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
10268         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
10269         reuses the system's mbrtowc function but works around the bugs.
10270         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
10271         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
10272         macros.
10273         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
10274         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
10275         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
10276         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
10277         REPLACE_MBSINIT if mbsinit needs to be overridden.
10278         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
10279         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10280         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
10281         REPLACE_MBSINIT, REPLACE_MBRTOWC.
10282         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10283         m4/locale-zh.m4.
10284         (Depends): Add mbsinit.
10285         * modules/mbsinit (Depends): Add mbrtowc.
10286         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
10287
10288 2008-12-20  Bruno Haible  <bruno@clisp.org>
10289
10290         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
10291         so that there are no conversion errors on AIX.
10292         * tests/test-mbsrtowcs.c (main): LIkewise.
10293
10294 2008-12-20  Bruno Haible  <bruno@clisp.org>
10295
10296         Work around wctob bug on Solaris <= 9.
10297         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
10298         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
10299         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
10300         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
10301         * modules/wctob (Files): Add m4/locale-fr.m4.
10302         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
10303
10304 2008-12-20  Bruno Haible  <bruno@clisp.org>
10305
10306         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
10307         /dev/null.
10308         * tests/test-select-in.sh: Likewise.
10309         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10310
10311 2008-12-20  Bruno Haible  <bruno@clisp.org>
10312
10313         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
10314         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
10315         Cygwin 1.5.x.
10316
10317 2008-12-20  Bruno Haible  <bruno@clisp.org>
10318
10319         Ensure mbstate_t is defined on HP-UX 11.11.
10320         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
10321         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
10322         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
10323         AC_USE_SYSTEM_EXTENSIONS.
10324         * modules/fnmatch (Depends-on): Add extensions.
10325         * modules/mbrlen (Depends-on): Likewise.
10326         * modules/mbrtowc (Depends-on): Likewise.
10327         * modules/mbsinit (Depends-on): Likewise.
10328         * modules/mbsrtowcs (Depends-on): Likewise.
10329         * modules/mbswidth (Depends-on): Likewise.
10330         * modules/quotearg (Depends-on): Likewise.
10331         * modules/strftime (Depends-on): Likewise.
10332
10333 2008-12-20  Bruno Haible  <bruno@clisp.org>
10334
10335         Ensure wctob is declared on IRIX 6.5.
10336         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
10337         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
10338         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
10339         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
10340         of HAVE_WCTOB.
10341         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
10342         HAVE_WCTOB.
10343         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
10344
10345 2008-12-19  Bruno Haible  <bruno@clisp.org>
10346
10347         * modules/mbsrtowcs-tests: New file.
10348         * tests/test-mbsrtowcs1.sh: New file.
10349         * tests/test-mbsrtowcs2.sh: New file.
10350         * tests/test-mbsrtowcs3.sh: New file.
10351         * tests/test-mbsrtowcs4.sh: New file.
10352         * tests/test-mbsrtowcs.c: New file.
10353
10354         New module 'mbsrtowcs'.
10355         * lib/wchar.in.h (mbsrtowcs): New declaration.
10356         * lib/mbsrtowcs.c: New file.
10357         * m4/mbsrtowcs.m4: New file.
10358         * modules/mbsrtowcs: New file.
10359         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
10360         HAVE_MBSRTOWCS.
10361         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
10362         HAVE_MBSRTOWCS.
10363         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
10364
10365 2008-12-19  Bruno Haible  <bruno@clisp.org>
10366
10367         New module 'mbrlen'.
10368         * lib/wchar.in.h (mbrlen): New declaration.
10369         * lib/mbrlen.c: New file.
10370         * m4/mbrlen.m4: New file.
10371         * modules/mbrlen: New file.
10372         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
10373         HAVE_MBRLEN.
10374         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
10375         HAVE_MBRLEN.
10376         * doc/posix-functions/mbrlen.texi: Document the new module.
10377
10378 2008-12-19  Bruno Haible  <bruno@clisp.org>
10379
10380         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
10381         * modules/mbrtowc (Depends-on): Add verify.
10382         Suggested by Paul Eggert.
10383
10384 2008-12-18  Bruno Haible  <bruno@clisp.org>
10385
10386         * modules/mbsinit-tests: New file.
10387         * tests/test-mbsinit.sh: New file.
10388         * tests/test-mbsinit.c: New file.
10389
10390 2008-12-18  Bruno Haible  <bruno@clisp.org>
10391
10392         * modules/mbrtowc-tests: New file.
10393         * tests/test-mbrtowc1.sh: New file.
10394         * tests/test-mbrtowc2.sh: New file.
10395         * tests/test-mbrtowc3.sh: New file.
10396         * tests/test-mbrtowc4.sh: New file.
10397         * tests/test-mbrtowc.c: New file.
10398
10399         New module 'mbrtowc'.
10400         * lib/wchar.in.h (mbstate_t): Override when the system does not have
10401         mbsinit and mbrtowc.
10402         (mbrtowc): New declaration.
10403         * lib/mbrtowc.c: New file.
10404         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
10405         * modules/mbrtowc: New file.
10406         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
10407         HAVE_MBRTOWC.
10408         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
10409         HAVE_MBRTOWC.
10410         * doc/posix-functions/mbrtowc.texi: Document the new module.
10411
10412 2008-12-18  Bruno Haible  <bruno@clisp.org>
10413
10414         New module 'wctob'.
10415         * lib/wchar.in.h (wctob): New declaration.
10416         * lib/wctob.c: New file.
10417         * m4/wctob.m4: New file.
10418         * modules/wctob: New file.
10419         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
10420         HAVE_WCTOB.
10421         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
10422         * doc/posix-functions/wctob.texi: Document the new module.
10423
10424 2008-12-18  Bruno Haible  <bruno@clisp.org>
10425
10426         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
10427         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
10428
10429 2008-12-18  Simon Josefsson  <simon@josefsson.org>
10430
10431         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
10432         G. Christensen" <tgc@jupiterrise.com>.
10433
10434         * lib/flock.c: Need to include errno.h.  Reported by "Tom
10435         G. Christensen" <tgc@jupiterrise.com>.
10436
10437         * lib/flock.c: Need to include string.h.  Reported by "Tom
10438         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
10439         <ebb9@byu.net>.
10440
10441 2008-12-18  Bruno Haible  <bruno@clisp.org>
10442
10443         * m4/locale-ja.m4: New file, from GNU gettext.
10444
10445 2008-12-17  Bruno Haible  <bruno@clisp.org>
10446
10447         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
10448         Suggested by Eric Blake.
10449
10450 2008-12-17  Bruno Haible  <bruno@clisp.org>
10451
10452         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
10453
10454 2008-12-17  Bruno Haible  <bruno@clisp.org>
10455
10456         * lib/mbsinit.c: Include verify.h. Verify an assumption.
10457         * modules/mbsinit (Depends-on): Add verify.
10458         Suggested by Paul Eggert.
10459
10460 2008-12-17  Bruno Haible  <bruno@clisp.org>
10461
10462         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
10463         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
10464         gl_FUNC_MBRTOWC.
10465         * m4/mbiter.m4 (gl_MBITER): LIkewise.
10466         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
10467         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
10468         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
10469         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
10470         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
10471         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
10472         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
10473         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
10474         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
10475         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
10476         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
10477         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
10478         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
10479         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
10480         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10481         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
10482         * modules/trim (configure.ac): Likewise.
10483
10484 2008-12-17  Bruno Haible  <bruno@clisp.org>
10485
10486         * modules/btowc-tests: New file.
10487         * tests/test-btowc1.sh: New file.
10488         * tests/test-btowc2.sh: New file.
10489         * tests/test-btowc.c: New file.
10490
10491         New module 'btowc'.
10492         * lib/wchar.in.h (btowc): New declaration.
10493         * lib/btowc.c: New file.
10494         * m4/btowc.m4: New file.
10495         * modules/btowc: New file.
10496         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
10497         HAVE_BTOWC.
10498         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
10499         * doc/posix-functions/btowc.texi: Document the new module.
10500
10501 2008-12-17  Bruno Haible  <bruno@clisp.org>
10502
10503         New module 'mbsinit'.
10504         * lib/wchar.in.h (mbsinit): New declaration.
10505         * lib/mbsinit.c: New file.
10506         * m4/mbsinit.m4: New file.
10507         * modules/mbsinit: New file.
10508         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
10509         HAVE_MBSINIT.
10510         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
10511         HAVE_MBSINIT.
10512         * doc/posix-functions/mbsinit.texi: Document the new module.
10513
10514 2008-12-16  Bruno Haible  <bruno@clisp.org>
10515
10516         * lib/unistd.in.h: Add comment.
10517         * tests/test-environ.c: Don't include <stdlib.h>.
10518
10519 2008-12-16  Bruno Haible  <bruno@clisp.org>
10520
10521         * lib/parse-duration.h (parse_duration): Document return value
10522         convention.
10523         * lib/parse-duration.c: Include specification header first. Add
10524         comments.
10525         (_): Remove macro.
10526         (parse_year_month_day, parse_hour_minute_second): Move side effects
10527         outside of strchr call.
10528         (parse_non_iso8601): Move side effects outside of isspace call.
10529         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
10530         call.
10531
10532 2008-12-16  Bruno Haible  <bruno@clisp.org>
10533
10534         * tests/test-parse-duration.sh: Produce no output when the test
10535         succeeds.
10536
10537 2008-12-16  Bruno Haible  <bruno@clisp.org>
10538
10539         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
10540         expressions.
10541
10542 2008-12-15  Bruno Haible  <bruno@clisp.org>
10543
10544         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
10545         * doc/glibc-functions/flistxattr.texi: Likewise.
10546         * doc/glibc-functions/fopencookie.texi: Likewise.
10547         * doc/glibc-functions/fremovexattr.texi: Likewise.
10548         * doc/glibc-functions/fsetxattr.texi: Likewise.
10549         * doc/glibc-functions/getxattr.texi: Likewise.
10550         * doc/glibc-functions/lgetxattr.texi: Likewise.
10551         * doc/glibc-functions/listxattr.texi: Likewise.
10552         * doc/glibc-functions/llistxattr.texi: Likewise.
10553         * doc/glibc-functions/lremovexattr.texi: Likewise.
10554         * doc/glibc-functions/lsetxattr.texi: Likewise.
10555         * doc/glibc-functions/removexattr.texi: Likewise.
10556         * doc/glibc-functions/setxattr.texi: Likewise.
10557         * doc/posix-functions/open_memstream.texi: Likewise.
10558
10559 2008-12-15  Eric Blake  <ebb9@byu.net>
10560
10561         Update doc for cygwin 1.7.
10562         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
10563         functions.
10564         * doc/posix-functions/fchmodat.texi: Likewise.
10565         * doc/posix-functions/fchownat.texi: Likewise.
10566         * doc/posix-functions/fdopendir.texi: Likewise.
10567         * doc/posix-functions/fmemopen.texi: Likewise.
10568         * doc/posix-functions/freeaddrinfo.texi: Likewise.
10569         * doc/posix-functions/fstatat.texi: Likewise.
10570         * doc/posix-functions/futimens.texi: Likewise.
10571         * doc/posix-functions/gai_strerror.texi: Likewise.
10572         * doc/posix-functions/getaddrinfo.texi: Likewise.
10573         * doc/posix-functions/getnameinfo.texi: Likewise.
10574         * doc/posix-functions/if_freenameindex.texi: Likewise.
10575         * doc/posix-functions/if_indextoname.texi: Likewise.
10576         * doc/posix-functions/if_nameindex.texi: Likewise.
10577         * doc/posix-functions/if_nametoindex.texi: Likewise.
10578         * doc/posix-functions/insque.texi: Likewise.
10579         * doc/posix-functions/linkat.texi: Likewise.
10580         * doc/posix-functions/llrint.texi: Likewise.
10581         * doc/posix-functions/llrintf.texi: Likewise.
10582         * doc/posix-functions/llrintl.texi: Likewise.
10583         * doc/posix-functions/lockf.texi: Likewise.
10584         * doc/posix-functions/lrintl.texi: Likewise.
10585         * doc/posix-functions/mkdirat.texi: Likewise.
10586         * doc/posix-functions/mkfifoat.texi: Likewise.
10587         * doc/posix-functions/mknodat.texi: Likewise.
10588         * doc/posix-functions/mq_close.texi: Likewise.
10589         * doc/posix-functions/mq_getattr.texi: Likewise.
10590         * doc/posix-functions/mq_notify.texi: Likewise.
10591         * doc/posix-functions/mq_open.texi: Likewise.
10592         * doc/posix-functions/mq_receive.texi: Likewise.
10593         * doc/posix-functions/mq_send.texi: Likewise.
10594         * doc/posix-functions/mq_setattr.texi: Likewise.
10595         * doc/posix-functions/mq_timedreceive.texi: Likewise.
10596         * doc/posix-functions/mq_timedsend.texi: Likewise.
10597         * doc/posix-functions/mq_unlink.texi: Likewise.
10598         * doc/posix-functions/open_memstream.texi: Likewise.
10599         * doc/posix-functions/openat.texi: Likewise.
10600         * doc/posix-functions/posix_fadvise.texi: Likewise.
10601         * doc/posix-functions/posix_fallocate.texi: Likewise.
10602         * doc/posix-functions/posix_madvise.texi: Likewise.
10603         * doc/posix-functions/posix_memalign.texi: Likewise.
10604         * doc/posix-functions/posix_openpt.texi: Likewise.
10605         * doc/posix-functions/readlinkat.texi: Likewise.
10606         * doc/posix-functions/remque.texi: Likewise.
10607         * doc/posix-functions/renameat.texi: Likewise.
10608         * doc/posix-functions/rintl.texi: Likewise.
10609         * doc/posix-functions/sem_unlink.texi: Likewise.
10610         * doc/posix-functions/shm_open.texi: Likewise.
10611         * doc/posix-functions/shm_unlink.texi: Likewise.
10612         * doc/posix-functions/signgam.texi: Likewise.
10613         * doc/posix-functions/sigset.texi: Likewise.
10614         * doc/posix-functions/stpcpy.texi: Likewise.
10615         * doc/posix-functions/stpncpy.texi: Likewise.
10616         * doc/posix-functions/strerror.texi: Likewise.
10617         * doc/posix-functions/strtod.texi: Likewise.
10618         * doc/posix-functions/symlinkat.texi: Likewise.
10619         * doc/posix-functions/unlinkat.texi: Likewise.
10620         * doc/posix-functions/utimensat.texi: Likewise.
10621         * doc/glibc-functions/bindresvport.texi: Likewise.
10622         * doc/glibc-functions/dn_expand.texi: Likewise.
10623         * doc/glibc-functions/exp10.texi: Likewise.
10624         * doc/glibc-functions/exp10f.texi: Likewise.
10625         * doc/glibc-functions/fgetxattr.texi: Likewise.
10626         * doc/glibc-functions/flistxattr.texi: Likewise.
10627         * doc/glibc-functions/fopencookie.texi: Likewise.
10628         * doc/glibc-functions/freeifaddrs.texi: Likewise.
10629         * doc/glibc-functions/fremovexattr.texi: Likewise.
10630         * doc/glibc-functions/fsetxattr.texi: Likewise.
10631         * doc/glibc-functions/getifaddrs.texi: Likewise.
10632         * doc/glibc-functions/getxattr.texi: Likewise.
10633         * doc/glibc-functions/lgetxattr.texi: Likewise.
10634         * doc/glibc-functions/listxattr.texi: Likewise.
10635         * doc/glibc-functions/llistxattr.texi: Likewise.
10636         * doc/glibc-functions/lremovexattr.texi: Likewise.
10637         * doc/glibc-functions/lsetxattr.texi: Likewise.
10638         * doc/glibc-functions/pow10.texi: Likewise.
10639         * doc/glibc-functions/pow10f.texi: Likewise.
10640         * doc/glibc-functions/rcmd_af.texi: Likewise.
10641         * doc/glibc-functions/removexattr.texi: Likewise.
10642         * doc/glibc-functions/res_init.texi: Likewise.
10643         * doc/glibc-functions/res_mkquery.texi: Likewise.
10644         * doc/glibc-functions/res_query.texi: Likewise.
10645         * doc/glibc-functions/res_querydomain.texi: Likewise.
10646         * doc/glibc-functions/res_send.texi: Likewise.
10647         * doc/glibc-functions/rresvport_af.texi: Likewise.
10648         * doc/glibc-functions/setxattr.texi: Likewise.
10649         * doc/glibc-functions/strcasestr.texi: Likewise.
10650
10651 2008-12-15  Bruno Haible  <bruno@clisp.org>
10652
10653         Fix compilation error on OSF/1 4.0.
10654         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
10655         <sys/time.h>, simply delegate to the system header.
10656         Reported by Daniel Richard G. <oss@teragram.com>.
10657
10658 2008-12-15  Bruno Haible  <bruno@clisp.org>
10659
10660         * doc/posix-functions/openat.texi: Mention the 'openat' module.
10661         * doc/posix-functions/fchmodat.texi: Likewise.
10662         * doc/posix-functions/fchownat.texi: Likewise.
10663         * doc/posix-functions/fdopendir.texi: Likewise.
10664         * doc/posix-functions/fstatat.texi: Likewise.
10665         * doc/posix-functions/mkdirat.texi: Likewise.
10666         * doc/posix-functions/unlinkat.texi: Likewise.
10667
10668 2008-12-14  Bruno Haible  <bruno@clisp.org>
10669
10670         Update doc for POSIX:2008.
10671         * doc/posix-functions/faccessat.texi: New file.
10672         * doc/posix-functions/fchmodat.texi: New file.
10673         * doc/posix-functions/fchownat.texi: New file.
10674         * doc/posix-functions/fdopendir.texi: New file.
10675         * doc/posix-functions/fstatat.texi: New file.
10676         * doc/posix-functions/futimens.texi: New file.
10677         * doc/posix-functions/linkat.texi: New file.
10678         * doc/posix-functions/mkdirat.texi: New file.
10679         * doc/posix-functions/mkfifoat.texi: New file.
10680         * doc/posix-functions/mknodat.texi: New file.
10681         * doc/posix-functions/open_wmemstream.texi: New file.
10682         * doc/posix-functions/openat.texi: New file.
10683         * doc/posix-functions/psiginfo.texi: New file.
10684         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
10685         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
10686         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
10687         * doc/posix-functions/readlinkat.texi: New file.
10688         * doc/posix-functions/renameat.texi: New file.
10689         * doc/posix-functions/strerror_l.texi: New file.
10690         * doc/posix-functions/symlinkat.texi: New file.
10691         * doc/posix-functions/unlinkat.texi: New file.
10692         * doc/posix-functions/utimensat.texi: New file.
10693         * doc/gnulib.texi (Function Substitutes): Add these subsections.
10694
10695 2008-12-14  Bruno Haible  <bruno@clisp.org>
10696
10697         Update doc for POSIX:2008.
10698         * doc/posix-functions/alphasort.texi: Renamed from
10699         doc/glibc-functions/alphasort.texi.
10700         * doc/posix-functions/dirfd.texi: Renamed from
10701         doc/glibc-functions/dirfd.texi.
10702         * doc/posix-functions/dprintf.texi: Renamed from
10703         doc/glibc-functions/dprintf.texi.
10704         * doc/posix-functions/duplocale.texi: Renamed from
10705         doc/glibc-functions/duplocale.texi.
10706         * doc/posix-functions/fexecve.texi: Renamed from
10707         doc/glibc-functions/fexecve.texi.
10708         * doc/posix-functions/fmemopen.texi: Renamed from
10709         doc/glibc-functions/fmemopen.texi.
10710         * doc/posix-functions/freelocale.texi: Renamed from
10711         doc/glibc-functions/freelocale.texi.
10712         * doc/posix-functions/getdate_err.texi: Renamed from
10713         doc/glibc-functions/getdate_err.texi.
10714         * doc/posix-functions/isalnum_l.texi: Renamed from
10715         doc/glibc-functions/isalnum_l.texi.
10716         * doc/posix-functions/isalpha_l.texi: Renamed from
10717         doc/glibc-functions/isalpha_l.texi.
10718         * doc/posix-functions/isblank_l.texi: Renamed from
10719         doc/glibc-functions/isblank_l.texi.
10720         * doc/posix-functions/iscntrl_l.texi: Renamed from
10721         doc/glibc-functions/iscntrl_l.texi.
10722         * doc/posix-functions/isdigit_l.texi: Renamed from
10723         doc/glibc-functions/isdigit_l.texi.
10724         * doc/posix-functions/isgraph_l.texi: Renamed from
10725         doc/glibc-functions/isgraph_l.texi.
10726         * doc/posix-functions/islower_l.texi: Renamed from
10727         doc/glibc-functions/islower_l.texi.
10728         * doc/posix-functions/isprint_l.texi: Renamed from
10729         doc/glibc-functions/isprint_l.texi.
10730         * doc/posix-functions/ispunct_l.texi: Renamed from
10731         doc/glibc-functions/ispunct_l.texi.
10732         * doc/posix-functions/isspace_l.texi: Renamed from
10733         doc/glibc-functions/isspace_l.texi.
10734         * doc/posix-functions/isupper_l.texi: Renamed from
10735         doc/glibc-functions/isupper_l.texi.
10736         * doc/posix-functions/iswalnum_l.texi: Renamed from
10737         doc/glibc-functions/iswalnum_l.texi.
10738         * doc/posix-functions/iswalpha_l.texi: Renamed from
10739         doc/glibc-functions/iswalpha_l.texi.
10740         * doc/posix-functions/iswblank_l.texi: Renamed from
10741         doc/glibc-functions/iswblank_l.texi.
10742         * doc/posix-functions/iswcntrl_l.texi: Renamed from
10743         doc/glibc-functions/iswcntrl_l.texi.
10744         * doc/posix-functions/iswctype_l.texi: Renamed from
10745         doc/glibc-functions/iswctype_l.texi.
10746         * doc/posix-functions/iswdigit_l.texi: Renamed from
10747         doc/glibc-functions/iswdigit_l.texi.
10748         * doc/posix-functions/iswgraph_l.texi: Renamed from
10749         doc/glibc-functions/iswgraph_l.texi.
10750         * doc/posix-functions/iswlower_l.texi: Renamed from
10751         doc/glibc-functions/iswlower_l.texi.
10752         * doc/posix-functions/iswprint_l.texi: Renamed from
10753         doc/glibc-functions/iswprint_l.texi.
10754         * doc/posix-functions/iswpunct_l.texi: Renamed from
10755         doc/glibc-functions/iswpunct_l.texi.
10756         * doc/posix-functions/iswspace_l.texi: Renamed from
10757         doc/glibc-functions/iswspace_l.texi.
10758         * doc/posix-functions/iswupper_l.texi: Renamed from
10759         doc/glibc-functions/iswupper_l.texi.
10760         * doc/posix-functions/iswxdigit_l.texi: Renamed from
10761         doc/glibc-functions/iswxdigit_l.texi.
10762         * doc/posix-functions/isxdigit_l.texi: Renamed from
10763         doc/glibc-functions/isxdigit_l.texi.
10764         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
10765         doc/glibc-functions/mbsnrtowcs.texi.
10766         * doc/posix-functions/mkdtemp.texi: Renamed from
10767         doc/glibc-functions/mkdtemp.texi.
10768         * doc/posix-functions/newlocale.texi: Renamed from
10769         doc/glibc-functions/newlocale.texi.
10770         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
10771         doc/glibc-functions/nl_langinfo_l.texi.
10772         * doc/posix-functions/open_memstream.texi: Renamed from
10773         doc/glibc-functions/open_memstream.texi.
10774         * doc/posix-functions/opterr.texi: Renamed from
10775         doc/glibc-functions/opterr.texi.
10776         * doc/posix-functions/optind.texi: Renamed from
10777         doc/glibc-functions/optind.texi.
10778         * doc/posix-functions/optopt.texi: Renamed from
10779         doc/glibc-functions/optopt.texi.
10780         * doc/posix-functions/psignal.texi: Renamed from
10781         doc/glibc-functions/psignal.texi.
10782         * doc/posix-functions/scandir.texi: Renamed from
10783         doc/glibc-functions/scandir.texi.
10784         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
10785         doc/glibc-functions/sched_get_priority_min.texi.
10786         * doc/posix-functions/signgam.texi: Renamed from
10787         doc/glibc-functions/signgam.texi.
10788         * doc/posix-functions/stpcpy.texi: Renamed from
10789         doc/glibc-functions/stpcpy.texi.
10790         * doc/posix-functions/stpncpy.texi: Renamed from
10791         doc/glibc-functions/stpncpy.texi.
10792         * doc/posix-functions/strcasecmp_l.texi: Renamed from
10793         doc/glibc-functions/strcasecmp_l.texi.
10794         * doc/posix-functions/strcoll_l.texi: Renamed from
10795         doc/glibc-functions/strcoll_l.texi.
10796         * doc/posix-functions/strfmon_l.texi: Renamed from
10797         doc/glibc-functions/strfmon_l.texi.
10798         * doc/posix-functions/strftime_l.texi: Renamed from
10799         doc/glibc-functions/strftime_l.texi.
10800         * doc/posix-functions/strncasecmp_l.texi: Renamed from
10801         doc/glibc-functions/strncasecmp_l.texi.
10802         * doc/posix-functions/strndup.texi: Renamed from
10803         doc/glibc-functions/strndup.texi.
10804         * doc/posix-functions/strnlen.texi: Renamed from
10805         doc/glibc-functions/strnlen.texi.
10806         * doc/posix-functions/strsignal.texi: Renamed from
10807         doc/glibc-functions/strsignal.texi.
10808         * doc/posix-functions/strxfrm_l.texi: Renamed from
10809         doc/glibc-functions/strxfrm_l.texi.
10810         * doc/posix-functions/timer_gettime.texi: Renamed from
10811         doc/glibc-functions/timer_gettime.texi.
10812         * doc/posix-functions/tolower_l.texi: Renamed from
10813         doc/glibc-functions/tolower_l.texi.
10814         * doc/posix-functions/toupper_l.texi: Renamed from
10815         doc/glibc-functions/toupper_l.texi.
10816         * doc/posix-functions/towctrans_l.texi: Renamed from
10817         doc/glibc-functions/towctrans_l.texi.
10818         * doc/posix-functions/towlower_l.texi: Renamed from
10819         doc/glibc-functions/towlower_l.texi.
10820         * doc/posix-functions/towupper_l.texi: Renamed from
10821         doc/glibc-functions/towupper_l.texi.
10822         * doc/posix-functions/uselocale.texi: Renamed from
10823         doc/glibc-functions/uselocale.texi.
10824         * doc/posix-functions/vdprintf.texi: Renamed from
10825         doc/glibc-functions/vdprintf.texi.
10826         * doc/posix-functions/wcpcpy.texi:
10827         Renamed from doc/glibc-functions/wcpcpy.texi.
10828         * doc/posix-functions/wcpncpy.texi: Renamed from
10829         doc/glibc-functions/wcpncpy.texi.
10830         * doc/posix-functions/wcscasecmp.texi: Renamed from
10831         doc/glibc-functions/wcscasecmp.texi.
10832         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
10833         doc/glibc-functions/wcscasecmp_l.texi.
10834         * doc/posix-functions/wcscoll_l.texi: Renamed from
10835         doc/glibc-functions/wcscoll_l.texi.
10836         * doc/posix-functions/wcsdup.texi: Renamed from
10837         doc/glibc-functions/wcsdup.texi.
10838         * doc/posix-functions/wcsncasecmp.texi: Renamed from
10839         doc/glibc-functions/wcsncasecmp.texi.
10840         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
10841         doc/glibc-functions/wcsncasecmp_l.texi.
10842         * doc/posix-functions/wcsnlen.texi: Renamed from
10843         doc/glibc-functions/wcsnlen.texi.
10844         * doc/posix-functions/wcsnrtombs.texi: Renamed from
10845         doc/glibc-functions/wcsnrtombs.texi.
10846         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
10847         doc/glibc-functions/wcsxfrm_l.texi.
10848         * doc/posix-functions/wctrans_l.texi: Renamed from
10849         doc/glibc-functions/wctrans_l.texi.
10850         * doc/posix-functions/wctype_l.texi: Renamed from
10851         doc/glibc-functions/wctype_l.texi.
10852         * doc/gnulib.texi (Function Substitutes): Add these subsections.
10853         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
10854         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
10855         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
10856         these subsections.
10857         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
10858         Remove sections.
10859
10860 2008-12-14  Bruno Haible  <bruno@clisp.org>
10861
10862         Update doc for POSIX:2008.
10863         * doc/posix-functions/*.texi: Update URL of POSIX specification.
10864
10865 2008-12-14  Bruno Haible  <bruno@clisp.org>
10866
10867         Update doc for POSIX:2008.
10868         * doc/pastposix-functions/bcmp.texi: Renamed from
10869         doc/posix-functions/bcmp.texi.
10870         * doc/pastposix-functions/bcopy.texi: Renamed from
10871         doc/posix-functions/bcopy.texi.
10872         * doc/pastposix-functions/bsd_signal.texi: Renamed from
10873         doc/posix-functions/bsd_signal.texi.
10874         * doc/pastposix-functions/bzero.texi: Renamed from
10875         doc/posix-functions/bzero.texi.
10876         * doc/pastposix-functions/ecvt.texi: Renamed from
10877         doc/posix-functions/ecvt.texi.
10878         * doc/pastposix-functions/fcvt.texi: Renamed from
10879         doc/posix-functions/fcvt.texi.
10880         * doc/pastposix-functions/ftime.texi: Renamed from
10881         doc/posix-functions/ftime.texi.
10882         * doc/pastposix-functions/gcvt.texi: Renamed from
10883         doc/posix-functions/gcvt.texi.
10884         * doc/pastposix-functions/getcontext.texi: Renamed from
10885         doc/posix-functions/getcontext.texi.
10886         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
10887         doc/posix-functions/gethostbyaddr.texi.
10888         * doc/pastposix-functions/gethostbyname.texi: Renamed from
10889         doc/posix-functions/gethostbyname.texi.
10890         * doc/pastposix-functions/getwd.texi: Renamed from
10891         doc/posix-functions/getwd.texi.
10892         * doc/pastposix-functions/h_errno.texi: Renamed from
10893         doc/posix-functions/h_errno.texi.
10894         * doc/pastposix-functions/index.texi: Renamed from
10895         doc/posix-functions/index.texi.
10896         * doc/pastposix-functions/makecontext.texi: Renamed from
10897         doc/posix-functions/makecontext.texi.
10898         * doc/pastposix-functions/mktemp.texi: Renamed from
10899         doc/posix-functions/mktemp.texi.
10900         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
10901         doc/posix-functions/pthread_attr_getstackaddr.texi.
10902         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
10903         doc/posix-functions/pthread_attr_setstackaddr.texi.
10904         * doc/pastposix-functions/rindex.texi: Renamed from
10905         doc/posix-functions/rindex.texi.
10906         * doc/pastposix-functions/scalb.texi: Renamed from
10907         doc/posix-functions/scalb.texi.
10908         * doc/pastposix-functions/setcontext.texi: Renamed from
10909         doc/posix-functions/setcontext.texi.
10910         * doc/pastposix-functions/swapcontext.texi: Renamed from
10911         doc/posix-functions/swapcontext.texi.
10912         * doc/pastposix-functions/ualarm.texi: Renamed from
10913         doc/posix-functions/ualarm.texi.
10914         * doc/pastposix-functions/usleep.texi: Renamed from
10915         doc/posix-functions/usleep.texi.
10916         * doc/pastposix-functions/vfork.texi: Renamed from
10917         doc/posix-functions/vfork.texi.
10918         * doc/pastposix-functions/wcswcs.texi: Renamed from
10919         doc/posix-functions/wcswcs.texi.
10920         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
10921         (Function Substitutes): Update.
10922
10923 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10924
10925         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
10926         m4/strerror.m4.
10927
10928 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10929             Bruno Haible  <bruno@clisp.org>
10930
10931         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
10932
10933 2008-12-13  Bruno Haible  <bruno@clisp.org>
10934
10935         * modules/strtoull (Depends-on): Remove unistd.
10936
10937 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10938
10939         * modules/strtoull (Depends-on): Add stdlib.
10940
10941 2008-12-11  Simon Josefsson  <simon@josefsson.org>
10942
10943         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
10944
10945 2008-12-10  Jim Meyering  <meyering@redhat.com>
10946
10947         gl_ASSERT: don't say assertions are disabled when they're not
10948         * m4/assert.m4 (gl_ASSERT): Do not make configure report
10949         "checking whether to enable assertions... no", when they are in
10950         fact enabled.  This is solely a bug in the output of configure.
10951         In spite of saying "no", NDEBUG was not defined in that case.
10952         Also, as noted by Eric Blake, leave assertions enabled upon
10953         --enable-assert=INVALID.
10954
10955 2008-12-10  Bruno Haible  <bruno@clisp.org>
10956
10957         Change MODULES.html to refer to POSIX:2008 where possible.
10958         * MODULES.html.sh (POSIX2008_URL): New variable.
10959         (posix_headers): Remove sys/timeb, ucontext.
10960         (posix2001_headers): New variable.
10961         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
10962         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
10963         index, makecontext, mktemp, pthread_attr_getstackaddr,
10964         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
10965         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
10966         (posix2001_functions): New variable.
10967         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
10968         otherwise.
10969
10970 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10971
10972         add missing include to parse-duration.c
10973         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
10974         * modules/parse-duration (Depends-on): Add xalloc.
10975
10976         fix sed script reading maint.mk
10977         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
10978         (syntax-check-rules): Use it.
10979
10980 2008-12-09  Bruno Haible  <bruno@clisp.org>
10981
10982         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
10983         MacOS X 10.4/PowerPC.
10984         Reported by Simon Josefsson.
10985
10986 2008-12-08  Jim Meyering  <meyering@redhat.com>
10987
10988         work around mingw's lack of some S_IF definitions
10989         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
10990         Reported by Simon Josefsson.
10991
10992 2008-12-08  Bruno Haible  <bruno@clisp.org>
10993
10994         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
10995         applied to variables. Needed on MacOS X 10.4/PowerPC.
10996         Reported by Simon Josefsson.
10997
10998 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
10999         and Eric Blake  <ebb9@byu.net>
11000
11001         assert: honor --enable-assert
11002         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
11003         order to honor --enable-assert, rather than treating it as a
11004         synonym for --disable-assert.
11005
11006 2008-12-08  Jim Meyering  <meyering@redhat.com>
11007
11008         * lib/posixtm.c: Remove now-useless declaration of mktime.
11009
11010         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
11011
11012 2008-12-07  Bruno Haible  <bruno@clisp.org>
11013
11014         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
11015         test_once): Mark functions as static.
11016         * tests/test-tls.c (test_tls): Likewise.
11017
11018 2008-12-07  Bruno Haible  <bruno@clisp.org>
11019
11020         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
11021         iconv_register_autodetect.
11022
11023 2008-12-07  Jim Meyering  <meyering@redhat.com>
11024
11025         posixtm.c: avoid a warning
11026         * lib/posixtm.c (posixtime): Don't initialize tm0.
11027         It's no longer needed to placate gcc4's -Wuninitialized,
11028         and the attempt to placate would elicit a new warning.
11029
11030         unicodeio.c: mark unused parameters
11031         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11032         (fallback_failure_callback): Likewise.
11033
11034 2008-12-07  Bruno Haible  <bruno@clisp.org>
11035
11036         * gnulib-tool (func_create_testdir): When building the tests
11037         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
11038         Reported by Simon Josefsson.
11039
11040 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11041
11042         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
11043
11044 2008-12-06  Bruno Haible  <bruno@clisp.org>
11045
11046         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
11047         Suggested by Eric Blake.
11048
11049 2008-12-06  Bruno Haible  <bruno@clisp.org>
11050
11051         Fix a c-stack test failure on MacOS X.
11052         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
11053         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
11054         handler for SIGBUS as well.
11055         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
11056         install a signal handler for SIGBUS as well.
11057         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
11058
11059 2008-12-06  Bruno Haible  <bruno@clisp.org>
11060
11061         Advocacy documentation.
11062         * doc/gnulib-intro.texi (Benefits): New section.
11063         * doc/gnulib.texi: Update.
11064
11065 2008-12-06  Bruno Haible  <bruno@clisp.org>
11066
11067         Document the 'manywarnings' module.
11068         * doc/manywarnings.texi: New file.
11069         * doc/gnulib.texi: Include it.
11070
11071 2008-12-05  Eric Blake  <ebb9@byu.net>
11072
11073         tests: silence some gcc warnings
11074         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
11075         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
11076         type mismatches.
11077
11078 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11079             Bruno Haible  <bruno@clisp.org>
11080
11081         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
11082
11083 2008-11-29  Jim Meyering  <meyering@redhat.com>
11084
11085         unicodeio.c: mark unused parameters
11086         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11087         (fallback_failure_callback): Likewise.
11088
11089         fts: fix a thinko
11090         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
11091         (set_stat_type): Return S_IF*-valued "type" directly.
11092         Prompted by James Youngman's spotting a related bug.
11093         Confirmed by further testing through find.
11094
11095         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
11096         * lib/fts.c (D_TYPE): Define.
11097         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
11098         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
11099         (s_ifmt_shift_bits): New function.
11100         (set_stat_type): New function.
11101         (fts_build): When not calling fts_stat, call set_stat_type
11102         to propagate dirent.d_type info to fts_read caller.
11103         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
11104         fts_statp->st_mode type information may be valid.
11105
11106 2008-11-28  Simon Josefsson  <simon@josefsson.org>
11107
11108         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
11109         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
11110         <sds@gnu.org>.
11111
11112 2008-11-20  Bruno Haible  <bruno@clisp.org>
11113
11114         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
11115         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
11116         INCLUDE_NEXT.
11117         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
11118         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
11119         * modules/math (Makefile.am): Substitute
11120         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
11121         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11122
11123 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
11124             Bruno Haible  <bruno@clisp.org>
11125
11126         * lib/stdint.in.h: Define all type macros so that their expansion is
11127         a single typedef'ed token. Fixes a compilation failure in Boost which
11128         does "using ::int8_t;".
11129
11130 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11131
11132         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
11133         gl_MANYWARN_ALL_GCC.
11134         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
11135         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
11136         * modules/manywarnings: New file.
11137         * MODULES.html.sh: Mention manywarnings module.
11138
11139 2008-11-18  Bruno Haible  <bruno@clisp.org>
11140
11141         * doc/gnulib-tool.texi (Unit tests): New section.
11142
11143 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11144
11145         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
11146         paths like 'lib/po/foo.po'.
11147
11148 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11149
11150         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
11151         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
11152
11153 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11154
11155         * m4/warnings.m4: Use CPPFLAGS to really check whether the
11156         parameter works.
11157
11158 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11159
11160         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
11161
11162 2008-11-17  Bruce Korb  <bkorb@gnu.org>
11163
11164         * modules/parse-duration-tests: New file.
11165         * tests/test-parse-duration.sh: New file.
11166         * tests/test-parse-duration.c: New file.
11167
11168         New module 'parse-duration'.
11169         * lib/parse-duration.h: New file.
11170         * lib/parse-duration.c: New file.
11171         * modules/parse-duration: New file.
11172
11173 2008-11-17  Bruno Haible  <bruno@clisp.org>
11174
11175         * tests/test-select-out.sh: Comment out the first pipe test.
11176         Reported by Simon Josefsson.
11177
11178 2008-11-17  Bruno Haible  <bruno@clisp.org>
11179
11180         * modules/getaddrinfo (Depends-on): Add servent, hostent.
11181         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
11182         gl_HOSTENT.
11183
11184 2008-11-17  Bruno Haible  <bruno@clisp.org>
11185
11186         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
11187         -lnetwork and -lnet. Needed for Haiku and BeOS.
11188
11189 2008-11-16  Bruno Haible  <bruno@clisp.org>
11190
11191         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
11192
11193 2008-11-16  Bruno Haible  <bruno@clisp.org>
11194
11195         Avoid test failure on Haiku.
11196         * tests/test-fsync.c: Include <errno.h>.
11197         (main): Don't require that fsync (0) fails.
11198
11199 2008-11-15  Bruno Haible  <bruno@clisp.org>
11200
11201         New module 'hostent'.
11202         * modules/hostent: New file.
11203         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
11204
11205 2008-11-15  Bruno Haible  <bruno@clisp.org>
11206
11207         New module 'servent'.
11208         * modules/servent: New file.
11209         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
11210
11211 2008-11-15  Bruno Haible  <bruno@clisp.org>
11212
11213         Avoid generating same test program with two different rules.
11214         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
11215         test-frexp to test-frexp-nolibm.
11216         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
11217         test-frexpl to test-frexpl-nolibm.
11218
11219 2008-11-15  Bruno Haible  <bruno@clisp.org>
11220
11221         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
11222         $(FREXPL_LIBM).
11223
11224 2008-11-15  Bruno Haible  <bruno@clisp.org>
11225
11226         * lib/netdb.in.h: Activate the definitions also when the system's
11227         <netdb.h> has 'struct addrinfo'.
11228         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
11229         EAI_OVERFLOW or AI_NUMERICSERV.
11230         * doc/posix-headers/netdb.texi: Document the problem.
11231
11232 2008-11-15  Bruno Haible  <bruno@clisp.org>
11233
11234         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
11235
11236         Make the 'sched' module work on platforms where <sched.h> exists but
11237         is incomplete (such as Haiku).
11238         * lib/sched.in.h; Include the system's <sched.h> if it exists.
11239         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
11240         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
11241         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
11242         HAVE_STRUCT_SCHED_PARAM.
11243         * modules/sched (Depends-on): Add include_next.
11244         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
11245         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
11246         * doc/posix-headers/sched.texi: Document the issue.
11247
11248 2008-11-13  Jim Meyering  <meyering@redhat.com>
11249
11250         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
11251         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
11252         test would fail due to the difference in the Report bugs to ...
11253         line.  The expected address is empty, "<>", while the actual
11254         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
11255
11256 2008-11-12  Bruno Haible  <bruno@clisp.org>
11257
11258         lstat: don't compile lstat.c on systems lacking lstat
11259         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
11260         which don't have lstat; this is handled by lib/sys_stat.in.h already.
11261         Reported by Daniel P. Berrange via Jim Meyering.
11262
11263 2008-11-12  Jim Meyering  <meyering@redhat.com>
11264
11265         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
11266
11267 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11268
11269         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
11270         instead.
11271
11272 2008-11-12  Bruno Haible  <bruno@clisp.org>
11273
11274         * lib/unicodeio.c: Include unistr.h.
11275         (utf8_wctomb): Remove function.
11276         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
11277
11278 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11279
11280         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
11281         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
11282         <bruno@clisp.org>.
11283         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
11284
11285 2008-11-12  Simon Josefsson  <simon@josefsson.org>
11286
11287         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
11288         * doc/gnulib.texi: Add section for warnings.
11289
11290 2008-11-11  Bruno Haible  <bruno@clisp.org>
11291
11292         * lib/sockets.h: Add a comment.
11293
11294 2008-11-11  Karl Berry  <karl@gnu.org>
11295
11296         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
11297
11298 2008-11-11  Eric Blake  <ebb9@byu.net>
11299
11300         fdl.texi: avoid git symlinks
11301         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
11302
11303 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11304
11305         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
11306
11307 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11308
11309         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
11310         (gl_WARN_ADD): Substitute $2 if literal.
11311
11312 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11313
11314         * m4/warning.m4: Remove.
11315
11316 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
11317
11318         * m4/warnings.m4: Almost complete rewrite. :-)
11319
11320 2008-11-10  Simon Josefsson  <simon@josefsson.org>
11321
11322         * modules/warnings: New module.
11323         * m4/warnings.m4: New file.
11324         * MODULES.html.sh: Mention warnings module.
11325         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
11326         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11327
11328 2008-11-10  Eric Blake  <ebb9@byu.net>
11329
11330         fdl.texi: make a symlink to the latest version
11331         * doc/standards.texi: Revert today's earlier change.
11332         * doc/fdl-1.2.texi: Rename from old fdl.texi...
11333         * doc/fdl.texi: ...and replace this with a symlink to the newer
11334         fdl-1.3.texi.
11335
11336 2008-11-10  Bruno Haible  <bruno@clisp.org>
11337
11338         * tests/test-select-fd.c (main): Accept the result file name as fourth
11339         argument.
11340         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
11341         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
11342
11343 2008-11-10  Bruno Haible  <bruno@clisp.org>
11344
11345         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
11346         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
11347         as autoconf-substituted macros.
11348         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
11349         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
11350         gl_NETDB_H_DEFAULTS. Set these variables.
11351         * modules/netdb (Makefile.am): Substitute these variables.
11352
11353 2008-11-10  Eric Blake  <ebb9@byu.net>
11354
11355         standards.texi: include correct file for FDL 1.3
11356         * doc/standards.texi (GNU Free Documentation License): Change
11357         include file to pull in FDL 1.3, not 1.2.
11358
11359         fdl.texi: revert accidental change to license
11360         * doc/fdl.texi: This is FDL 1.2, not 1.3.
11361
11362 2008-11-10  Bruno Haible  <bruno@clisp.org>
11363
11364         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
11365         cross-compiling guesses also when the native compile gives no result.
11366
11367 2008-11-10  Bruno Haible  <bruno@clisp.org>
11368
11369         * lib/spawni.c (__spawni): Force variable into the stack.
11370
11371 2008-11-10  Bruno Haible  <bruno@clisp.org>
11372
11373         Add support for Haiku.
11374         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
11375         glibc and BeOS, but also on Haiku.
11376         * lib/fpurge.c (fpurge): Likewise.
11377         * lib/freadable.c (freadable): Likewise.
11378         * lib/freadahead.c (freadahead): Likewise.
11379         * lib/freading.c (freading): Likewise.
11380         * lib/freadptr.c (freadptr): Likewise.
11381         * lib/freadseek.c (freadptrinc): Likewise.
11382         * lib/fseeko.c (rpl_fseeko): Likewise.
11383         * lib/fseterr.c (fseterr): Likewise.
11384         * lib/fwritable.c (fwritable): Likewise.
11385         * lib/fwriting.c (fwriting): Likewise.
11386         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
11387
11388 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
11389
11390         * lib/config.charset: Treat Haiku like BeOS.
11391
11392 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
11393
11394         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
11395         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
11396
11397 2008-11-08  Bruno Haible  <bruno@clisp.org>
11398
11399         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
11400         AC_CACHE_CHECK.
11401
11402 2008-11-08  Bruno Haible  <bruno@clisp.org>
11403
11404         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
11405
11406 2008-11-08  Bruno Haible  <bruno@clisp.org>
11407
11408         * tests/test-select-fd.c: New file.
11409         * tests/test-select-in.sh: New file.
11410         * tests/test-select-out.sh: New file.
11411         * tests/test-select-stdin.c: New file.
11412         * modules/select-tests (Files): Add the new files.
11413         (Depends-on): Add gettimeofday.
11414         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
11415         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
11416         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
11417
11418 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
11419             Bruno Haible  <bruno@clisp.org>
11420
11421         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
11422
11423 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
11424
11425         * build-aux/pmccabe2html: Added support for C++ source files.
11426
11427 2008-11-05  Ben Pfaff  <blp@gnu.org>
11428
11429         Fix lib/close.c build on Windows.
11430         * modules/close (Files): Add lib/w32sock.h.
11431
11432 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
11433
11434         Accept Bison's NEWS format.
11435         * build-aux/announce-gen (print_news_deltas): Tweak
11436         $re_prefix.
11437
11438 2008-11-04  Bruno Haible  <bruno@clisp.org>
11439
11440         * modules/random_r (Maintainer): Add glibc.
11441
11442 2008-11-04  Simon Josefsson  <simon@josefsson.org>
11443
11444         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
11445         by karl@freefriends.org (Karl Berry).
11446         * doc/alloca.texi: Likewise.
11447         * doc/c-ctype.texi: Likewise.
11448         * doc/c-strcase.texi: Likewise.
11449         * doc/c-strcaseeq.texi: Likewise.
11450         * doc/c-strcasestr.texi: Likewise.
11451         * doc/c-strstr.texi: Likewise.
11452         * doc/c-strtod.texi: Likewise.
11453         * doc/c-strtold.texi: Likewise.
11454         * doc/ctime.texi: Likewise.
11455         * doc/error.texi: Likewise.
11456         * doc/fdl.texi: Likewise.
11457         * doc/gcd.texi: Likewise.
11458         * doc/getdate.texi: Likewise.
11459         * doc/gnulib-intro.texi: Likewise.
11460         * doc/gnulib-tool.texi: Likewise.
11461         * doc/gnulib.texi: Likewise.
11462         * doc/inet_ntoa.texi: Likewise.
11463         * doc/maintain.texi: Likewise.
11464         * doc/make-stds.texi: Likewise.
11465         * doc/quote.texi: Likewise.
11466         * doc/regexprops-generic.texi: Likewise.
11467         * doc/standards.texi: Likewise.
11468         * doc/verify.texi: Likewise.
11469         * doc/visibility.texi: Likewise.
11470         * doc/gnulib.texi (GNU Free Documentation License): Include
11471         fdl-1.3.texi instead of fdl.texi.
11472
11473 2008-11-04  Simon Josefsson  <simon@josefsson.org>
11474
11475         * doc/fdl-1.3.texi: New file, from
11476         <http://www.gnu.org/licenses/fdl-1.3.texi>.
11477         * modules/fdl-1.3: Add.
11478         * MODULES.html.sh: Add fdl-1.3.
11479
11480 2008-11-03  Bruno Haible  <bruno@clisp.org>
11481
11482         Make determination of absolute name of header file work with AIX xlc.
11483         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
11484         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
11485         preprocessing.
11486         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
11487         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
11488
11489 2008-11-03  Simon Josefsson  <simon@josefsson.org>
11490
11491         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
11492         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
11493         <ludo@gnu.org>.
11494
11495 2008-11-02  Bruno Haible  <bruno@clisp.org>
11496
11497         Mark 'strpbrk' obsolete.
11498         * modules/strpbrk (Status, Notice): New sections.
11499         * modules/strtok_r (Depends-on): Add strpbrk.
11500
11501 2008-11-02  Bruno Haible  <bruno@clisp.org>
11502
11503         Mark 'strdup' obsolete.
11504         * modules/strdup (Status, Notice): New sections.
11505         * modules/findprog (Depends-on): Add strdup.
11506         * modules/getaddrinfo (Depends-on): Likewise.
11507         * modules/localename (Depends-on): Likewise.
11508         * modules/relocatable-lib (Depends-on): Likewise.
11509         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
11510         * modules/relocatable-prog (Depends-on): Likewise.
11511         * modules/trim (Depends-on): Likewise.
11512         * modules/unictype/gen-ctype (Depends-on): Likewise.
11513         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
11514
11515 2008-11-02  Bruno Haible  <bruno@clisp.org>
11516
11517         Mark 'strcspn' obsolete.
11518         * modules/strcspn (Status, Notice): New sections.
11519
11520 2008-11-02  Bruno Haible  <bruno@clisp.org>
11521
11522         Mark 'rmdir' obsolete.
11523         * modules/rmdir (Status, Notice): New sections.
11524         * modules/clean-temp (Depends-on): Add rmdir.
11525         * modules/openat (Depends-on): Likewise.
11526
11527 2008-11-02  Bruno Haible  <bruno@clisp.org>
11528
11529         Mark 'raise' obsolete.
11530         * modules/raise (Status, Notice): New sections.
11531         (Include): Specify <signal.h>.
11532         * modules/stdio (Depends-on): Add raise.
11533         * modules/write (Depends-on): Likewise.
11534
11535 2008-11-02  Bruno Haible  <bruno@clisp.org>
11536
11537         Mark 'memset' obsolete.
11538         * modules/memset (Status, Notice): New sections.
11539
11540 2008-11-02  Bruno Haible  <bruno@clisp.org>
11541
11542         Mark 'memmove' obsolete.
11543         * modules/memmove (Status, Notice): New sections.
11544         * modules/argp (Depends-on): Add memmove.
11545         * modules/argz (Depends-on): Likewise.
11546         * modules/canonicalize (Depends-on): Likewise.
11547         * modules/canonicalize-lgpl (Depends-on): Likewise.
11548         * modules/fts (Depends-on): Likewise.
11549         * modules/getcwd (Depends-on): Likewise.
11550         * modules/human (Depends-on): Likewise.
11551         * modules/regex (Depends-on): Likewise.
11552         * modules/striconveh (Depends-on): Likewise.
11553         * modules/trim (Depends-on): Likewise.
11554         * modules/unistr/u8-move (Depends-on): Likewise.
11555         * modules/unistr/u16-move (Depends-on): Likewise.
11556         * modules/unistr/u32-move (Depends-on): Likewise.
11557
11558 2008-11-02  Bruno Haible  <bruno@clisp.org>
11559
11560         Mark 'memcpy' obsolete.
11561         * modules/memcpy (Status, Notice): New sections.
11562
11563 2008-11-02  Bruno Haible  <bruno@clisp.org>
11564
11565         Mark 'memcmp' obsolete.
11566         * modules/memcmp (Status, Notice): New sections.
11567         * modules/argmatch (Depends-on): Add memchr.
11568         * modules/backupfile (Depends-on): Likewise.
11569         * modules/c-strcasestr (Depends-on): Likewise.
11570         * modules/crypto/des (Depends-on): Likewise.
11571         * modules/csharpcomp (Depends-on): Likewise.
11572         * modules/fnmatch (Depends-on): Likewise.
11573         * modules/git-merge-changelog (Depends-on): Likewise.
11574         * modules/isnand (Depends-on): Likewise.
11575         * modules/isnand-nolibm (Depends-on): Likewise.
11576         * modules/isnanf (Depends-on): Likewise.
11577         * modules/isnanf-nolibm (Depends-on): Likewise.
11578         * modules/isnanl (Depends-on): Likewise.
11579         * modules/isnanl-nolibm (Depends-on): Likewise.
11580         * modules/mbchar (Depends-on): Likewise.
11581         * modules/memcoll (Depends-on): Likewise.
11582         * modules/quotearg (Depends-on): Likewise.
11583         * modules/regex (Depends-on): Likewise.
11584         * modules/relocatable-prog (Depends-on): Likewise.
11585         * modules/same (Depends-on): Likewise.
11586         * modules/signbit (Depends-on): Likewise.
11587         * modules/strcasestr-simple (Depends-on): Likewise.
11588         * modules/unictype/gen-ctype (Depends-on): Likewise.
11589         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
11590         * modules/uniname/uniname (Depends-on): Likewise.
11591         * modules/unistr/u8-cmp (Depends-on): Likewise.
11592
11593 2008-11-02  Bruno Haible  <bruno@clisp.org>
11594
11595         Mark 'memchr' obsolete.
11596         * modules/memchr (Status, Notice): New sections.
11597         * modules/argp (Depends-on): Add memchr.
11598         * modules/base64 (Depends-on): Likewise.
11599         * modules/c-strcasestr (Depends-on): Likewise.
11600         * modules/chdir-long (Depends-on): Likewise.
11601         * modules/fnmatch (Depends-on): Likewise.
11602         * modules/getsubopt (Depends-on): Likewise.
11603         * modules/git-merge-changelog (Depends-on): Likewise.
11604         * modules/glob (Depends-on): Likewise.
11605         * modules/strcasestr-simple (Depends-on): Likewise.
11606         * modules/strnlen (Depends-on): Likewise.
11607
11608 2008-11-02  Bruno Haible  <bruno@clisp.org>
11609
11610         Mark 'atexit' obsolete.
11611         * modules/atexit (Status, Notice): New sections.
11612         * modules/chdir-long (Depends-on): Add atexit.
11613         * modules/wait-process (Depends-on): Likewise.
11614
11615 2008-11-02  Bruno Haible  <bruno@clisp.org>
11616
11617         * gnulib-tool: New option --with-obsolete.
11618         (func_usage): Document it.
11619         (func_modules_transitive_closure): Drop obsolete dependencies if
11620         incobsolete is not true.
11621         (func_import): Read and save the incobsolete variable to the cache.
11622
11623 2008-11-02  Bruno Haible  <bruno@clisp.org>
11624
11625         * modules/TEMPLATE-EXTENDED: New field 'Status'.
11626         * gnulib-tool: New option --extract-status.
11627         (func_usage): Document it.
11628         (sed_extract_prog): Recognize it.
11629         (func_get_status): New function.
11630
11631 2008-10-30  Simon Josefsson  <simon@josefsson.org>
11632
11633         * modules/sockets (License): Change from LGPL to LGPLv2+.
11634
11635 2008-10-28  Simon Josefsson  <simon@josefsson.org>
11636
11637         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
11638
11639 2008-10-28  Simon Josefsson  <simon@josefsson.org>
11640
11641         * MODULES.html.sh (Support for systems lacking POSIX:2001):
11642         Mention times and sys_times.
11643         * modules/sys_times, modules/sys_times-tests: New modules.
11644         * modules/times, modules/times-tests: Likewise
11645         * m4/sys_times_h.m4: New file.
11646         * lib/sys_times.in.h: Likewise
11647         * lib/times.c: Likewise.
11648         * tests/test-sys_times.c: Likewise.
11649         * tests/test-times.c: Likewise.
11650         * doc/posix-headers/sys_times.texi: Update.
11651         * doc/posix-functions/times.texi: Update.
11652
11653 2008-10-28  Jim Meyering  <meyering@redhat.com>
11654
11655         * modules/tempname (Depends-on): Add lstat.
11656
11657         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
11658
11659 2008-10-28  Simon Josefsson  <simon@josefsson.org>
11660
11661         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
11662         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
11663         using idiom used elsewhere in gnulib.
11664
11665 2008-10-27  Jim Meyering  <meyering@redhat.com>
11666
11667         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
11668
11669 2008-10-27  Simon Josefsson  <simon@josefsson.org>
11670
11671         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
11672         TESTS_ENVIRONMENT, for shell scripts that needs to call built
11673         programs.
11674         * tests/test-argp-2.sh: Use $EXEEXT when needed.
11675
11676 2008-10-27  Simon Josefsson  <simon@josefsson.org>
11677
11678         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
11679
11680 2008-10-27  Bruno Haible  <bruno@clisp.org>
11681
11682         * tests/test-lstat.c: Include <stdio.h>.
11683
11684 2008-10-27  Simon Josefsson  <simon@josefsson.org>
11685
11686         * modules/lstat-tests: New module.
11687         * tests/test-lstat.c: New file.
11688
11689 2008-10-26  Jim Meyering  <meyering@redhat.com>
11690
11691         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
11692
11693 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11694             Bruno Haible  <bruno@clisp.org>
11695
11696         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
11697         * modules/configmake (Include): Add a note that the include must come
11698         after all system headers.
11699         * lib/javaversion.c: Include configmake.h after all other includes.
11700
11701 2008-10-26  Bruno Haible  <bruno@clisp.org>
11702
11703         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
11704         HAVE_STRUCT_RANDOM_DATA to 1.
11705         (gl_STDLIB_H): Simplify.
11706
11707 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11708
11709         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
11710         substitute HAVE_STRUCT_RANDOM_DATA.
11711         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
11712         random_data.
11713         * modules/stdlib (Makefile.am): Substitute
11714         HAVE_STRUCT_RANDOM_DATA.
11715
11716 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11717
11718         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
11719         * doc/gnulib-intro.texi (Copyright): Likewise.
11720
11721 2008-10-26  Simon Josefsson  <simon@josefsson.org>
11722
11723         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
11724         findings.
11725
11726 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
11727             Bruno Haible  <bruno@clisp.org>
11728
11729         * lib/unistd.in.h: Include <winsock2.h>.
11730         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
11731         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
11732         Provide dummy declarations.
11733         (gethostname): Override.
11734         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
11735         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
11736         gl_PREREQ_SYS_H_WINSOCK2.
11737         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
11738         * doc/posix-functions/gethostname.texi: More details.
11739
11740 2008-10-25  Bruno Haible  <bruno@clisp.org>
11741
11742         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
11743         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
11744         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
11745
11746         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
11747         here ...
11748         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
11749         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
11750         gl_UNISTD_H_DEFAULTS.
11751
11752 2008-10-25  Eric Blake  <ebb9@byu.net>
11753
11754         signbit: avoid spurious compiler failure
11755         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
11756         declarations inside function.
11757
11758 2008-10-24  Simon Josefsson  <simon@josefsson.org>
11759             Bruno Haible  <bruno@clisp.org>
11760
11761         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
11762         * modules/random_r (Depends-on): Add stdint.
11763
11764 2008-10-24  Bruno Haible  <bruno@clisp.org>
11765
11766         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
11767         Eggert.
11768         * modules/strerror (License): Likewise.
11769
11770 2008-10-24  Jim Meyering  <meyering@redhat.com>
11771
11772         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
11773         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
11774
11775 2008-10-24  Eric Blake  <ebb9@byu.net>
11776
11777         getgroups: fix compilation when getgroups is available
11778         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
11779         but with <config.h> override of getgroups disabled.
11780
11781 2008-10-24  Simon Josefsson  <simon@josefsson.org>
11782
11783         * doc/gnulib.texi (Header files): Add note about C++ problems.
11784         Explained by Bruno Haible <bruno@clisp.org>.
11785
11786 2008-10-23  Bruno Haible  <bruno@clisp.org>
11787
11788         Define a dummy SA_NODEFER macro on Interix.
11789         * lib/signal.in.h (SA_NODEFER): Define fallback.
11790         Reported by Aleksey Cheusov <cheusov@tut.by> via
11791         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
11792
11793 2008-10-23  Bruno Haible  <bruno@clisp.org>
11794
11795         * modules/freadahead (License): Change to LGPLv2+.
11796         Suggested by Simon Josefsson.
11797
11798 2008-10-23  Jim Meyering  <meyering@redhat.com>
11799
11800         random_r: new module
11801         * modules/random_r: New file.
11802         * m4/random_r.m4: New file.
11803         * lib/random_r.c: New file, from glibc.
11804         * modules/random_r-tests: New file.
11805         * tests/test-random_r.c: New file.
11806         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
11807          Declare.
11808         (RAND_MAX): Define.
11809         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
11810         * modules/stdlib: Substitute them, too.
11811         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
11812         * doc/glibc-functions/initstate_r.texi: Mention the new module.
11813         * doc/glibc-functions/random_r.texi: Likewise.
11814         * doc/glibc-functions/setstate_r.texi: Likewise.
11815         * doc/glibc-functions/srandom_r.texi: Likewise.
11816         * config/srclist.txt: Mention it.
11817
11818 2008-10-23  David Lutterkort  <lutter@redhat.com>
11819
11820         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
11821         link requirement
11822
11823 2008-10-23  Jim Meyering  <meyering@redhat.com>
11824
11825         selinux-h: mark parameters of stub functions as intentionally unused
11826         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
11827         * lib/se-context.in.h: Likewise.
11828
11829 2008-10-22  Simon Josefsson  <simon@josefsson.org>
11830
11831         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
11832
11833 2008-10-22  Simon Josefsson  <simon@josefsson.org>
11834
11835         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
11836
11837 2008-10-22  Eric Blake  <ebb9@byu.net>
11838
11839         glthread/thread: avoid compiler warning
11840         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
11841         Add unreachable abort to silence compiler.
11842
11843 2008-10-22  Eric Blake  <ebb9@byu.net>
11844
11845         netdb: also supply struct addrinfo for cygwin 1.5.x
11846         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
11847         older cygwin.
11848         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
11849         cygwin.
11850         * doc/posix-headers/netdb.texi (netdb.h): Document this.
11851
11852 2008-10-22  Bruno Haible  <bruno@clisp.org>
11853
11854         * users.txt: Update entry about pspp.
11855
11856 2008-10-21  Bruno Haible  <bruno@clisp.org>
11857
11858         Simplification.
11859         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
11860         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
11861
11862         Simplification.
11863         * lib/ioctl.c (ioctl): Don't undefine.
11864         * lib/socket.c (socket): Don't undefine.
11865
11866         Remove unused module indicator macros.
11867         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
11868         GNULIB_$1 as a C macro.
11869
11870         * doc/posix-functions/close.texi: Undo last change.
11871         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
11872         Windows platforms.
11873
11874 2008-10-21  Bruno Haible  <bruno@clisp.org>
11875
11876         Add gethostname() declaration to <unistd.h>.
11877         * lib/unistd.in.h (gethostname): New declaration.
11878         * lib/gethostname.c: Include <unistd.h>.
11879         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
11880         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
11881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
11882         and HAVE_GETHOSTNAME.
11883         * modules/gethostname (Depends-on): Add unistd.
11884         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11885         (Include): Specify <unistd.h>.
11886         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
11887         HAVE_GETHOSTNAME.
11888         * tests/test-gethostname.c: Include <unistd.h> first.
11889
11890 2008-10-21  Bruno Haible  <bruno@clisp.org>
11891
11892         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
11893         * modules/select-tests (Depends-on): Likewise.
11894         Reported by Simon Josefsson.
11895
11896 2008-10-21  Simon Josefsson  <simon@josefsson.org>
11897
11898         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
11899         * lib/accept.c: New file, based on winsock.c.
11900         * lib/bind.c: New file, based on winsock.c.
11901         * lib/connect.c: New file, based on winsock.c.
11902         * lib/getpeername.c: New file, based on winsock.c.
11903         * lib/getsockname.c: New file, based on winsock.c.
11904         * lib/getsockopt.c: New file, based on winsock.c.
11905         * lib/ioctl.c: New file, based on winsock.c.
11906         * lib/listen.c: New file, based on winsock.c.
11907         * lib/recv.c: New file, based on winsock.c.
11908         * lib/recvfrom.c: New file, based on winsock.c.
11909         * lib/send.c: New file, based on winsock.c.
11910         * lib/sendto.c: New file, based on winsock.c.
11911         * lib/setsockopt.c: New file, based on winsock.c.
11912         * lib/shutdown.c: New file, based on winsock.c.
11913         * lib/socket.c: New file, based on winsock.c.
11914         * lib/w32sock.h: New file, based on winsock.c.
11915         * lib/winsock.c: Remove file.
11916         * modules/accept: Likewise.
11917         * modules/bind: Likewise.
11918         * modules/connect: Likewise.
11919         * modules/getpeername: Likewise.
11920         * modules/getsockname: Likewise.
11921         * modules/getsockopt: Likewise.
11922         * modules/ioctl: Likewise.
11923         * modules/listen: Likewise.
11924         * modules/recv: Likewise.
11925         * modules/recvfrom: Likewise.
11926         * modules/send: Likewise.
11927         * modules/sendto: Likewise.
11928         * modules/setsockopt: Likewise.
11929         * modules/shutdown: Likewise.
11930         * modules/socket: Use socket.c instead of winsock.c.
11931         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
11932         * doc/posix-functions/accept.texi: Doc fix.
11933         * doc/posix-functions/bind.texi: Doc fix.
11934         * doc/posix-functions/close.texi: Doc fix.
11935         * doc/posix-functions/connect.texi: Doc fix.
11936         * doc/posix-functions/getpeername.texi: Doc fix.
11937         * doc/posix-functions/getsockname.texi: Doc fix.
11938         * doc/posix-functions/getsockopt.texi: Doc fix.
11939         * doc/posix-functions/ioctl.texi: Doc fix.
11940         * doc/posix-functions/listen.texi: Doc fix.
11941         * doc/posix-functions/recv.texi: Doc fix.
11942         * doc/posix-functions/recvfrom.texi: Doc fix.
11943         * doc/posix-functions/send.texi: Doc fix.
11944         * doc/posix-functions/sendto.texi: Doc fix.
11945         * doc/posix-functions/setsockopt.texi: Doc fix.
11946         * doc/posix-functions/shutdown.texi: Doc fix.
11947         * doc/posix-functions/socket.texi: Doc fix.
11948
11949 2008-10-20  Bruno Haible  <bruno@clisp.org>
11950
11951         Take into account the role of SIGABRT_COMPAT on Windows 2008.
11952         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
11953         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
11954         as an alias for SIGABRT.
11955         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
11956         (sigaction): Map it to SIGABRT.
11957         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
11958
11959 2008-10-20  Bruno Haible  <bruno@clisp.org>
11960
11961         * lib/fts.c: Don't include lstat.h.
11962         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
11963
11964         Move the lstat() declaration to <sys/stat.h>.
11965         * lib/lstat.h: Remove file.
11966         * lib/sys_stat.in.h: Add special invocation convention.
11967         (lstat): New declaration.
11968         * lib/lstat.c (orig_lstat): New function.
11969         (rpl_lstat): Use orig_lstat instead of lstat.
11970         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
11971         AC_C_INLINE. Set REPLACE_LSTAT.
11972         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
11973         and REPLACE_LSTAT.
11974         * modules/lstat (Files): Remove lib/lstat.h.
11975         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
11976         (Include): Specify <sys/stat.h> instead of lstat.h.
11977         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
11978         REPLACE_LSTAT.
11979         * NEWS: Mention the change.
11980
11981 2008-10-20  Bruno Haible  <bruno@clisp.org>
11982
11983         * modules/posix_spawn-tests: New file.
11984         * tests/test-posix_spawn3.c: New file.
11985
11986 2008-10-20  Bruno Haible  <bruno@clisp.org>
11987
11988         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
11989         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
11990         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
11991         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
11992         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
11993
11994 2008-10-20  Bruno Haible  <bruno@clisp.org>
11995
11996         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
11997         of posix_spawn on AIX 5.3.
11998
11999 2008-10-20  Bruno Haible  <bruno@clisp.org>
12000
12001         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
12002
12003 2008-10-20  Bruno Haible  <bruno@clisp.org>
12004
12005         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
12006         of AC_LANG_PROGRAM.
12007
12008 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12009
12010         * lib/netdb.in.h: Don't define GNU specific constants until they
12011         are supported or needed.  Reported by Bruno Haible
12012         <bruno@clisp.org>.
12013
12014 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12015
12016         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
12017
12018 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12019
12020         * lib/getaddrinfo.h: Remove file.
12021         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
12022         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
12023         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
12024         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
12025         * modules/netdb: Substitute GNULIB_GETADDRINFO.
12026         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
12027         * tests/test-getaddrinfo.c: Likewise.
12028         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
12029         * NEWS: Mention change.
12030
12031 2008-10-19  Bruno Haible  <bruno@clisp.org>
12032
12033         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
12034
12035 2008-10-19  Bruno Haible  <bruno@clisp.org>
12036
12037         * lib/wait-process.c: Include simply <sys/wait.h>.
12038         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
12039         WIFSTOPPED): Remove fallback definitions.
12040         * modules/wait-process (Depends-on): Add sys_wait.
12041
12042         New module 'sys_wait'.
12043         * modules/sys_wait: New file.
12044         * lib/sys_wait.in.h: New file, partially copied from
12045         lib/wait-process.c.
12046         * m4/sys_wait_h.m4: New file.
12047         * doc/posix-headers/sys_wait.texi: Mention the new module.
12048
12049 2008-10-19  Bruno Haible  <bruno@clisp.org>
12050
12051         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
12052
12053 2008-10-19  Bruno Haible  <bruno@clisp.org>
12054
12055         Assume that waitpid() fills an 'int' status, not a 'union wait'.
12056         * lib/wait-process.c (WAIT_T): Remove type.
12057         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
12058         (wait_subprocess): Update.
12059
12060 2008-10-19  Bruno Haible  <bruno@clisp.org>
12061
12062         New module 'atoll'.
12063         * modules/atoll: New file.
12064         * lib/stdlib.in.h (atoll): New declaration.
12065         * lib/atoll.c: New file, from glibc with modifications.
12066         * m4/atoll.m4: New file.
12067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
12068         HAVE_ATOLL.
12069         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
12070         * doc/posix-functions/atoll.texi: Mention the new module.
12071
12072 2008-10-19  Bruno Haible  <bruno@clisp.org>
12073
12074         Add strtoull() declaration to <stdlib.h>.
12075         * lib/stdlib.in.h (strtoull): New declaration.
12076         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12077         Set HAVE_STRTOULL.
12078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
12079         HAVE_STRTOULL.
12080         * modules/strtoull (Depends-on): Add stdlib.
12081         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12082         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
12083         HAVE_STRTOULL.
12084
12085 2008-10-19  Bruno Haible  <bruno@clisp.org>
12086
12087         Add strtoll() declaration to <stdlib.h>.
12088         * lib/stdlib.in.h (strtoll): New declaration.
12089         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12090         Set HAVE_STRTOLL.
12091         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
12092         HAVE_STRTOLL.
12093         * modules/strtoll (Depends-on): Add stdlib.
12094         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12095         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
12096
12097 2008-10-19  Bruno Haible  <bruno@clisp.org>
12098
12099         * modules/bcopy (Depends-on): Add strings.
12100         (Include): Specify <strings.h>.
12101
12102 2008-10-19  Bruno Haible  <bruno@clisp.org>
12103
12104         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
12105
12106 2008-10-19  Bruno Haible  <bruno@clisp.org>
12107
12108         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
12109         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
12110         mingw.
12111
12112 2008-10-19  Bruno Haible  <bruno@clisp.org>
12113
12114         * lib/atanl.c: Don't include isnanl.h.
12115         * lib/cosl.c: Likewise.
12116         * lib/ldexpl.c: Likewise.
12117         * lib/logl.c: Likewise.
12118         * lib/sinl.c: Likewise.
12119         * lib/sqrtl.c: Likewise.
12120         * lib/tanl.c: Likewise.
12121
12122         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
12123         * lib/isnanf.h: Remove file.
12124         * lib/isnand.h: Remove file.
12125         * lib/isnanl.h: Remove file.
12126         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
12127         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
12128         macros.
12129         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
12130         HAVE_ISNANF, don't define it as a C macro.
12131         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
12132         HAVE_ISNAND, don't define it as a C macro.
12133         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
12134         HAVE_ISNANL, don't define it as a C macro.
12135         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
12136         HAVE_ISNAN[FDL].
12137         * modules/isnanf (Files): Remove lib/isnanf.h.
12138         (Depends-on): Add math.
12139         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12140         (Include): Specify <math.h> instead of isnanf.h.
12141         * modules/isnand (Files): Remove lib/isnand.h.
12142         (Depends-on): Add math.
12143         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12144         (Include): Specify <math.h> instead of isnand.h.
12145         * modules/isnanl (Files): Remove lib/isnanl.h.
12146         (Depends-on): Add math.
12147         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12148         (Include): Specify <math.h> instead of isnanl.h.
12149         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
12150         HAVE_ISNAN[FDL].
12151         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
12152         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
12153         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
12154         * NEWS: Mention the change.
12155
12156 2008-10-18  Bruno Haible  <bruno@clisp.org>
12157
12158         Add getusershell(), setusershell(), endusershell() declarations to
12159         <unistd.h>.
12160         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
12161         declarations.
12162         * lib/getusershell.c: Include unistd.h.
12163         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
12164         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12165         HAVE_GETUSERSHELL.
12166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
12167         and HAVE_GETUSERSHELL.
12168         * modules/getusershell (Depends-on): Add unistd, extensions.
12169         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12170         (Include): Specify <unistd.h>.
12171         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
12172         HAVE_GETUSERSHELL.
12173
12174 2008-10-18  Bruno Haible  <bruno@clisp.org>
12175
12176         Add a getloadavg() declaration to <stdlib.h>.
12177         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
12178         getloadavg declaration.
12179         (getloadavg): New declaration.
12180         * lib/getloadavg.c: Include <stdlib.h> first.
12181         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
12182         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
12183         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
12184         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
12185         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12186         * modules/getloadavg (Depends-on): Add stdlib, extensions.
12187         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12188         (Include): Specify <stdlib.h>.
12189         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
12190         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12191
12192 2008-10-18  Bruno Haible  <bruno@clisp.org>
12193
12194         * lib/dirchownmod.c: Don't include lchmod.h.
12195
12196         Move the lchmod() declaration to <sys/stat.h>.
12197         * lib/lchmod.h: Remove file.
12198         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
12199         (lchmod): New declaration, moved here from lib/lchown.h.
12200         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
12201         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
12202         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
12203         and HAVE_LCHMOD.
12204         * modules/lchmod (Files): Remove lib/lchmod.h.
12205         (Depends-on): Add sys_stat, extensions.
12206         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12207         (Include): Specify <sys/stat.h> instead of lchmod.h.
12208         * modules/sys_stat (Depends-on): Add link-warning.
12209         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
12210         definition of GL_LINK_WARNING.
12211         * NEWS: Mention the change.
12212
12213 2008-10-18  Bruno Haible  <bruno@clisp.org>
12214
12215         * lib/fchdir.c: Don't include dirfd.h.
12216         * lib/fts.c: Likewise.
12217         * lib/getcwd.c: Likewise.
12218         * lib/glob.c: Likewise.
12219
12220         Move the dirfd() declaration to <dirent.h>.
12221         * lib/dirfd.h: Remove file.
12222         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
12223         (dirfd): New declaration.
12224         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
12225         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
12226         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
12227         HAVE_DECL_DIRFD.
12228         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
12229         HAVE_DECL_DIRFD.
12230         * modules/dirfd (Files): Remove lib/dirfd.h.
12231         (Depends-on): Add dirent, extensions.
12232         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
12233         (Include): Specify <dirent.h> instead of dirfd.h.
12234         * modules/dirent (Depends-on): Add link-warning.
12235         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
12236         definition of GL_LINK_WARNING.
12237         * NEWS: Mention the change.
12238
12239 2008-10-18  Bruno Haible  <bruno@clisp.org>
12240
12241         Move the euidaccess() declaration to <unistd.h>.
12242         * lib/euidaccess.h: Remove file.
12243         * lib/unistd.in.h (euidaccess): New declaration.
12244         * lib/euidaccess.c: Don't include euidaccess.h.
12245         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
12246         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
12247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
12248         and HAVE_EUIDACCESS.
12249         * modules/euidaccess (Files): Remove lib/euidaccess.h.
12250         (Depends-on): Add unistd.
12251         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12252         (Include): Specify <unistd.h> instead of euidaccess.h.
12253         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
12254         HAVE_EUIDACCESS.
12255         * NEWS: Mention the change.
12256
12257 2008-10-18  Bruno Haible  <bruno@clisp.org>
12258
12259         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
12260
12261         Move the getdomainname() declaration to <unistd.h>.
12262         * lib/getdomainname.h: Remove file.
12263         * lib/unistd.in.h (getdomainname): New declaration.
12264         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
12265         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
12266         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12267         HAVE_GETDOMAINNAME.
12268         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12269         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
12270         * modules/getdomainname (Files): Remove lib/getdomainname.h.
12271         (Depends-on): Add unistd, extensions.
12272         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12273         (Includes): Specify <unistd.h> instead of getdomainname.h.
12274         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
12275         HAVE_GETDOMAINNAME.
12276         * NEWS: Mention the change.
12277
12278 2008-10-18  Bruno Haible  <bruno@clisp.org>
12279
12280         * modules/dirent: New file.
12281         * m4/dirent_h.m4: New file.
12282         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
12283         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
12284         * modules/fchdir (Files): Remove lib/dirent.in.h.
12285         (Depends-on): Add dirent.
12286         (Makefile.am): Move rules to modules/dirent.
12287         * doc/posix-headers/dirent.texi: Mention the new module.
12288
12289 2008-10-18  Bruno Haible  <bruno@clisp.org>
12290
12291         Avoid -Wunused-parameter warnings in public gnulib header files.
12292         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
12293         macro.
12294         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
12295
12296 2008-10-18  Bruno Haible  <bruno@clisp.org>
12297
12298         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
12299         * doc/glibc-functions/error.texi: Mention the module 'error'.
12300         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
12301         * doc/glibc-functions/getdomainname.texi: Mention the module
12302         'getdomainname'.
12303         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
12304         * doc/glibc-functions/getpagesize.texi: Mention the module
12305         'getpagesize'.
12306         * doc/glibc-functions/getusershell.texi: Mention the module
12307         'getusershell'.
12308         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
12309         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
12310         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
12311         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
12312         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
12313         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
12314         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
12315         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
12316         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
12317         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
12318         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
12319         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
12320         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
12321         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
12322
12323 2008-10-17  Bruno Haible  <bruno@clisp.org>
12324
12325         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
12326         HP-UX and IRIX, use -0.0L.
12327         * tests/test-ceill.c (minus_zero): Likewise.
12328         * tests/test-floorl.c (minus_zero): Likewise.
12329         * tests/test-frexpl.c (minus_zero): Likewise.
12330         * tests/test-isnan.c (minus_zerol): Likewise.
12331         * tests/test-isnanl.h (minus_zero): Likewise.
12332         * tests/test-ldexpl.c (minus_zero): Likewise.
12333         * tests/test-roundl.c (minus_zero): Likewise.
12334         * tests/test-signbit.c (minus_zerol): Likewise.
12335         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
12336         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
12337         * tests/test-truncl.c (minus_zero): Likewise.
12338         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
12339         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
12340         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
12341         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
12342
12343 2008-10-17  Bruno Haible  <bruno@clisp.org>
12344
12345         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
12346         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
12347         that it gets activated only for gcc >= 3.0.
12348         * lib/dirent.in.h: Likewise.
12349         * lib/errno.in.h: Likewise.
12350         * lib/fcntl.in.h: Likewise.
12351         * lib/float.in.h: Likewise.
12352         * lib/iconv.in.h: Likewise.
12353         * lib/inttypes.in.h: Likewise.
12354         * lib/locale.in.h: Likewise.
12355         * lib/math.in.h: Likewise.
12356         * lib/netdb.in.h: Likewise.
12357         * lib/netinet_in.in.h: Likewise.
12358         * lib/search.in.h: Likewise.
12359         * lib/signal.in.h: Likewise.
12360         * lib/spawn.in.h: Likewise.
12361         * lib/stdarg.in.h: Likewise.
12362         * lib/stdint.in.h: Likewise.
12363         * lib/stdio.in.h: Likewise.
12364         * lib/stdlib.in.h: Likewise.
12365         * lib/string.in.h: Likewise.
12366         * lib/strings.in.h: Likewise.
12367         * lib/sys_file.in.h: Likewise.
12368         * lib/sys_ioctl.in.h: Likewise.
12369         * lib/sys_select.in.h: Likewise.
12370         * lib/sys_socket.in.h: Likewise.
12371         * lib/sys_stat.in.h: Likewise.
12372         * lib/sys_time.in.h: Likewise.
12373         * lib/sysexits.in.h: Likewise.
12374         * lib/time.in.h: Likewise.
12375         * lib/unistd.in.h: Likewise.
12376         * lib/wchar.in.h: Likewise.
12377         * lib/wctype.in.h: Likewise.
12378         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12379
12380 2008-10-17  Jim Meyering  <meyering@redhat.com>
12381
12382         ignore-value: don't depend on inline module
12383         * modules/ignore-value (Depends-on): Remove 'inline'.
12384         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
12385         Suggestion from Bruno Haible.
12386
12387 2008-10-17  Bruno Haible  <bruno@clisp.org>
12388
12389         New implementation of condition variables for Win32.
12390         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
12391         (gl_linked_waitqueue_t): New type.
12392         (gl_cond_t): Use it.
12393         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
12394         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
12395         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
12396         (glthread_cond_init_func, glthread_cond_wait_func,
12397         glthread_cond_timedwait_func, glthread_cond_signal_func,
12398         glthread_cond_broadcast_func, glthread_cond_destroy_func):
12399         Reimplemented on the basis of gl_linked_waitqueue_t.
12400         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
12401         gl_waitqueue_t.
12402         (gl_rwlock_t): Update.
12403         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
12404
12405 2008-10-17  Simon Josefsson  <simon@josefsson.org>
12406
12407         * modules/recvfrom (Depends-on): Add dependency on getpeername.
12408         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12409
12410 2008-10-17  Jim Meyering  <meyering@redhat.com>
12411
12412         ignore-value: new module
12413         * modules/ignore-value: New file.
12414         * lib/ignore-value.h: New file.
12415         * MODULES.html.sh (Compiler warning management): New section,
12416         just for this module.  More to come.
12417
12418 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12419
12420         open-safer.c: avoid 'signed and unsigned in conditional...' warning
12421         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
12422         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
12423
12424 2008-10-16  Jim Meyering  <meyering@redhat.com>
12425
12426         openat-die.c: avoid 'no previous prototype' warning
12427         * lib/openat-die.c: Include "openat.h".
12428         Reported by Reuben Thomas <rrt@sc3d.org>.
12429
12430 2008-10-16  Simon Josefsson  <simon@josefsson.org>
12431
12432         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
12433         * lib/netdb.in.h: Fix typo.
12434         Reported by Bruno Haible  <bruno@clisp.org>
12435
12436         * lib/netdb.in.h: Include sys/socket.h for platforms without
12437         netdb.h, to get structures like hostent on MinGW.
12438         * modules/netdb (Depends-on): Add sys_socket.
12439
12440 2008-10-15  Simon Josefsson  <simon@josefsson.org>
12441
12442         * modules/netdb, modules/netdb-tests: New file.
12443         * m4/netdb_h.m4: New file.
12444         * lib/netdb.in.h: Add, currently just an empty file pending
12445         definitions.
12446         * tests/test-netdb.c: New file.
12447         * doc/posix-headers/netdb.texi: Mention that we replace it if
12448         needed.
12449         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12450         netdb.
12451
12452 2008-10-15  Simon Josefsson  <simon@josefsson.org>
12453
12454         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
12455         with code.
12456
12457 2008-10-13  Bruno Haible  <bruno@clisp.org>
12458
12459         * lib/glthread/cond.c (glthread_cond_wait_func,
12460         glthread_cond_timedwait_func): Add a comment.
12461
12462 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12463
12464         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
12465         * tests/test-select.c: Likewise,
12466
12467 2008-10-13  Bruno Haible  <bruno@clisp.org>
12468
12469         * lib/glthread/cond.c (glthread_cond_wait_func,
12470         glthread_cond_timedwait_func): Fix variable name.
12471         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
12472
12473 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
12474
12475         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
12476         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
12477         struct sockaddr.sa_len.
12478         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
12479
12480 2008-10-13  Simon Josefsson  <simon@josefsson.org>
12481
12482         * build-aux/pmccabe2html: Add css and css_url parameters.
12483
12484 2008-10-12  Bruno Haible  <bruno@clisp.org>
12485
12486         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
12487         calling aclx_get.
12488         Reported by Rainer Tammer <tammer@tammer.net>.
12489
12490 2008-10-12  Bruno Haible  <bruno@clisp.org>
12491
12492         Use msvcrt aware primitives for creation/termination of Win32 threads.
12493         * lib/glthread/thread.c: Include <process.h>.
12494         (glthread_create_func): Use _beginthreadex instead of CreateThread.
12495         (wrapper_func): Update signature.
12496         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
12497
12498 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12499             Bruno Haible  <bruno@clisp.org>
12500
12501         Provide a Win32 implementation of the 'cond' module.
12502         * lib/glthread/cond.h [USE_WIN32]: New implementation.
12503         * lib/glthread/cond.c (glthread_cond_init_func,
12504         glthread_cond_wait_func, glthread_cond_timedwait_func,
12505         glthread_cond_signal_func, glthread_cond_broadcast_func,
12506         glthread_cond_destroy_func) [USE_WIN32]: New functions.
12507         * modules/cond (Dependencies): Add gettimeofday.
12508
12509 2008-10-11  Bruno Haible  <bruno@clisp.org>
12510
12511         Make sleep work on older versions of mingw.
12512         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
12513         only whether it exists.
12514         * doc/posix-functions/sleep.texi: Mention the problem with older
12515         versions of mingw.
12516
12517 2008-10-11  Bruno Haible  <bruno@clisp.org>
12518
12519         New module 'shutdown'.
12520         * modules/shutdown: New file.
12521         * lib/sys_socket.in.h (shutdown): New declaration.
12522         * lib/winsock.c (shutdown): New function.
12523         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
12524         GNULIB_SHUTDOWN.
12525         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
12526         * doc/posix-functions/shutdown.texi: Document the new module.
12527
12528 2008-10-11  Jim Meyering  <meyering@redhat.com>
12529
12530         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
12531
12532 2008-10-11  Bruno Haible  <bruno@clisp.org>
12533
12534         New module 'fclose'.
12535         * modules/fclose: New file.
12536         * lib/stdio.in.h (fclose): New declaration.
12537         * lib/fclose.c: New file.
12538         * m4/fclose.m4: New file.
12539         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
12540         REPLACE_FCLOSE.
12541         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
12542         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
12543         REPLACE_FCLOSE.
12544         * modules/close (Depends-on): fclose.
12545         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
12546
12547 2008-10-11  Bruno Haible  <bruno@clisp.org>
12548
12549         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
12550         set errno and don't call _close.
12551
12552 2008-10-10  Bruno Haible  <bruno@clisp.org>
12553
12554         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
12555         ACL, not afterwards. Fixes test failure on Cygwin.
12556
12557 2008-10-09  Ben Pfaff  <blp@gnu.org>
12558
12559         * build-aux/announce-gen: Fix gnulib version related part of usage
12560         message.  Die with a useful error message if no tarballs are
12561         found.
12562
12563 2008-10-10  Jim Meyering  <meyering@redhat.com>
12564
12565         bootstrap: use git's --depth=N option only if it's supported
12566         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
12567         recognize the --depth option.  Reported by Pádraig Brady.
12568
12569 2008-10-09  Bruno Haible  <bruno@clisp.org>
12570
12571         New module 'ioctl'.
12572         * modules/ioctl: New file.
12573         * lib/sys_socket.in.h (ioctl): Remove declaration.
12574         * lib/winsock.c: Include <sys/ioctl.h>.
12575         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
12576         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
12577         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
12578         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
12579         * doc/posix-functions/ioctl.texi: Mention the new module.
12580
12581 2008-10-09  Bruno Haible  <bruno@clisp.org>
12582
12583         New module 'sys_ioctl'.
12584         * lib/sys_ioctl.in.h: New file.
12585         * m4/sys_ioctl_h.m4: New file.
12586         * modules/sys_ioctl: New file.
12587         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
12588
12589 2008-10-09  Bruno Haible  <bruno@clisp.org>
12590
12591         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
12592         * lib/winsock.c: Include <stdarg.h>.
12593         (rpl_ioctl): Change to second argument 'int' and then varargs.
12594
12595 2008-10-09  Bruno Haible  <bruno@clisp.org>
12596
12597         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
12598         when the sys_socket module is present and the system has <winsock2.h>.
12599
12600 2008-10-09  Bruno Haible  <bruno@clisp.org>
12601
12602         * doc/posix-functions/close.texi: Mention module 'close' instead of
12603         module 'sys_socket'.
12604
12605 2008-10-09  Bruno Haible  <bruno@clisp.org>
12606
12607         * doc/glibc-headers/sys_ioctl.texi: New file.
12608         * doc/gnulib.texi: Include it.
12609
12610 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12611             Bruno Haible  <bruno@clisp.org>
12612
12613         Combine the two replacements of 'close'.
12614         * lib/sys_socket.in.h (close): Define to a reminder to include
12615         <unistd.h>.
12616         (_gl_close_fd_maybe_socket): New declaration.
12617         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
12618         * lib/winsock.c (close): Remove undefinition.
12619         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
12620         needed for the gnulib module 'close'.
12621         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
12622         define to an error symbol or to a warning, if suitable.
12623         * lib/close.c: Include <sys/socket.h>.
12624         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
12625         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
12626         UNISTD_H_HAVE_WINSOCK2_H.
12627         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
12628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12629         UNISTD_H_HAVE_WINSOCK2_H.
12630         * modules/sys_socket (Files): Add m4/unistd_h.m4.
12631         (configure.ac): Set a module indicator.
12632         (Makefile.am): Substitute GNULIB_CLOSE.
12633         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
12634         * modules/poll-tests (Depends-on): Add close.
12635         * modules/select-tests (Depends-on): Likewise.
12636
12637 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12638             Bruno Haible  <bruno@clisp.org>
12639
12640         New module 'close'.
12641         * modules/close: New file.
12642         * lib/unistd.in.h (close): Move declaration out of the
12643         FCHDIR_REPLACEMENT scope.
12644         (_gl_unregister_fd): New declaration.
12645         * lib/close.c: New file.
12646         * lib/fchdir.c (rpl_close): Remove function.
12647         * m4/close.m4: New file.
12648         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
12649         close.
12650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
12651         REPLACE_CLOSE.
12652         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
12653         REPLACE_CLOSE.
12654         * modules/fchdir (Depends-on): Add close.
12655
12656 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12657             Bruno Haible  <bruno@clisp.org>
12658
12659         * lib/fcntl.in.h (open): Simplify conditionals.
12660         (_gl_register_fd): New declaration.
12661         * lib/fchdir.c (rpl_open): Remove function.
12662         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
12663         also.
12664         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
12665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
12666         open.
12667
12668 2008-10-09  Jim Meyering  <meyering@redhat.com>
12669
12670         GNUmakefile: use the more name-space-friendly "_version"
12671         * top/GNUmakefile (_dummy): Update.
12672         (_version): Rename from "version".
12673
12674 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12675             Bruno Haible  <bruno@clisp.org>
12676
12677         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
12678         rpl_close.
12679         (_gl_register_fd): New function, extracted from rpl_open.
12680         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
12681         (rpl_open, rpl_opendir): Use _gl_register_fd.
12682
12683 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
12684
12685         Fix organization of 'open' replacement.
12686         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
12687         (gl_FUNC_OPEN): Use it.
12688         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
12689
12690 2008-10-08  Bruno Haible  <bruno@clisp.org>
12691
12692         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
12693
12694 2008-10-08  Simon Josefsson  <simon@josefsson.org>
12695
12696         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
12697         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
12698         listen).
12699
12700 2008-10-08  Eric Blake  <ebb9@byu.net>
12701
12702         GNUmakefile: add 'make version' target
12703         * top/GNUmakefile (_curr-ver): Split version update rules...
12704         (version): ...into a target.
12705
12706 2008-10-07  Bruno Haible  <bruno@clisp.org>
12707
12708         Use a more portable replacement expression for -0.0L.
12709         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
12710         instead of -0.0L. Fix m4 quotation.
12711
12712         * tests/test-signbit.c: Include <float.h>.
12713         (minus_zero): New variable.
12714         (test_signbitl): Use minus_zero instead of -zero.
12715         * modules/signbit-tests (Depends-on): Add float.
12716
12717         * tests/test-ceill.c: Include <float.h>.
12718         (zero): Remove variable.
12719         (minus_zero): New variable.
12720         (main): Use minus_zero instead of -zero.
12721         * modules/ceill-tests (Depends-on): Add float.
12722
12723         * tests/test-floorl.c: Include <float.h>.
12724         (zero): Remove variable.
12725         (minus_zero): New variable.
12726         (main): Use minus_zero instead of -zero.
12727         * modules/floorl-tests (Depends-on): Add float.
12728
12729         * tests/test-roundl.c: Include <float.h>.
12730         (zero): Remove variable.
12731         (minus_zero): New variable.
12732         (main): Use minus_zero instead of -zero.
12733         * modules/roundl-tests (Depends-on): Add float.
12734
12735         * tests/test-truncl.c: Include <float.h>.
12736         (zero): Remove variable.
12737         (minus_zero): New variable.
12738         (main): Use minus_zero instead of -zero.
12739         * modules/truncl-tests (Depends-on): Add float.
12740
12741         * tests/test-frexpl.c (zero): Remove variable.
12742         (minus_zero): New variable.
12743         (main): Use minus_zero instead of -zero.
12744         * modules/frexpl-tests (Depends-on): Add float.
12745
12746         * tests/test-isnan.c (zerol): Remove variable.
12747         (minus_zerol): New variable.
12748         (test_long_double): Use minus_zerol instead of -zerol.
12749         * modules/isnan-tests (Depends-on): Add float.
12750
12751         * tests/test-isnanl.h (zero): Remove variable.
12752         (minus_zero): New variable.
12753         (main): Use minus_zero instead of -zero.
12754         * modules/isnanl-nolibm-tests (Depends-on): Add float.
12755         * modules/isnanl-tests (Depends-on): Add float.
12756
12757         * tests/test-ldexpl.c (zero): Remove variable.
12758         (minus_zero): New variable.
12759         (main): Use minus_zero instead of -zero.
12760         * modules/ldexpl-tests (Depends-on): Add float.
12761
12762         * tests/test-snprintf-posix.h (zerol): Remove variable.
12763         (minus_zerol): New variable.
12764         (test_function): Use minus_zerol instead of -zerol.
12765         * modules/snprintf-posix-tests (Depends-on): Add float.
12766         * modules/vsnprintf-posix-tests (Depends-on): Add float.
12767
12768         * tests/test-sprintf-posix.h (zerol): Remove variable.
12769         (minus_zerol): New variable.
12770         (test_function): Use minus_zerol instead of -zerol.
12771         * modules/sprintf-posix-tests (Depends-on): Add float.
12772         * modules/vsprintf-posix-tests (Depends-on): Add float.
12773
12774         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
12775         (minus_zerol): New variable.
12776         (test_function): Use minus_zerol instead of -zerol.
12777         * modules/vasnprintf-posix-tests (Depends-on): Add float.
12778
12779         * tests/test-vasprintf-posix.c (zerol): Remove variable.
12780         (minus_zerol): New variable.
12781         (test_function): Use minus_zerol instead of -zerol.
12782         * modules/vasprintf-posix-tests (Depends-on): Add float.
12783
12784 2008-10-07  Simon Josefsson  <simon@josefsson.org>
12785
12786         * MODULES.html.sh (Support for building documentation): Mention
12787         pmccabe2html.  Sort entries.
12788
12789         Add pmccabe2html module, from gnupdf.
12790         * build-aux/pmccabe.css: New file.
12791         * build-aux/pmccabe2html: New file.
12792         * m4/pmccabe2html.m4: New file.
12793         * modules/pmccabe2html: New file.
12794
12795 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
12796
12797         flock: new module
12798         * MODULES.html.sh: Add to list of modules.
12799         * lib/flock.c: flock implementation for Windows and Unix systems
12800         which have fcntl.
12801         * doc/glibc-functions/flock.texi: Update documentation.
12802         * lib/sys_file.in.h: <sys/file.h> header file.
12803         * m4/flock.m4: M4 macros.
12804         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
12805         * modules/flock: flock module.
12806         * modules/flock-tests: flock tests module.
12807         * modules/sys_file: sys/file.h module.
12808         * tests/test-flock.c: test suite for flock.
12809
12810 2008-10-06  Jim Meyering  <meyering@redhat.com>
12811
12812         bootstrap: check for LT_INIT more portably still ;-)
12813         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
12814         Spotted by Bruno Haible.
12815
12816 2008-10-06  Eric Blake  <ebb9@byu.net>
12817
12818         test-signbit: avoid tripping Irix cc bug on -0.0L
12819         * tests/test-signbit.c (minus_zerol): Delete, and replace with
12820         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
12821         entire testsuite consistent and avoids an Irix 6.2 bug.
12822
12823 2008-10-05  Bruno Haible  <bruno@clisp.org>
12824             Jim Meyering  <jim@meyering.net>
12825
12826         Add an option for ignoring EPIPE during close_stdout.
12827         * lib/closeout.h: Include <stdbool.h>.
12828         (close_stdout_set_ignore_EPIPE): New declaration.
12829         * lib/closeout.c: Include <stdbool.h>.
12830         (ignore_EPIPE): New variable.
12831         (close_stdout_set_ignore_EPIPE): New function.
12832         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
12833         * lib/close-stream.c (close_stream): Mention the possible EPIPE
12834         failure.
12835         * modules/closeout (Depends-on): Add stdbool.
12836
12837 2008-10-05  Bruno Haible  <bruno@clisp.org>
12838
12839         * modules/accept: New file.
12840         * modules/bind: New file.
12841         * modules/connect: New file.
12842         * modules/getpeername: New file.
12843         * modules/getsockname: New file.
12844         * modules/getsockopt: New file.
12845         * modules/listen: New file.
12846         * modules/recv: New file.
12847         * modules/recvfrom: New file.
12848         * modules/send: New file.
12849         * modules/sendto: New file.
12850         * modules/setsockopt: New file.
12851         * modules/socket: New file.
12852         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
12853         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12854         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
12855         the particular module is requested. Add a link warning when the
12856         particular module is not requested.
12857         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
12858         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
12859         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
12860         the particular module is requested.
12861         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
12862         gl_SYS_SOCKET_H_DEFAULTS): New macros.
12863         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
12864         * modules/sys_socket (Depends-on): Add link-warning.
12865         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
12866         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
12867         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
12868         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
12869         GL_LINK_WARNING.
12870         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
12871         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
12872         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
12873         * doc/posix-functions/getpeername.texi: Mention the new module
12874         'getpeername'.
12875         * doc/posix-functions/getsockname.texi: Mention the new module
12876         'getsockname'.
12877         * doc/posix-functions/getsockopt.texi: Mention the new module
12878         'getsockopt'.
12879         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
12880         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
12881         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
12882         * doc/posix-functions/send.texi: Mention the new module 'send'.
12883         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
12884         * doc/posix-functions/setsockopt.texi: Mention the new module
12885         'setsockopt'.
12886         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
12887         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
12888         listen, connect, accept.
12889         * modules/select-tests (Depends-on): Likewise.
12890
12891 2008-10-05  Bruno Haible  <bruno@clisp.org>
12892
12893         * lib/winsock.c (strerror): Remove unused #undef.
12894         (rpl_close): Remove unused local variable.
12895
12896         * modules/sys_socket (Depends-on); Add errno.
12897
12898 2008-10-05  Bruno Haible  <bruno@clisp.org>
12899
12900         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
12901         (select): Add a link warning when the 'select' module is not used.
12902         * modules/sys_select (Depends-on): Add link-warning.
12903         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
12904         Suggested by Paolo Bonzini.
12905
12906 2008-10-05  Jim Meyering  <meyering@redhat.com>
12907
12908         bootstrap: check for LT_INIT more portably
12909         * build-aux/bootstrap: Avoid using grep -E, since it's not
12910         portable enough.  Suggestion from Bruno Haible.
12911
12912 2008-10-05  Bruno Haible  <bruno@clisp.org>
12913
12914         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
12915         as being fixed by gnulib.
12916
12917 2008-10-05  Bruno Haible  <bruno@clisp.org>
12918
12919         * modules/select-tests: New file, mostly copied from
12920         modules/sys_select-tests.
12921         * tests/test-select.c: New file, mostly copied from
12922         tests/test-sys_select.c.
12923         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
12924         * modules/sys_select-tests (Depends-on): Remove all dependencies.
12925         (Makefile.am): Remove test_sys_select_LDADD.
12926
12927         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
12928         to an undefined symbol, for an error message.
12929         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
12930         (gl_SYS_SELECT_H_DEFAULTS): New macro.
12931         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
12932         winsock-select.c here.
12933         * modules/sys_select (Files): Remove lib/winsock-select.c.
12934         (Depends-on): Remove alloca.
12935         (Makefile.am): Substitute GNULIB_SELECT.
12936         * modules/select: New file.
12937         * doc/posix-functions/select.texi: Update.
12938
12939 2008-10-05  Bruno Haible  <bruno@clisp.org>
12940
12941         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
12942         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
12943         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
12944         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
12945         getdtablesize.
12946         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
12947         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
12948
12949 2008-10-05  Bruno Haible  <bruno@clisp.org>
12950
12951         * modules/getdtablesize-tests: New file.
12952         * tests/test-getdtablesize.c: New file.
12953
12954         New module 'getdtablesize'.
12955         * lib/unistd.in.h (getdtablesize): New declaration.
12956         * lib/getdtablesize.c: New file.
12957         * m4/getdtablesize.m4: New file.
12958         * modules/getdtablesize: New file.
12959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12960         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
12961         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
12962         HAVE_GETDTABLESIZE.
12963         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
12964
12965 2008-10-05  Bruno Haible  <bruno@clisp.org>
12966
12967         * modules/sched (Makefile.am): Fix typo.
12968         Reported by Simon Josefsson.
12969
12970 2008-10-05  Jim Meyering  <meyering@redhat.com>
12971
12972         bootstrap: check for LT_INIT, too
12973         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
12974         are deprecated.  Suggestion from Ralf Wildenhues.
12975
12976 2008-10-05  Bruno Haible  <bruno@clisp.org>
12977
12978         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
12979         overriding them by ours.
12980         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
12981
12982 2008-10-05  Jim Meyering  <meyering@redhat.com>
12983
12984         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
12985         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
12986         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
12987
12988 2008-10-04  Bruno Haible  <bruno@clisp.org>
12989
12990         * modules/dup2 (License): Change to LGPLv2+.
12991         * modules/sleep (License): Likewise.
12992         * modules/perror (License): Likewise.
12993         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
12994         Blake.
12995         * modules/signal (License): Likewise.
12996         * modules/sigprocmask (License): Likewise.
12997         * modules/raise (License): Change to LGPLv2+, with approval by Jim
12998         Meyering.
12999
13000 2008-10-04  Bruno Haible  <bruno@clisp.org>
13001
13002         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
13003         Reported by Rainer Tammer <tammer@tammer.net>.
13004
13005 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
13006             Bruno Haible  <bruno@clisp.org>
13007
13008         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
13009         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
13010         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
13011
13012 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
13013
13014         filevercmp: new module
13015         * lib/filevercmp.h: New function filevercmp comparing version strings.
13016         * lib/filevercmp.c: Implementation of filevercmp function.
13017         * modules/filevercmp: Module metadata.
13018         * tests/test-filevercmp.c: Unit test for new module.
13019         * modules/filevercmp-tests: Unit test metadata.
13020         * MODULES.html.sh: Add filevercmp module.
13021
13022 2008-10-03  Bruno Haible  <bruno@clisp.org>
13023
13024         * lib/c-ctype.h: Add comment.
13025         Reported by Jim Meyering.
13026
13027 2008-10-02  Bruno Haible  <bruno@clisp.org>
13028
13029         * modules/posix_spawn-internal (Depends-on): Add 'open'.
13030
13031 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13032
13033         * build-aux/bootstrap: Allow renaming bootstrap, and change the
13034         name of bootstrap.conf accordingly.
13035
13036 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13037
13038         * build-aux/bootstrap: Install git-merge-changelog configuration
13039         items into .gitconfig if needed.
13040
13041 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13042
13043         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
13044         git repository, and initialize/update it accordingly.
13045
13046 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
13047
13048         * modules/fsync-tests: New file.
13049         * tests/test-fsync.c: New file.
13050
13051         New module 'fsync'.
13052         * lib/fsync.c: New file.
13053         * m4/fsync.m4: New file.
13054         * modules/fsync: New file.
13055         * lib/unistd.in.h (fsync): New declaration.
13056         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
13057         GNULIB_FSYNC and HAVE_FSYNC.
13058         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
13059         * MODULES.html.sh (posix_functions): Add fsync.
13060         * doc/posix-functions/fsync.texi: Mention the new module.
13061
13062 2008-10-02  Jim Meyering  <meyering@redhat.com>
13063
13064         fts.c: sync with similar code from coreutils' remove.c
13065         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
13066         Guard also with "#if defined __linux__", since for now at least,
13067         this code is Linux-kernel-specific.
13068
13069 2008-10-02  Jim Meyering  <meyering@redhat.com>
13070
13071         fts: bug fixes
13072         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
13073         Include <sys/vfs.h>, not <sys/statfs.h>.
13074
13075         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
13076         Include <sys/vfs.h>, not <sys/statfs.h>.
13077
13078 2008-10-01  Bruno Haible  <bruno@clisp.org>
13079
13080         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
13081         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
13082         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
13083         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
13084         * doc/posix-functions/posix_spawnp.texi: Likewise.
13085         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
13086         whether posix_spawn actually works.
13087         * m4/pipe.m4 (gl_PIPE): Likewise.
13088         * modules/execute (Files): Add m4/posix_spawn.m4.
13089         * modules/pipe (Files): Add m4/posix_spawn.m4.
13090         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
13091
13092 2008-10-01  Jim Meyering  <meyering@redhat.com>
13093
13094         remove trailing spaces
13095         * NEWS: Likewise.
13096         * lib/poll.c (poll): Likewise.
13097         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
13098         * lib/winsock.c (rpl_close): Likewise.
13099         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
13100         * modules/yield: Likewise.
13101         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
13102         * tests/test-sys_select.c (connect_to_socket): Likewise.
13103
13104         fts.c: adjust a new interface to be more generally useful
13105         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
13106         (fts_build): Adjust caller.
13107
13108 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13109
13110         * modules/cond-tests: New file.
13111         * tests/test-cond.c: New file.
13112
13113 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13114             Bruno Haible  <bruno@clisp.org>
13115
13116         * modules/cond (Dependencies): Add errno, time.
13117         * lib/glthread/cond.h: Include <time.h>.
13118         (gl_cond_define, gl_cond_define_initialized): Use the same definition
13119         across platforms.
13120
13121 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13122             Bruno Haible  <bruno@clisp.org>
13123
13124         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
13125
13126 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13127             Bruno Haible  <bruno@clisp.org>
13128
13129         * modules/tls-tests (Depends-on): Add thread, yield.
13130         (configure.ac): Remove all checks.
13131         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
13132         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13133         gl_thread_self): Remove definitions. Include glthread/thread.h and
13134         glthread/yield.h instead.
13135         (test_tls): Pass an additional NULL argument to gl_thread_join.
13136
13137 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13138             Bruno Haible  <bruno@clisp.org>
13139
13140         * modules/lock-tests (Depends-on): Add thread, yield.
13141         (configure.ac): Remove all checks.
13142         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
13143         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13144         gl_thread_self): Remove definitions. Include glthread/thread.h and
13145         glthread/yield.h instead.
13146         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
13147         additional NULL argument to gl_thread_join.
13148
13149 2008-09-30  Bruno Haible  <bruno@clisp.org>
13150
13151         Fix the Win32 implementation of the 'thread' module.
13152         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
13153         pointer type.
13154         (gl_thread_self): Invoke gl_thread_self_func.
13155         (gl_thread_self_func): New declaration.
13156         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
13157         (do_init_self_key, init_self_key): New functions.
13158         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
13159         Remove some fields.
13160         (running_threads, running_lock): Remove variables.
13161         (get_current_thread_handle): New function.
13162         (gl_thread_self_func, wrapper_func, glthread_create_func,
13163         glthread_join_func, gl_thread_exit_func): Largely rewritten and
13164         simplified.
13165
13166 2008-09-30  Bruno Haible  <bruno@clisp.org>
13167
13168         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
13169         files.
13170
13171 2008-09-30  Jim Meyering  <meyering@redhat.com>
13172
13173         fts.m4: correct the test for statfs.f_type
13174         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
13175         when checking for statfs.f_type.
13176
13177 2008-09-15  Simon Josefsson  <simon@josefsson.org>
13178
13179         tests: avoid some compiler warnings
13180         * tests/test-memchr.c (main): Pass NULL indirectly.
13181         * tests/test-getdate.c (main): Remove unused variable 'ret'.
13182
13183 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
13184
13185         getdate.y: disallow countable dayshifts like "4 yesterday ago"
13186         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
13187         exactly specified dayshifts.
13188         (dayshift): New rule.
13189         (rel): Add dayshift.
13190         (relative_time_table) [tomorrow, yesterday, today, now]:
13191         Use tDAY_SHIFT in place of tDAY_UNIT.
13192         * tests/test-getdate.c: Add tests for now-disallowed countable
13193         dayshifts, e.g., "4 yesterday ago".
13194
13195 2008-09-29  Bruno Haible  <bruno@clisp.org>
13196
13197         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
13198         * tests/test-posix_spawn1.in.sh: Renamed from
13199         tests/test-posix_spawn.in.sh.
13200         * tests/test-posix_spawn2.c: New file.
13201         * tests/test-posix_spawn2.in.sh: New file.
13202         * modules/posix_spawnp-tests (Files): Update.
13203         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
13204
13205 2008-09-29  Bruno Haible  <bruno@clisp.org>
13206
13207         Propagate effects of putenv/setenv/unsetenv to child processes.
13208         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
13209         * lib/pipe.c (create_pipe): Likewise.
13210
13211 2008-09-29  Bruno Haible  <bruno@clisp.org>
13212
13213         Enable use of shell scripts as executables in mingw.
13214         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
13215         run the program as a shell script.
13216         * lib/pipe.c (create_pipe): Likewise.
13217         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
13218         resulting array.
13219
13220 2008-09-29  Eric Blake  <ebb9@byu.net>
13221
13222         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
13223
13224 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
13225
13226         * doc/posix-functions/accept.texi: Update mingw problems.
13227         * doc/posix-functions/bind.texi: Update mingw problems.
13228         * doc/posix-functions/close.texi: Update mingw problems.
13229         * doc/posix-functions/connect.texi: Update mingw problems.
13230         * doc/posix-functions/getpeername.texi: Update mingw problems.
13231         * doc/posix-functions/getsockname.texi: Update mingw problems.
13232         * doc/posix-functions/getsockopt.texi: Update mingw problems.
13233         * doc/posix-functions/ioctl.texi: Update mingw problems.
13234         * doc/posix-functions/listen.texi: Update mingw problems.
13235         * doc/posix-functions/recv.texi: Update mingw problems.
13236         * doc/posix-functions/recvfrom.texi: Update mingw problems.
13237         * doc/posix-functions/select.texi: Update mingw problems.
13238         * doc/posix-functions/send.texi: Update mingw problems.
13239         * doc/posix-functions/sendto.texi: Update mingw problems.
13240         * doc/posix-functions/setsockopt.texi: Update mingw problems.
13241         * doc/posix-functions/socket.texi: Update mingw problems.
13242
13243 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
13244             Bruno Haible  <bruno@clisp.org>
13245
13246         * lib/sys_select.in.h: Include sys/time.h.
13247         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
13248         * modules/sys_select: Depend on sys_time.
13249         * tests/test-sys_select.c: Test that sys/select.h defines struct
13250         timeval fully.
13251
13252 2008-09-29  Bruno Haible  <bruno@clisp.org>
13253
13254         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
13255         * lib/sys_select.in.h: Likewise.
13256
13257 2008-09-29  Bruno Haible  <bruno@clisp.org>
13258
13259         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
13260
13261 2008-09-29  Bruno Haible  <bruno@clisp.org>
13262
13263         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
13264         Set LIBSOCKET instead of augmenting LIBS.
13265         * modules/sockets (Link): New section.
13266         * modules/sockets-tests (test_sockets_LDADD): New variable.
13267         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
13268         * modules/poll-tests (test_poll_LDADD): New variable.
13269         * NEWS: Document the change.
13270
13271 2008-09-29  Bruno Haible  <bruno@clisp.org>
13272
13273         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
13274         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
13275         ARPA_INET_H directly.
13276         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
13277
13278 2008-09-28  Bruno Haible  <bruno@clisp.org>
13279
13280         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
13281         from gl_HEADER_SYS_SOCKET.
13282         (gl_HEADER_SYS_SOCKET): Invoke it.
13283         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13284
13285 2008-09-28  Bruno Haible  <bruno@clisp.org>
13286
13287         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
13288         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
13289         Needed on OSF/1 4.0.
13290
13291 2008-09-28  Bruno Haible  <bruno@clisp.org>
13292
13293         Override open more carefully.
13294         * lib/open.c (orig_open): New function.
13295         (rpl_open): Use orig_open instead of open.
13296         * lib/fcntl.in.h: Add special invocation convention.
13297         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
13298         (gl_FUNC_OPEN): Invoke it.
13299
13300         Override freopen more carefully.
13301         * lib/freopen.c (orig_freopen): New function.
13302         (rpl_freopen): Use orig_freopen instead of freopen.
13303         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
13304         (gl_FUNC_FREOPEN): Invoke it.
13305
13306         Override fopen more carefully.
13307         * lib/fopen.c (orig_fopen): New function.
13308         (rpl_fopen): Use orig_fopen instead of fopen.
13309         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
13310         (gl_FUNC_FOPEN): Invoke it.
13311         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
13312
13313 2008-09-28  Bruno Haible  <bruno@clisp.org>
13314
13315         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
13316         SIGPIPE.
13317
13318 2008-09-28  Bruno Haible  <bruno@clisp.org>
13319
13320         * tests/test-sigaction.c (handler, main): Disable the check whether
13321         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
13322         glibc systems with LinuxThreads.
13323
13324 2008-09-28  Bruno Haible  <bruno@clisp.org>
13325
13326         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
13327
13328         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
13329         with AIX xlc.
13330         * lib/fcntl.in.h (open): Likewise.
13331         Reported by Rainer Tammer <tammer@tammer.net>.
13332
13333 2008-09-28  Bruno Haible  <bruno@clisp.org>
13334
13335         * modules/posix_spawnp-tests: New file.
13336         * tests/test-posix_spawn.c: New file.
13337         * tests/test-posix_spawn.in.sh: New file.
13338
13339         New module 'posix_spawnp'.
13340         * modules/posix_spawnp: New file.
13341         * lib/spawnp.c: New file, from GNU libc with modifications.
13342         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
13343
13344         New module 'posix_spawn'.
13345         * modules/posix_spawn: New file.
13346         * lib/spawn.c: New file, from GNU libc with modifications.
13347         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13348
13349         New module 'posix_spawnattr_destroy'.
13350         * modules/posix_spawnattr_destroy: New file.
13351         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
13352         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
13353         module.
13354
13355         New module 'posix_spawnattr_setsigmask'.
13356         * modules/posix_spawnattr_setsigmask: New file.
13357         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
13358         modifications.
13359         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
13360         new module.
13361
13362         New module 'posix_spawnattr_getsigmask'.
13363         * modules/posix_spawnattr_getsigmask: New file.
13364         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
13365         modifications.
13366         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
13367         new module.
13368
13369         New module 'posix_spawnattr_setsigdefault'.
13370         * modules/posix_spawnattr_setsigdefault: New file.
13371         * lib/spawnattr_setdefault.c: New file, from GNU libc with
13372         modifications.
13373         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
13374         new module.
13375
13376         New module 'posix_spawnattr_getsigdefault'.
13377         * modules/posix_spawnattr_getsigdefault: New file.
13378         * lib/spawnattr_getdefault.c: New file, from GNU libc with
13379         modifications.
13380         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
13381         new module.
13382
13383         New module 'posix_spawnattr_setschedpolicy'.
13384         * modules/posix_spawnattr_setschedpolicy: New file.
13385         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
13386         modifications.
13387         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
13388         new module.
13389
13390         New module 'posix_spawnattr_getschedpolicy'.
13391         * modules/posix_spawnattr_getschedpolicy: New file.
13392         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
13393         modifications.
13394         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
13395         new module.
13396
13397         New module 'posix_spawnattr_setschedparam'.
13398         * modules/posix_spawnattr_setschedparam: New file.
13399         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
13400         modifications.
13401         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
13402         new module.
13403
13404         New module 'posix_spawnattr_getschedparam'.
13405         * modules/posix_spawnattr_getschedparam: New file.
13406         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
13407         modifications.
13408         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
13409         new module.
13410
13411         New module 'posix_spawnattr_setpgroup'.
13412         * modules/posix_spawnattr_setpgroup: New file.
13413         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
13414         modifications.
13415         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
13416         module.
13417
13418         New module 'posix_spawnattr_getpgroup'.
13419         * modules/posix_spawnattr_getpgroup: New file.
13420         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
13421         modifications.
13422         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
13423         module.
13424
13425         New module 'posix_spawnattr_setflags'.
13426         * modules/posix_spawnattr_setflags: New file.
13427         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
13428         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
13429         module.
13430
13431         New module 'posix_spawnattr_getflags'.
13432         * modules/posix_spawnattr_getflags: New file.
13433         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
13434         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
13435         module.
13436
13437         New module 'posix_spawnattr_init'.
13438         * modules/posix_spawnattr_init: New file.
13439         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
13440         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
13441         module.
13442
13443         New module 'posix_spawn_file_actions_destroy'.
13444         * modules/posix_spawn_file_actions_destroy: New file.
13445         * lib/spawn_faction_destroy.c: New file, from GNU libc with
13446         modifications.
13447         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
13448         the new module.
13449
13450         New module 'posix_spawn_file_actions_addopen'.
13451         * modules/posix_spawn_file_actions_addopen: New file.
13452         * lib/spawn_faction_addopen.c: New file, from GNU libc with
13453         modifications.
13454         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
13455         the new module.
13456
13457         New module 'posix_spawn_file_actions_adddup2'.
13458         * modules/posix_spawn_file_actions_adddup2: New file.
13459         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
13460         modifications.
13461         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
13462         the new module.
13463
13464         New module 'posix_spawn_file_actions_addclose'.
13465         * modules/posix_spawn_file_actions_addclose: New file.
13466         * lib/spawn_faction_addclose.c: New file, from GNU libc with
13467         modifications.
13468         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
13469         the new module.
13470
13471         New module 'posix_spawn_file_actions_init'.
13472         * modules/posix_spawn_file_actions_init: New file.
13473         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
13474         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
13475         new module.
13476
13477         New module 'posix_spawn-internal'.
13478         * modules/posix_spawn-internal: New file.
13479         * lib/spawn_int.h: New file, from GNU libc with modifications.
13480         * lib/spawni.c: New file, from GNU libc with modifications.
13481         * m4/posix_spawn.m4: New file.
13482
13483         New module 'spawn'.
13484         * modules/spawn: New file.
13485         * lib/spawn.in.h: New file, from GNU libc with modifications.
13486         * m4/spawn_h.m4: New file.
13487         * doc/posix-headers/spawn.texi: Mention the new module.
13488
13489 2008-09-28  Bruno Haible  <bruno@clisp.org>
13490
13491         * modules/sched-tests: New file.
13492         * tests/test-sched.c: New file.
13493
13494         New module 'sched'.
13495         * modules/sched: New file.
13496         * lib/sched.in.h: New file.
13497         * m4/sched_h.m4: New file.
13498         * doc/posix-headers/sched.texi: Mention the new module.
13499
13500 2008-09-27  Eric Blake  <ebb9@byu.net>
13501
13502         Fix previous patch, and tweak references to $0.
13503         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
13504         (func_version, func_gnulib_dir): Don't call this program
13505         gnulib-tool.
13506         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
13507         with using $0 in function.
13508         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
13509         (func_fatal_error): Reuse the name the user invoked us with.
13510
13511 2008-09-27  Bruno Haible  <bruno@clisp.org>
13512
13513         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
13514         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
13515         (gl_ICONV_H): Not here.
13516         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
13517         instead of assigning ICONV_H directly.
13518
13519         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
13520         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
13521         WCHAR_H directly.
13522
13523 2008-09-27  Bruno Haible  <bruno@clisp.org>
13524
13525         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
13526         * modules/arpa_inet (Depends-on): Add link-warning.
13527         (Makefile.am): Insert the definition of GL_LINK-WARNING.
13528         * modules/unistd (Makefile.am): Likewise.
13529
13530 2008-09-26  Bruno Haible  <bruno@clisp.org>
13531
13532         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
13533         variables.
13534         (func_version): Essentially copied from gnulib-tool.
13535         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
13536         func_readlink): Copied from gnulib-tool.
13537
13538 2008-09-26  Bruno Haible  <bruno@clisp.org>
13539
13540         * gnulib-tool (func_version): Change directory to $gnulib_dir before
13541         invoking git-version-gen.
13542
13543 2008-09-26  Bruno Haible  <bruno@clisp.org>
13544
13545         * posix-modules: Update to directory names changed on 2008-01-19.
13546         Remove commas in output before splitting into words. No more need to
13547         avoid 'ftruncate' since 2007-02-19.
13548
13549 2008-09-26  Bruno Haible  <bruno@clisp.org>
13550
13551         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
13552
13553 2008-09-26  Bruno Haible  <bruno@clisp.org>
13554
13555         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
13556         * modules/fwriteerror (Depends-on): Add errno.
13557
13558 2008-09-26  Bruno Haible  <bruno@clisp.org>
13559
13560         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
13561         * tests/test-vc-list-files-cvs.sh: Likewise.
13562
13563 2008-09-26  Bruno Haible  <bruno@clisp.org>
13564
13565         * doc/posix-headers/sys_resource.texi: Reorder items.
13566
13567 2008-09-26  Jim Meyering  <meyering@redhat.com>
13568
13569         fts: tweak inode comparison function
13570         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
13571         inode numbers, as documented.
13572
13573         fts: sort dirent entries on inode number before traversing
13574         This avoids a quadratic, seek-related performance penalty when
13575         operating on a directory containing many entries (measurable at 10k;
13576         3.5 hours at 2 million entries with a cold cache) on certain types
13577         of file systems, including ext3 and ext4, but not tmpfs.
13578         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
13579         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
13580         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
13581         (fs_handles_readdir_ordered_dirents_efficiently): New function.
13582         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
13583         (fts_build): Set the stat.st_ino member from D_INO.
13584         If it is likely to be useful, sort dirent entries on inode number.
13585
13586         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
13587         and the struct statfs.f_type member.
13588         * modules/fts (Depends-on): Add d-ino.
13589
13590 2008-09-26  Bruno Haible  <bruno@clisp.org>
13591
13592         * modules/sigpipe-die (Depends-on): Add sigpipe.
13593
13594         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
13595         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
13596         and GNULIB_STDIO_H_SIGPIPE are set.
13597         * lib/stdio-write.c: New file.
13598         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
13599         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
13600         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
13601         REPLACE_STDIO_WRITE_FUNCS.
13602         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
13603         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
13604         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
13605         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
13606         * modules/stdio (Files): Add lib/stdio-write.c.
13607         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
13608         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
13609         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
13610         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
13611         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
13612         REPLACE_FPRINTF_POSIX.
13613         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
13614         REPLACE_PRINTF_POSIX.
13615         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
13616         REPLACE_VFPRINTF_POSIX.
13617         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
13618         REPLACE_VPRINTF_POSIX.
13619         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
13620         SIGPIPE issue.
13621         * doc/posix-functions/fputc.texi: Likewise.
13622         * doc/posix-functions/fputs.texi: Likewise.
13623         * doc/posix-functions/fwrite.texi: Likewise.
13624         * doc/posix-functions/printf.texi: Likewise.
13625         * doc/posix-functions/putc.texi: Likewise.
13626         * doc/posix-functions/putchar.texi: Likewise.
13627         * doc/posix-functions/puts.texi: Likewise.
13628         * doc/posix-functions/vfprintf.texi: Likewise.
13629         * doc/posix-functions/vprintf.texi: Likewise.
13630
13631         * modules/safe-write (Depends-on): Add write.
13632
13633         * modules/sigpipe-tests: New file.
13634         * tests/test-sigpipe.c: New file.
13635         * tests/test-sigpipe.sh: New file.
13636
13637         * modules/write: New file.
13638         * lib/unistd.in.h: Include <sys/types.h>.
13639         (write): New declaration.
13640         * lib/write.c: New file.
13641         * m4/write.m4: New file.
13642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13643         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
13644         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
13645         GNULIB_WRITE, REPLACE_WRITE.
13646         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
13647         and the SIGPIPE issue.
13648
13649         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
13650         (raise): New declaration.
13651         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
13652         (ext_signal): New function.
13653         (rpl_raise): New function.
13654         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13655         GNULIB_SIGNAL_H_SIGPIPE.
13656         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
13657         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
13658
13659         * modules/sigpipe: New file.
13660         * m4/sigpipe.m4: New file.
13661
13662 2008-09-25  Derek Price  <derek@ximbiot.com>
13663             Bruno Haible  <bruno@clisp.org>
13664
13665         * gnulib-tool (func_import): Report all license incompatibilities, not
13666         just the first one.
13667
13668 2008-09-25  Bruno Haible  <bruno@clisp.org>
13669
13670         * gnulib-tool (func_import): When computing the edits, consider not
13671         only the Makefile.ams that exist but also those that will be generated.
13672
13673 2008-09-25  Simon Josefsson  <simon@josefsson.org>
13674
13675         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
13676         fixes gnulib-tool --test warning about duplicate dependency.
13677
13678 2008-09-25  Bruno Haible  <bruno@clisp.org>
13679
13680         * gnulib-tool: Don't ask the user to perform edits in the generated
13681         Makefile.ams.
13682         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
13683         apply to the Makefile.am being generated.
13684         (func_emit_tests_Makefile_am): Execute edits that apply to the
13685         Makefile.am being generated.
13686         (func_import): Setup list of Makefile.am edits before emitting the
13687         Makefile.ams, not at the end.
13688         (func_create_testdir): Update.
13689         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13690
13691 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13692
13693         * gnulib-tool (func_import): Store the --tests-base option in the
13694         comment in gnulib-cache.m4.
13695
13696 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
13697
13698         * NEWS: Document increased portability that sys_select now provides.
13699
13700         * lib/sys_select.in.h: Install select wrapper.
13701         * lib/sys_socket.in.h: Use more descriptive name when there is no
13702         select wrapper.
13703         * lib/winsock-select.c: New.
13704         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
13705         Require gl_HEADER_SYS_SOCKET.
13706         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
13707         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
13708         * tests/test-sys_select.c: Add functional tests.
13709
13710 2008-09-24  Eric Blake  <ebb9@byu.net>
13711
13712         open, fopen: close fd leak in last patch
13713         * lib/open.c (rpl_open): Close fd before returning error.
13714         * lib/fopen.c (rpl_fopen): Close fd before returning error.
13715         * doc/posix-functions/open.texi (open): Document that Irix also
13716         has the bug.
13717         * doc/posix-functions/fopen.texi (fopen): Likewise.
13718         Reported by Paolo Bonzini.
13719
13720 2008-09-24  Bruno Haible  <bruno@clisp.org>
13721
13722         Ensure that a filename ending in a slash cannot be used to access a
13723         non-directory.
13724         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
13725         to check whether it's really a directory.
13726         * lib/fopen.c: Include fcntl.h, unistd.h.
13727         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
13728         and fdopen().
13729         * modules/fopen (Depends-on): Add unistd.
13730         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
13731         * tests/test-fopen.c (main): Likewise.
13732         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
13733         * doc/posix-functions/fopen.texi: Likewise.
13734         Reported by Eric Blake.
13735
13736 2008-09-23  Eric Blake  <ebb9@byu.net>
13737
13738         c-stack: avoid compiler optimizations when provoking overflow
13739         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
13740         recursion harder to optimize, to ensure a stack overflow occurs.
13741         * tests/test-c-stack.c (recurse): Likewise.
13742         Borrowed from libsigsegv.
13743
13744         c-stack: work around Irix sigaltstack bug
13745         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
13746         whether sigaltstack uses wrong end of stack_t (copied in part from
13747         libsigsegv).
13748         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
13749         Irix bug, without requiring an over-allocation.
13750         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
13751         bug.
13752
13753         fopen: document mingw bug on directories
13754         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
13755         not allowing a stream visiting a directory, even though reading
13756         from such a stream is not portable.
13757
13758 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
13759
13760         * lib/poll.c: Rewrite.
13761         * modules/poll: Depend on alloca.
13762
13763 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
13764
13765         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
13766         instead define prototypes for a full set of wrappers.  Ensure
13767         that Cygwin does not use the compatibility code, which is only
13768         for MinGW.
13769         * lib/winsock.c: New.
13770         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
13771         * modules/sys_socket: Add lib/winsock.c.
13772
13773         * modules/poll-tests: Add errno and perror.
13774         * tests/test-poll.c: Use ioctl, not ioctlsocket.
13775
13776 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
13777
13778         * tests/test-poll.c: Downgrade minimum needed Winsock version.
13779
13780 2008-09-23  Bruno Haible  <bruno@clisp.org>
13781
13782         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
13783         * doc/glibc-functions/*: Likewise.
13784
13785 2008-09-23  Simon Josefsson  <simon@josefsson.org>
13786
13787         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
13788         success.
13789
13790 2008-09-22  Eric Blake  <ebb9@byu.net>
13791             Bruno Haible  <bruno@clisp.org>
13792
13793         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
13794         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
13795         supply %A but mishandle pseudo-NaN.
13796         Reported by Simon Josefsson.
13797
13798 2008-09-21  Bruno Haible  <bruno@clisp.org>
13799
13800         * tests/test-lock.c (main): Tweak skip message.
13801         * tests/test-tls.c (main): Likewise.
13802
13803 2008-09-21  Bruno Haible  <bruno@clisp.org>
13804
13805         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
13806         whether 'struct sigaction' has sa_sigaction here...
13807         (gl_PREREQ_SIG_HANDLER_H): ... not here.
13808         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
13809
13810 2008-09-21  Bruno Haible  <bruno@clisp.org>
13811
13812         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
13813         section.
13814         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
13815         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
13816         the new section.
13817         (Support for obsolete systems lacking POSIX:2001): New section.
13818         (String handling <string.h>): Move strdup to the new section.
13819         Suggested by Simon Josefsson and Paolo Bonzini.
13820
13821 2008-09-21  Bruno Haible  <bruno@clisp.org>
13822
13823         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
13824         exponents in %e and %g results on 'long double'. Needed for mingw's
13825         improved *printf functions.
13826         * tests/test-vasprintf-posix.c (test_function): Likewise.
13827         * tests/test-snprintf-posix.h (test_function): Likewise.
13828         * tests/test-sprintf-posix.h (test_function): Likewise.
13829         Reported by Eric Blake.
13830
13831 2008-09-21  Bruno Haible  <bruno@clisp.org>
13832
13833         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
13834         * tests/test-sprintf-posix.h (test_function): Likewise.
13835
13836 2008-09-21  Bruno Haible  <bruno@clisp.org>
13837
13838         * modules/getpass (Depends-on): Add strdup-posix.
13839
13840         New module 'strdup-posix'.
13841         * modules/strdup-posix: New file.
13842         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
13843         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
13844         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13845         REPLACE_STRDUP.
13846         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
13847         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
13848         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13849         strdup-posix.
13850
13851         * modules/strdup (Depends-on): Remove malloc-posix.
13852
13853 2008-09-20  Bruno Haible  <bruno@clisp.org>
13854
13855         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
13856         Wildenhues.
13857
13858 2008-09-20  Bruno Haible  <bruno@clisp.org>
13859
13860         Ensure that wint_t gets defined on IRIX 5.3.
13861         * lib/wchar.in.h (wint_t): Define if not defined by the system.
13862         * lib/wctype.in.h (wint_t): Likewise.
13863         (__wctype_wint_t): Remove type.
13864         (isw*): Use wint_t instead of __wctype_wint_t.
13865         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
13866         * modules/wchar (Files): Add m4/wint_t.m4.
13867         (Makefile.am): Substitute HAVE_WINT_T.
13868         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
13869         * tests/test-wctype.c: Check that wint_t is defined.
13870         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
13871         * doc/posix-headers/wctype.texi: Likewise.
13872         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13873
13874 2008-09-18  Bruno Haible  <bruno@clisp.org>
13875
13876         * gnulib-tool (func_exit): Update comment.
13877
13878 2008-09-18  Simon Josefsson  <simon@josefsson.org>
13879
13880         * modules/getaddrinfo (Depends-on): Remove strdup, this module
13881         assumes strdup exists and does not depend on strdup to return
13882         ENOMEM on out of memory conditions.
13883
13884 2008-09-18  Bruno Haible  <bruno@clisp.org>
13885
13886         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
13887         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
13888         digits for the exponent.
13889
13890 2008-09-18  Jim Meyering  <meyering@redhat.com>
13891             Bruno Haible  <bruno@clisp.org>
13892
13893         * lib/vasnprintf.c (decimal_point_char): Define also if
13894         NEED_PRINTF_INFINITE_LONG_DOUBLE.
13895
13896 2008-09-16  Bruno Haible  <bruno@clisp.org>
13897         and Eric Blake  <ebb9@byu.net>
13898
13899         vasnprintf: support Irix 5.3
13900         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
13901         that mishandle long double infinity.
13902         Reported by Tom G. Christensen.
13903
13904 2008-09-16  Bruno Haible  <bruno@clisp.org>
13905
13906         * doc/glibc-functions/scandir.texi: Mention the function is missing on
13907         Solaris 9.
13908         * doc/glibc-functions/alphasort.texi: Likewise.
13909         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
13910
13911 2008-09-16  Jim Meyering  <meyering@redhat.com>
13912
13913         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
13914         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
13915         a umask modification leak out of a subshell.  Otherwise, the
13916         opensolaris /bin/sh would be accepted and thus cause unwarranted
13917         failures in the coreutils test suite.
13918
13919 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
13920
13921         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
13922         to succeed.
13923
13924 2008-09-16  Jim Meyering  <meyering@redhat.com>
13925
13926         avoid spurious test failure when library is built without ACL support
13927         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
13928         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
13929         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
13930         * tests/test-copy-acl.sh: Likewise.
13931
13932 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13933
13934         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
13935         based on character occurrence counts.
13936
13937 2008-09-15  Eric Blake  <ebb9@byu.net>
13938
13939         tests: avoid some compiler warnings
13940         * tests/test-memchr.c (main): Pass NULL indirectly.
13941         * tests/test-closein.c (main): Avoid unused variable.
13942
13943 2008-09-15  Bruno Haible  <bruno@clisp.org>
13944
13945         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
13946         are missing on OpenBSD 4.0 individually.
13947         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13948
13949 2008-09-15  Bruno Haible  <bruno@clisp.org>
13950
13951         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
13952         * doc/posix-functions/strerror.texi: Mention also Cygwin.
13953         * doc/posix-functions/perror.texi: Likewise.
13954         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
13955         is missing.
13956         Reported by Eric Blake.
13957
13958         * lib/errno.in.h: Use replacement values >= 2000.
13959         Reported by Eric Blake.
13960
13961 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13962
13963         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
13964         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
13965         limit.
13966         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
13967         compareseq was aborted.
13968
13969 2008-09-14  Bruno Haible  <bruno@clisp.org>
13970
13971         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
13972         yvec_edit_count.
13973         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
13974         (fstrcmp_bounded): Simplify result computation accordingly.
13975
13976 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13977
13978         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
13979         (fstrcmp): Define in terms of fstrcmp_bounded.
13980         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
13981         lower_bound argument.
13982         Return quickly if the result is certainly < lower_bound.
13983         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
13984
13985 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13986
13987         * lib/diffseq.h (EARLY_ABORT): New macro.
13988         (compareseq): Change return type to bool. Return true when EARLY_ABORT
13989         evaluates to true.
13990
13991 2008-09-14  Bruno Haible  <bruno@clisp.org>
13992
13993         * modules/perror-tests: New file.
13994         * tests/test-perror.sh: New file.
13995         * tests/test-perror.c: New file.
13996
13997         New module 'perror'.
13998         * lib/stdio.in.h (perror): New declaration.
13999         * lib/perror.c: New file.
14000         * m4/perror.m4: New file.
14001         * modules/perror: New file.
14002         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
14003         * doc/posix-functions/perror.texi: Mention the perror module.
14004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
14005         REPLACE_PERROR.
14006         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
14007         REPLACE_PERROR.
14008
14009 2008-09-14  Bruno Haible  <bruno@clisp.org>
14010
14011         * modules/stdio (Makefile.am): Reorder to match the order in
14012         lib/stdio.in.h.
14013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14014
14015 2008-09-13  Bruno Haible  <bruno@clisp.org>
14016
14017         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
14018
14019 2008-09-13  Bruno Haible  <bruno@clisp.org>
14020
14021         Extend strerror to cover the added errno values.
14022         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
14023         (rpl_strerror): Provide error messages for the added errno values and
14024         for the WSA* values.
14025         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
14026         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
14027         strerror.
14028         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
14029         * modules/strerror (Depends-on): Add errno.
14030         * doc/posix-functions/strerror.texi: Document the change.
14031         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
14032         and EOVERFLOW.
14033
14034 2008-09-13  Bruno Haible  <bruno@clisp.org>
14035
14036         * modules/EOVERFLOW: Remove file.
14037         * m4/eoverflow.m4: Remove file.
14038         * modules/EOVERFLOW-tests: Remove file.
14039         * tests/test-EOVERFLOW.c: Remove file.
14040         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
14041         * modules/ftell (Depends-on): Likewise.
14042         * modules/getdelim (Depends-on): Likewise.
14043         * modules/getugroups (Depends-on): Likewise.
14044         * modules/poll (Depends-on): Likewise.
14045         * modules/snprintf (Depends-on): Likewise.
14046         * modules/sprintf-posix (Depends-on): Likewise.
14047         * modules/vasnprintf (Depends-on): Likewise.
14048         * modules/vasprintf (Depends-on): Likewise.
14049         * modules/vfprintf-posix (Depends-on): Likewise.
14050         * modules/vsnprintf (Depends-on): Likewise.
14051         * modules/vsprintf-posix (Depends-on): Likewise.
14052         * modules/xvasprintf (Depends-on): Likewise.
14053         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14054         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
14055         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
14056         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
14057         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14058         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
14059         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
14060         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
14061         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14062         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
14063         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
14064         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
14065         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14066         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
14067         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
14068         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
14069         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14070         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
14071         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
14072         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
14073         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14074         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
14075         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
14076         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
14077         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
14078         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14079         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
14080         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
14081         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
14082         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
14083         * MODULES.html.sh: Remove EOVERFLOW.
14084         * NEWS: Mention the change.
14085
14086 2008-09-13  Bruno Haible  <bruno@clisp.org>
14087
14088         * modules/errno-tests: New file.
14089         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
14090
14091         * lib/errno.in.h: New file.
14092         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
14093         * modules/errno: New file.
14094         * doc/posix-headers/errno.texi: Update documentation.
14095         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
14096
14097 2008-09-13  Bruno Haible  <bruno@clisp.org>
14098
14099         * tests/test-poll.c: Use #if for native Windows, rather than testing
14100         __MSVCRT__.
14101
14102 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14103             Bruno Haible  <bruno@clisp.org>
14104
14105         * lib/glob.c: Don't include <pwd.h> on native Windows.
14106         (WINDOWS32): New macro.
14107         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
14108
14109 2008-09-13  Bruno Haible  <bruno@clisp.org>
14110
14111         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
14112         (ETIMEDOUT): Remove macro.
14113         (glthread_cond_timedwait_multithreaded): New declaration.
14114         (glthread_cond_timedwait): Use it.
14115         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
14116         (glthread_cond_timedwait_multithreaded): New function.
14117
14118 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14119
14120         * modules/poll-tests: Do not check for io.h.
14121         * tests/test-poll.c: Check for __MSVCRT__ instead.
14122
14123 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14124
14125         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
14126         * modules/poll-tests: Add inet_pton, stdbool, sockets.
14127         * tests/test-poll.c: Use them.  Use _pipe on Windows.
14128
14129 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14130
14131         * modules/poll-tests: New.
14132         * tests/test-poll.c: New.
14133
14134 2008-09-12  Eric Blake  <ebb9@byu.net>
14135
14136         frexp: test for NetBSD failure on -0.0
14137         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
14138         not all, bugs from NetBSD 3.0 have been fixed.
14139         * doc/posix-functions/frexp.texi (frexp): Document bug.
14140         Reported by Thomas Klausner.
14141
14142         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
14143         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
14144         literal -0.0.
14145         Reported by Jonathan C. Patschke <jp@centtech.com>.
14146
14147 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14148
14149         * lib/glthread/cond.h: Use dummy implementation also if
14150         USE_WIN32_THREADS.
14151
14152 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14153
14154         * modules/fnmatch-posix (License): Change to LGPLv2+.
14155         * modules/fnmatch-gnu (License): Likewise.
14156
14157 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14158
14159         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
14160
14161 2008-09-11  Jim Meyering  <meyering@redhat.com>
14162
14163         * users.txt: Add gtk-vnc.
14164
14165 2008-09-08  Simon Josefsson  <simon@josefsson.org>
14166
14167         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
14168         rotate amounts.
14169
14170         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
14171         required for 16-bit and 8-bit rotates.
14172         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
14173         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
14174         UINT8_MAX instead of hard-coded constants.
14175         Suggested by Paul Eggert.
14176
14177 2008-09-07  Bruno Haible  <bruno@clisp.org>
14178
14179         * tests/test-striconveh.c (main): Check behaviour when converting from
14180         UTF-7.
14181
14182         Make striconveh work better with stateful encodings.
14183         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
14184         that iconv does not increment the inptr when returning -1/EINVAL.
14185
14186 2008-09-07  Bruno Haible  <bruno@clisp.org>
14187
14188         * build-aux/config.rpath: Update according to libtool-2.2.6.
14189         * build-aux/config.libpath: Likewise.
14190
14191 2008-09-06  Bruno Haible  <bruno@clisp.org>
14192
14193         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
14194         * lib/freadptr.c (freadptr): Likewise.
14195         * lib/freadseek.c (freadptrinc): Likewise.
14196         Reported by Simon Josefsson.
14197
14198 2008-09-06  Bruno Haible  <bruno@clisp.org>
14199
14200         * modules/freadptr (License): Change to LGPLv2+.
14201         * modules/freadseek (License): Likewise.
14202         Suggested by Eric Blake.
14203
14204         * modules/memchr2 (License): Change to LGPLv2+.
14205         Approved by Eric Blake.
14206
14207 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14208             Bruno Haible  <bruno@clisp.org>
14209
14210         Make gnulib-tool work with native 'sed' on AIX.
14211         * gnulib-tool (sed_noop): New variable.
14212         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
14213         func_add_or_update, func_create_testdir): Use it to initialize sed
14214         script variables.
14215         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14216
14217 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
14218             Bruno Haible  <bruno@clisp.org>
14219
14220         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
14221         also works after #include directives.
14222
14223 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
14224
14225         getdate.y: reject an out-of-range timezone value
14226         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
14227         the range [-24...+24].  When specified with only one or two digits,
14228         * tests/test-getdate.c: Tests for the fix.
14229         * doc/getdate.texi: Document this change.
14230
14231 2008-09-03  Bruno Haible  <bruno@clisp.org>
14232
14233         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
14234
14235 2008-09-02  Simon Josefsson  <simon@josefsson.org>
14236
14237         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
14238         <bruce.korb@gmail.com> with ideas from Ben Pfaff
14239         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
14240         Blake <ebb9@byu.net>.
14241
14242         * tests/test-bitrotate.c: Add more test vectors.
14243
14244 2008-09-02  Eric Blake  <ebb9@byu.net>
14245
14246         vasnprintf-posix: handle large precision via %.*d
14247         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
14248         when handling it ourselves.
14249         * tests/test-vasnprintf-posix.c (test_function): Add test.
14250         * tests/test-snprintf-posix.h (test_function): Likewise.
14251         * tests/test-sprintf-posix.h (test_function): Likewise.
14252         * tests/test-vasprintf-posix.c (test_function): Likewise.
14253         Reported by Alain Guibert.
14254
14255 2008-09-01  Eric Blake  <ebb9@byu.net>
14256
14257         c-stack: make configure-time check more robust
14258         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
14259         successful sigaction call.
14260         Reported by Tom G. Christensen.
14261
14262 2008-09-01  Bruno Haible  <bruno@clisp.org>
14263
14264         New module 'findprog-lgpl'.
14265         * modules/findprog-lgpl: New file.
14266         * lib/findprog-lgpl.c: New file.
14267         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
14268         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
14269         to decide whether to use strdup or xstrdup, concatenated_filename or
14270         xconcatenated_filename.
14271
14272 2008-09-01  Bruno Haible  <bruno@clisp.org>
14273
14274         Split module 'concat-filename' into 'concat-filename' (LGPL) and
14275         'xconcat-filename' (GPL).
14276         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
14277         (License): Change to LGPLv2+.
14278         * modules/xconcat-filename: New file.
14279         * lib/concat-filename.h (concatenated_filename): Change specification.
14280         (xconcatenated_filename): New declaration.
14281         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
14282         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
14283         memory situations.
14284         * lib/xconcat-filename.c: New file.
14285         * NEWS: Mention the change.
14286         * lib/findprog.c: Include concat-filename.h, not filename.h.
14287         (find_in_path): Use xconcatenated_filename instead of
14288         concatenated_filename.
14289         * lib/javacomp.c: Include concat-filename.h, not filename.h.
14290         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
14291         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
14292         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
14293         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
14294         instead of concatenated_filename.
14295         * lib/javaexec.c: Include concat-filename.h, not filename.h.
14296         (execute_java_class): Use xconcatenated_filename instead of
14297         concatenated_filename.
14298         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
14299         * modules/javacomp (Depends-on): Likewise.
14300         * modules/javaexec (Depends-on): Likewise.
14301
14302 2008-09-01  Bruno Haible  <bruno@clisp.org>
14303
14304         Split module 'filename' into 'filename' and 'concat-filename'.
14305         * modules/filename: Keep only lib/filename.h.
14306         (License): Change to LGPLv2+.
14307         * modules/concat-filename: New file, extracted from modules/filename.
14308         * lib/filename.h (concatenated_filename): Remove declaration.
14309         * lib/concat-filename.h: New file, extracted from lib/filename.h.
14310         * lib/concat-filename.c: Include concat-filename.h.
14311         * NEWS: Mention the change.
14312
14313 2008-09-01  Simon Josefsson  <simon@josefsson.org>
14314
14315         * lib/bitrotate.h (rotl8, rotr8): Add.
14316
14317         * modules/bitrotate (configure.ac): Need
14318         AC_REQUIRE([AC_C_INLINE]).
14319         (Description): Mention stdint.h.  Reported by Bruno Haible
14320         <bruno@clisp.org>.
14321
14322         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
14323         Paolo Bonzini <bonzini@gnu.org>.
14324
14325 2008-08-31  Bruno Haible  <bruno@clisp.org>
14326
14327         Assume Solaris specific bi-arch conventions on Solaris systems.
14328         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
14329         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
14330         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
14331         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
14332         like acl_libdirstem.
14333         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
14334         acl_libdirstem.
14335         * NEWS: Mention the change.
14336         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
14337
14338 2008-08-31  Jim Meyering  <meyering@redhat.com>
14339
14340         * lib/strftime.h: Add comments describing the two added arguments.
14341
14342         remove duplicate #include directives
14343         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
14344         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
14345
14346 2008-08-31  Bruno Haible  <bruno@clisp.org>
14347
14348         New module 'sigpipe-die'.
14349         * modules/sigpipe-die: New file.
14350         * lib/sigpipe-die.h: New file.
14351         * lib/sigpipe-die.c: New file.
14352         * MODULES.html.sh (Signal handling): Add sigpipe-die.
14353
14354 2008-08-31  Bruno Haible  <bruno@clisp.org>
14355
14356         Don't override previously installed signal handlers.
14357         * lib/fatal-signal.c (saved_sigactions): New variable.
14358         (uninstall_handlers): Reset the signal to the saved handler, not
14359         to SIG_DFL (except when ignored).
14360         (install_handlers): Save the previous handlers.
14361
14362 2008-08-30  Bruno Haible  <bruno@clisp.org>
14363
14364         * gnulib-tool (func_reset_sigpipe): New function.
14365         (func_get_automake_snippet, func_modules_transitive_closure,
14366         func_import): Invoke it before a join command that reads from stdin,
14367         to avoid "echo: write error: Broken pipe" error messages on stderr.
14368         Reported by Sam Steingold <sds@gnu.org>.
14369
14370 2008-08-30  Bruno Haible  <bruno@clisp.org>
14371
14372         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
14373         Code copied from m4/open.m4.
14374         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
14375         access and the filename ends in a slash. Code copied from lib/open.c.
14376         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
14377         * tests/test-fopen.c (main): Check against bug with trailing slash.
14378
14379 2008-08-29  Bruno Haible  <bruno@clisp.org>
14380
14381         Avoid some "gcc -pedantic" warnings.
14382         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
14383         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
14384         * lib/dirent.in.h: Likewise.
14385         * lib/fcntl.in.h: Likewise.
14386         * lib/float.in.h: Likewise.
14387         * lib/iconv.in.h: Likewise.
14388         * lib/inttypes.in.h: Likewise.
14389         * lib/locale.in.h: Likewise.
14390         * lib/math.in.h: Likewise.
14391         * lib/netinet_in.in.h: Likewise.
14392         * lib/search.in.h: Likewise.
14393         * lib/signal.in.h: Likewise.
14394         * lib/stdarg.in.h: Likewise.
14395         * lib/stdint.in.h: Likewise.
14396         * lib/stdio.in.h: Likewise.
14397         * lib/stdlib.in.h: Likewise.
14398         * lib/string.in.h: Likewise.
14399         * lib/strings.in.h: Likewise.
14400         * lib/sys_select.in.h: Likewise.
14401         * lib/sys_socket.in.h: Likewise.
14402         * lib/sys_stat.in.h: Likewise.
14403         * lib/sys_time.in.h: Likewise.
14404         * lib/sysexits.in.h: Likewise.
14405         * lib/time.in.h: Likewise.
14406         * lib/unistd.in.h: Likewise.
14407         * lib/wchar.in.h: Likewise.
14408         * lib/wctype.in.h: Likewise.
14409         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
14410         * modules/fchdir (Makefile.am): Likewise.
14411         * modules/fcntl (Makefile.am): Likewise.
14412         * modules/float (Makefile.am): Likewise.
14413         * modules/iconv_open (Makefile.am): Likewise.
14414         * modules/inttypes (Makefile.am): Likewise.
14415         * modules/locale (Makefile.am): Likewise.
14416         * modules/math (Makefile.am): Likewise.
14417         * modules/netinet_in (Makefile.am): Likewise.
14418         * modules/search (Makefile.am): Likewise.
14419         * modules/signal (Makefile.am): Likewise.
14420         * modules/stdarg (Makefile.am): Likewise.
14421         * modules/stdint (Makefile.am): Likewise.
14422         * modules/stdio (Makefile.am): Likewise.
14423         * modules/stdlib (Makefile.am): Likewise.
14424         * modules/string (Makefile.am): Likewise.
14425         * modules/strings (Makefile.am): Likewise.
14426         * modules/sys_select (Makefile.am): Likewise.
14427         * modules/sys_socket (Makefile.am): Likewise.
14428         * modules/sys_stat (Makefile.am): Likewise.
14429         * modules/sys_time (Makefile.am): Likewise.
14430         * modules/sysexits (Makefile.am): Likewise.
14431         * modules/time (Makefile.am): Likewise.
14432         * modules/unistd (Makefile.am): Likewise.
14433         * modules/wchar (Makefile.am): Likewise.
14434         * modules/wctype (Makefile.am): Likewise.
14435         Reported by Reuben Thomas <rrt@sc3d.org>.
14436
14437 2008-08-29  Bruno Haible  <bruno@clisp.org>
14438
14439         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
14440         any more.
14441
14442 2008-08-29  Simon Josefsson  <simon@josefsson.org>
14443
14444         * MODULES.html.sh (Misc): Add bitrotate.
14445
14446         * modules/bitrotate: New file.
14447
14448         * lib/bitrotate.h: New file.
14449
14450         * modules/bitrotate-tests: New file.
14451
14452         * tests/test-bitrotate.c: New file.
14453
14454         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
14455         on the bitrotate module.
14456
14457         * lib/arctwo.c: Use new bitrotate module.
14458
14459 2008-08-29  Jim Meyering  <meyering@redhat.com>
14460
14461         bootstrap: merge changes from coreutils
14462         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
14463         of copied files.  Remove a kludge, now that this is fixed.
14464         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
14465         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
14466         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
14467
14468 2008-08-29  Bruno Haible  <bruno@clisp.org>
14469
14470         * MODULES.html.sh: Remove --cvs-urls option.
14471
14472 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
14473
14474         maint.mk: adjust to file name change
14475         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
14476
14477 2008-08-28  Jim Meyering  <meyering@redhat.com>
14478
14479         * modules/getndelim2 (License): Relicense to LGPLv2+.
14480         Approved by Richard Stallman for the version of 1995, and by
14481         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
14482
14483 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
14484
14485         * lib/getdelim.c (flockfile, funlockfile): Make all of them
14486         dummy if one is not available.  Do not touch them if
14487         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
14488         (getc_maybe_unlocked): New.
14489         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
14490
14491 2008-08-26  Eric Blake  <ebb9@byu.net>
14492
14493         doc/INSTALL: resync from autoconf
14494         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
14495         (INSTALL_PRELUDE): Delete; this is done more efficiently by
14496         moving...
14497         * install.texi [!autoconf]: ...here.  Resync from autoconf.
14498         * INSTALL: Regenerate.
14499         * INSTALL.ISO: New file.
14500         * INSTALL.UTF-8: Likewise.
14501
14502 2008-08-26  Jim Meyering  <meyering@redhat.com>
14503
14504         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
14505         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
14506         these definitions conditional, so that they may be overridden, too.
14507
14508 2008-08-26  Bruno Haible  <bruno@clisp.org>
14509
14510         Generate INSTALL file variants with prettier quotes.
14511         * doc/Makefile (INSTALL_PRELUDE): New macro.
14512         (INSTALL): Use it.
14513         (INSTALL.ISO, INSTALL.UTF-8): New rules.
14514
14515 2008-08-26  Bruno Haible  <bruno@clisp.org>
14516
14517         Run makeinfo in an English locale.
14518         * doc/Makefile (MAKEINFO): New variable.
14519
14520 2008-08-26  Bruno Haible  <bruno@clisp.org>
14521
14522         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
14523         Suggested by Eric Blake.
14524
14525 2008-08-25  Bruno Haible  <bruno@clisp.org>
14526
14527         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
14528
14529 2008-08-25  Eric Blake  <ebb9@byu.net>
14530
14531         c-stack: test that stack overflow can be caught
14532         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
14533         that platform allows handling stack overflow; at least OS/2 EMX
14534         has sigaltstack, but crashes before transferring control to
14535         handler on stack overflow.
14536         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
14537         check for HAVE_STACK_OVERFLOW_HANDLING.
14538         Reported by Elbert Pol.
14539
14540 2008-08-25  Bruno Haible  <bruno@clisp.org>
14541
14542         * doc/posix-functions/strftime.texi: Fix description of strftime
14543         module.
14544
14545 2008-08-24  Bruno Haible  <bruno@clisp.org>
14546
14547         * tests/uniwidth/test-uc_width2.c: New file.
14548         * tests/uniwidth/test-uc_width2.sh: New file.
14549         * modules/uniwidth/width-tests (Files): Add the new files.
14550         (TESTS): Add uniwidth/test-uc_width2.sh.
14551         (TESTS_ENVIRONMENT): New variable.
14552         (check_PROGRAMS): Add test-uc_width2.
14553         (test_uc_width2_SOURCES): New variable.
14554
14555         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
14556         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
14557         not 0x00AB.
14558         Reported by Alexander V. Lukyanov <lav@netis.ru>.
14559
14560 2008-08-22  Eric Blake  <ebb9@byu.net>
14561
14562         test-lock, test-tls: mention why a test is skipped
14563         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
14564         skipped.
14565         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
14566
14567         count-one-bits: relax license
14568         * modules/count-one-bits (License): Relicense to LGPLv2+.
14569         Suggested by Ludovic Courtès, approved by Ben Pfaff.
14570
14571 2008-08-22  Andreas Schwab  <schwab@suse.de>
14572
14573         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14574         Remove spurious space in assignment.
14575
14576 2008-08-21  Simon Josefsson  <simon@josefsson.org>
14577
14578         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
14579         Paul Eggert <eggert@CS.UCLA.EDU>.
14580
14581 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
14582
14583         * modules/gettext: Add m4/threadlib.m4.
14584
14585 2008-08-19  Eric Blake  <ebb9@byu.net>
14586
14587         test-c-stack: fix compilation failure on FreeBSD 5.0
14588         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
14589         headers before <sys/resource.h>.
14590         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
14591         the bug.
14592         Reported by Nelson H. F. Beebe.
14593
14594         strverscmp: migrate from "strverscmp.h" to <string.h>
14595         * modules/string (Makefile.am): Add new hooks.
14596         * modules/strverscmp (Files): Remove strverscmp.h.
14597         (Depends-on): Add string.
14598         (configure.ac): Add indicator.
14599         (Include): Mention new header.
14600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
14601         defaults.
14602         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
14603         results.
14604         * lib/strverscmp.h: Delete.
14605         * lib/string.in.h (strverscmp): Provide declaration, when needed.
14606         * tests/test-strverscmp.c (includes): Adjust client.
14607         * lib/check-version.c (includes): Likewise.
14608         * NEWS: Document the change.
14609
14610         strverscmp: add unit test
14611         * modules/strverscmp-tests: New file.
14612         * tests/test-strverscmp.c: Likewise.
14613
14614 2008-08-19  Simon Josefsson  <simon@josefsson.org>
14615
14616         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
14617         regarding Windows crypto stuff, from Mono.
14618
14619 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
14620
14621         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
14622         if present, for intel RND.  Return error on failures.
14623
14624 2008-08-18  Ben Pfaff  <blp@gnu.org>
14625
14626         gitlog-to-changelog: give better diagnostic for failed pipe-open
14627         * build-aux/gitlog-to-changelog: Improve error message: suggest
14628         that the version of Git may be too old.
14629
14630 2008-08-18  Simon Josefsson  <simon@josefsson.org>
14631
14632         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
14633         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
14634
14635 2008-08-18  Bruno Haible  <bruno@clisp.org>
14636
14637         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
14638         pthread_in_use().
14639
14640 2008-08-18  Bruno Haible  <bruno@clisp.org>
14641
14642         * lib/glthread/threadlib.c: Include <pthread.h>.
14643
14644 2008-08-18  Bruno Haible  <bruno@clisp.org>
14645
14646         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
14647         glthread_recursive_lock_* macros.
14648         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
14649         Fix syntax error.
14650
14651 2008-08-18  Bruno Haible  <bruno@clisp.org>
14652
14653         * lib/glthread/thread.c: Avoid forcing a context switch right after
14654         thread creation.
14655
14656 2008-08-17  Bruno Haible  <bruno@clisp.org>
14657
14658         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
14659         * lib/glthread/thread.h: Provide Win32 specific implementation.
14660         * modules/thread (Files): Add lib/glthread/thread.c.
14661         (Depends-on): Add lock.
14662         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
14663
14664 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14665
14666         New module 'yield'.
14667         * modules/yield: New file.
14668         * lib/glthread/yield.h: New file.
14669         * m4/yield.m4: New file.
14670         * MODULES.html.sh (Multithreading): Add yield.
14671
14672 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14673
14674         New module 'thread'.
14675         * modules/thread: New file.
14676         * lib/glthread/thread.h: New file.
14677         * m4/thread.m4: New file.
14678         * MODULES.html.sh (Multithreading): Add thread.
14679
14680 2008-08-17  Bruno Haible  <bruno@clisp.org>
14681
14682         * lib/glthread/lock.h: Include <stdlib.h> always.
14683         * lib/glthread/tls.h: Likewise.
14684         * lib/glthread/cond.h: Likewise.
14685
14686 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14687
14688         New module 'cond'.
14689         * modules/cond: New file.
14690         * lib/glthread/cond.h: New file.
14691         * lib/glthread/cond.c: New file.
14692         * m4/cond.m4: New file.
14693         * MODULES.html.sh (Multithreading): Add cond.
14694
14695 2008-08-16  Eric Blake  <ebb9@byu.net>
14696
14697         c-stack: fix regression on Irix 5.3 from 2008-06-21
14698         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
14699         sa_sigaction...
14700         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
14701         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
14702         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
14703         * modules/signal (Makefile.am): Use the value.
14704         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
14705         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
14706         * doc/posix-headers/signal.texi (signal.h): Document this
14707         portability issue.
14708         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
14709         Reported by Tom G. Christensen.
14710
14711 2008-08-17  Bruno Haible  <bruno@clisp.org>
14712
14713         New module 'threadlib'.
14714         * modules/threadlib: New file.
14715         * lib/glthread/threadlib.c: New file, extracted from
14716         lib/glthread/lock.c.
14717         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
14718         functions.
14719         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
14720         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
14721         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
14722         macros.
14723         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
14724         (gl_DISABLE_THREADS): Remove macro.
14725         * modules/lock (Files): Remove build-aux/config.rpath.
14726         (Depends-on): Remove havelib. Add threadlib.
14727         (configure.ac-early): Remove section.
14728         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
14729         * modules/tls (Depends-on): Remove lock. Add threadlib.
14730         (Link): New section, copied from threadlib.
14731         * MODULES.html.sh (Multithreading): Add threadlib.
14732
14733 2008-08-14  Bruno Haible  <bruno@clisp.org>
14734
14735         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
14736         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
14737         glthread_rwlock_unlock, glthread_rwlock_destroy,
14738         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
14739         glthread_recursive_lock_destroy): Define as macros always.
14740         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
14741         glthread_lock_lock.
14742         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
14743         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
14744         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
14745         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
14746         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
14747         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
14748         (glthread_recursive_lock_lock_func): Renamed from
14749         glthread_recursive_lock_lock.
14750         (glthread_recursive_lock_unlock_func): Renamed from
14751         glthread_recursive_lock_unlock.
14752         (glthread_recursive_lock_destroy_func): Renamed from
14753         glthread_recursive_lock_destroy.
14754
14755 2008-08-14  Bruno Haible  <bruno@clisp.org>
14756
14757         * lib/glthread/lock.h: Renamed from lib/lock.h.
14758         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
14759         * lib/glthread/tls.h: Renamed from lib/tls.h.
14760         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
14761         * lib/fstrcmp.c: Update includes.
14762         * lib/strsignal.c: Update includes.
14763         * modules/lock (Files, Makefile.am): Update.
14764         (Include): Change to "glthread/lock.h".
14765         * modules/tls (Files, Makefile.am): Update.
14766         (Include): Change to "glthread/tls.h".
14767         * tests/test-lock.c: Update includes.
14768         * tests/test-tls.c: Update includes.
14769         * NEWS: Mention the renamed header files.
14770
14771 2008-08-11  Jim Meyering  <meyering@redhat.com>
14772
14773         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
14774
14775 2008-08-11  Eric Blake  <ebb9@byu.net>
14776
14777         test-c-stack: avoid C99-ism
14778         * tests/test-c-stack.c (main): Fix whitespace, move declaration
14779         before statement.
14780         Reported by Alain Guibert.
14781
14782 2008-08-10  Jim Meyering  <meyering@redhat.com>
14783
14784         ensure that return value of uinttostr et al are not ignored
14785         * lib/inttostr.h (__GNUC_PREREQ): Define.
14786         (__attribute_warn_unused_result__): Define.
14787         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
14788
14789 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
14790
14791         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
14792         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
14793
14794 2008-08-07  Jim Meyering  <meyering@redhat.com>
14795
14796         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
14797
14798         * modules/mkstemp (License): Relicense under LGPLv2+.
14799         * modules/tempname (License): Likewise.
14800
14801 2008-08-06  Bruno Haible  <bruno@clisp.org>
14802
14803         * lib/poll.c (poll): Further micro-optimization.
14804
14805 2008-08-06  Jim Meyering  <meyering@redhat.com>
14806
14807         inet_pton.c: use locale-independent tolower
14808         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
14809         (inet_pton6): Use c_tolower rather than tolower.
14810         * modules/inet_pton (Depends-on): Add c-ctype.
14811
14812 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
14813
14814         * lib/poll.c (poll): Avoid division when timeout is 0, cache
14815         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
14816
14817 2008-08-06  Jim Meyering  <meyering@redhat.com>
14818
14819         * modules/inet_pton (License): Relicense under LGPLv2+.
14820
14821 2008-08-03  Bruno Haible  <bruno@clisp.org>
14822
14823         Additional non-aborting API for lock and tls.
14824         * lib/lock.h: Include <errno.h>.
14825         (glthread_lock_init): New macro/function.
14826         (gl_lock_init): Define as wrapper around glthread_lock_init.
14827         (glthread_lock_lock): New macro/function.
14828         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
14829         (glthread_lock_unlock): New macro/function.
14830         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
14831         (glthread_lock_destroy): New macro/function.
14832         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
14833         (glthread_rwlock_init): New macro/function.
14834         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
14835         (glthread_rwlock_rdlock): New macro/function.
14836         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
14837         (glthread_rwlock_wrlock): New macro/function.
14838         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
14839         (glthread_rwlock_unlock): New macro/function.
14840         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
14841         (glthread_rwlock_destroy): New macro/function.
14842         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
14843         (glthread_recursive_lock_init): New macro/function.
14844         (gl_recursive_lock_init): Define as wrapper around
14845         glthread_recursive_lock_init.
14846         (glthread_recursive_lock_lock): New macro/function.
14847         (gl_recursive_lock_lock): Define as wrapper around
14848         glthread_recursive_lock_lock.
14849         (glthread_recursive_lock_unlock): New macro/function.
14850         (gl_recursive_lock_unlock): Define as wrapper around
14851         glthread_recursive_lock_unlock.
14852         (glthread_recursive_lock_destroy): New macro/function.
14853         (gl_recursive_lock_destroy): Define as wrapper around
14854         glthread_recursive_lock_destroy.
14855         (glthread_once): New macro/function.
14856         (gl_once): Define as wrapper around glthread_once.
14857         Update function declarations.
14858         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
14859         glthread_rwlock_init. Return error code.
14860         (glthread_rwlock_rdlock_multithreaded): Renamed from
14861         glthread_rwlock_rdlock. Return error code.
14862         (glthread_rwlock_wrlock_multithreaded): Renamed from
14863         glthread_rwlock_wrlock. Return error code.
14864         (glthread_rwlock_unlock_multithreaded): Renamed from
14865         glthread_rwlock_unlock. Return error code.
14866         (glthread_rwlock_destroy_multithreaded): Renamed from
14867         glthread_rwlock_destroy. Return error code.
14868         (glthread_recursive_lock_init_multithreaded): Renamed from
14869         glthread_recursive_lock_init. Return error code.
14870         (glthread_recursive_lock_lock_multithreaded): Renamed from
14871         glthread_recursive_lock_lock. Return error code.
14872         (glthread_recursive_lock_unlock_multithreaded): Renamed from
14873         glthread_recursive_lock_unlock. Return error code.
14874         (glthread_recursive_lock_destroy_multithreaded): Renamed from
14875         glthread_recursive_lock_destroy. Return error code.
14876         (glthread_once_call): Make static.
14877         (glthread_once_multithreaded): Renamed from glthread_once.
14878         * lib/tls.h: Include <errno.h>.
14879         (glthread_tls_key_init): New macro/function.
14880         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
14881         (glthread_tls_set): New macro/function.
14882         (gl_tls_set): Define as wrapper around glthread_tls_set.
14883         (glthread_tls_key_destroy): New macro/function.
14884         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
14885         Update function declarations.
14886         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
14887         glthread_tls_get.
14888         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
14889
14890 2008-08-04  Eric Blake  <ebb9@byu.net>
14891
14892         gnumakefile: use space, not TAB, outside of targets
14893         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
14894
14895 2008-08-02  Jim Meyering  <meyering@redhat.com>
14896
14897         getdate.y: avoid locale-dependent date parsing failure
14898         In Turkish locales, getdate would fail to recognize keywords
14899         containing a lowercase "i".  The solution is not to rely on
14900         locale-sensitive case-conversion.
14901         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
14902         (lookup_word): Use c_toupper in place of toupper.
14903         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
14904         Reported by Vefa Bicakci <bicave@superonline.com> in
14905         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
14906         * modules/getdate (Depends-on): Add c-ctype.
14907
14908 2008-08-02  Bruno Haible  <bruno@clisp.org>
14909
14910         * gnulib-tool (func_import): When updating or creating a .gitignore
14911         file, prepend each added line with a slash, and ignore leading slashes
14912         from the existing lines.
14913         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
14914
14915 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14916
14917         Portability fix for GNU make 3.79.1.
14918         * top/GNUmakefile: Avoid 'else COND', which older GNU make
14919         versions do not understand.
14920
14921 2008-08-01  Bruno Haible  <bruno@clisp.org>
14922
14923         Work around bug of HP-UX 10.20 cc with -0.0 literal.
14924         * tests/test-isnanf.h (zero): New variable.
14925         (main): Avoid literal -0.0f.
14926         * tests/test-isnand.h (zero): New variable.
14927         (main): Avoid literal -0.0.
14928         * tests/test-isnanl.h (zero): New variable.
14929         (main): Avoid literal -0.0L.
14930         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
14931         (test_float, test_double, test_long_double): Avoid literals -0.0f,
14932         -0.0, -0.0L.
14933         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
14934         (test_signbitd): Avoid literal -0.0.
14935         (test_signbitl): Avoid literal -0.0L.
14936         * tests/test-ceilf1.c (zero): New variable.
14937         (main): Avoid literal -0.0f.
14938         * tests/test-ceill.c (zero): New variable.
14939         (main): Avoid literal -0.0L.
14940         * tests/test-floorf1.c (zero): New variable.
14941         (main): Avoid literal -0.0f.
14942         * tests/test-floorl.c (zero): New variable.
14943         (main): Avoid literal -0.0L.
14944         * tests/test-roundf1.c (zero): New variable.
14945         (main): Avoid literal -0.0f.
14946         * tests/test-round1.c (zero): New variable.
14947         (main): Avoid literal -0.0.
14948         * tests/test-roundl.c (zero): New variable.
14949         (main): Avoid literal -0.0L.
14950         * tests/test-truncf1.c (zero): New variable.
14951         (main): Avoid literal -0.0f.
14952         * tests/test-trunc1.c (zero): New variable.
14953         (main): Avoid literal -0.0.
14954         * tests/test-truncl.c (zero): New variable.
14955         (main): Avoid literal -0.0L.
14956         * tests/test-frexp.c (zero): New variable.
14957         (main): Avoid literal -0.0.
14958         * tests/test-frexpl.c (zero): New variable.
14959         (main): Avoid literal -0.0L.
14960         * tests/test-ldexpl.c (zero): New variable.
14961         (main): Avoid literal -0.0L.
14962         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
14963         (zerod, zerol): New variables.
14964         (test_function): Avoid literals -0.0, -0.0L.
14965         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
14966         (zerod, zerol): New variables.
14967         (test_function): Avoid literals -0.0, -0.0L.
14968         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
14969         (zerod, zerol): New variables.
14970         (test_function): Avoid literals -0.0, -0.0L.
14971         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
14972         (zerod, zerol): New variables.
14973         (test_function): Avoid literals -0.0, -0.0L.
14974         * tests/test-strtod.c (zero): New variable.
14975         (main): Avoid literal -0.0.
14976         Reported by Jonathan C. Patschke <jp@centtech.com>.
14977
14978 2008-07-31  Jim Meyering  <meyering@redhat.com>
14979
14980         sha256.h: correct definition of SHA224_DIGEST_SIZE
14981         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
14982         Reported by Paulie Pena IV <paulie4@gmail.com>.
14983         Define as 224 / 8, rather than as a literal.
14984         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
14985         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
14986         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
14987
14988 2008-07-31  Bruno Haible  <bruno@clisp.org>
14989
14990         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
14991         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
14992         Reported by Jonathan Patschke <jp@centtech.com>.
14993
14994 2008-07-31  Bruno Haible  <bruno@clisp.org>
14995
14996         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
14997         Reported by Paolo Bonzini <bonzini@gnu.org>.
14998
14999 2008-07-30  Eric Blake  <ebb9@byu.net>
15000
15001         test-strtod: allow compilation without -lm
15002         * tests/test-strtod.c (main): Avoid link dependence on fabs.
15003         Reported by Dennis Clarke <blastwave@gmail.com>.
15004
15005 2008-07-28  Jim Meyering  <meyering@redhat.com>
15006
15007         bootstrap: work also when there are no .po files in po/
15008         * build-aux/bootstrap (update_po_files): Complete the change
15009         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
15010
15011 2008-07-27  Jim Meyering  <meyering@redhat.com>
15012
15013         * users.txt: Add zile.
15014
15015 2008-07-26  Ben Pfaff  <blp@gnu.org>
15016
15017         Add missing dependencies on new m4/exponent[fdl].m4 files.
15018         * modules/isnanf-nolibm: Add m4/exponentf.m4.
15019         * modules/isnand-nolibm: Add m4/exponentd.m4.
15020         * modules/isnanl-nolibm: Add m4/exponentl.m4.
15021         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
15022         m4/isnan[fdl].m4, because the macros actually used moved.
15023         Reported by Jim Meyering.
15024
15025 2008-07-14  Ben Pfaff  <blp@gnu.org>
15026
15027         Add isinf module.
15028         * lib/isinf.c: New file.
15029         * lib/math.in.h: Define isinf macro if we have decided to replace
15030         it.
15031         * m4/isinf.m4: New file.
15032         * m4/math_h.m4: Initialize and substitute variables for isinf
15033         module.
15034         * modules/isinf: New file.
15035         * modules/isinf-tests: New file.
15036         * modules/math: Add substitutions for new module.
15037         * tests/test-isinf.c: New file.
15038         * doc/posix-functions/isinf.texi: Mention new module.
15039         * MODULES.html.sh: Mention new module.
15040
15041 2008-07-14  Ben Pfaff  <blp@gnu.org>
15042
15043         Factor out some macros for use by additional modules.
15044         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
15045         exponentf.m4.
15046         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
15047         exponentd.m4.
15048         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
15049         file exponentl.m4.
15050         * m4/exponentf.m4: New file.
15051         * m4/exponentd.m4: New file.
15052         * m4/exponentl.m4: New file.
15053         * modules/isnanf: Use new file m4/exponentf.m4.
15054         * modules/isnand: Use new file m4/exponentd.m4.
15055         * modules/isnanl: Use new file m4/exponentl.m4.
15056
15057 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
15058
15059         mktime.c: normalize tp->tm_isdst value to -1/0/1.
15060         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
15061         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
15062         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
15063
15064         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
15065         readlink on platforms without PATH_MAX.
15066
15067 2008-07-21  Eric Blake  <ebb9@byu.net>
15068
15069         Warn, not fail, on stale version.
15070         * top/GNUmakefile (_curr-ver): Tone down previous patch.
15071
15072         Don't allow installation with stale devel version number.
15073         * top/GNUmakefile (_is-install-target): New macro.
15074         (_curr-ver): Forbid installation with stale version number.
15075
15076 2008-07-20  Bruno Haible  <bruno@clisp.org>
15077
15078         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
15079         TESTS_ENVIRONMENT.
15080         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
15081
15082 2008-07-20  Bruno Haible  <bruno@clisp.org>
15083
15084         * lib/c-stack.h (c_stack_action): Add documentation.
15085         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
15086
15087 2008-07-20  Bruno Haible  <bruno@clisp.org>
15088
15089         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
15090         * modules/readlink (License): Likewise.
15091
15092 2008-07-17  Eric Blake  <ebb9@byu.net>
15093
15094         * modules/c-stack (Link): Fix typo.
15095
15096         Make c-stack use libsigsegv, when available.
15097         * modules/c-stack (Depends-on): Add libsigsegv.
15098         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
15099         needed.
15100         * lib/c-stack.c (SIGSTKSZ): Define fallback.
15101         (segv_handler, overflow_handler, c_stack_action)
15102         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
15103         implementation when libsigsegv is available, but only when using
15104         the library is necessary.
15105         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
15106         comment, explaining why XSI check fails on Linux.
15107         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
15108         * tests/test-c-stack2.sh: Tweak skip message.
15109         * NEWS: Document new link-time requirements.
15110
15111 2008-07-16  Eric Blake  <ebb9@byu.net>
15112
15113         c-stack: Expose false positives when not using libsigsegv.
15114         * modules/c-stack-tests (Files): Expand test.
15115         * tests/test-c-stack.c (main): Add means to conditionally trigger
15116         non-overflow SIGSEGV.
15117         * tests/test-c-stack2.sh: New file.
15118
15119 2008-07-14  Bruno Haible  <bruno@clisp.org>
15120
15121         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
15122         Reported by Eric Blake.
15123
15124 2008-07-14  Sam Steingold  <sds@gnu.org>
15125             Bruno Haible  <bruno@clisp.org>
15126
15127         New module libsigsegv.
15128         * modules/libsigsegv: New file.
15129         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
15130         modifications.
15131         * MODULES.html.sh (Signal handling): New section.
15132
15133 2008-07-14  Bruno Haible  <bruno@clisp.org>
15134
15135         * modules/unictype/ctype-* (Description): Add the word "function".
15136         Improves the resulting doc in MODULES.html.
15137
15138 2008-07-12  Ben Pfaff  <blp@gnu.org>
15139
15140         Add longlong module.
15141         * modules/longlong: New file.
15142
15143 2008-07-12  Bruno Haible  <bruno@clisp.org>
15144
15145         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
15146         to empty.
15147
15148 2008-07-10  Ben Pfaff  <blp@gnu.org>
15149
15150         Add isnan module.
15151         * doc/posix-functions/isnan.texi: Mention new module.
15152         * lib/math.in.h: Define isnan macro if we have decided to replace
15153         it.
15154         * m4/isnan.m4: New file.
15155         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
15156         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
15157         also.
15158         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
15159         redundancy.
15160         * m4/math_h.m4: Initialize and substitute variables for isnan
15161         module.
15162         * modules/isnan: New file.
15163         * modules/isnan-tests: New file.
15164         * modules/math: Add substitutions for new module.
15165         * tests/test-isnan.c: New file.
15166         * MODULES.html.sh: Mention new module.
15167
15168 2008-07-10  Ben Pfaff  <blp@gnu.org>
15169
15170         Add isnanf module.
15171         * lib/isnanf.m4: New file.
15172         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
15173         (gl_HAVE_ISNANF_IN_LIBM): New macro.
15174         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
15175         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
15176         * modules/isnanf: New file.
15177         * modules/isnanf-tests: New file.
15178         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
15179         files.
15180         * tests/test-isnanf-nolibm.c: factored most of its contents into
15181         new file tests/test-isnanf.h.
15182         * tests/test-isnanf.h: New file.
15183         * tests/test-isnanf.c: New file.
15184         * MODULES.html.sh: Mention new module.
15185         * doc/glibc-functions/isnanf.texi: Mention new module.
15186
15187 2008-07-10  Ben Pfaff  <blp@gnu.org>
15188
15189         Add isnand module.
15190         * lib/isnand.h: New file.
15191         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
15192         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
15193         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
15194         functionality also.
15195         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
15196         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
15197         (gl_HAVE_ISNAND_IN_LIBM): New macro.
15198         * modules/isnand: New file.
15199         * modules/isnand-tests: New file.
15200         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
15201         files.
15202         * tests/test-isnand-nolibm.c: factored most of its contents into
15203         new file tests/test-isnand.h.
15204         * tests/test-isnand.h: New file.
15205         * tests/test-isnand.c: New file.
15206         * MODULES.html.sh: Mention new module.
15207
15208 2008-07-10  Ben Pfaff  <blp@gnu.org>
15209
15210         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
15211         * lib/isnand.h: Rename lib/isnand-nolibm.h.
15212         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
15213         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
15214         * modules/isnanf-nolibm: Update references to renamed files.
15215         * modules/isnand-nolibm: Likewise.
15216         * modules/isnanf-nolibm-tests: Likewise.
15217         * modules/isnand-nolibm-tests: Likewise.
15218         * lib/frexp.c: Likewise.
15219         * lib/isfinite.c: Likewise.
15220         * lib/signbitd.c: Likewise.
15221         * lib/signbitf.c: Likewise.
15222         * lib/vasnprintf.c: Likewise.
15223         * tests/test-ceilf1.c: Likewise.
15224         * tests/test-ceilf2.c: Likewise.
15225         * tests/test-floorf1.c: Likewise.
15226         * tests/test-floorf2.c: Likewise.
15227         * tests/test-frexp.c: Likewise.
15228         * tests/test-round1.c: Likewise.
15229         * tests/test-round2.c: Likewise.
15230         * tests/test-roundf1.c: Likewise.
15231         * tests/test-strtod.c: Likewise.
15232         * tests/test-trunc1.c: Likewise.
15233         * tests/test-trunc2.c: Likewise.
15234         * tests/test-truncf1.c: Likewise.
15235         * tests/test-truncf2.c: Likewise.
15236         * NEWS: Mention the renamed header files.
15237
15238 2008-07-11  Jim Meyering  <meyering@redhat.com>
15239
15240         vc-list-files: make the last-resort awk code more portable
15241         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
15242         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
15243         does not support it.
15244
15245 2008-07-10  Eric Blake  <ebb9@byu.net>
15246
15247         Work with tar's bootstrap.
15248         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
15249         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
15250         an m4 comment.
15251
15252 2008-07-09  Jim Meyering  <meyering@redhat.com>
15253
15254         posix-shell.m4: fix typo that made this test malfunction
15255         * m4/posix-shell.m4: Remove capitalization in variable name.
15256
15257 2008-07-08  Bruno Haible  <bruno@clisp.org>
15258
15259         * m4/onceonly.m4: Update comments.
15260         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15261
15262 2008-07-04  Jim Meyering  <meyering@redhat.com>
15263
15264         * users.txt: Add vc-dwim.
15265         (bison, coreutils): Use the gitweb URL.
15266
15267 2008-07-03  Jim Meyering  <meyering@redhat.com>
15268
15269         * users.txt: Add libffcall.  From Sam Steingold.
15270
15271 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
15272
15273         getdate.y: do not ignore TZ with relative day, month or year offset
15274         * lib/getdate.y (get_date): Move the tz-handling block to follow the
15275         relative-date-handling, since otherwise, the latter would clobber the
15276         sole output (an updated Start value) of the tz-handling block.
15277         * tests/test-getdate.c: Tests for the fix
15278
15279 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15280
15281         Recognize 'foo_LIBRARIES += libgnu.a'.
15282         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
15283         makefile snippet has already specified an installation location,
15284         also using '+='.
15285
15286 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
15287
15288         getdate.y: factor out common actions
15289         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
15290         Use them in place of open-coded actions.
15291
15292 2008-07-01  Simon Josefsson  <simon@josefsson.org>
15293
15294         Add self-test for getdate module.
15295         * modules/getdate-tests: New file.
15296         * tests/test-getdate.c: New file.
15297
15298 2008-06-29  Bruno Haible  <bruno@clisp.org>
15299
15300         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
15301         .gitignore.
15302         Reported by Sylvain Beucler <beuc@beuc.net>.
15303
15304 2008-06-29  Bruno Haible  <bruno@clisp.org>
15305
15306         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
15307         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
15308
15309 2008-06-29  Bruno Haible  <bruno@clisp.org>
15310
15311         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
15312         EXTRA_DIST.
15313         Reported by Sylvain Beucler <beuc@beuc.net>.
15314
15315 2008-06-26  Jim Meyering  <meyering@redhat.com>
15316
15317         make several modules depend on the "open" module
15318         This provides slightly increased consistency when opening-for-write
15319         the name of a non-directory spelled with a trailing slash.
15320         * modules/chdir-safer: Likewise.
15321         * modules/chown: Likewise.
15322         * modules/clean-temp: Likewise.
15323         * modules/copy-file: Likewise.
15324         * modules/fchdir: Likewise.
15325         * modules/fcntl-safer: Likewise.
15326         * modules/pipe: Likewise.
15327         * modules/utime: Likewise.
15328         Prompted by Eric Blake and Bruno Haible.
15329
15330 2008-06-24  Andreas Schwab  <schwab@suse.de>
15331
15332         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
15333         literals can be used as initializers for global variables.
15334
15335 2008-06-23  Eric Blake  <ebb9@byu.net>
15336
15337         Make gnulib-cache.m4 easier to diff.
15338         * gnulib-tool (func_import): Allow newlines when reading cached
15339         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
15340
15341 2008-06-23  Bruno Haible  <bruno@clisp.org>
15342
15343         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
15344         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
15345         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
15346         m4/signalblocking.m4.
15347         (gl_PREREQ_SIGACTION): Don't invoke it.
15348         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
15349         gl_PREREQ_SIG_HANDLER_H.
15350         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15351         Don't check for sigaction here.
15352
15353 2008-06-23  Bruno Haible  <bruno@clisp.org>
15354
15355         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
15356         (install_handlers): Don't set the SA_RESETHAND flag.
15357
15358 2008-06-23  Bruno Haible  <bruno@clisp.org>
15359
15360         * m4/sigaction.m4: Comment fixes.
15361         * lib/signal.in.h: Likewise.
15362
15363 2008-06-23  Eric Blake  <ebb9@byu.net>
15364
15365         Fix typo.
15366         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
15367
15368         Avoid SA_ namespace.
15369         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
15370         Reported by Ralf Wildenhues.
15371
15372         Avoid test failure due to SA_RESTORER.
15373         * tests/test-sigaction.c (SA_MASK): New macro.
15374         (main): Avoid failing due to extension flags being set.
15375         Reported by Jim Meyering.
15376
15377         Revert use of sig-handler.h in sigprocmask.c.
15378         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
15379         it requires the existence of struct sigaction.
15380         * lib/sigprocmask.c (handler_t): Restore typedef.
15381         (rpl_signal, old_handlers): Use local type.
15382
15383 2008-06-22  Bruno Haible  <bruno@clisp.org>
15384
15385         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
15386         conditionally.
15387         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15388
15389 2008-06-22  Bruno Haible  <bruno@clisp.org>
15390
15391         * doc/posix-functions/siginterrupt.texi: Move note.
15392
15393         * lib/signal.in.h (SA_RESTART): New macro.
15394         * lib/sigaction.c: Update comment.
15395
15396         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
15397
15398         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
15399         (gl_PREREQ_SIGPROCMASK): Invoke it.
15400         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
15401
15402         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
15403
15404         * lib/sigprocmask.c: Update a comment.
15405
15406 2008-06-21  Eric Blake  <ebb9@byu.net>
15407
15408         Use sigaction module rather than signal().
15409         * modules/c-stack (Depends-on): Add sigaction.
15410         * modules/fatal-signal (Depends-on): Likewise.
15411         * modules/nanosleep (Depends-on): Likewise.
15412         * modules/sigprocmask (Files): Add sig-handler.h.
15413         * modules/sigaction (Files): Likewise.
15414         * lib/sig-handler.h (get_handler): New file, suggested by Paul
15415         Eggert.
15416         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
15417         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
15418         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
15419         (init_fatal_signals): Likewise.
15420         * lib/nanosleep.c (rpl_nanosleep): Likewise.
15421         (siginterrupt): Delete fallback.
15422         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
15423         instead.
15424         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
15425         siginterrupt.
15426
15427         New module sigaction, for mingw.
15428         * modules/sigaction: New module...
15429         * modules/sigaction-tests: ...and its test.
15430         * m4/sigaction.m4: New file.
15431         * lib/sigaction.c: Likewise.
15432         * tests/test-sigaction.c: Likewise.
15433         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
15434         * modules/signal (Makefile.am): Likewise.
15435         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
15436         needed.
15437         * doc/posix-headers/signal.texi (signal.h): Mention provided
15438         types.
15439         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
15440         that sigaction is preferable.
15441         * doc/posix-functions/sigaction.texi (sigaction): Mention new
15442         module.
15443         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15444         sigaction.
15445
15446         Improve robustness of sigprocmask by overriding signal.
15447         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
15448         is in use.
15449         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
15450         (SIGKILL, SIGSTOP): Provide fallbacks.
15451         (rpl_signal): Implement.
15452         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
15453         signal can be called inside handlers.
15454
15455         Fix nanosleep module on mingw.
15456         * modules/nanosleep (Depends-on): Add sys_select.
15457         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
15458
15459         Fix licensing of sigprocmask.
15460         * modules/raise (License): Relicense as LGPL.
15461
15462 2008-06-21  Bruno Haible  <bruno@clisp.org>
15463
15464         * lib/propername.c (proper_name_utf8): Don't use the transliterated
15465         result if it contains question marks.
15466         Reported by Michael Geng <linux@michaelgeng.de>.
15467
15468 2008-06-19  Bruno Haible  <bruno@clisp.org>
15469
15470         Fix CVS-ism.
15471         * doc/gnulib.texi: Include updated-stamp.texi.
15472         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
15473         (updated-stamp.texi): New rule.
15474         (gnulib.info): Depend on it.
15475         * doc/.gitignore: Add updated-stamp.texi.
15476         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
15477
15478 2008-06-19  Bruno Haible  <bruno@clisp.org>
15479
15480         * doc/Makefile (gnulib.info): Update and simplify dependencies.
15481         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15482
15483 2008-06-19  Eric Blake  <ebb9@byu.net>
15484
15485         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
15486         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
15487         Reported by Stepan Kasal.
15488
15489 2008-06-18  Bruno Haible  <bruno@clisp.org>
15490
15491         * lib/fatal-signal.c (init_fatal_signals): Add comment.
15492         Reported by Eric Blake.
15493
15494 2008-06-18  Eric Blake  <ebb9@byu.net>
15495
15496         Work around cygwin 1.5.25 strsignal bug.
15497         * tests/test-strsignal.c: Allow for const char *.
15498         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
15499
15500 2008-06-18  Simon Josefsson  <simon@josefsson.org>
15501
15502         * users.txt: Update URL to article and add author/date
15503         information.
15504
15505 2008-06-17  Bruno Haible  <bruno@clisp.org>
15506
15507         New macro gl_DISABLE_THREADS.
15508         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
15509         if the user did not pass --enable-threads or --disable-threads option.
15510         (gl_DISABLE_THREADS): New macro.
15511         Reported by Eric Blake <ebb9@byu.net>.
15512
15513 2008-06-17  Bruno Haible  <bruno@clisp.org>
15514
15515         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
15516         when the macro ignores it.
15517         Based on a patch by Eric Blake <ebb9@byu.net>.
15518
15519 2008-06-17  Bruno Haible  <bruno@clisp.org>
15520
15521         * modules/tls (License): Change to LGPLv2+.
15522         Reported by Eric Blake.
15523
15524 2008-06-17  Eric Blake  <ebb9@byu.net>
15525
15526         Simplify c-stack prerequisites.
15527         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
15528         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
15529         no longer requires <ucontext.h> to exist.  Optimize setrlimit
15530         check.
15531         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
15532         <sys/resource.h>.
15533
15534         Move c-stack test into testsuite.
15535         * modules/c-stack-tests: New file.
15536         * lib/c-stack.c [DEBUG]: Move test program...
15537         * tests/test-c-stack.c: ...into this new file.  Skip rather than
15538         fail test if sigaltstack is lacking.
15539         * tests/test-c-stack.sh: New driver file.
15540
15541 2008-06-16  Eric Blake  <ebb9@byu.net>
15542
15543         Use raise module consistently.
15544         * modules/fatal-signal (Depends-on): Add raise.
15545         * modules/sigprocmask (Depends-on): Likewise.
15546         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
15547         * lib/sigprocmask.c (sigprocmask): Likewise.
15548         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
15549         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
15550
15551         Fix compliance bug in sigpending.
15552         * lib/sigprocmask.c (sigpending): Return pending array via
15553         parameter, not return value.
15554
15555 2008-06-14  Eric Blake  <ebb9@byu.net>
15556
15557         Improve obstack-printf test code.
15558         * tests/test-obstack-printf.c (test_function): Fix comment, and
15559         simplify usage of obstack_* in macros.  Add a test for coverage.
15560         Reported by Bruno Haible.
15561
15562 2008-06-14  Bruno Haible  <bruno@clisp.org>
15563
15564         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
15565         array size as a constant, not as a const variable.
15566         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
15567         AC_USE_SYSTEM_EXTENSIONS.
15568         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
15569         Test whether the obstack_printf function actually exists.
15570         * modules/obstack-printf (Depends-on): Add extensions.
15571         (Include): Remove obstack.h.
15572         * modules/obstack-printf-posix (Depends-on): Add extensions.
15573         (Include): Remove obstack.h.
15574
15575 2008-06-13  Eric Blake  <ebb9@byu.net>
15576
15577         Add obstack-printf and obstack-printf-posix modules.
15578         * modules/obstack-printf: New file.
15579         * modules/obstack-printf-posix: Likewise.
15580         * MODULES.html.sh (Misc): Mention them.
15581         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
15582         Likewise.
15583         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
15584         Likewise.
15585         * modules/stdio (Makefile.am): Accomodate new modules.
15586         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
15587         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
15588         Declare.
15589         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
15590         functions.
15591         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
15592         (gl_REPLACE_OBSTACK_PRINTF): New macros
15593         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
15594         * tests/test-obstack-printf.c: New file.
15595         * modules/obstack-printf-tests: Likewise.
15596         * modules/obstack-printf-posix-tests: Likewise.
15597
15598 2008-06-11  Bruno Haible  <bruno@clisp.org>
15599
15600         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
15601         * lib/open.c: Include errno.h.
15602         (open): Fail when attempting to write to a file that has a trailing
15603         slash.
15604         * tests/test-open.c (main): Test against trailing slash bug.
15605         * doc/posix-functions/open.texi: Mention the trailing slash bug.
15606
15607 2008-06-10  Bruno Haible  <bruno@clisp.org>
15608
15609         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
15610         for $? to work inside the trap command, with various /bin/sh-s.
15611         * tests/test-vc-list-files-cvs.sh: Likewise.
15612
15613 2008-06-10  Bruno Haible  <bruno@clisp.org>
15614
15615         * lib/acl-internal.h: Don't include gettext.h here.
15616         * lib/set-mode-acl.c: Include gettext.h here.
15617         * lib/copy-acl.c: Likewise.
15618
15619 2008-06-10  Bruno Haible  <bruno@clisp.org>
15620
15621         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
15622         * lib/wait-process.c (wait_subprocess): Likewise.
15623         * lib/execute.h (execute): Add termsigp argument.
15624         * lib/execute.c (execute): Likewise.
15625         * lib/csharpcomp.c (compile_csharp_using_pnet,
15626         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
15627         * lib/csharpexec.c (execute_csharp_using_pnet,
15628         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
15629         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
15630         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
15631         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
15632         is_jikes_present): Update.
15633         * lib/javaexec.c (execute_java_class): Update.
15634         * lib/javaversion.c (execute_and_read_line): Update.
15635         * NEWS: Document the changes.
15636         Reported by Eric Blake.
15637
15638 2008-06-10  Eric Blake  <ebb9@byu.net>
15639
15640         Add missing include.
15641         * tests/test-strstr.c (includes): Add <signal.h>.
15642         * tests/test-strcasestr.c (includes): Likewise.
15643         * tests/test-memmem.c (includes): Likewise.
15644
15645 2008-06-10  Bruno Haible  <bruno@clisp.org>
15646
15647         * lib/wait-process.c (wait_subprocess): Add an assertion.
15648
15649 2008-06-10  Bruno Haible  <bruno@clisp.org>
15650
15651         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
15652
15653 2008-06-10  Bruno Haible  <bruno@clisp.org>
15654
15655         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
15656         using alarm().
15657         * tests/test-strcasestr.c (main): Likewise.
15658         * tests/test-strstr.c (main): Likewise.
15659
15660 2008-06-09  Bruno Haible  <bruno@clisp.org>
15661
15662         Work around the Solaris 10 ACE ACLs ABI change.
15663         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
15664         declare if ACL_NO_TRIVIAL is present.
15665         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
15666         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
15667         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
15668         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
15669         define if ACL_NO_TRIVIAL is present.
15670         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
15671         and use the current ABI.
15672         (file_has_acl): Use same #if condition as elsewhere.
15673         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
15674         in use, and use the current ABI.
15675         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
15676         Reported by Jim Meyering.
15677
15678 2008-06-09  Eric Blake  <ebb9@byu.net>
15679
15680         Work around environments that (stupidly) ignore SIGALRM.
15681         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
15682         before using alarm().
15683         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15684         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15685         Reported by Ian Beckwith <ianb@erislabs.net>.
15686
15687         Produce autobuild blurb earlier in log.
15688         * modules/autobuild (configure.ac-early): Move AB_INIT here.
15689
15690 2008-06-09  Jim Meyering  <meyering@redhat.com>
15691         and Ondřej Vašík  <ovasik@redhat.com>
15692
15693         utimens.c: correct kernel bug work-around
15694         Ondřej Vašík found that the invalid return value of 280 indicates
15695         failure, not success, and the kernel bug we're trying to work
15696         around affects not just the utimensat call, but also the fallback
15697         futimens call.
15698         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
15699         not success.
15700         [HAVE_FUTIMENS]: Use the same work-around, here.
15701
15702 2008-06-09  Jim Meyering  <meyering@redhat.com>
15703
15704         add more guards around definition of ACE_-related code
15705         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
15706         ALLOW and ACE_OWNER are also defined.
15707
15708 2008-06-08  Bruno Haible  <bruno@clisp.org>
15709
15710         * lib/acl-internal.h: Add me as co-author.
15711         * lib/file-has-acl.c: Likewise.
15712         * lib/set-mode-acl.c: Likewise.
15713         * lib/copy-acl.c: Likewise.
15714
15715 2008-06-08  Bruno Haible  <bruno@clisp.org>
15716
15717         Add support for AIX ACLs.
15718         * lib/acl-internal.h (acl_nontrivial): New declaration.
15719         * lib/file-has-acl.c (acl_nontrivial): New function.
15720         (file_has_acl): Add implementation using AIX 4 ACL API.
15721         * lib/set-mode-acl.c (qset_acl): Likewise.
15722         * lib/copy-acl.c (qcopy_acl): Likewise.
15723
15724 2008-06-08  Bruno Haible  <bruno@clisp.org>
15725
15726         Add support for HP-UX ACLs.
15727         * lib/acl-internal.h (acl_nontrivial): New declaration.
15728         * lib/file-has-acl.c (acl_nontrivial): New function.
15729         (file_has_acl): Add implementation using HP-UX 11 ACL API.
15730         * lib/set-mode-acl.c (qset_acl): Likewise.
15731         * lib/copy-acl.c (qcopy_acl): Likewise.
15732
15733 2008-06-08  Bruno Haible  <bruno@clisp.org>
15734
15735         Add support for Cygwin ACLs.
15736         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
15737         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
15738         the chmod_or_fchmod call.
15739         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
15740
15741 2008-06-08  Bruno Haible  <bruno@clisp.org>
15742
15743         Fix bug with setuid modes in Solaris 10+ code.
15744         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
15745         succeeded, when the mode contains some special bits.
15746
15747 2008-06-08  Bruno Haible  <bruno@clisp.org>
15748
15749         Add support for Solaris 7..10 ACLs.
15750         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
15751         declarations.
15752         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
15753         functions.
15754         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
15755         * lib/set-mode-acl.c (qset_acl): Likewise.
15756         * lib/copy-acl.c (qcopy_acl): Likewise.
15757
15758 2008-06-08  Bruno Haible  <bruno@clisp.org>
15759
15760         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
15761         declaration.
15762         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
15763         (acl_access_nontrivial): Remove MacOS X case.
15764         (file_has_acl): Use acl_extended_nontrivial.
15765         * lib/copy-acl.c (qcopy_acl): Likewise.
15766
15767 2008-06-08  Bruno Haible  <bruno@clisp.org>
15768
15769         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
15770
15771 2008-06-08  Jim Meyering  <meyering@redhat.com>
15772
15773         * modules/acl (Maintainer): Add Bruno Haible.
15774
15775 2008-06-07  Bruno Haible  <bruno@clisp.org>
15776
15777         Improve support for Tru64 ACLs.
15778         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
15779         ACL on OSF/1.
15780
15781 2008-06-07  Bruno Haible  <bruno@clisp.org>
15782
15783         Add support for MacOS X ACLs.
15784         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
15785         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
15786         * lib/set-mode-acl.c (qset_acl): Likewise.
15787         * lib/copy-acl.c (qcopy_acl): Likewise.
15788
15789 2008-06-07  Bruno Haible  <bruno@clisp.org>
15790
15791         Fix memory leak introduced on 2008-05-22.
15792         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
15793         use.
15794
15795 2008-06-07  Bruno Haible  <bruno@clisp.org>
15796
15797         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
15798         to construct an empty ACL.
15799
15800 2008-06-07  Bruno Haible  <bruno@clisp.org>
15801
15802         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
15803         precisely.
15804         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
15805
15806 2008-06-07  Bruno Haible  <bruno@clisp.org>
15807
15808         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
15809         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
15810
15811 2008-06-07  Bruno Haible  <bruno@clisp.org>
15812
15813         * doc/posix-functions/_setjmp.texi: Explain the use of this function
15814         regardless of POSIX.
15815         * doc/posix-functions/_longjmp.texi: Likewise.
15816         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
15817         SystemV platform in this case.
15818
15819 2008-06-06  Eric Blake  <ebb9@byu.net>
15820
15821         Document abort() bugs.
15822         * doc/posix-functions/abort.texi (abort): Mention anomalies.
15823
15824         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
15825         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
15826         sigsetjmp.
15827         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
15828         siglongjmp, but only as a macro.
15829         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
15830         is obsolete.
15831         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
15832
15833         Tweak documentation to cover cygwin argz bugs.
15834         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
15835         argz bug fix; no code change needed since no cygwin releases
15836         occurred between the last fix and the bug being tested.
15837         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
15838         module and recently fixed cygwin bugs.
15839         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
15840         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
15841         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
15842         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
15843         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
15844         Likewise.
15845         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
15846         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
15847         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
15848         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
15849         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
15850         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
15851         Likewise.
15852
15853         Avoid gcc warning on cygwin.
15854         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
15855         !ACL_NO_TRIVIAL]: Avoid unused variable.
15856
15857 2008-06-05  Eric Blake  <ebb9@byu.net>
15858
15859         Be tolerant of UNKNOWN version in gnulib-tool test dir.
15860         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
15861         git-version-gen fails to come up with a version.
15862         Reported by Simon Josefsson.
15863
15864 2008-06-05  Jim Meyering  <meyering@redhat.com>
15865             Paul Eggert  <eggert@cs.ucla.edu>
15866
15867         utimens.c: work around a probable Linux kernel bug
15868         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
15869         appears to be a kernel bug that causes utimensat to return 280
15870         instead of 0, indicating success.
15871
15872 2008-06-04  Bruno Haible  <bruno@clisp.org>
15873
15874         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
15875         2008-06-01 commit.
15876
15877 2008-06-04  Bruno Haible  <bruno@clisp.org>
15878
15879         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
15880         * lib/file-has-acl.c (acl_access_nontrivial): New function.
15881         (file_has_acl): Use it. Save errno afterwards.
15882         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
15883
15884 2008-06-03  Bruno Haible  <bruno@clisp.org>
15885
15886         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
15887         draft code. Simplify #ifs.
15888         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
15889         Put Solaris code after POSIX-draft code. Fix comments regarding
15890         Solaris 10, HP-UX. Mention Cygwin.
15891         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
15892
15893 2008-06-03  Eric Blake  <ebb9@byu.net>
15894
15895         Provide fallback for older kernels.
15896         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
15897         Provide runtime fallback if kernel lacks support.
15898         Reported by Mike Frysinger.
15899
15900 2008-06-02  Bruno Haible  <bruno@clisp.org>
15901
15902         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
15903         it exists.
15904
15905 2008-06-02  Bruno Haible  <bruno@clisp.org>
15906
15907         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
15908         * lib/copy-acl.c (qcopy_acl): Update comment.
15909
15910 2008-06-02  Bruno Haible  <bruno@clisp.org>
15911
15912         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
15913         like ACL APIs.
15914
15915 2008-06-02  Bruno Haible  <bruno@clisp.org>
15916
15917         * tests/test-file-has-acl.sh: Use different code for Cygwin.
15918         * tests/test-set-mode-acl.sh: Likewise.
15919         * tests/test-copy-acl.sh: Likewise.
15920         * tests/test-copy-file.sh: Likewise.
15921
15922 2008-06-02  Bruno Haible  <bruno@clisp.org>
15923
15924         * tests/test-file-has-acl.sh: Remove unused code.
15925
15926 2008-06-01  Bruno Haible  <bruno@clisp.org>
15927
15928         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
15929         (copy_acl): Just a wrapper around qcopy_acl that emits the error
15930         messages.
15931         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
15932
15933 2008-06-01  Bruno Haible  <bruno@clisp.org>
15934
15935         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
15936         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
15937         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
15938         APIs.
15939         * modules/acl-tests (configure.ac): Remove tests now contained in
15940         m4/acl.m4.
15941
15942 2008-06-02  Jim Meyering  <meyering@redhat.com>
15943
15944         announce-gen: use a better key-server host name
15945         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
15946         it may be more consistently reliable.  Suggested by Werner Koch
15947         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
15948
15949 2008-06-01  Bruno Haible  <bruno@clisp.org>
15950
15951         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
15952         Reported by Voroskoi Andras <voroskoi@gmail.com>.
15953
15954 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
15955
15956         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
15957
15958 2008-06-01  Bruno Haible  <bruno@clisp.org>
15959
15960         New ACL tests.
15961         * tests/test-file-has-acl.sh: New file.
15962         * tests/test-file-has-acl.c: New file.
15963         * tests/test-set-mode-acl.sh: New file.
15964         * tests/test-set-mode-acl.c: New file.
15965         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
15966         * tests/test-copy-acl.c: New file.
15967         * modules/acl-tests: New file, based on modules/copy-file-tests.
15968         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
15969         (Depends-on): Add acl-tests.
15970         (configure.ac): Remove checks.
15971         (Makefile.am): Don't create test-sameacls program here any more.
15972
15973 2008-06-01  Bruno Haible  <bruno@clisp.org>
15974
15975         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
15976         * tests/test-sameacls.c: Include progname.h.
15977         (main): Invoke set_program_name. Portability fixes for MacOS X,
15978         Solaris, HP-UX.
15979
15980 2008-06-01  Bruno Haible  <bruno@clisp.org>
15981
15982         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
15983         function.
15984         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
15985
15986 2008-06-01  Bruno Haible  <bruno@clisp.org>
15987
15988         * modules/rpmatch (Depends-on): Add strdup.
15989
15990 2008-06-01  Bruno Haible  <bruno@clisp.org>
15991
15992         * lib/pipe.c: Include unistd-safer.h.
15993         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
15994         * modules/pipe (Depends-on): Add unistd-safer.
15995
15996 2008-05-30  Simon Josefsson  <simon@josefsson.org>
15997
15998         * modules/autobuild (configure.ac): Call AB_INIT.
15999
16000 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16001
16002         * tests/test-getaddrinfo.c: Don't print debug messages by default.
16003         Suggested by Bruno Haible <bruno@clisp.org>.
16004
16005 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16006
16007         * tests/test-base64.c: Cast size_t to unsigned long when invoking
16008         printf.  Use %lu instead of %d.  Reported by Bruno Haible
16009         <bruno@clisp.org>.
16010
16011 2008-05-29  Eric Blake  <ebb9@byu.net>
16012
16013         Prefer new POSIX 200x interfaces over futimesat.
16014         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
16015         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
16016         when available.
16017         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
16018
16019 2008-05-28  Bruno Haible  <bruno@clisp.org>
16020
16021         * modules/stpcpy (License): Change to LGPLv2+.
16022         Requested by David Lutterkort <dlutter@redhat.com>.
16023
16024 2008-05-27  Bruno Haible  <bruno@clisp.org>
16025
16026         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
16027         current mingw.
16028         Reported by Jose E. Marchesi <jemarch@gnu.org>.
16029
16030 2008-05-27  Bruno Haible  <bruno@clisp.org>
16031
16032         * modules/iconv_open (Link): New section, from module 'iconv'.
16033         * modules/striconv (Link): Likewise.
16034         * modules/striconveh (Link): Likewise.
16035         * modules/xstriconv (Link): Likewise.
16036         * modules/unicodeio (Link): Likewise.
16037         * modules/propername (Link): Likewise.
16038         Reported by Jim Meyering.
16039
16040 2008-05-26  Jim Meyering  <meyering@redhat.com>
16041
16042         sha256: do not artificially restrict buffer length to be < 2^32
16043         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
16044         uint32_t to size_t.
16045         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
16046         to match.
16047
16048         avoid unaligned access errors, e.g., on sparc
16049         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
16050         direct access through a possibly-unaligned uint64* pointer.
16051         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
16052         direct access through a possibly-unaligned uint32* pointer.
16053         Prompted by this patch from Tom "spot" Callaway:
16054         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
16055
16056         sha512.c: fix typo in comment
16057         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
16058
16059 2008-05-25  Bruno Haible  <bruno@clisp.org>
16060
16061         * lib/set-mode-acl.c: Renamed from lib/acl.c.
16062         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
16063         (Makefile.am): Update lib_SOURCES.
16064
16065 2008-05-25  Bruno Haible  <bruno@clisp.org>
16066
16067         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
16068
16069 2008-05-25  Jim Meyering  <meyering@redhat.com>
16070
16071         useless-if-before-free: freed expr may have white-space differences
16072         * build-aux/useless-if-before-free: Recognize cases in which the
16073         freed expression differs from the tested one in embedded white
16074         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
16075         $1 was used, so we can't make any regexp shy.  Improved tests now
16076         detect this.
16077
16078         useless-if-before-free: accept white space in the expression.
16079         * build-aux/useless-if-before-free: For now, any white space
16080         in the expression must be identical in the free argument.
16081
16082         useless-if-before-free: efficiency tweak
16083         * build-aux/useless-if-before-free: Make the expression-matching
16084         regexp "shy".
16085         Make the *outer* regexp shy, not the expr-matching one.
16086
16087         update code-in-comment to accept cast of free arg
16088         * build-aux/useless-if-before-free: Update regexp.
16089
16090 2008-05-25  Bruno Haible  <bruno@clisp.org>
16091
16092         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
16093         * modules/copy-file-tests (Files, Makefile.am): Update.
16094         * tests/test-copy-file.c (func_test_copy): Update.
16095
16096 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
16097
16098         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
16099
16100 2008-05-23  Bruno Haible  <bruno@clisp.org>
16101
16102         Improve support for ACLs on OSF/1.
16103         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
16104         Remove fallback for unknown flavors of ACLs.
16105
16106 2008-05-22  Bruno Haible  <bruno@clisp.org>
16107
16108         Add support for ACLs on OSF/1.
16109         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
16110         replacements.
16111         (acl_free_text): New macro fallback.
16112         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
16113         acl_free.
16114         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
16115         acl_free_text function. Require AC_C_INLINE.
16116
16117 2008-05-22  Bruno Haible  <bruno@clisp.org>
16118
16119         Make copy_acl work on MacOS X 10.5.
16120         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
16121         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
16122         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
16123         If MODE_INSIDE_ACL, don't assume that every system has the same text
16124         representation for ACLs as FreeBSD.
16125         * lib/copy-acl.c (copy_acl): Add support for platforms with
16126         !MODE_INSIDE_ACL.
16127         * lib/file-has-acl.c (file_has_acl): Likewise.
16128         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
16129         FreeBSD, MacOS X, or IRIX, respectively.
16130
16131 2008-05-22  Bruno Haible  <bruno@clisp.org>
16132
16133         * lib/acl.h: Don't include <sys/acl.h>.
16134         (GETACLCNT): Move fallback to lib/acl-internal.h.
16135         * lib/acl-internal.h: Include <sys/acl.h> here.
16136         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
16137
16138 2008-05-22  Bruno Haible  <bruno@clisp.org>
16139
16140         Split off copy_acl function to separate file.
16141         * lib/copy-acl.c: New file, extracted from lib/acl.c.
16142         * lib/acl.c (copy_acl): Moved function to separate file.
16143         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
16144         * modules/acl (Files): Add lib/copy-acl.c.
16145         (Makefiles.am): Augment lib_SOURCES.
16146
16147 2008-05-22  Bruno Haible  <bruno@clisp.org>
16148
16149         * modules/copy-file-tests: New file.
16150         * tests/test-copy-file.sh: New file.
16151         * tests/test-copy-file.c: New file.
16152         * tests/test-copy-file-sameacls.c: New file.
16153
16154 2008-05-22  Eric Blake  <ebb9@byu.net>
16155
16156         Avoid gcc warning.
16157         * tests/test-memcmp.c (main): Pass NULL indirectly.
16158
16159 2008-05-21  Bruno Haible  <bruno@clisp.org>
16160
16161         Add reference doc about ACLs.
16162         * doc/acl-resources.txt: New file.
16163         * doc/acl-cygwin.txt: New file.
16164
16165 2008-05-21  Bruno Haible  <bruno@clisp.org>
16166
16167         Avoid one more warning from gcc.
16168         * lib/vasnprintf.c (IF_LINT): Update comments.
16169         (VASNPRINTF): Use it also for the 'prefix' array initializer.
16170
16171 2008-05-21  Jim Meyering  <meyering@redhat.com>
16172
16173         avoid a warning from gcc
16174         * lib/vasnprintf.c (IF_LINT): Define.
16175         (scale10_round_decimal_long_double):
16176         Use it to avoid a "may be used uninitialized" warning.
16177         (scale10_round_decimal_double): Likewise.
16178
16179 2008-05-21  Simon Josefsson  <simon@josefsson.org>
16180
16181         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
16182         declared.
16183
16184 2008-05-20  Bruno Haible  <bruno@clisp.org>
16185
16186         * tests/test-memcmp.c (main): Test also the sign of the result. Test
16187         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
16188
16189 2008-05-20  Simon Josefsson  <simon@josefsson.org>
16190
16191         * modules/memcmp-tests: New file.
16192         * tests/test-memcmp.c: New file.
16193
16194 2008-05-19  Bruno Haible  <bruno@clisp.org>
16195
16196         * modules/propername (Notice, configure.ac): Put quoted "..." into
16197         --keyword option.
16198         * lib/propername.h: Update comments accordingly.
16199         Reported by Eric Blake.
16200
16201 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
16202
16203         * modules/getpass-gnu (Depends-on): Add fseeko.
16204
16205 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16206
16207         * modules/base64-tests: New file.
16208
16209 2008-05-19  Bo Borgerson <gigabo@gmail.com>
16210
16211         * lib/base64.c (base64_decode_ctx): If a decode context structure
16212         was passed in use it to ignore newlines.  If a context structure
16213         was _not_ passed in, continue to treat newlines as garbage (this
16214         is the historical behavior).  Formerly base64_decode.
16215         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16216         takes a decode context structure.
16217         * lib/base64.h (base64_decode): Macro for four-argument calls.
16218         (base64_decode_alloc): Likewise.
16219         * lib/base64.c (base64_decode_ctx): If a decode context structure
16220         was passed in use it to ignore newlines.  If a context structure
16221         was _not_ passed in, continue to treat newlines as garbage (this
16222         is the historical behavior).  Formerly base64_decode.
16223         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16224         takes a decode context structure.
16225         * lib/base64.h (base64_decode): Macro for four-argument calls.
16226         (base64_decode_alloc): Likewise.
16227
16228 2008-05-19  Jim Meyering  <meyering@redhat.com>
16229
16230         avoid a warning from gcc
16231         * lib/trim.c (IF_LINT): Define.
16232         (trim2): Use it to avoid a "may be used uninitialized" warning.
16233
16234         Fix doc typo.
16235         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
16236
16237 2008-05-19  Bruno Haible  <bruno@clisp.org>
16238
16239         * doc/glibc-functions/getpass.texi: Document limits of other
16240         implementations.
16241
16242 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16243             Bruno Haible <bruno@clisp.org>
16244
16245         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
16246
16247 2008-05-18  Bruno Haible  <bruno@clisp.org>
16248
16249         * modules/propername: New file, from GNU gettext.
16250         * lib/propername.h: New file, from GNU gettext.
16251         * lib/propername.c: New file, from GNU gettext.
16252         * MODULES.html.sh (Internationalization functions): Add propername.
16253
16254 2008-05-16  Jim Meyering  <meyering@redhat.com>
16255             Bruno Haible  <bruno@clisp.org>
16256
16257         Avoid some warnings from "gcc -Wshadow".
16258         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
16259
16260 2008-05-15  Eric Blake  <ebb9@byu.net>
16261
16262         Extend previous patch to cygwin 1.7.0.
16263         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
16264         fast implementation in cygwin >= 1.7.0.
16265         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16266         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16267
16268 2008-05-15  Bruno Haible  <bruno@clisp.org>
16269
16270         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
16271         implementation in glibc >= 2.9.
16272         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
16273         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16274
16275 2008-05-15  Bruno Haible  <bruno@clisp.org>
16276
16277         * MODULES.html.sh (Internationalization functions): Remove linebreak.
16278         (Unicode string functions): Add unilbrk/*.
16279         Reported by Karl Berry.
16280
16281 2008-05-15  Eric Blake  <ebb9@byu.net>
16282
16283         Fix violation of <stdbool.h> replacement in regex.
16284         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
16285         * lib/regexec.c (re_search_internal): Likewise.
16286         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
16287
16288 2008-05-15  Jim Meyering  <meyering@redhat.com>
16289
16290         avoid distracting test output when git or cvs is not found
16291         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
16292         * tests/test-vc-list-files-git.sh: Likewise.
16293
16294 2008-05-15  Eric Blake  <ebb9@byu.net>
16295
16296         Glibc finally accepted the memmem speedup code, bugzilla #5514.
16297         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
16298         glibc version.
16299         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16300         * doc/posix-functions/strstr.texi (strstr): Likewise.
16301         * lib/str-two-way.h (MAX): Sychronize with glibc.
16302
16303 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
16304
16305         * lib/regcomp.c (optimize_utf8): Add a note on why we test
16306         opr.ctx_type.
16307         (calc_first): Initialize constraint field.
16308         (duplicate_node_closure): Use it instead of special casing ANCHORS.
16309         Fix grammar.
16310         (duplicate_node): Merge constraint field for all node types.
16311         (calc_eclosure_iter): Look at constraint field for all node types.
16312         * lib/regex_internal.c (create_cd_newstate): Don't look at
16313         opr.ctx_type.
16314
16315 2008-05-14  Bruno Haible  <bruno@clisp.org>
16316
16317         Help GCC to do better code generation.
16318         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
16319         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16320         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
16321         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
16322         Declare with attribute 'malloc' if supported.
16323
16324 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
16325
16326         use "echo STR|wc -c" rather than unportable "expr length STR"
16327         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
16328         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
16329
16330 2008-05-14  Jim Meyering  <meyering@redhat.com>
16331
16332         use dd ibs=$n count=1 ... rather than less-portable head -c$n
16333         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
16334         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
16335         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
16336         via Collin Lasse.
16337
16338 2008-05-14  Eric Blake  <ebb9@byu.net>
16339
16340         Avoid quadratic growth in gl_LIBSOURCES.
16341         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
16342         Suggested by Bruno Haible.
16343
16344         Test xmemdup0.
16345         * modules/xmemdup0-tests: New file.
16346         * tests/test-xmemdup0.c: Likewise.
16347
16348 2008-05-13  Eric Blake  <ebb9@byu.net>
16349
16350         Split xmemdup0 into its own module.
16351         * modules/xmemdup0: New file.
16352         * lib/xmemdup0.h: Likewise.
16353         * lib/xmemdup0.c: Likewise.
16354         * MODULES.html.sh (Memory management functions): Add xmemdup0.
16355         * lib/xalloc.h (xmemdup0): Remove.
16356         * lib/xmalloc.c (xmemdup0): Likewise.
16357
16358 2008-05-13  Eric Blake  <ebb9@byu.net>
16359             Bruno Haible  <bruno@clisp.org>
16360
16361         Reduce number of forks required during autoconf.
16362         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
16363         and gl_LIBSOURCES_DIR.
16364         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
16365         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
16366         m4_syscmd per file.
16367         <m4_foreach_w>: Move...
16368         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
16369
16370 2008-05-13  Eric Blake  <ebb9@byu.net>
16371
16372         * gnulib-tool: Fix various comment typos.
16373
16374 2008-05-12  Bruno Haible  <bruno@clisp.org>
16375
16376         Tailor the linebreaking algorithm.
16377         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
16378
16379 2008-05-12  Bruno Haible  <bruno@clisp.org>
16380
16381         Update to Unicode 5.0.0.
16382         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
16383         LBP_JV, LBP_JT. Redistribute values.
16384         (unilbrk_table): Change size.
16385         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
16386         Unicode TR#14 rev. 22.
16387         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
16388         LBP_JV, LBP_JT. Redistribute values.
16389         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
16390         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
16391         Update.
16392         * lib/unilbrk/lbrkprop1.h: Regenerated.
16393         * lib/unilbrk/lbrkprop2.h: Regenerated.
16394         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
16395         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
16396         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
16397         Likewise.
16398         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
16399         Likewise.
16400         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
16401         result.
16402         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
16403         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
16404         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
16405         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
16406         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
16407         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
16408
16409 2008-05-11  Bruno Haible  <bruno@clisp.org>
16410
16411         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
16412
16413 2008-05-11  Bruno Haible  <bruno@clisp.org>
16414
16415         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
16416         * modules/unilbrk/gen-lbrk: New file.
16417
16418 2008-05-11  Bruno Haible  <bruno@clisp.org>
16419
16420         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
16421         * m4/sha512.m4 (gl_SHA512): Likewise.
16422
16423 2008-05-11  Jim Meyering  <meyering@redhat.com>
16424
16425         New modules: crypto/sha256, crypto/sha512 (from coreutils)
16426         * modules/crypto/sha256: New file.
16427         * modules/crypto/sha512: Likewise.
16428         * lib/sha256.c: Likewise.
16429         * lib/sha256.h: Likewise.
16430         * lib/sha512.c: Likewise.
16431         * lib/sha512.h: Likewise.
16432         * lib/u64.h: Likewise.
16433         * m4/sha256.m4: Likewise.
16434         * m4/sha512.m4: Likewise.
16435         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
16436
16437 2008-05-10  Bruno Haible  <bruno@clisp.org>
16438
16439         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
16440         (Input/Output <stdio.h>): Add xprintf.
16441         (Signal handling <signal.h>): Add strsignal.
16442         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
16443         (Core language properties): Add func.
16444         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
16445         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
16446         strings.
16447         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
16448         (Input/output): New section.
16449         (File system functions): Add openat-die, stat-macros.
16450         (Networking functions): Add sockets.
16451         (Unicode string functions): Add unictype/*.
16452         (Support for building libraries and executables): Add gperf.
16453         (Support for building documentation): Add agpl-3.0.
16454         (Misc): Add nocrash.
16455
16456 2008-05-10  Bruno Haible  <bruno@clisp.org>
16457
16458         * modules/unictype/gen-ctype: New file.
16459
16460 2008-05-10  Jim Meyering  <meyering@redhat.com>
16461
16462         Make chdir-safer.c more efficient on a system with no symlinks.
16463         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
16464         also if ELOOP is zero.  Suggested by Bruno Haible.
16465
16466         Make chdir-safer.c slightly safer.
16467         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
16468         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
16469
16470         Avoid compile failure on systems without ELOOP (like mingw).
16471         * lib/chdir-safer.c (ELOOP): Define if not already defined.
16472         Reported by Bruno Haible.
16473
16474 2008-05-10  Bruno Haible  <bruno@clisp.org>
16475
16476         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
16477         (is_utf8_encoding): Use a case-insensitive comparison.
16478         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
16479         streq.
16480
16481 2008-05-10  Bruno Haible  <bruno@clisp.org>
16482
16483         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
16484         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
16485         * lib/unilbrk/ulc-common.h (iconv_string_length,
16486         iconv_string_keeping_offsets): Remove declarations.
16487         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
16488         Don't include <iconv.h>, streq.h, xsize.h.
16489         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
16490         conversion.
16491         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
16492         <iconv.h>, streq.h, xsize.h.
16493         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
16494         conversion.
16495         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
16496         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
16497         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
16498         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
16499
16500 2008-05-10  Bruno Haible  <bruno@clisp.org>
16501
16502         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
16503         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
16504
16505         * modules/unilbrk/u32-width-linebreaks-tests: New file.
16506         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
16507
16508         * modules/unilbrk/u16-width-linebreaks-tests: New file.
16509         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
16510
16511         * modules/unilbrk/u8-width-linebreaks-tests: New file.
16512         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
16513
16514         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
16515         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
16516
16517         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
16518         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
16519
16520         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
16521         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
16522
16523         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
16524         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
16525
16526 2008-05-10  Bruno Haible  <bruno@clisp.org>
16527
16528         Split up 'linebreak' module.
16529         * lib/unilbrk.h: New file, based on lib/linebreak.h.
16530         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
16531         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
16532         modifications.
16533         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
16534         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
16535         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
16536         lib/linebreak.c.
16537         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
16538         lib/linebreak.c.
16539         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
16540         lib/linebreak.c.
16541         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
16542         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
16543         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
16544         lib/linebreak.c.
16545         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
16546         lib/linebreak.c.
16547         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
16548         lib/linebreak.c.
16549         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
16550         lib/linebreak.c.
16551         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
16552         lib/linebreak.c.
16553         * modules/unilbrk/base: New file.
16554         * modules/unilbrk/tables: New file.
16555         * modules/unilbrk/u8-possible-linebreaks: New file.
16556         * modules/unilbrk/u16-possible-linebreaks: New file.
16557         * modules/unilbrk/u32-possible-linebreaks: New file.
16558         * modules/unilbrk/ulc-common: New file.
16559         * modules/unilbrk/ulc-possible-linebreaks: New file.
16560         * modules/unilbrk/u8-width-linebreaks: New file.
16561         * modules/unilbrk/u16-width-linebreaks: New file.
16562         * modules/unilbrk/u32-width-linebreaks: New file.
16563         * modules/unilbrk/ulc-width-linebreaks: New file.
16564         * lib/linebreak.h: Remove file.
16565         * lib/linebreak.c: Remove file.
16566         * m4/linebreak.m4: Remove file.
16567         * modules/linebreak: Remove file.
16568         * NEWS: Mention the changes.
16569
16570 2008-05-09  Eric Blake  <ebb9@byu.net>
16571
16572         Add xmemdup0.
16573         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
16574         implementation.
16575         * lib/xmalloc.c (xmemdup0): New C implementation.
16576
16577 2008-05-08  Bruno Haible  <bruno@clisp.org>
16578
16579         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
16580
16581 2008-05-07  Eric Blake  <ebb9@byu.net>
16582
16583         Support cross-compilation of <wctype.h>.
16584         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
16585         AC_CACHE_CHECK.
16586
16587 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
16588
16589         * build-aux/vc-list-files: Add support for bzr.
16590
16591 2008-05-03  Jim Meyering  <meyering@redhat.com>
16592
16593         avoid failed assertion with tight malloc
16594         * tests/test-getndelim2.c: Correct an off-by-one assertion.
16595
16596 2008-05-03  Simon Josefsson  <simon@josefsson.org>
16597
16598         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
16599         are needed from arpa/inet.h.
16600         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
16601         Reported by Bruno Haible.
16602
16603 2008-05-02  Jim Meyering  <meyering@redhat.com>
16604
16605         avoid compilation error on FreeBSD 6
16606         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
16607
16608 2008-05-01  Jim Meyering  <meyering@redhat.com>
16609
16610         useless-if-before-free: correct --help's exit status description
16611         * build-aux/useless-if-before-free (usage): Like grep, exit 0
16612         for one or more matches, etc.  Reported by Bruno Haible.
16613
16614         vc-list-files: make the stand-alone gnulib test work
16615         * modules/vc-list-files-tests (configure.ac):
16616         Define and AC_SUBST abs_aux_dir.
16617         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
16618         $(abs_top_srcdir) to each script and having each of them
16619         duplicate the work of setting PATH, set PATH here, using
16620         the new variable, abs_aux_dir instead.
16621         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
16622         * tests/test-vc-list-files-git.sh: Likewise.
16623         Reported by Bruno Haible.
16624
16625 2008-05-01  Bruno Haible  <bruno@clisp.org>
16626
16627         * lib/getndelim2.c (getndelim2): Fix newsize computation during
16628         reallocation. Rename 'done' to 'found_delimiter'.
16629
16630 2008-05-01  Jim Meyering  <meyering@redhat.com>
16631
16632         vc-list-files: accommodate /bin/sh like the one from Solaris 10
16633         * build-aux/vc-list-files: Use `...`, not $(...).
16634
16635 2008-04-30  Jim Meyering  <meyering@redhat.com>
16636
16637         add tests for vc-list-files
16638         * modules/vc-list-files-tests: New module.
16639         * tests/test-vc-list-files-cvs.sh: New file.
16640         * tests/test-vc-list-files-git.sh: New file.
16641
16642         avoid a warning from gcc
16643         * lib/getndelim2.c (IF_LINT): Define.
16644         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
16645
16646         vc-list-files: work properly with build-aux/cvsu, too
16647         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
16648         to all cvs-based clauses.
16649
16650         vc-list-files: work properly in the CVS+awk case, too
16651         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
16652
16653         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
16654         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
16655         take more than one file argument, so .  Add quotes, just in case $dir
16656         ever contains a shell meta-character.  Prompted by Soren Hansen in
16657         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
16658
16659 2008-04-29  Eric Blake  <ebb9@byu.net>
16660
16661         Optimize getndelim2 to use block operations when possible.
16662         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
16663         freadseek, and memchr2.
16664         * lib/getndelim2.c (getndelim2): Use them for block reads.
16665
16666 2008-04-29  Bruno Haible  <bruno@clisp.org>
16667
16668         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
16669         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16670         * modules/inet_ntop (Depends-on): Add extensions.
16671         * modules/inet_pton (Depends-on): Likewise.
16672         Reported by Simon Josefsson.
16673
16674 2008-04-29  Jim Meyering  <meyering@redhat.com>
16675
16676         When the is more than one match in a block, match all of them.
16677         * build-aux/useless-if-before-free: Iterate through each block
16678         until there are no more matches.
16679
16680         Fix broken useless-if-before-free script.
16681         * build-aux/useless-if-before-free: Fix typo: missing "?" after
16682         the expression to match cast of argument to free-like function.
16683
16684 2008-04-29  Eric Blake  <ebb9@byu.net>
16685
16686         Use new header.
16687         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
16688
16689 2008-04-29  Jim Meyering  <meyering@redhat.com>
16690
16691         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
16692         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
16693         by gnulib to exist and to declare e.g., inet_ntop.
16694         Don't include "inet_ntop.h", now removed.
16695
16696         * m4/arpa_inet_h.m4: Remove trailing blanks.
16697
16698 2008-04-29  Eric Blake  <ebb9@byu.net>
16699
16700         Silence valgrind on safe reads beyond potential array bounds.
16701         * lib/rawmemchr.valgrind: New file.
16702         * lib/strchrnul.valgrind: Likewise.
16703         * modules/rawmemchr (Files): Distribute new file.
16704         * modules/strchrnul (Files): Likewise.
16705         Suggested by Bruno Haible.
16706
16707 2008-04-29  Bruno Haible  <bruno@clisp.org>
16708
16709         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
16710         (inet_ntop, inet_pton): Change portability warning's wording.
16711         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
16712         Invoke gl_CHECK_NEXT_HEADERS.
16713         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
16714         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
16715         set ARPA_INET_H.
16716         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16717         * modules/arpa_inet (Description): No longer only for systems that
16718         lack it.
16719         (Depends-on): Add include_next.
16720         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
16721         HAVE_ARPA_INET_H.
16722
16723 2008-04-29  Jim Meyering  <meyering@redhat.com>
16724
16725         * modules/mkdir (License): Re-license as LGPLv2+.
16726
16727 2008-04-29  Bruno Haible  <bruno@clisp.org>
16728
16729         * modules/rawmemchr (Maintainer): Set to Eric.
16730         * modules/strchrnul (Maintainer): Likewise.
16731
16732 2008-04-29  Simon Josefsson  <simon@josefsson.org>
16733
16734         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
16735         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
16736
16737         * modules/arpa_inet (arpa/inet.h): Use them.
16738
16739 2008-04-28  Eric Blake  <ebb9@byu.net>
16740
16741         Test getndelim2.
16742         * modules/getndelim2-tests: New file.
16743         * tests/test-getndelim2.c: Likewise.
16744         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
16745         stream.
16746         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
16747
16748         * MODULES.html.sh: Document new module.
16749
16750 2008-04-20  Bruno Haible  <bruno@clisp.org>
16751
16752         * lib/c-stack.c (die): Use raise.
16753         * modules/c-stack (Depends-on): Add raise.
16754
16755 2008-04-28  Bruno Haible  <bruno@clisp.org>
16756
16757         Expect rpmatch to be declared.
16758         * lib/yesno.c (rpmatch): Remove declaration.
16759
16760         Declare rpmatch.
16761         * lib/stdlib.in.h (rpmatch): New declaration.
16762         * lib/rpmatch.c: Include <stdlib.h> first.
16763         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
16764         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
16765         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
16766         HAVE_RPMATCH.
16767         * modules/rpmatch (Depends-on): Add stdlib, extensions.
16768         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
16769         (Include): Set to <stdlib.h>.
16770         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
16771         HAVE_RPMATCH.
16772         * NEWS: Document the change.
16773
16774 2008-04-28  Bruno Haible  <bruno@clisp.org>
16775
16776         Change rpmatch to use nl_langinfo when appropriate.
16777         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
16778         (N_): New macro.
16779         (localized_pattern): New function/macro.
16780         (try): Remove match, nomatch arguments. Copy the pattern into safe
16781         memory before caching it.
16782         (rpmatch): Use localized_pattern. Add translator comments.
16783         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
16784         Suggested by Eric Blake.
16785         * modules/rpmatch (Depends-on): Add stdbool.
16786
16787 2008-04-28  Eric Blake  <ebb9@byu.net>
16788
16789         Add rawmemchr module, matching glibc.
16790         * modules/string (Makefile.am): New indicator.
16791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
16792         * lib/string.in.h (rawmemchr): Declare when appropriate.
16793         * modules/rawmemchr: New file.
16794         * m4/rawmemchr.m4: Likewise.
16795         * lib/rawmemchr.c: Likewise.
16796         * modules/rawmemchr-tests: Likewise.
16797         * tests/test-rawmemchr.c: Likewise.
16798         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
16799         module.
16800         * modules/strchrnul (Depends-on): Add rawmemchr.
16801         * lib/strchrnul.c (strchrnul): Optimize a corner case.
16802
16803         Whitespace cleanup.
16804         * tests/test-strchrnul.c: Reindent.
16805         * lib/strchrnul.c: Likewise.
16806
16807         Optimize and test strchrnul.
16808         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
16809         * modules/strchrnul-tests: New file.
16810         * tests/test-strchrnul.c: Likewise.
16811
16812         Remove intprops dependency.
16813         * modules/memchr (Depends-on): Remove intprops.
16814         * modules/memrchr (Depends-on): Likewise.
16815         * modules/memchr2 (Depends-on): Likewise.
16816         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
16817         * lib/memrchr.c (__memrchr): Likewise.
16818         * lib/memrchr2.c (memchr2): Likewise.
16819         Reported by Simon Josefsson.
16820
16821 2008-04-28  Simon Josefsson  <simon@josefsson.org>
16822
16823         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
16824         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16825
16826 2008-04-28  Simon Josefsson  <simon@josefsson.org>
16827
16828         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
16829
16830         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
16831
16832         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
16833
16834         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
16835         declarations.
16836         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
16837
16838         * m4/inet_pton.m4: Don't check for header files.
16839
16840         * m4/inet_ntop.m4: Don't check for header files.
16841
16842 2008-04-28  Simon Josefsson  <simon@josefsson.org>
16843
16844         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
16845         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
16846         trigger for cygwin).
16847         Reported by Bruno Haible  <bruno@clisp.org>.
16848
16849 2008-04-28  Bruno Haible  <bruno@clisp.org>
16850
16851         * doc/posix-functions/strdup.texi: Mention mingw problem.
16852
16853 2008-04-27  Bruno Haible  <bruno@clisp.org>
16854
16855         * modules/stat-time-tests (Depends-on): Add sleep.
16856         * tests/test-stat-time.c (force_unlink): New function.
16857         (cleanup): Use it.
16858         (test_mtime): Remove the ctime related tests.
16859         (test_ctime): New function, containing the ctime related tests.
16860         (main): Call test_ctime, except on native Windows platforms.
16861
16862 2008-04-27  Bruno Haible  <bruno@clisp.org>
16863
16864         * lib/rpmatch.c (rpmatch): Add some comments.
16865         Reported by James Youngman <jay@gnu.org>.
16866
16867 2008-04-27  Bruno Haible  <bruno@clisp.org>
16868
16869         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
16870         quiet NaNs.
16871
16872 2008-04-27  Bruno Haible  <bruno@clisp.org>
16873
16874         Make test-yesno.sh work on mingw.
16875         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
16876         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
16877         (main): Set stdin to binary mode.
16878         * modules/yesno-tests (Depends-on): Add binary-io.
16879
16880 2008-04-27  Bruno Haible  <bruno@clisp.org>
16881
16882         Fix 'isfinite' on x86, x86_64, ia64 platforms.
16883         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
16884         argument that lie outside the IEEE 854 domain.
16885         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
16886         (gl_ISFINITE): Use it.
16887         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
16888
16889 2008-04-27  Bruno Haible  <bruno@clisp.org>
16890
16891         Allow local renaming in config.h.
16892         * lib/memrchr.c (memrchr): Don't undefine outside libc.
16893
16894 2008-04-27  Bruno Haible  <bruno@clisp.org>
16895
16896         * lib/memchr.c (__memchr): Change type of 'i'.
16897         * lib/memchr2.c (memchr2): Likewise.
16898
16899 2008-04-26  Eric Blake  <ebb9@byu.net>
16900         and Bruno Haible  <bruno@clisp.org>
16901
16902         Optimize and test memrchr.
16903         * modules/memrchr (Depends-on): Add intprops.
16904         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
16905         * modules/memrchr-tests: New file.
16906         * tests/test-memrchr.c: New file.
16907
16908 2008-04-26  Bruno Haible  <bruno@clisp.org>
16909
16910         Add tentative support for DragonFly BSD.
16911         * lib/stdio-impl.h: Add macros for DragonFly BSD.
16912         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
16913         fp.
16914         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
16915         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
16916         * lib/fpurge.c (fpurge): Likewise.
16917         * lib/freadable.c (freaadable): Likewise.
16918         * lib/freadahead.c (freadahead): Likewise.
16919         * lib/freading.c (freading): Likewise.
16920         * lib/freadptr.c (freadptr): Likewise.
16921         * lib/freadseek.c (freadptrinc): Likewise.
16922         * lib/fseeko.c (fseeko): Likewise.
16923         * lib/fseterr.c (fseterr): Likewise.
16924         * lib/fwritable.c (fwritable): Likewise.
16925         * lib/fwriting.c (fwriting): Likewise.
16926
16927 2008-04-26  Bruno Haible  <bruno@clisp.org>
16928
16929         * lib/stdio-impl.h: New file.
16930         * lib/fbufmode.c: Include stdio-impl.h.
16931         (fbufmode): Use fp_, remove redundant #defines.
16932         * lib/fflush.c: Include stdio-impl.h.
16933         (clear_ungetc_buffer): Remove redundant #defines.
16934         * lib/fpurge.c: Include stdio-impl.h.
16935         (fpurge): Remove redundant #defines.
16936         * lib/freadable.c: Include stdio-impl.h.
16937         (freadable): Remove redundant #defines.
16938         * lib/freadahead.c: Include stdio-impl.h.
16939         (freadahead): Remove redundant #defines.
16940         * lib/freading.c: Include stdio-impl.h.
16941         (freading): Remove redundant #defines.
16942         * lib/freadptr.c: Include stdio-impl.h.
16943         (freadptr): Remove redundant #defines.
16944         * lib/freadseek.c: Include stdio-impl.h.
16945         (freadptrinc): Remove redundant #defines.
16946         * lib/fseeko.c: Include stdio-impl.h.
16947         (rpl_fseeko): Remove redundant #defines.
16948         * lib/fseterr.c: Include stdio-impl.h.
16949         (fseterr): Remove redundant #defines.
16950         * lib/fwritable.c: Include stdio-impl.h.
16951         (fwritable: Remove redundant #defines.
16952         * lib/fwriting.c: Include stdio-impl.h.
16953         (fwriting): Remove redundant #defines.
16954         * modules/fbufmode (Files): Add lib/stdio-impl.h.
16955         * modules/fflush (Files): Likewise.
16956         * modules/fpurge (Files): Likewise.
16957         * modules/freadable (Files): Likewise.
16958         * modules/freadahead (Files): Likewise.
16959         * modules/freading (Files): Likewise.
16960         * modules/freadptr (Files): Likewise.
16961         * modules/freadseek (Files): Likewise.
16962         * modules/fseeko (Files): Likewise.
16963         * modules/fseterr (Files): Likewise.
16964         * modules/fwritable (Files): Likewise.
16965         * modules/fwriting (Files): Likewise.
16966
16967 2008-04-26  Bruno Haible  <bruno@clisp.org>
16968
16969         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
16970         restore_seek_optimization, update_fpos_cache): New functions, extracted
16971         from rpl_fflush.
16972         (rpl_fflush): Use them.
16973         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
16974         (gl_REPLACE_FFLUSH): Use it.
16975
16976 2008-04-26  Bruno Haible  <bruno@clisp.org>
16977
16978         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
16979         on Solaris.
16980         * tests/test-xstrtoimax.sh: Likewise.
16981         * tests/test-xstrtoumax.sh: Likewise.
16982         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16983
16984 2008-04-26  Bruno Haible  <bruno@clisp.org>
16985
16986         * modules/memchr-tests: New file.
16987         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
16988
16989 2008-04-26  Eric Blake  <ebb9@byu.net>
16990             Bruno Haible  <bruno@clisp.org>
16991
16992         * lib/memchr.c: Include intprops.h.
16993         (__memchr): Optimize parallel detection of matching bytes. Rename local
16994         variables. Add explanatory comments.
16995
16996 2008-04-26  Bruno Haible  <bruno@clisp.org>
16997
16998         Fix module 'memchr', broken since 2000-10-28.
16999         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
17000
17001 2008-04-26  Bruno Haible  <bruno@clisp.org>
17002
17003         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
17004         comments.
17005
17006 2008-04-25  Eric Blake  <ebb9@byu.net>
17007
17008         Use native fstatat on cygwin 1.7.0.
17009         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
17010         first.
17011
17012 2008-04-23  Eric Blake  <ebb9@byu.net>
17013
17014         Improve memchr2 performance.
17015         * lib/memchr2.c (memchr2): Further optimize parallel detection of
17016         NUL bytes.
17017         * modules/memchr2 (Depends-on): Use intprops.h.
17018
17019 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17020
17021         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
17022         an inline function instead of a CPP macro.  Patch by Ben Pfaff
17023         <blp@cs.stanford.edu>.
17024
17025 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17026
17027         * lib/arpa_inet.in.h: New file.
17028
17029         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
17030         (Makefile.am): Sed in substitute header file.
17031
17032         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
17033         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
17034
17035         * modules/inet_ntop (configure.ac): Use
17036         gl_ARPA_INET_MODULE_INDICATOR.
17037
17038         * modules/inet_pton (configure.ac): Use
17039         gl_ARPA_INET_MODULE_INDICATOR.
17040
17041 2008-04-22  Jim Meyering  <meyering@redhat.com>
17042
17043         * modules/verify (License): Re-license as LGPLv2+.
17044
17045 2008-04-22  Simon Josefsson  <simon@josefsson.org>
17046
17047         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
17048         parameter to void* as per POSIX standard (MinGW uses char*).
17049
17050 2008-04-21  Bruno Haible  <bruno@clisp.org>
17051
17052         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17053         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17054         Define to replacements if REPLACE_ISWCNTRL is 1.
17055         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
17056         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
17057         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
17058         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
17059         what it fixes.
17060         * doc/posix-functions/iswalpha.texi: Likewise.
17061         * doc/posix-functions/iswblank.texi: Likewise.
17062         * doc/posix-functions/iswcntrl.texi: Likewise.
17063         * doc/posix-functions/iswdigit.texi: Likewise.
17064         * doc/posix-functions/iswgraph.texi: Likewise.
17065         * doc/posix-functions/iswlower.texi: Likewise.
17066         * doc/posix-functions/iswprint.texi: Likewise.
17067         * doc/posix-functions/iswpunct.texi: Likewise.
17068         * doc/posix-functions/iswspace.texi: Likewise.
17069         * doc/posix-functions/iswupper.texi: Likewise.
17070         * doc/posix-functions/iswxdigit.texi: Likewise.
17071         Reported by Alain Guibert.
17072
17073 2008-04-21  Bruno Haible  <bruno@clisp.org>
17074
17075         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
17076         Patch by Alain Guibert.
17077
17078 2008-04-21  Bruno Haible  <bruno@clisp.org>
17079
17080         Fix test failures on mingw.
17081         * tests/test-xstrtol.c (print_no_progname): New function.
17082         (main): Install it in error_print_progname hook.
17083         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
17084         * tests/test-xstrtoimax.sh: Likewise.
17085         * tests/test-xstrtoumax.sh: Likewise.
17086
17087 2008-04-21  Bruno Haible  <bruno@clisp.org>
17088
17089         Fix test failure on mingw.
17090         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
17091
17092 2008-04-21  Bruno Haible  <bruno@clisp.org>
17093
17094         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
17095         Actually assign a value.
17096
17097 2008-04-20  Bruno Haible  <bruno@clisp.org>
17098
17099         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
17100         take 2.
17101         * lib/canonicalize.c (canonicalize_file_name): Elide if the
17102         'canonicalize-lgpl' module is also used.
17103         * lib/canonicalize-lgpl.c: Undo last change.
17104         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
17105
17106 2008-04-20  Bruno Haible  <bruno@clisp.org>
17107
17108         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
17109         config.h. Provide _mkdir based fallback for mingw.
17110         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
17111         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
17112         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
17113         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
17114         rather than defining mkdir in config.h.
17115         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
17116         (gl_SYS_STAT_H_DEFAULTS): New macro.
17117         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
17118         HAVE_IO_H any more.
17119         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
17120         HAVE_DECL_MKDIR and HAVE_IO_H.
17121
17122 2008-04-20  Bruno Haible  <bruno@clisp.org>
17123
17124         * lib/isapipe.c: Port to native Windows platforms.
17125
17126 2008-04-20  Bruno Haible  <bruno@clisp.org>
17127
17128         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
17129
17130 2008-04-21  Eric Blake  <ebb9@byu.net>
17131
17132         Work around preprocessors that don't handle UINTMAX_MAX.
17133         * lib/memchr2.c (memchr2): Avoid embedded #if.
17134         Reported by Alain Guibert, fix suggested by Bruno Haible.
17135
17136 2008-04-21  Simon Josefsson  <simon@josefsson.org>
17137
17138         * doc/posix-functions/strftime.texi (strftime): Explain better
17139         Windows incompatibility.  Suggested by Micah Cowan
17140         <micah@cowan.name>.
17141
17142 2008-04-20  Bruno Haible  <bruno@clisp.org>
17143
17144         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
17145         unistr/u8-mblen.
17146
17147 2008-04-20  Bruno Haible  <bruno@clisp.org>
17148
17149         Fix test failure on platforms with non-GNU iconv.
17150         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
17151         (U_TO_U8): Use it, rather than u16_to_u8.
17152         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
17153         units at the end of the input string.
17154         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
17155
17156 2008-04-20  Bruno Haible  <bruno@clisp.org>
17157
17158         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
17159         when the resulting length is 0.
17160         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
17161
17162 2008-04-20  Bruno Haible  <bruno@clisp.org>
17163
17164         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
17165         works.
17166         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
17167
17168 2008-04-20  Bruno Haible  <bruno@clisp.org>
17169
17170         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
17171         * modules/tsearch-tests (configure.ac): Test for initstate function.
17172
17173 2008-04-20  Bruno Haible  <bruno@clisp.org>
17174
17175         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
17176         for nlink_t if missing.
17177         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
17178
17179 2008-04-19  Bruno Haible  <bruno@clisp.org>
17180
17181         Work around snprintf bug on Linux libc5.
17182         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
17183         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
17184         gl_SNPRINTF_SIZE1.
17185         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17186         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
17187         that test failed.
17188         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
17189         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
17190         * modules/snprintf (Files): Add m4/printf.m4.
17191         * modules/vsnprintf (Files): Likewise.
17192         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
17193         * doc/posix-functions/vsnprintf.texi: Likewise.
17194
17195 2008-04-19  Bruno Haible  <bruno@clisp.org>
17196
17197         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
17198         from 0.0058 to less than 10^-7.
17199
17200 2008-04-19  Bruno Haible  <bruno@clisp.org>
17201
17202         Fix rounding when a precision is given.
17203         * lib/vasnprintf.c (is_borderline): New function.
17204         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
17205         9...9x.
17206         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
17207         %e, %g.
17208         * tests/test-vasprintf-posix.c (test_function): Likewise.
17209         * tests/test-snprintf-posix.h (test_function): Likewise.
17210         * tests/test-sprintf-posix.h (test_function): Likewise.
17211         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
17212         * tests/test-printf-posix.h (test_function): Likewise.
17213         * tests/test-printf-posix.output: Update.
17214         Reported by John Darrington <john@darrington.wattle.id.au> via
17215         Ben Pfaff <blp@cs.stanford.edu>.
17216
17217 2008-04-18  Simon Josefsson  <simon@josefsson.org>
17218
17219         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
17220         Suggested by Bruno Haible <bruno@clisp.org>.
17221
17222 2008-04-17  Bruno Haible  <bruno@clisp.org>
17223
17224         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
17225         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
17226         implementation.
17227         Patch by Bruce Merry <bmerry@gmail.com>.
17228
17229 2008-04-17  Simon Josefsson  <simon@josefsson.org>
17230
17231         * doc/posix-functions/strftime.texi (strftime): Mention that %e
17232         doesn't work under Windows.
17233
17234 2008-04-16  Bruno Haible  <bruno@clisp.org>
17235
17236         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
17237         New macros.
17238         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
17239         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
17240         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
17241         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
17242         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
17243         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
17244         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
17245         macros.
17246         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
17247         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
17248         Northern Sotho, Uighur.
17249
17250 2008-04-16  Bruno Haible  <bruno@clisp.org>
17251
17252         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
17253         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
17254         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
17255         Reported by Daniel Bergström <daniel@octocode.com>.
17256
17257 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
17258             Bruno Haible  <bruno@clisp.org>
17259
17260         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
17261         function.
17262         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
17263         New functions, mostly extracted from gl_locale_name_default.
17264         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
17265
17266 2008-04-16  Eric Blake  <ebb9@byu.net>
17267
17268         Adjust strtod detection to catch glibc 2.7 bug.
17269         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
17270         Reported by John Gatewood Ham.
17271
17272 2008-04-16  Bruno Haible  <bruno@clisp.org>
17273
17274         Add tentative support for Linux libc5.
17275         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
17276         * lib/fpurge.c (fpurge): Likewise.
17277         * lib/freadable.c (freadable): Likewise.
17278         * lib/freadahead.c (freadahead): Likewise.
17279         * lib/freading.c (freading): Likewise.
17280         * lib/freadptr.c (freadptr): Likewise.
17281         * lib/freadseek.c (freadptrinc): Likewise.
17282         * lib/fseeko.c (rpl_fseeko): Likewise.
17283         * lib/fseterr.c (fseterr): Likewise.
17284         * lib/fwritable.c (fwritable): Likewise.
17285         * lib/fwriting.c (fwriting): Likewise.
17286         Reported by Alain Guibert <alguibert+bts@free.fr>.
17287
17288 2008-04-15  Bruno Haible  <bruno@clisp.org>
17289
17290         * modules/mathl (configure.ac): Define module indicator.
17291
17292 2008-04-15  Bruno Haible  <bruno@clisp.org>
17293
17294         * lib/logl.c (logl): Remove unused variables.
17295
17296 2008-04-15  Bruno Haible  <bruno@clisp.org>
17297
17298         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
17299         fails.
17300
17301 2008-04-15  Bruno Haible  <bruno@clisp.org>
17302
17303         * lib/trim.c (trim2): Fix argument of isspace() macro.
17304
17305 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
17306
17307         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
17308         to 0.
17309         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
17310
17311 2008-04-14  Bruno Haible  <bruno@clisp.org>
17312
17313         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
17314         AC_LANG_PROGRAM argument.
17315         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
17316         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
17317         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
17318         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17319         * m4/math_h.m4 (gl_MATH_H): Likewise.
17320         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
17321         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
17322         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
17323         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
17324         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
17325         * m4/regex.m4 (gl_REGEX): Likewise.
17326         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
17327         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
17328         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17329         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
17330         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
17331         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17332         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17333         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17334
17335 2008-04-14  Jim Meyering  <meyering@redhat.com>
17336
17337         test-strtod: fix typos: s/abs/fabs/
17338         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
17339
17340 2008-04-13  Bruno Haible  <bruno@clisp.org>
17341
17342         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
17343         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
17344         module is also used and while not building the reloc-wrapper.
17345
17346 2008-04-13  Bruno Haible  <bruno@clisp.org>
17347
17348         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
17349
17350 2008-04-13  Bruno Haible  <bruno@clisp.org>
17351
17352         Fix AIX compilation failure introduced on 2008-04-02.
17353         * tests/test-frexp.c (exp): Undefine before redefining.
17354         * tests/test-frexpl.c (exp): Likewise.
17355
17356 2008-04-13  Bruno Haible  <bruno@clisp.org>
17357
17358         Work around a HP-UX stdio bug.
17359         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
17360         * tests/test-ftello.c (main): Likewise.
17361         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
17362         * doc/posix-functions/ftello.texi: Likewise.
17363
17364 2008-04-13  Bruno Haible  <bruno@clisp.org>
17365
17366         Make test-signbit pass on HP-UX/hppa.
17367         * tests/test-signbit.c (minus_zerol): New variable.
17368         (test_signbitl): Use it.
17369
17370 2008-04-13  Bruno Haible  <bruno@clisp.org>
17371
17372         Make truncl work on OSF/1 4.0.
17373         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
17374         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
17375         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
17376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
17377         HAVE_DECL_TRUNCL.
17378         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
17379         HAVE_DECL_TRUNCL.
17380         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
17381
17382 2008-04-13  Bruno Haible  <bruno@clisp.org>
17383
17384         * lib/unictype.h: Remove trailing comma from enumeration definitions.
17385
17386 2008-04-13  Bruno Haible  <bruno@clisp.org>
17387
17388         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
17389         expression, so as to avoid HP-UX 11 cc compiler bug.
17390
17391 2008-04-13  Bruno Haible  <bruno@clisp.org>
17392
17393         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
17394
17395 2008-04-13  Bruno Haible  <bruno@clisp.org>
17396
17397         * lib/git-merge-changelog.c: Remove empty declaration outside of
17398         functions.
17399
17400 2008-04-13  Bruno Haible  <bruno@clisp.org>
17401
17402         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
17403
17404 2008-04-13  Bruno Haible  <bruno@clisp.org>
17405
17406         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
17407         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
17408         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
17409         also if it exists but lacks definitions of the SHUT_* macros.
17410         * modules/sys_socket (Description): Update.
17411         Reported by Elbert Pol <e.pol@chello.nl>.
17412
17413 2008-04-13  Bruno Haible  <bruno@clisp.org>
17414
17415         * lib/localcharset.c (OS2): Don't redefine if already defined.
17416         Reported by Elbert Pol <e.pol@chello.nl>.
17417
17418 2008-04-13  Bruno Haible  <bruno@clisp.org>
17419
17420         * lib/binary-io.h [__EMX__]: Include <io.h>.
17421         Reported by Elbert Pol <e.pol@chello.nl>.
17422
17423 2008-04-12  Bruno Haible  <bruno@clisp.org>
17424
17425         * lib/fpucw.h: Enable the definitions also for x86_64.
17426         Needed for NetBSD/x86_64.
17427         Reported by Thomas Klausner <tk@giga.or.at>.
17428
17429 2008-04-12  Bruno Haible  <bruno@clisp.org>
17430
17431         * tests/test-strtod.c: Include isnand.h.
17432         (main): Use isnand instead of isnan.
17433         Reported by Jim Meyering.
17434
17435 2008-04-12  Bruno Haible  <bruno@clisp.org>
17436
17437         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
17438         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17439
17440 2008-04-12  Jim Meyering  <meyering@redhat.com>
17441
17442         * m4/math_h.m4 (gl_MATH_H): Fix typos.
17443
17444 2008-04-12  Bruno Haible  <bruno@clisp.org>
17445
17446         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
17447         Reported by Elbert Pol <e.pol@chello.nl>.
17448
17449 2008-04-12  Eric Blake  <ebb9@byu.net>
17450
17451         Work around Solaris 10 math.h bug.
17452         * m4/math_h.m4 (gl_MATH_H): Check for bug.
17453         (gl_MATH_H_DEFAULTS): Set up default.
17454         * modules/math (Makefile.am): Replace new indicators.
17455         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
17456         * tests/test-math.c (main): Test this.
17457         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
17458         * doc/posix-headers/math.texi (math.h): Mention bug.
17459         Reported by Nelson H. F. Beebe and Jim Meyering.
17460
17461 2008-04-11  Bruno Haible  <bruno@clisp.org>
17462
17463         Adapt to future versions of Apple GCC.
17464         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
17465         Reported by Peter O'Gorman <peter@pogma.com>.
17466
17467 2008-04-11  Bruno Haible  <bruno@clisp.org>
17468
17469         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
17470
17471 2008-04-11  Bruno Haible  <bruno@clisp.org>
17472
17473         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
17474
17475         * modules/getaddrinfo-tests (Makefile.am): Define
17476         test_getaddrinfo_LDADD.
17477
17478 2008-04-11  Bruno Haible  <bruno@clisp.org>
17479
17480         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
17481         (init): Fix syntax error.
17482         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
17483         is declared.
17484
17485 2008-04-11  Bruno Haible  <bruno@clisp.org>
17486
17487         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
17488         * modules/glob (Depends-on): Add stdbool.
17489
17490 2008-04-11  Bruno Haible  <bruno@clisp.org>
17491
17492         * lib/trim.c: Include <string.h>.
17493
17494 2008-04-11  Eric Blake  <ebb9@byu.net>
17495
17496         Avoid compile failure on OS/2.
17497         * lib/regex_internal.h (internal_function): Disable optimization
17498         on OS/2 (__EMX__), where it caused compiler error.
17499         Reported by Elbert Pol.
17500
17501 2008-04-11  Bruno Haible  <bruno@clisp.org>
17502
17503         Flush the standard error stream before aborting. Needed on mingw.
17504         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
17505         * tests/test-array_list.c (ASSERT): Likewise.
17506         * tests/test-array_oset.c (ASSERT): Likewise.
17507         * tests/test-avltree_list.c (ASSERT): Likewise.
17508         * tests/test-avltree_oset.c (ASSERT): Likewise.
17509         * tests/test-avltreehash_list.c (ASSERT): Likewise.
17510         * tests/test-binary-io.c (ASSERT): Likewise.
17511         * tests/test-byteswap.c (ASSERT): Likewise.
17512         * tests/test-c-ctype.c (ASSERT): Likewise.
17513         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
17514         * tests/test-c-strcasestr.c (ASSERT): Likewise.
17515         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
17516         * tests/test-c-strstr.c (ASSERT): Likewise.
17517         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
17518         * tests/test-canonicalize.c (ASSERT): Likewise.
17519         * tests/test-carray_list.c (ASSERT): Likewise.
17520         * tests/test-ceilf1.c (ASSERT): Likewise.
17521         * tests/test-ceilf2.c (ASSERT): Likewise.
17522         * tests/test-ceill.c (ASSERT): Likewise.
17523         * tests/test-count-one-bits.c (ASSERT): Likewise.
17524         * tests/test-fbufmode.c (ASSERT): Likewise.
17525         * tests/test-fflush2.c (ASSERT): Likewise.
17526         * tests/test-floorf1.c (ASSERT): Likewise.
17527         * tests/test-floorf2.c (ASSERT): Likewise.
17528         * tests/test-floorl.c (ASSERT): Likewise.
17529         * tests/test-fopen.c (ASSERT): Likewise.
17530         * tests/test-fpending.c (ASSERT): Likewise.
17531         * tests/test-fprintf-posix.c (ASSERT): Likewise.
17532         * tests/test-fpurge.c (ASSERT): Likewise.
17533         * tests/test-freadable.c (ASSERT): Likewise.
17534         * tests/test-freadahead.c (ASSERT): Likewise.
17535         * tests/test-freading.c (ASSERT): Likewise.
17536         * tests/test-freadptr.c (ASSERT): Likewise.
17537         * tests/test-freadptr2.c (ASSERT): Likewise.
17538         * tests/test-freadseek.c (ASSERT): Likewise.
17539         * tests/test-freopen.c (ASSERT): Likewise.
17540         * tests/test-frexp.c (ASSERT): Likewise.
17541         * tests/test-frexpl.c (ASSERT): Likewise.
17542         * tests/test-fseek.c (ASSERT): Likewise.
17543         * tests/test-fseeko.c (ASSERT): Likewise.
17544         * tests/test-fstrcmp.c (ASSERT): Likewise.
17545         * tests/test-ftell.c (ASSERT): Likewise.
17546         * tests/test-ftello.c (ASSERT): Likewise.
17547         * tests/test-func.c (ASSERT): Likewise.
17548         * tests/test-fwritable.c (ASSERT): Likewise.
17549         * tests/test-fwriting.c (ASSERT): Likewise.
17550         * tests/test-getdelim.c (ASSERT): Likewise.
17551         * tests/test-getline.c (ASSERT): Likewise.
17552         * tests/test-i-ring.c (ASSERT): Likewise.
17553         * tests/test-iconv-utf.c (ASSERT): Likewise.
17554         * tests/test-iconv.c (ASSERT): Likewise.
17555         * tests/test-isfinite.c (ASSERT): Likewise.
17556         * tests/test-isnand.c (ASSERT): Likewise.
17557         * tests/test-isnanf.c (ASSERT): Likewise.
17558         * tests/test-isnanl.h (ASSERT): Likewise.
17559         * tests/test-ldexpl.c (ASSERT): Likewise.
17560         * tests/test-linked_list.c (ASSERT): Likewise.
17561         * tests/test-linkedhash_list.c (ASSERT): Likewise.
17562         * tests/test-localename.c (ASSERT): Likewise.
17563         * tests/test-lseek.c (ASSERT): Likewise.
17564         * tests/test-mbscasecmp.c (ASSERT): Likewise.
17565         * tests/test-mbscasestr1.c (ASSERT): Likewise.
17566         * tests/test-mbscasestr2.c (ASSERT): Likewise.
17567         * tests/test-mbscasestr3.c (ASSERT): Likewise.
17568         * tests/test-mbscasestr4.c (ASSERT): Likewise.
17569         * tests/test-mbschr.c (ASSERT): Likewise.
17570         * tests/test-mbscspn.c (ASSERT): Likewise.
17571         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
17572         * tests/test-mbspbrk.c (ASSERT): Likewise.
17573         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
17574         * tests/test-mbsrchr.c (ASSERT): Likewise.
17575         * tests/test-mbsspn.c (ASSERT): Likewise.
17576         * tests/test-mbsstr1.c (ASSERT): Likewise.
17577         * tests/test-mbsstr2.c (ASSERT): Likewise.
17578         * tests/test-mbsstr3.c (ASSERT): Likewise.
17579         * tests/test-memchr2.c (ASSERT): Likewise.
17580         * tests/test-memmem.c (ASSERT): Likewise.
17581         * tests/test-open.c (ASSERT): Likewise.
17582         * tests/test-printf-frexp.c (ASSERT): Likewise.
17583         * tests/test-printf-frexpl.c (ASSERT): Likewise.
17584         * tests/test-printf-posix.c (ASSERT): Likewise.
17585         * tests/test-quotearg.c (ASSERT): Likewise.
17586         * tests/test-rbtree_list.c (ASSERT): Likewise.
17587         * tests/test-rbtree_oset.c (ASSERT): Likewise.
17588         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
17589         * tests/test-round1.c (ASSERT): Likewise.
17590         * tests/test-roundf1.c (ASSERT): Likewise.
17591         * tests/test-roundl.c (ASSERT): Likewise.
17592         * tests/test-signbit.c (ASSERT): Likewise.
17593         * tests/test-sleep.c (ASSERT): Likewise.
17594         * tests/test-snprintf-posix.c (ASSERT): Likewise.
17595         * tests/test-snprintf.c (ASSERT): Likewise.
17596         * tests/test-sprintf-posix.c (ASSERT): Likewise.
17597         * tests/test-stat-time.c (ASSERT): Likewise.
17598         * tests/test-strcasestr.c (ASSERT): Likewise.
17599         * tests/test-strerror.c (ASSERT): Likewise.
17600         * tests/test-striconv.c (ASSERT): Likewise.
17601         * tests/test-striconveh.c (ASSERT): Likewise.
17602         * tests/test-striconveha.c (ASSERT): Likewise.
17603         * tests/test-strsignal.c (ASSERT): Likewise.
17604         * tests/test-strstr.c (ASSERT): Likewise.
17605         * tests/test-strtod.c (ASSERT): Likewise.
17606         * tests/test-trunc1.c (ASSERT): Likewise.
17607         * tests/test-trunc2.c (ASSERT): Likewise.
17608         * tests/test-truncf1.c (ASSERT): Likewise.
17609         * tests/test-truncf2.c (ASSERT): Likewise.
17610         * tests/test-truncl.c (ASSERT): Likewise.
17611         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
17612         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
17613         * tests/test-vasnprintf.c (ASSERT): Likewise.
17614         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
17615         * tests/test-vasprintf.c (ASSERT): Likewise.
17616         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
17617         * tests/test-vprintf-posix.c (ASSERT): Likewise.
17618         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
17619         * tests/test-vsnprintf.c (ASSERT): Likewise.
17620         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
17621         * tests/test-wcwidth.c (ASSERT): Likewise.
17622         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
17623         * tests/test-xprintf-posix.c (ASSERT): Likewise.
17624         * tests/test-xvasprintf.c (ASSERT): Likewise.
17625         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
17626         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
17627         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
17628         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
17629         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
17630         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
17631         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
17632         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
17633         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
17634         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
17635         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
17636         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
17637         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
17638         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
17639         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
17640         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
17641         * tests/unictype/test-block_list.c (ASSERT): Likewise.
17642         * tests/unictype/test-block_of.c (ASSERT): Likewise.
17643         * tests/unictype/test-block_test.c (ASSERT): Likewise.
17644         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
17645         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
17646         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
17647         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
17648         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
17649         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
17650         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
17651         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
17652         * tests/unictype/test-combining.c (ASSERT): Likewise.
17653         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
17654         * tests/unictype/test-digit.c (ASSERT): Likewise.
17655         * tests/unictype/test-mirror.c (ASSERT): Likewise.
17656         * tests/unictype/test-numeric.c (ASSERT): Likewise.
17657         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
17658         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
17659         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
17660         * tests/unictype/test-scripts.c (ASSERT): Likewise.
17661         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
17662         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
17663         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
17664         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
17665         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
17666         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
17667         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
17668         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
17669         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
17670         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
17671         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
17672         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
17673         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
17674         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
17675         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
17676         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
17677         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
17678         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
17679         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
17680         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
17681         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
17682         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
17683         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
17684         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
17685         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
17686         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
17687         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
17688         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
17689         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
17690         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
17691         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
17692         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
17693         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
17694         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
17695         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
17696         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
17697         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
17698         Reported by Eric Blake.
17699
17700 2008-04-11  Bruno Haible  <bruno@clisp.org>
17701
17702         * lib/wchar.in.h: Tweak comment.
17703
17704 2008-04-11  Bruno Haible  <bruno@clisp.org>
17705
17706         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
17707         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
17708         gl_COMMON.
17709         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
17710
17711 2008-04-11  Bruno Haible  <bruno@clisp.org>
17712
17713         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
17714
17715 2008-04-11  Simon Josefsson  <simon@josefsson.org>
17716
17717         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
17718         of attempting to use non-existing /dev/*random.  Based on patch
17719         from Adam Strzelecki <ono@java.pl> in
17720         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
17721
17722 2008-04-08  Bruno Haible  <bruno@clisp.org>
17723
17724         Add tentative support for emx+gcc.
17725         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
17726         * lib/fpurge.c (fpurge): Likewise.
17727         * lib/freadable.c (freadable): Likewise.
17728         * lib/freadahead.c (freadahead): Likewise.
17729         * lib/freading.c (freading): Likewise.
17730         * lib/freadptr.c (freadptr): Likewise.
17731         * lib/freadseek.c (freadptrinc): Likewise.
17732         * lib/fseeko.c (rpl_fseeko): Likewise.
17733         * lib/fseterr.c (fseterr): Likewise.
17734         * lib/fwritable.c (fwritable): Likewise.
17735         * lib/fwriting.c (fwriting): Likewise.
17736         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
17737
17738 2008-04-09  Eric Blake  <ebb9@byu.net>
17739
17740         Avoid some autoconf warnings.
17741         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
17742         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
17743         * m4/afs.m4 (gl_AFS): Likewise.
17744         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
17745         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
17746         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17747         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
17748         (gl_INTEGER_TYPE_SUFFIX): Likewise.
17749         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
17750         (AC_CHECK_DECLS_ONCE): Likewise.
17751         Rename file...
17752         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
17753         gnulib-tool requires autoconf 2.59 or better.
17754         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
17755
17756 2008-04-08  Eric Blake  <ebb9@byu.net>
17757
17758         Use 'git describe --match' if present (added in git 1.5.5).
17759         * build-aux/git-version-gen: Limit result to tags that match 'v*'
17760         if possible.
17761
17762 2008-04-08  Bruno Haible  <bruno@clisp.org>
17763
17764         Add tentative support for OpenServer.
17765         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
17766         _ptr, _cnt.
17767         * lib/fpurge.c (fpurge): Likewise.
17768         * lib/freadable.c (freadable): Likewise.
17769         * lib/freadahead.c (freadahead): Likewise.
17770         * lib/freading.c (freading): Likewise.
17771         * lib/freadptr.c (freadptr): Likewise.
17772         * lib/freadseek.c (freadptrinc): Likewise.
17773         * lib/fseeko.c (rpl_fseeko): Likewise.
17774         * lib/fseterr.c (fseterr): Likewise.
17775         * lib/fwritable.c (fwritable): Likewise.
17776         * lib/fwriting.c (fwriting): Likewise.
17777         Reported by Roger Cornelius <rac@tenzing.org> and
17778         Brian K. White <brian@aljex.com>.
17779
17780 2008-04-06  Jim Meyering  <meyering@redhat.com>
17781
17782         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
17783
17784 2008-04-06  Bruno Haible  <bruno@clisp.org>
17785
17786         Avoid possible error with non-ASCII bytes in UTF-8 locales.
17787         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
17788         * tests/test-printf-posix.sh: Likewise.
17789         * tests/test-vfprintf-posix.sh: Likewise.
17790         * tests/test-vprintf-posix.sh: Likewise.
17791         * tests/test-xprintf-posix.sh: Likewise.
17792
17793 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17794
17795         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
17796         hide error from 'ls', needed on OS/2.
17797         Report by Elbert Pol <elbert.pol@gmail.com>.
17798
17799 2008-04-04  Eric Blake  <ebb9@byu.net>
17800
17801         Make test-fseeko.c failures meaningful.
17802         * tests/test-fseeko.c: Print line number on failure.
17803         * tests/test-fseek.c: Likewise.
17804         Reported by Nelson H. F. Beebe.
17805
17806         Improve strtod bug detection check.
17807         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
17808         required for Solaris 10.
17809         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
17810
17811 2008-04-04  Bruno Haible  <bruno@clisp.org>
17812
17813         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
17814         by m4/setenv.m4.
17815
17816 2008-04-03  Eric Blake  <ebb9@byu.net>
17817
17818         Ensure sane .version contents.
17819         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
17820         version string.
17821         * build-aux/git-version-gen: Improve documentation.
17822
17823         Make GNU make output nicer.
17824         * top/GNUmakefile [!_have-Makefile]: Add dependency on
17825         MAKECMDGOALS to enforce message for all command line targets.  Set
17826         srcdir for use in maint.mk.
17827
17828         Another maintainer tweak.
17829         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
17830         a target that regenerates version.
17831
17832 2008-04-03  Jim Meyering  <meyering@redhat.com>
17833
17834         vc-list-files: don't cause coreutils "make po-check" failure
17835         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
17836
17837 2008-04-03  Eric Blake  <ebb9@byu.net>
17838
17839         Allow VPATH usage of vc-list-files.
17840         * build-aux/vc-list-files (scriptversion): Add timestamp.
17841         (options): Add --help, --version, -C.
17842         (CVS): Support installed cvsu.
17843
17844 2008-04-02  Bruno Haible  <bruno@clisp.org>
17845
17846         Avoid some "statement with no effect" warnings from gcc.
17847         * tests/test-wctype.c (main): Explicitly ignore unused values.
17848         Reported by Jim Meyering.
17849
17850 2008-04-02  Jim Meyering  <meyering@redhat.com>
17851
17852         Avoid some warnings from "gcc -Wshadow".
17853         * tests/test-frexp.c (exp): Define to a different identifier.
17854         * tests/test-frexpl.c (exp): Likewise.
17855
17856 2008-04-03  Jim Meyering  <meyering@redhat.com>
17857
17858         bootstrap: remove dangling *.[ch] symlinks from lib
17859         * build-aux/bootstrap [dangling symlink removal]: Move find's
17860         -depth option to precede all others, to avoid a warning.
17861         Remove *.[ch] files too, and from "$source_base" (usually lib/).
17862
17863 2008-04-02  Bruno Haible  <bruno@clisp.org>
17864
17865         Avoid some warnings from "gcc -Wshadow".
17866         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
17867         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
17868         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
17869         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
17870         Reported by Jim Meyering.
17871
17872 2008-04-01  Bruno Haible  <bruno@clisp.org>
17873
17874         Fix test to work on IRIX 6.5 with cc.
17875         * tests/test-math.c (numeric_equal): New function.
17876         (main): Use it.
17877
17878 2008-04-01  Bruno Haible  <bruno@clisp.org>
17879
17880         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
17881
17882 2008-04-01  Bruno Haible  <bruno@clisp.org>
17883
17884         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
17885         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17886         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
17887         (Depends-on): Remove math.
17888
17889         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
17890         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17891         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
17892         (Depends-on): Remove math.
17893
17894         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
17895         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17896         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
17897         (Depends-on): Remove math.
17898         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
17899         (Depends-on): Remove math.
17900
17901         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
17902         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
17903         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
17904         (Depends-on): Remove math.
17905         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
17906         (Depends-on): Remove math.
17907
17908         * tests/test-round1.c: Include nan.h.
17909         (main): Use NaNd instead of NAN.
17910         * modules/round-tests (Files): Add tests/nan.h.
17911
17912         * tests/test-trunc1.c: Include nan.h.
17913         (main): Use NaNd instead of NAN.
17914         * modules/trunc-tests (Files): Add tests/nan.h.
17915
17916         * tests/test-roundf1.c: Include nan.h.
17917         (main): Use NaNf instead of NAN.
17918         * modules/roundf-tests (Files): Add tests/nan.h.
17919
17920         * tests/test-truncf1.c: Include nan.h.
17921         (main): Use NaNf instead of NAN.
17922         * modules/truncf-tests (Files): Add tests/nan.h.
17923
17924         * tests/test-ceilf1.c: Include nan.h.
17925         (main): Use NaNf instead of NAN.
17926         * modules/ceilf-tests (Files): Add tests/nan.h.
17927
17928         * tests/test-floorf1.c: Include nan.h.
17929         (main): Use NaNf instead of NAN.
17930         * modules/floorf-tests (Files): Add tests/nan.h.
17931
17932         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
17933         (main): Use NaNf instead of NAN.
17934         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
17935
17936         * tests/test-isnand.c: Include nan.h instead of <math.h>.
17937         (main): Use NaNd instead of NAN.
17938         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
17939
17940         * tests/test-frexp.c: Include nan.h.
17941         (main): Use NaNd instead of NAN.
17942         * modules/frexp-tests (Files): Add tests/nan.h.
17943
17944         * lib/isnan.c: Don't include <math.h>.
17945         (FUNC): Don't use NAN macro.
17946         * modules/isnand-nolibm (Depends-on): Remove math.
17947         * modules/isnanf-nolibm (Depends-on): Remove math.
17948         * modules/isnanl (Depends-on): Remove math.
17949         * modules/isnanl-nolibm (Depends-on): Remove math.
17950
17951         * tests/nan.h: New file.
17952
17953 2008-04-01  Eric Blake  <ebb9@byu.net>
17954
17955         Fix typos.
17956         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
17957         values to be the right type.
17958
17959         For now, cater to gnulib strtod inaccuracies.
17960         * tests/test-strtod.c (main): Allow 1-ulp error on expected
17961         fractional results.  While not as nice from a QoI perspective, it
17962         is a quicker patch than correctly implementing decimal to binary
17963         rounding.
17964
17965 2008-03-31  Eric Blake  <ebb9@byu.net>
17966
17967         Guarantee a definition of NAN.
17968         * lib/math.in.h (NAN): Define if missing.
17969         * tests/test-math.c (main): Test it.
17970         * doc/posix-headers/math.texi (math.h): Document this.
17971         * lib/isnan.c (rpl_isnand): Use it.
17972         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
17973         * tests/test-floorf1.c (NaN): Likewise.
17974         * tests/test-frexp.c (NaN): Likewise.
17975         * tests/test-isnand.c (NaN): Likewise.
17976         * tests/test-isnanf.c (NaN): Likewise.
17977         * tests/test-round1.c (NaN): Likewise.
17978         * tests/test-roundf1.c (NaN): Likewise.
17979         * tests/test-snprintf-posix.h (NaN): Likewise.
17980         * tests/test-sprintf-posix.h (NaN): Likewise.
17981         * tests/test-trunc1.c (NaN): Likewise.
17982         * tests/test-truncf1.c (NaN): Likewise.
17983         * tests/test-vasnprintf-posix.c (NaN): Likewise.
17984         * tests/test-vasprintf-posix.c (NaN): Likewise.
17985         * modules/isnand-nolibm (Depends-on): Add math.
17986         * modules/isnanf-nolibm (Depends-on): Likewise.
17987         * modules/isnanl (Depends-on): Likewise.
17988         * modules/isnanl-nolibm (Depends-on): Likewise.
17989         * modules/snprintf-posix-tests (Depends-on): Likewise.
17990         * modules/sprintf-posix-tests (Depends-on): Likewise.
17991         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
17992         * modules/vsprintf-posix-tests (Depends-on): Likewise.
17993         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
17994         * modules/vasprintf-posix-tests (Depends-on): Likewise.
17995
17996 2008-03-31  Bruno Haible  <bruno@clisp.org>
17997
17998         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
17999         * doc/posix-functions/strtod.texi: Likewise.
18000
18001 2008-03-31  Bruno Haible  <bruno@clisp.org>
18002
18003         * tests/test-strtod.c (main): Don't use C99 syntax.
18004
18005 2008-03-31  Bruno Haible  <bruno@clisp.org>
18006
18007         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
18008         Reported by Eric Blake.
18009
18010 2008-03-31  Jim Meyering  <meyering@redhat.com>
18011
18012         Don't compare actual signbit return values.
18013         * tests/test-strtod.c (main): Rather, compare only their
18014         zero/non-zero nature.
18015
18016 2008-03-31  Eric Blake  <ebb9@byu.net>
18017
18018         More strtod documentation.
18019         * doc/posix-functions/strtod.texi (strtod): Interpret more test
18020         failures as distinct bugs.
18021
18022 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18023
18024         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
18025         Problem reported by Erik Benada in
18026         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
18027
18028 2008-03-30  Bruno Haible  <bruno@clisp.org>
18029
18030         * tests/test-strtod.c: Add comments about which assertion fails on which
18031         platform.
18032         * doc/posix-functions/strtod.texi: Add info about many more platforms.
18033
18034 2008-03-30  Eric Blake  <ebb9@byu.net>
18035
18036         Test signbit behavior on zeros.
18037         * tests/test-signbit.c (test_signbitf): Add tests for zero.
18038         (test_signbitd, test_signbitl): Likewise.
18039
18040         More strtod touchups.
18041         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
18042         sign of negative underflow, for now.  Use .5, not .1.
18043         * doc/posix-functions/strtod.texi (strtod): Mention these
18044         limitations.
18045         Reported by Jim Meyering.
18046
18047 2008-03-30  Bruno Haible  <bruno@clisp.org>
18048
18049         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
18050         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
18051
18052 2008-03-30  Bruno Haible  <bruno@clisp.org>
18053
18054         Avoid failure when attempting to return empty iconv results on some
18055         platforms.
18056         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
18057         allocation, don't report ENOMEM when the resulting string is empty.
18058
18059 2008-03-30  Bruno Haible  <bruno@clisp.org>
18060
18061         Fix buffer overrun.
18062         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
18063         Don't consider the width for tmp_length. Check count against tmp_length
18064         before doing the padding. Ensure enough allocation during padding.
18065
18066 2008-03-30  Eric Blake  <ebb9@byu.net>
18067
18068         strtod touchups.
18069         * lib/strtod.c (strtod): Avoid compiler warnings.
18070         Reported by Jim Meyering.
18071
18072 2008-03-30  Bruno Haible  <bruno@clisp.org>
18073
18074         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
18075         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
18076         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
18077         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
18078         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
18079         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
18080         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
18081         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
18082
18083         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
18084         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
18085         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
18086         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
18087         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
18088         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
18089         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
18090         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
18091
18092         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
18093         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
18094         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
18095         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
18096         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
18097         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
18098         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
18099         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
18100
18101         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
18102         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
18103
18104         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
18105         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
18106
18107         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
18108         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
18109
18110         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
18111         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
18112         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
18113
18114         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
18115         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
18116         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
18117
18118         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
18119         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
18120         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
18121
18122         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
18123         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
18124         * modules/vasprintf (Depends-on): Add EOVERFLOW.
18125
18126         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
18127         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
18128         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
18129         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
18130         (Depends-on): Add EOVERFLOW.
18131         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
18132         (Depends-on): Add EOVERFLOW.
18133         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18134         (Depends-on): Add EOVERFLOW.
18135         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18136         (Depends-on): Add EOVERFLOW.
18137         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18138         (Depends-on): Add EOVERFLOW.
18139         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18140         (Depends-on): Add EOVERFLOW.
18141         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18142         (Depends-on): Add EOVERFLOW.
18143         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18144         (Depends-on): Add EOVERFLOW.
18145
18146         * lib/sprintf.c (EOVERFLOW): Remove fallback.
18147         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
18148         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
18149
18150         * lib/snprintf.c (EOVERFLOW): Remove fallback.
18151         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
18152         * modules/snprintf (Depends-on): Add EOVERFLOW.
18153
18154         * lib/poll.c (EOVERFLOW): Remove fallback.
18155         * modules/poll (Depends-on): Add EOVERFLOW.
18156
18157         * lib/getugroups.c (EOVERFLOW): Remove fallback.
18158         * modules/getugroups (Depends-on): Add EOVERFLOW.
18159
18160         * lib/getdelim.c (EOVERFLOW): Remove fallback.
18161         * modules/getdelim (Depends-on): Add EOVERFLOW.
18162
18163         * lib/ftell.c (EOVERFLOW): Remove fallback.
18164         * modules/ftell (Depends-on): Add EOVERFLOW.
18165
18166         * lib/fprintf.c (EOVERFLOW): Remove fallback.
18167         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
18168         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
18169
18170         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
18171
18172         * modules/EOVERFLOW-tests: New file.
18173         * tests/test-EOVERFLOW.c: New file.
18174
18175         * modules/EOVERFLOW: New file.
18176         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
18177
18178 2008-03-30  Bruno Haible  <bruno@clisp.org>
18179
18180         Fix bug introduced on 2007-06-10.
18181         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
18182         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
18183
18184 2008-03-30  Bruno Haible  <bruno@clisp.org>
18185
18186         Improve freadseek's efficiency after ungetc.
18187         * lib/freadseek.c: Include freadahead.h.
18188         (freadptrinc): New function, extracted from freadseek.
18189         (freadseek): Use it in a loop. Use freadahead to determine the number
18190         of loop iterations.
18191         * modules/freadseek (Depends-on): Add freadahead.
18192         (configure.ac): Require AC_C_INLINE.
18193
18194 2008-03-30  Bruno Haible  <bruno@clisp.org>
18195
18196         * lib/freadseek.c (freadseek): Don't ignore the return value of
18197         freadptr.
18198
18199 2008-03-29  Eric Blake  <ebb9@byu.net>
18200
18201         Add hex float support.
18202         * modules/strtod (Depends-on): Add c-ctype.
18203         (Link): Mention POW_LIB.
18204         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
18205         whitespace between 'e' and exponent.
18206         * tests/test-strtod.c (main): Enable hex float tests.
18207         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
18208         now provides.
18209
18210         Document various strtod bugs, with some fixes.
18211         * doc/posix-functions/strtod.texi (strtod): Document bugs with
18212         "-0x", "inf", "nan", and hex constants.
18213         * doc/posix-functions/atof.texi (atof): Likewise.
18214         * modules/stdlib (Makefile.am): Support strtod.
18215         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
18216         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
18217         detect additional strtod bugs.
18218         * lib/stdlib.in.h (rpl_strtod): Add declarations.
18219         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
18220         bool where appropriate.  Parse 'inf' and 'nan'.
18221         * tests/test-strtod.c: New file.
18222         * modules/strtod (Depends-on): Add stdbool, stdlib.
18223         (configure.ac): Turn on module indicator.
18224         * modules/strtod-tests: New module.
18225
18226 2008-03-29  Eric Blake  <ebb9@byu.net>
18227
18228         Fix ftell on mingw.
18229         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
18230         * modules/ftell-tests (Depends-on): Add binary-io.
18231         * modules/ftello-tests (Depends-on): Likewise.
18232         * tests/test-ftell.c (main): Enhance test to cover behavior after
18233         ungetc.  Enforce binary mode.
18234         * tests/test-ftello.c (main): Likewise.
18235
18236         Pass test-freadseek on cygwin.
18237         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
18238         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
18239         ungetc buffer.
18240
18241         * tests/test-fflush2.c (main): Fix typo.
18242
18243 2008-03-29  Bruno Haible  <bruno@clisp.org>
18244
18245         * tests/test-fflush2.c (main): Temporarily disable the contents of
18246         this test.
18247         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
18248         Reported by Eric Blake.
18249
18250 2008-03-28  Simon Josefsson  <simon@josefsson.org>
18251
18252         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
18253         (GC_SHA224_DIGEST_SIZE): Add.
18254
18255         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
18256         (gc_hash_digest_length): Likewise.
18257         (gc_hash_buffer): Likewise.
18258
18259 2008-03-25  Bruno Haible  <bruno@clisp.org>
18260
18261         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
18262         detail which gettext release to use.
18263         Reported by Simon Josefsson.
18264
18265 2008-03-26  Jim Meyering  <meyering@redhat.com>
18266
18267         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
18268         * modules/gnumakefile (clean-GNUmakefile): Also, use
18269         test ... && ... || : syntax rather than if-then ... fi.
18270
18271         gnumakefile: Don't double-quote-expand $(VPATH) value.
18272         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
18273
18274 2008-03-24  Eric Blake  <ebb9@byu.net>
18275
18276         Alter GNUmakefile to install into top directory.
18277         * modules/maintainer-makefile: Split, and add dependency...
18278         * modules/gnumakefile: to this new module.
18279         * build-aux/GNUmakefile: Move...
18280         * top/GNUmakefile: ...here.
18281         * build-aux/maint.mk: Move...
18282         * top/maint.mk: ...here.
18283         * MODULES.html.sh (Support for maintaining...): Document new
18284         module.
18285
18286 2008-03-23  Bruno Haible  <bruno@clisp.org>
18287
18288         * gnulib-tool: New options --vc-files, --no-vc-files.
18289         (func_usage): Document them.
18290         (vc_files): New variable.
18291         (func_import): Consider vc_files.
18292         (func_create_testdir): Set vc_files to empty.
18293         Suggested by Jim Meyering and Karl Berry.
18294
18295 2008-03-23  Bruno Haible  <bruno@clisp.org>
18296
18297         Fix regex compilation error on HP-UX 11.
18298         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
18299         * modules/regex (Files): Add m4/mbstate_t.m4.
18300         Reported by Ton Voon <ton.voon@altinity.com>.
18301
18302 2008-03-23  Bruno Haible  <bruno@clisp.org>
18303
18304         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
18305
18306 2008-03-23  Eric Blake  <ebb9@byu.net>
18307             Bruno Haible  <bruno@clisp.org>
18308
18309         Install files from top/ in the destination directory.
18310         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
18311         augmentation also for the files from top/.
18312         (func_import, func_create_testdir): Rewrite file names:
18313         top/filename -> filename.
18314
18315 2008-03-23  Bruno Haible  <bruno@clisp.org>
18316
18317         Tweak "gnulib --version" output.
18318         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
18319
18320 2008-03-23  Bruno Haible  <bruno@clisp.org>
18321
18322         Tweak "gnulib --version" output.
18323         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
18324         rather than contents of ChangeLog, when possible.
18325
18326 2008-03-21  Eric Blake  <ebb9@byu.net>
18327
18328         More --version tweaks.
18329         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
18330         date of last ChangeLog entry.
18331
18332 2008-03-21  Jim Meyering  <meyering@redhat.com>
18333
18334         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
18335
18336 2008-03-20  Eric Blake  <ebb9@byu.net>
18337
18338         VPATH fix.
18339         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
18340
18341 2008-03-20  Simon Josefsson  <simon@josefsson.org>
18342
18343         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
18344         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
18345
18346 2008-03-20  Eric Blake  <ebb9@byu.net>
18347
18348         Sync GNUmakefile with coreutils.
18349         * build-aux/GNUmakefile (have-Makefile): Rename...
18350         (_have-Makefile): ...to this, for namespace consideration.
18351         (GNUmakefile.cfg): Include, if present.
18352         (_autoreconf): Define a default.
18353         (_is-dist-target): New rule for rebuilds to pick up intra-release
18354         version.
18355         (maint-cfg.mk): Rename...
18356         (cfg.mk): ...to this.
18357
18358 2008-03-18  Jim Meyering  <meyering@redhat.com>
18359
18360         New script and module: mktempd
18361         * MODULES.html.sh (maint+release support): Add mktempd.
18362         * build-aux/mktempd: New file.
18363         * modules/mktempd: New file.
18364
18365 2008-03-15  Jim Meyering  <meyering@redhat.com>
18366
18367         Undo last change.
18368         * lib/sha1.c, lib/md5.c: 63 != ~63.
18369         Reported by Andreas Schwab.
18370
18371         sha1.c, md5.c: Hoist a redundant expression.
18372         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
18373         "ctx->buflen" only once, before calling *_process_block.
18374         * lib/md5.c (md5_process_bytes): Likewise.
18375
18376 2008-03-14  Eric Blake  <ebb9@byu.net>
18377
18378         Bump copyright year in files generated by gnulib-tool.
18379         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
18380         gnulib-tool, rather than hard-coding it.
18381
18382         Fix 'gnulib-tool --version' output to work with git.
18383         * gnulib-tool (func_gnulib_dir): New function, extracted from...
18384         (startup): ...here.
18385         (func_version): Use it to invoke git-version-gen, rather than
18386         relying on CVS keyword expansion.  Modernize wording.
18387         (cvsdatestamp, last_checkin_date, version): Kill unused
18388         variables.
18389
18390 2008-03-12  Jim Meyering  <meyering@redhat.com>
18391
18392         Recognize optional cast of the argument to free.
18393         * build-aux/useless-if-before-free: Update regexps.
18394
18395         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
18396
18397 2008-03-11  Bruno Haible  <bruno@clisp.org>
18398
18399         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
18400         by a single package.
18401         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
18402         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
18403         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
18404         Reported by Sam Steingold <sds@gnu.org>.
18405
18406 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18407
18408         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
18409         repositories.
18410
18411 2008-03-11  Bruno Haible  <bruno@clisp.org>
18412
18413         Avoid conflicts between local macro definitions.
18414         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
18415         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
18416
18417 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
18418             Bruno Haible  <bruno@clisp.org>
18419
18420         Make va_copy work with some version of xlc on AIX 5.1.
18421         * lib/stdarg.in.h: New file.
18422         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
18423         On AIX, use a <stdarg.h> file substitute.
18424         * modules/stdarg (Files): Add lib/stdarg.in.h.
18425         (Depends-on): Add include_next.
18426         (Makefile.am): Build a stdarg.h substitute if requested.
18427         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
18428
18429 2008-03-10  Bruno Haible  <bruno@clisp.org>
18430
18431         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
18432         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18433         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
18434
18435 2008-03-10  Bruno Haible  <bruno@clisp.org>
18436
18437         * modules/stdlib (Depends-on): Add include_next, remove
18438         absolute-header.
18439
18440 2008-03-09  Bruno Haible  <bruno@clisp.org>
18441
18442         * lib/freadahead.h (freadahead): Document more precisely.
18443         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
18444         the sum of both buffer sizes.
18445         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
18446         * NEWS: Document the change.
18447
18448 2008-03-09  Bruno Haible  <bruno@clisp.org>
18449
18450         Extend freadptr to return also the buffer size.
18451         * lib/freadptr.h (freadptr): Add sizep argument.
18452         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
18453         (freadptr): Add sizep argument. Determine buffer size like freadahead
18454         does.
18455         * tests/test-freadptr.c: Don't include freadahead.h.
18456         (main): Adapt for new calling convention of freadptr.
18457         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
18458         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
18459         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
18460         tests/test-freadptr2.sh.
18461         (Depends): Remove freadahead.
18462         (TESTS): Add test-freadptr2.sh.
18463         (check_PROGRAMS): Add test-freadptr2.
18464
18465 2008-03-09  Bruno Haible  <bruno@clisp.org>
18466
18467         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
18468         Report and solution by Simon Josefsson.
18469
18470 2008-03-06  Bruno Haible  <bruno@clisp.org>
18471
18472         Make fflush after ungetc work on BSD platforms.
18473         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
18474         * tests/test-fflush2.c: New file.
18475         * tests/test-fflush2.sh: New file.
18476         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
18477         tests/test-fflush2.c.
18478         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
18479         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
18480
18481 2008-03-06  Eric Blake  <ebb9@byu.net>
18482
18483         Likewise for ftello.
18484         * modules/ftello (Dependencies): Add extensions.
18485         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
18486
18487 2008-03-06  Bruno Haible  <bruno@clisp.org>
18488
18489         * modules/fseeko (Dependencies): Add extensions.
18490         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
18491         Needed on glibc systems.
18492
18493 2008-03-06  Bruno Haible  <bruno@clisp.org>
18494
18495         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
18496         email address.
18497         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18498
18499 2008-03-06  Bruno Haible  <bruno@clisp.org>
18500
18501         * users.txt: Add libgnupdf.
18502
18503 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18504
18505         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
18506         (Header File Substitutes, Function Substitutes,
18507         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
18508         (Build robot for gnulib): Fix typo.
18509
18510 2008-03-06  Bruno Haible  <bruno@clisp.org>
18511
18512         * doc/gnulib-tool.texi (VCS Issues): Small updates.
18513         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18514
18515 2008-03-06  Bruno Haible  <bruno@clisp.org>
18516
18517         * doc/func.texi: New file, extracted from doc/gnulib.texi.
18518         * doc/gnulib.texi: Include it.
18519
18520 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18521
18522         * modules/func (License): Change license to unlimited; there was
18523         no LGPL parts in the module anyway.
18524
18525 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18526
18527         * modules/__func__: Renamed to modules/func.
18528         * modules/__func__-tests: Renamed to modules/func-tests.
18529         * tests/test-__func__.c: Renamed to tests/test-func.c.
18530         * m4/__func__.m4: Renamed to m4/func.m4.
18531         * doc/gnulib.texi (__func__): Section renamed to func.
18532         Suggested by Eric Blake <ebb9@byu.net>.
18533
18534 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18535
18536         * doc/gnulib.texi (__func__): Use C99 terminology when talking
18537         about __func__.  Make example self-contained.  Suggested by Eric
18538         Blake <ebb9@byu.net>.
18539
18540         * tests/test-__func__.c (main): Avoid extraneous () around __func.
18541         Suggested by Eric Blake <ebb9@byu.net>.
18542
18543 2008-03-06  Simon Josefsson  <simon@josefsson.org>
18544
18545         * modules/__func__: New file.
18546         * modules/__func__-tests: New file.
18547         * tests/test-__func__.c: New file.
18548         * m4/__func__.m4: New file.
18549         * doc/gnulib.texi (__func__): Document __func__ module.
18550
18551 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18552
18553         * modules/byteswap (License): Re-license as LGPLv2+.
18554
18555 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18556
18557         * doc/Makefile: Add pdf target.
18558
18559 2008-03-05  Simon Josefsson  <simon@josefsson.org>
18560
18561         * modules/inline (License): Use 'unlimited', since there are only
18562         *.m4 files in this module.
18563
18564 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
18565             Bruno Haible  <bruno@clisp.org>
18566
18567         Add support for HP C 7.1 on OpenVMS 8.3.
18568         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
18569
18570 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
18571
18572         Update VMS specifics.
18573         * lib/getopt.c [VMS]: Remove include of unixlib.h.
18574
18575 2008-03-02  Jim Meyering  <meyering@redhat.com>
18576
18577         Remove the last dependency on the "free" module.
18578         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
18579         Reported by Bob Proulx.
18580
18581         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
18582
18583         Remove useless "if" tests before free.  Deprecate "free" module.
18584         * doc/posix-functions/free.texi: Mention that this
18585         module is no longer useful.
18586         * modules/free (Notice): Say this module is obsolete.
18587         * modules/readutmp (Depends-on): Remove free.
18588         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
18589         * lib/putenv.c (putenv): Likewise.
18590         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
18591         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
18592         * tests/test-c-strcasestr.c (main): Likewise.
18593         * tests/test-c-strstr.c (main): Likewise.
18594         * tests/test-mbscasestr1.c (main): Likewise.
18595         * tests/test-mbscasestr2.c (main): Likewise.
18596         * tests/test-mbsstr1.c (main): Likewise.
18597         * tests/test-mbsstr2.c (main): Likewise.
18598         * tests/test-memmem.c (main): Likewise.
18599         * tests/test-strcasestr.c (main): Likewise.
18600         * tests/test-striconv.c (main): Likewise.
18601         * tests/test-striconveh.c (main): Likewise.
18602         * tests/test-striconveha.c (main): Likewise.
18603         * tests/test-strstr.c (main): Likewise.
18604
18605         * build-aux/git-version-gen: Adjust a comment and the Usage string.
18606
18607         bootstrap: sync from coreutils again
18608         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
18609
18610 2008-03-01  Jim Meyering  <meyering@redhat.com>
18611
18612         bootstrap: sync from coreutils
18613         * build-aux/bootstrap (update_po_files): Copy a .po file into place
18614         also when the target doesn't exist.
18615
18616 2008-03-01  Eric Blake  <ebb9@byu.net>
18617
18618         Fix bugs in last patch.
18619         * lib/memchr2.c (memchr2): Fix typo.
18620         * tests/test-memchr2.c: Test previous bug, and don't use GNU
18621         extension.
18622         Reported by Bruce Korb.
18623
18624         New module 'memchr2'.
18625         * modules/memchr2: New file.
18626         * modules/memchr2-tests: Likewise.
18627         * lib/memchr2.h: Likewise.
18628         * lib/memchr2.c: Likewise, based on memchr.c.
18629         * tests/test-memchr2.c: New test.
18630         * MODULES.html.sh (String handling): Add memchr2.
18631
18632 2008-02-29  Bruno Haible  <bruno@clisp.org>
18633
18634         * modules/freadseek-tests: New file.
18635         * tests/test-freadseek.sh: New file.
18636         * tests/test-freadseek.c: New file.
18637
18638         New module 'freadseek'.
18639         * modules/freadseek: New file.
18640         * lib/freadseek.h: New file.
18641         * lib/freadseek.c: New file.
18642         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
18643
18644 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
18645
18646         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
18647         wydawca.
18648
18649         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
18650         program_invocation_name and program_invocation_short_name are
18651         present.
18652
18653 2008-02-28  Bruno Haible  <bruno@clisp.org>
18654
18655         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
18656         * tests/test-freadptr.sh: Also test non-seekable stdin.
18657
18658 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
18659
18660         * build-aux/bootstrap (source_base, m4_base)
18661         (doc_base, tests_base): New variables.
18662         (gnulib_tool_options): Do not hardcode base directories, use
18663         the above variables instead.
18664
18665 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
18666
18667         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
18668
18669 2008-02-28  Bruno Haible  <bruno@clisp.org>
18670
18671         * modules/freadptr-tests: New file.
18672         * tests/test-freadptr.sh: New file.
18673         * tests/test-freadptr.c: New file.
18674
18675         New module 'freadptr'.
18676         * modules/freadptr: New file.
18677         * lib/freadptr.h: New file.
18678         * lib/freadptr.c: New file.
18679         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
18680
18681 2008-02-26  Karl Berry  <karl@freefriends.org>
18682
18683         Sync from Libtool:
18684         * libltdl/argz.c (argz_add, argz_count): New functions.
18685         * libltdl/argz.in.h: Declare them.
18686         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
18687
18688 2008-02-22  Bruno Haible  <bruno@clisp.org>
18689
18690         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
18691         is a pointer type.  Needed for HP-UX 10.
18692         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
18693         * doc/posix-functions/gmtime_r.texi: Likewise.
18694         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
18695
18696 2008-02-24  Bruno Haible  <bruno@clisp.org>
18697
18698         * modules/environ-tests: New file.
18699         * tests/test-environ.c: New file.
18700
18701         New module 'environ'.
18702         * modules/environ: New file.
18703         * lib/unistd.in.h (environ): New declaration.
18704         * m4/environ.m4: New file.
18705         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
18706         after use.
18707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
18708         HAVE_DECL_ENVIRON.
18709         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
18710         HAVE_DECL_ENVIRON.
18711         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
18712         wrong claim that 'environ' is missing on some systems.
18713         * modules/execute (Depends-on): Add environ.
18714         * lib/execute.c (environ): Remove fallback declaration.
18715         * modules/pipe (Depends-on): Add environ.
18716         * lib/pipe.c (environ): Remove fallback declaration.
18717         * modules/setenv (Depends-on): Add environ.
18718         * lib/setenv.c (environ): Remove fallback declaration.
18719         * modules/unsetenv (Depends-on): Add environ.
18720         * lib/unsetenv.c (environ): Remove fallback declaration.
18721         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
18722         m4/environ.m4.
18723         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
18724         (gl_PREREQ_UNSETENV): Likewise.
18725
18726 2008-02-24  Bruno Haible  <bruno@clisp.org>
18727
18728         * doc/posix-functions/environ.texi: Document the MacOS X problem.
18729
18730 2008-02-20  Bob Proulx  <bob@proulx.com>
18731
18732         Enable use of older two part flavor 'git describe'.
18733         * build-aux/git-version-gen: If using the older two part flavor of
18734         git version then recreate the third part now present in the
18735         newer three part flavor of git describe.
18736
18737 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
18738
18739         * lib/fts.c (fts_build): Typo correction to comment.
18740
18741 2008-02-17  Bruno Haible  <bruno@clisp.org>
18742
18743         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
18744         generating no-op conflicts.
18745
18746 2008-02-17  Bruno Haible  <bruno@clisp.org>
18747
18748         Speed up by 10%.
18749         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
18750         result_entries, rather than an index-based loop.
18751
18752 2008-02-17  Bruno Haible  <bruno@clisp.org>
18753
18754         Speed up by 25%.
18755         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
18756         'hashcode_cached'.
18757         (entry_create): New function.
18758         (entry_hashcode): Use the cached hashcode if possible.
18759         (read_changelog_file, try_split_merged_entry): Use entry_create.
18760
18761 2008-02-17  Bruno Haible  <bruno@clisp.org>
18762
18763         Speed up from O(n^2) to O(n) for long ChangeLog files.
18764         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
18765         (read_changelog_file): Change implementation of entries_reversed list
18766         to rbtreehash.
18767         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
18768
18769 2008-02-17  Bruno Haible  <bruno@clisp.org>
18770
18771         New option --split-merged-entry.
18772         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
18773         (find_paragraph_end, try_split_merged_entry): New functions.
18774         (long_options): Add option --split-merged-entry.
18775         (usage): Document option --split-merged-entry.
18776         (main): Implement option --split-merged-entry.
18777         Reported by Eric Blake.
18778
18779 2008-02-17  Bruno Haible  <bruno@clisp.org>
18780
18781         * lib/git-merge-changelog.c: Include c-strstr.h.
18782         (main): Support the "git pull --rebase" situation.
18783         * modules/git-merge-changelog (Depends-on): Add c-strstr.
18784         Reported by Eric Blake.
18785
18786 2008-02-16  Eric Blake  <ebb9@byu.net>
18787
18788         Avoid doubling \ in common case of "c-maybe" quoting style.
18789         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
18790         eliding outer quotes.
18791         * lib/quotearg.h: Document this.
18792         * tests/test-quotearg.c (result_strings, inputs, results_g)
18793         (flag_results, locale_results): Test it by adding a new string to
18794         each test group.
18795         (compare_strings): Test new string.
18796
18797 2008-02-13  Eric Blake  <ebb9@byu.net>
18798
18799         Avoid trigraph quoting in default output.
18800         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
18801         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
18802         unless explicitly requested.
18803         * tests/test-quotearg.c (flag_results, main): Add additional tests.
18804
18805 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
18806
18807         Don't rely on signed integer overflowing to negative value.
18808         * lib/getugroups.c (getugroups): Include <limits.h>.
18809         Instead, compare against INT_MAX, and increment only if the test passes.
18810
18811 2008-02-13  Jim Meyering  <meyering@redhat.com>
18812         and Eric Blake  <ebb9@byu.net>
18813
18814         Avoid shadowing warning and compile errors on Linux.
18815         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
18816         forwarding macros on Linux.
18817         (dcgettext): Define a stub, for Linux.
18818         (results_g, main): Avoid warnings.
18819
18820 2008-02-12  Eric Blake  <ebb9@byu.net>
18821
18822         Silence warning in last patch.
18823         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
18824
18825         Quotearg part 4: add tests, fix c-maybe colon quoting.
18826         * lib/quotearg.h: Improve documentation.
18827         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
18828         escapes when adding outer quotes.  When quoting trigraphs, use
18829         valid C notation.  When quoting NUL, omit extra characters if next
18830         character is not digit.  Alter prototype.
18831         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
18832         callers.
18833         * modules/quotearg-tests: New module.
18834         * tests/test-quotearg.c: New test.
18835
18836 2008-02-07  Eric Blake  <ebb9@byu.net>
18837
18838         Quotearg part 3: add flag to control outer quote elision.
18839         * lib/quotearg.h (c_maybe_quoting_style): New style.
18840         (enum quoting_flags): Better documentation of flags.
18841         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
18842         c-maybe style.
18843         (quotearg_buffer_restyled): Handle new flag to elide outer
18844         quotes.
18845
18846         Quotearg part 2: add flag that can control NUL elision.
18847         * lib/quotearg.h (set_quoting_flags): New prototype.
18848         * lib/quotearg.c (struct quoting_options): Add flag field.
18849         (set_quoting_flags): New function.
18850         (quotearg_buffer_restyled): Add flags parameter.
18851         (quotearg_alloc_mem): Set the flag if length cannot be returned.
18852         (quotearg_n_options): Set the flag, since length cannot be
18853         returned.
18854         (quoting_options_from_style): Default flags correctly.
18855
18856         Quotearg part 1: more wrappers, restore quotearg_char state.
18857         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
18858         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
18859         (quotearg_colon_mem): New wrappers.
18860         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
18861         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
18862         functions.
18863         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
18864         (quotearg_colon_mem): New functions.
18865
18866 2008-02-11  Bruno Haible  <bruno@clisp.org>
18867
18868         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
18869         library in the current directory: it does not work with parallel make.
18870         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18871
18872 2008-02-11  Bruno Haible  <bruno@clisp.org>
18873
18874         * .gitattributes: New file.
18875
18876 2008-02-11  Jim Meyering  <meyering@redhat.com>
18877
18878         useless-if-before-free: Fix reversed exit values.
18879         * build-aux/useless-if-before-free: Use correct values
18880         for EXIT_MATCH and EXIT_NO_MATCH.
18881
18882         * build-aux/useless-if-before-free: Close stdout carefully.
18883
18884 2008-02-10  Bruno Haible  <bruno@clisp.org>
18885
18886         New module 'git-merge-changelog'.
18887         * modules/git-merge-changelog: New file.
18888         * lib/git-merge-changelog.c: New file.
18889
18890 2008-02-10  Jim Meyering  <meyering@redhat.com>
18891
18892         useless-if-before-free: New option: --list (-l).
18893
18894         useless-if-before-free: Don't exit immediately upon open failure.
18895         * build-aux/useless-if-before-free: Exit 2 for errors.
18896         Upon failure to open a file, don't exit immediately.
18897         Rather, just warn and continue with any remaining files.
18898
18899 2008-02-10  Bruno Haible  <bruno@clisp.org>
18900
18901         New abstract list operation 'node_set_value'.
18902         * lib/gl_list.h (gl_list_node_set_value): New function.
18903         (struct gl_list_implementation): New field node_set_value.
18904         * lib/gl_list.c (gl_list_node_set_value): New function.
18905         * lib/gl_array_list.c (gl_array_node_set_value): New function.
18906         (gl_array_list_implementation): Update.
18907         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
18908         (gl_carray_list_implementation): Update.
18909         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
18910         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
18911         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
18912         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
18913         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
18914         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
18915         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
18916         Update.
18917         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
18918         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
18919         (gl_sublist_list_implementation): Update.
18920
18921 2008-02-10  Bruno Haible  <bruno@clisp.org>
18922
18923         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
18924         Needed when ELEMENT is #defined to 'some_type *'.
18925
18926 2008-02-10  Jim Meyering  <meyering@redhat.com>
18927
18928         New script and module: useless-if-before-free
18929         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
18930         * build-aux/useless-if-before-free: New file.
18931         * modules/useless-if-before-free: New file.
18932
18933         * build-aux/gitlog-to-changelog: Use committer date, not author date.
18934
18935         xstrtol_error: Fix typo.
18936         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
18937         s/exit_failure/exit_status/.
18938
18939 2008-02-09  Jim Meyering  <meyering@redhat.com>
18940
18941         New script and module: gitlog-to-changelog
18942         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
18943         * modules/gitlog-to-changelog: New file.
18944         * build-aux/gitlog-to-changelog: New file.
18945
18946 2008-02-08  Jim Meyering  <meyering@redhat.com>
18947
18948         Avoid two "parameter unused" warnings.
18949         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
18950         Mark "st" as used.
18951
18952         Use "git COMMAND", not "git-COMMAND".
18953         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
18954         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
18955         * build-aux/git-version-gen: Use "git status", not "git-status".
18956
18957 2008-02-07  Bruno Haible  <bruno@clisp.org>
18958
18959         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
18960         Avoids a crash on Windows Vista.
18961         Reported by Adam Strzelecki <ono@java.pl> via
18962         Simon Josefsson <simon@josefsson.org>.
18963
18964 2008-02-06  Bruno Haible  <bruno@clisp.org>
18965
18966         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
18967         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
18968         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
18969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
18970         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
18971         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
18972         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
18973         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
18974         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
18975         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
18976         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
18977         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
18978         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
18979         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
18980         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
18981         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
18982         left-adjust flag.
18983         * tests/test-snprintf-posix.h (test_function): Likewise.
18984         * tests/test-sprintf-posix.h (test_function): Likewise.
18985         * tests/test-vasprintf-posix.c (test_function): Likewise.
18986         * doc/posix-functions/fprintf.texi: Update.
18987         * doc/posix-functions/printf.texi: Update.
18988         * doc/posix-functions/snprintf.texi: Update.
18989         * doc/posix-functions/sprintf.texi: Update.
18990         * doc/posix-functions/vfprintf.texi: Update.
18991         * doc/posix-functions/vprintf.texi: Update.
18992         * doc/posix-functions/vsnprintf.texi: Update.
18993         * doc/posix-functions/vsprintf.texi: Update.
18994         Reported by Peter Fales <psfales@alcatel-lucent.com>.
18995
18996 2008-02-06  Bruno Haible  <bruno@clisp.org>
18997
18998         Fix bug introduced on 2008-01-26.
18999         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
19000
19001 2008-02-06  Bruno Haible  <bruno@clisp.org>
19002
19003         Fix bug introduced on 2007-06-10.
19004         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
19005         !NEED_PRINTF_FLAG_ZERO.
19006
19007 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
19008
19009         getloadavg: use libperfstat on AIX5
19010         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
19011
19012 2008-02-03  Bruno Haible  <bruno@clisp.org>
19013
19014         * lib/diffseq.h: Add comments about required #includes.
19015         Reported by Michael Biggs <gnulib@doubleplum.net>.
19016
19017 2008-02-01  Bruno Haible  <bruno@clisp.org>
19018
19019         * users.txt: Add gnuit.
19020
19021 2008-01-31  Bruno Haible  <bruno@clisp.org>
19022
19023         * lib/md4.c (set_uint32): Mark as inline.
19024         * lib/md5.c (set_uint32): Likewise.
19025         * lib/sha1.c (set_uint32): Likewise.
19026         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
19027         * m4/md5.m4 (gl_MD5): Likewise.
19028         * m4/sha1.m4 (gl_SHA1): Likewise.
19029
19030 2008-01-31  Jim Meyering  <meyering@redhat.com>
19031
19032         Use "sizeof VAR", rather than a literal "4".
19033         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
19034         * lib/md4.c (md4_read_ctx): Likewise.
19035         * lib/sha1.c (sha1_read_ctx): Likewise.
19036
19037 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19038
19039         * tests/test-sha1.c: New file, based on test-md5.c.
19040
19041         * modules/crypto/sha1-tests: New file.
19042
19043 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19044
19045         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
19046
19047 2008-01-31  Jim Meyering  <meyering@redhat.com>
19048
19049         Prefer "sizeof v" over the equivalent "4".
19050         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
19051         * lib/md5.c (set_uint32): Likewise.
19052         * lib/sha1.c (set_uint32): Likewise.
19053
19054 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19055
19056         * lib/sha1.c (set_uint32): Mark function as static.
19057
19058 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19059
19060         md2: clarify comments to say that alignment is not required.
19061         * lib/md2.h: Remove warning about alignment in comment.
19062         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
19063         never been required.
19064
19065 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19066
19067         md4: adapt alignment constraint fix from sha1.
19068         * lib/md4.c (set_uint32): New function, from sha1.c
19069         (md4_read_ctx): Use it.
19070         (md4_finish_ctx): Doc fix.
19071         * lib/md4.h: Doc fix.
19072
19073 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19074
19075         md5: adapt alignment constraint fix from sha1.
19076         * lib/md5.c (set_uint32): New function, from sha1.c
19077         (md5_read_ctx): Use it.
19078         (md5_finish_ctx): Doc fix.
19079         * lib/md5.h: Doc fix.
19080
19081 2008-01-30  Peter Palfrader  <weasel@debian.org>
19082
19083         sha1: remove the result buffer alignment constraint
19084         * lib/sha1.c (set_uint32): New function.
19085         (sha1_read_ctx): Rewrite to remove the result buffer alignment
19086         constraint.
19087         (sha1_finish_ctx): Remove comment warning about alignment constraint.
19088         * lib/sha1.h: Likewise.
19089
19090 2008-01-30  Andreas Schwab  <schwab@suse.de>
19091             Bruno Haible  <bruno@clisp.org>
19092
19093         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
19094         correct definition of LDBL_MIN_EXP.
19095
19096 2008-01-30  Karl Berry  <karl@gnu.org>
19097
19098         * config/srclist-update: try to preserve x bit on updates.
19099         * config/srclistvars.sh: update for karl.
19100
19101 2008-01-29  Jim Meyering  <meyering@redhat.com>
19102
19103         vasnprintf.c: Avoid warning about unused label
19104         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
19105         "overflow" label definition and associated code with the
19106         same cpp condition that guards the sole use of that label.
19107
19108 2008-01-26  Bruno Haible  <bruno@clisp.org>
19109
19110         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
19111         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
19112         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
19113         * lib/isnanl-nolibm.h (isnanl): Likewise.
19114         Reported by Paul Eggert <eggert@cs.ucla.edu>.
19115
19116 2008-01-26  Bruno Haible  <bruno@clisp.org>
19117
19118         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
19119         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
19120
19121 2008-01-26  Bruno Haible  <bruno@clisp.org>
19122
19123         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
19124         GCC >= 4.0 built-in.
19125         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
19126
19127 2008-01-26  Bruno Haible  <bruno@clisp.org>
19128
19129         Rename isnan, applicable to 'double' only, to isnand.
19130         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
19131         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
19132         (configure.ac): Update.
19133         (Include): Replace "isnan.h" with "isnand.h".
19134         * m4/isnand.m4: Renamed from m4/isnan.m4.
19135         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
19136         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
19137         instead of isnan.c.
19138         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
19139         instead of HAVE_ISNAN_IN_LIBC.
19140         (isnand): Renamed from isnan.
19141         * lib/isnand.c: New file.
19142         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
19143         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
19144         (Makefile.am): Update.
19145         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
19146         Include isnand.h instead of isnan.h.
19147         (main): Test isnand instead of isnan.
19148         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
19149         isnan-nolibm.
19150         * modules/frexp (Depends-on): Likewise.
19151         * modules/frexp-tests (Depends-on): Likewise.
19152         * modules/frexp-nolibm (Depends-on): Likewise.
19153         * modules/frexp-nolibm-tests (Depends-on): Likewise.
19154         * modules/isfinite (Depends-on): Likewise.
19155         * modules/round-tests (Depends-on): Likewise.
19156         * modules/signbit (Depends-on): Likewise.
19157         * modules/signbit-tests (Depends-on): Likewise.
19158         * modules/snprintf-posix (Depends-on): Likewise.
19159         * modules/sprintf-posix (Depends-on): Likewise.
19160         * modules/trunc-tests (Depends-on): Likewise.
19161         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19162         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19163         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19164         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19165         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19166         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19167         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19168         * modules/vasnprintf-posix (Depends-on): Likewise.
19169         * modules/vasprintf-posix (Depends-on): Likewise.
19170         * modules/vfprintf-posix (Depends-on): Likewise.
19171         * modules/vsnprintf-posix (Depends-on): Likewise.
19172         * modules/vsprintf-posix (Depends-on): Likewise.
19173         * lib/frexp.c: Include isnand.h instead of isnan.h.
19174         (ISNAN): Set to isnand instead of isnan.
19175         * lib/isfinite.c: Include isnand.h instead of isnan.h.
19176         (gl_isfinited): Use isnand instead of isnan.
19177         * lib/signbitd.c: Include isnand.h instead of isnan.h.
19178         (gl_signbitd): Use isnand instead of isnan.
19179         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
19180         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
19181         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
19182         (main): Use isnand instead of isnan.
19183         * tests/test-round1.c: Include isnand.h.
19184         (main): Use isnand instead of isnan.
19185         * tests/test-round2.c: Include isnand.h instead of isnan.h.
19186         (ISNAN): Set to isnand instead of isnan.
19187         * tests/test-trunc1.c: Include isnand.h.
19188         (main): Use isnand instead of isnan.
19189         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
19190         (equal): Use isnand instead of isnan.
19191         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
19192         isnand-nolibm.
19193         * NEWS: Mention the change.
19194
19195 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19196             Bruno Haible  <bruno@clisp.org>
19197
19198         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
19199         the GCC builtins for signbits are present and set
19200         REPLACE_SIGNBIT_USING_GCC if so.
19201         * lib/math.in.h (signbit): Define using GCC builtins if
19202         REPLACE_SIGNBIT_USING_GCC is set.
19203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
19204         REPLACE_SIGNBIT_USING_GCC.
19205         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
19206
19207 2008-01-25  Jim Meyering  <meyering@redhat.com>
19208
19209         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
19210         * lib/poll.c: Include <config.h>, not "config.h".
19211         * tests/test-getaddrinfo.c: Likewise.
19212
19213 2008-01-25  Simon Josefsson  <simon@josefsson.org>
19214
19215         * modules/sockets-tests: New file.
19216
19217 2008-01-24  Simon Josefsson  <simon@josefsson.org>
19218
19219         * modules/sockets: New module, can be used to call WSA_Startup and
19220         WSA_Cleanup when needed.
19221
19222         * lib/sockets.h, lib/sockets.c: New files.
19223
19224         * m4/sockets.m4: New file.
19225
19226         * tests/test-sockets.c: New file.
19227
19228 2008-01-19  Bruno Haible  <bruno@clisp.org>
19229
19230         * doc/posix-headers: Renamed from doc/headers.
19231         * doc/posix-functions: Renamed from doc/functions.
19232         * doc/gnulib.texi: Update.
19233
19234 2008-01-19  Bruno Haible  <bruno@clisp.org>
19235
19236         * doc/glibc-functions/strcasestr.texi: Include contents of
19237         doc/functions/strcasestr.texi, fixing the list of platforms.
19238         * doc/functions/strcasestr.texi: Remove file.
19239
19240 2008-01-19  Bruno Haible  <bruno@clisp.org>
19241
19242         * doc/glibc-functions/memmem.texi: Include contents of
19243         doc/functions/memmem.texi.
19244         * doc/functions/memmem.texi: Remove file.
19245
19246 2008-01-18  Bruno Haible  <bruno@clisp.org>
19247
19248         * doc/glibc-functions/*.texi: New files.
19249         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
19250         to use the new files.
19251
19252 2008-01-17  Bruno Haible  <bruno@clisp.org>
19253
19254         * tests/test-gethostname.c (main): Fix printf statement.
19255
19256 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19257
19258         * modules/gethostname-tests: New file.
19259
19260         * tests/test-gethostname.c: New file.
19261
19262 2008-01-17  Simon Josefsson  <simon@josefsson.org>
19263
19264         * lib/gethostname.c: Include string.h unconditionally, strncpy is
19265         used by the UNAME case.  Reported by Bruno Haible
19266         <bruno@clisp.org>.
19267
19268 2008-01-17  Eric Blake  <ebb9@byu.net>
19269
19270         Convert c-strcasestr to be more efficient.
19271         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
19272         (Depends-on): Add c-strcase, remove malloca, strnlen.
19273         * tests/test-c-strcasestr.c (main): Enhance test.
19274         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
19275
19276 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
19277
19278         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
19279         Use it in creating po/Makevars.
19280
19281 2008-01-15  Simon Josefsson  <simon@josefsson.org>
19282
19283         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
19284         Applications that requires it should initialize libgcrypt
19285         manually.
19286
19287 2008-01-16  Simon Josefsson  <simon@josefsson.org>
19288
19289         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
19290
19291 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19292
19293         Fix problem with getdate on mingw32 reported by Simon Josefsson
19294         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
19295         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
19296         tzname", when deciding whether to declare tzname.
19297         * lib/strftime.c (tzname): Likewise.
19298
19299 2008-01-15  Bruno Haible  <bruno@clisp.org>
19300
19301         Work around a MacOS X 10.5 bug in frexpl().
19302         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
19303         * doc/functions/frexpl.texi: Document the bug.
19304         Reported by Elias Pipping <pipping@gentoo.org>.
19305
19306 2008-01-14  Eric Blake  <ebb9@byu.net>
19307
19308         Touch up previous patch.
19309         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
19310         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
19311
19312         Convert strcasestr module to use Two-Way algorithm.
19313         * modules/strcasestr-simple: New module, based on the old
19314         strcasestr, but with Two-Way rather than KMP.
19315         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
19316         * lib/string.in.h (rpl_strcasestr): Declare.
19317         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
19318         performance.
19319         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
19320         * modules/string (Makefile.am): Support strcasestr.
19321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19322         * modules/strcasestr-tests (Depends-on): Check for alarm.
19323         * tests/test-strcasestr.c: Augment test.
19324         * lib/str-two-way.h: Clean up stray macro.
19325         * NEWS: Document new module.
19326         * MODULES.html.sh (string handling): Likewise.
19327         * doc/functions/strcasestr.texi: New file.
19328         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
19329         here, since it is not a POSIX function.
19330
19331 2008-01-14  Colin Watson  <cjwatson@debian.org>
19332             Bruno Haible  <bruno@clisp.org>
19333
19334         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
19335         works fine; if not, set REPLACE_STRSIGNAL.
19336         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
19337         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19338         REPLACE_STRSIGNAL.
19339         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
19340         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
19341         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
19342
19343 2008-01-14  Bruno Haible  <bruno@clisp.org>
19344
19345         * modules/strsignal (Include): Change to <string.h>.
19346
19347 2008-01-14  Colin Watson  <cjwatson@debian.org>
19348
19349         * modules/argp (Notice): Add a notice recommending to change
19350         XGETTEXT_OPTIONS.
19351         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
19352
19353 2008-01-13  Colin Watson  <cjwatson@debian.org>
19354
19355         * modules/strsignal-tests: New file.
19356         * tests/test-strsignal.c: New file.
19357
19358         * lib/strsignal.c: New file, from glibc with modifications.
19359         * lib/siglist.h: New file, from glibc with modifications.
19360         * lib/string.in.h (strsignal): New declaration.
19361         * m4/strsignal.m4: New file.
19362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19363         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
19364         * modules/strsignal: New file.
19365         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
19366         HAVE_DECL_STRSIGNAL.
19367
19368 2008-01-13  Bruno Haible  <bruno@clisp.org>
19369
19370         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
19371         locale encoding is not ASCII. Needed for OpenBSD 4.0.
19372         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19373         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19374
19375 2008-01-13  Bruno Haible  <bruno@clisp.org>
19376
19377         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
19378         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
19379         * lib/argp.h (__attribute__): Likewise.
19380         * lib/c-stack.c (__attribute__): Likewise.
19381         * lib/error.h (__attribute__): Likewise.
19382         * lib/fts.c (__attribute__): Likewise.
19383         * lib/openat.h (__attribute__): Likewise.
19384         * lib/stdio.in.h (__attribute__): Likewise.
19385         * lib/string.in.h (__attribute__): Likewise.
19386         * lib/utimens.c (__attribute__): Likewise.
19387         * lib/vasnprintf.h (__attribute__): Likewise.
19388         * lib/xalloc.h (__attribute__): Likewise.
19389         * lib/xprintf.h (__attribute__): Likewise.
19390         * lib/xstrtol.h (__attribute__): Likewise.
19391         * lib/xvasprintf.h (__attribute__): Likewise.
19392
19393 2008-01-12  Bruno Haible  <bruno@clisp.org>
19394
19395         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
19396         * doc/glibc-headers/a.out.texi: New file.
19397         * doc/glibc-headers/aliases.texi: New file.
19398         * doc/glibc-headers/alloca.texi: New file.
19399         * doc/glibc-headers/ar.texi: New file.
19400         * doc/glibc-headers/argp.texi: New file.
19401         * doc/glibc-headers/argz.texi: New file.
19402         * doc/glibc-headers/byteswap.texi: New file.
19403         * doc/glibc-headers/crypt.texi: New file.
19404         * doc/glibc-headers/endian.texi: New file.
19405         * doc/glibc-headers/envz.texi: New file.
19406         * doc/glibc-headers/err.texi: New file.
19407         * doc/glibc-headers/error.texi: New file.
19408         * doc/glibc-headers/execinfo.texi: New file.
19409         * doc/glibc-headers/fpu_control.texi: New file.
19410         * doc/glibc-headers/fstab.texi: New file.
19411         * doc/glibc-headers/fts.texi: New file.
19412         * doc/glibc-headers/getopt.texi: New file.
19413         * doc/glibc-headers/ieee754.texi: New file.
19414         * doc/glibc-headers/ifaddrs.texi: New file.
19415         * doc/glibc-headers/libintl.texi: New file.
19416         * doc/glibc-headers/mcheck.texi: New file.
19417         * doc/glibc-headers/mntent.texi: New file.
19418         * doc/glibc-headers/obstack.texi: New file.
19419         * doc/glibc-headers/paths.texi: New file.
19420         * doc/glibc-headers/printf.texi: New file.
19421         * doc/glibc-headers/pty.texi: New file.
19422         * doc/glibc-headers/resolv.texi: New file.
19423         * doc/glibc-headers/shadow.texi: New file.
19424         * doc/glibc-headers/sysexits.texi: New file.
19425         * doc/glibc-headers/ttyent.texi: New file.
19426
19427 2008-01-12  Jim Meyering  <meyering@redhat.com>
19428
19429         announce-gen: emit Gnulib's git-based version string.
19430         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
19431         New option --gnulib-version=V, where V is expected to be
19432         the output of running git describe in the gnulib directory.
19433         (get_tool_versions): Request feedback on xdelta.  I suspect it's
19434         not useful, and plan to stop publishing an xdelta file with each
19435         coreutils release.
19436
19437         * build-aux/announce-gen: Also check for lzma-compressed files.
19438
19439 2008-01-11  Bruno Haible  <bruno@clisp.org>
19440
19441         * tests/test-memmem.c (main): Increase maximum allowed time.
19442         * tests/test-strstr.c (main): Likewise.
19443
19444 2008-01-11  Bruno Haible  <bruno@clisp.org>
19445
19446         * doc/functions/memmem.texi: Add more precisions about platforms.
19447         * doc/functions/strstr.texi: Likewise.
19448
19449 2008-01-10  Eric Blake  <ebb9@byu.net>
19450
19451         * m4/strstr.m4: Delete cruft from copy-n-paste.
19452         Reported by Bruno Haible.
19453
19454 2008-01-10  Bruno Haible  <bruno@clisp.org>
19455
19456         Make c-strstr rely on strstr.
19457         * lib/c-strstr.c: Don't include str-kmp.h.
19458         (c_strstr): Define in terms of strstr.
19459         * modules/c-strstr (Files): Remove lib/str-kmp.h.
19460         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
19461
19462 2008-01-10  Bruno Haible  <bruno@clisp.org>
19463
19464         * doc/gnulib.texi (String Functions in C Locale): New section.
19465         * doc/c-ctype.texi: New file.
19466         * doc/c-strcase.texi: New file.
19467         * doc/c-strcaseeq.texi: New file.
19468         * doc/c-strcasestr.texi: New file.
19469         * doc/c-strstr.texi: New file.
19470         * doc/c-strtod.texi: New file.
19471         * doc/c-strtold.texi: New file.
19472
19473 2008-01-10  Eric Blake  <ebb9@byu.net>
19474
19475         * lib/relocatable.h: Fix a comment.
19476
19477 2008-01-10  Eric Blake  <ebb9@byu.net>
19478
19479         Share two-way algorithm.
19480         * lib/str-two-way.h: New file, merged from...
19481         * lib/memmem.c: ...here...
19482         * lib/strstr.c: ...and here.
19483         * modules/memmem (Files): Use it.
19484         * modules/strstr (Files): Likewise.
19485
19486         Avoid quadratic strstr implementations.
19487         * lib/strstr.c: New file.
19488         * m4/strstr.m4: Likewise.
19489         * modules/strstr: Likewise.
19490         * modules/strstr-tests: Likewise.
19491         * tests/test-strstr.c: Likewise.
19492         * lib/string.in.h (rpl_strstr): Declare.
19493         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
19494         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
19495         * modules/string (Makefile.am): Likewise.
19496         * MODULES.html.sh (string handling): Mention new module.
19497         * doc/functions/strstr.texi (strstr): Document the bug.
19498
19499 2008-01-10  Bruno Haible  <bruno@clisp.org>
19500
19501         * lib/relocatable.h (relocate): State whether result is freshly
19502         allocated or not.
19503         * lib/relocatable.c (relocate): Return a freshly allocated string
19504         instead of a pointer to a privately held string.
19505         Reported by Sylvain Beucler <beuc@gnu.org>.
19506
19507 2008-01-10  Colin Watson  <cjwatson@debian.org>
19508
19509         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
19510         s/S_ISNLK/S_ISLNK/.
19511
19512 2008-01-09  Bruno Haible  <bruno@clisp.org>
19513
19514         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
19515         and other files.
19516         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
19517         if it's only a guess.
19518         * modules/memmem: Simplify by depending on memmem-simple.
19519
19520 2008-01-09  Bruno Haible  <bruno@clisp.org>
19521
19522         Work around OpenBSD 4.0 tdelete() bug.
19523         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
19524         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
19525         macros and don't redefine the enum values.
19526         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
19527         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
19528         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
19529
19530 2008-01-09  Bruno Haible  <bruno@clisp.org>
19531
19532         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
19533         (main): Don't perform the tests if setlocale did not install a UTF-8
19534         locale. Needed on OpenBSD 4.0.
19535         * modules/wcwidth-tests (Depends-on): Add localcharset.
19536
19537 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19538
19539         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
19540         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
19541         * NEWS: announce this.
19542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
19543
19544 2008-01-09  Simon Josefsson  <simon@josefsson.org>
19545         and Eric Blake  <ebb9@byu.net>
19546
19547         Add memmem-simple module.
19548         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
19549         (gl_FUNC_MEMMEM): Separate performance from presence checks.
19550         * modules/memmem-simple: New file.
19551         * modules/memmem (Description): Tweak.
19552         * MODULES.html.sh (string handling): Mention new module.
19553         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
19554         addressed by memmem-simple.
19555         * NEWS: Document the difference.
19556
19557 2008-01-09  Eric Blake  <ebb9@byu.net>
19558
19559         Give gcc some memmem optimization hints.
19560         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
19561         (strcasestr): Declare as pure.
19562         * modules/memmem (Maintainer): Claim my implementation.
19563
19564 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19565
19566         Support AIX 6.1 and higher.
19567         * build-aux/config.libpath: Likewise.
19568         * build-aux/config.rpath: Likewise.
19569
19570 2008-01-08  Jim Meyering  <meyering@redhat.com>
19571             Bruno Haible  <bruno@clisp.org>
19572
19573         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
19574         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
19575         Reported by Peter Fales in
19576         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
19577
19578 2008-01-08  Bruno Haible  <bruno@clisp.org>
19579
19580         * modules/unictype/category-of (Depends-on): Add
19581         unictype/category-none.
19582         * modules/unictype/category-and-tests (Depends-on): Add
19583         unictype/category-{L,N,Lu,Nd}.
19584         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
19585         * modules/unictype/category-or-tests (Depends-on): Add
19586         unictype/category-{L,N}.
19587         * modules/unictype/category-name-tests (Depends-on): Add
19588         unictype/category-{Z,Nl}.
19589         Reported by Simon Josefsson.
19590
19591 2008-01-08  Bruno Haible  <bruno@clisp.org>
19592
19593         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
19594         convention better.
19595         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
19596         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
19597         Reported by Peter Miller <millerp@canb.auug.org.au>.
19598
19599 2008-01-08  Eric Blake  <ebb9@byu.net>
19600
19601         Rewrite memmem to guarantee linear complexity without malloc.
19602         * lib/memmem.c (memmem): Use Two-Way rather than
19603         Knuth-Morris-Pratt, to allow O(1) space usage.
19604         (critical_factorization, two_way_short_needle)
19605         (two_way_long_needle): New functions.
19606         (knuth_morris_pratt): Delete.
19607         * modules/memmem (Depends-on): No longer need malloca or stdbool.
19608         Add stdint.
19609         * tests/test-memmem.c (main): Add tests for periodic needle and
19610         sublinear performance.
19611         * doc/functions/memmem.texi (memmem): Document other deficiencies
19612         in cygwin and older glibc.
19613
19614 2008-01-08  Bruno Haible  <bruno@clisp.org>
19615
19616         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
19617         augmentation.
19618
19619 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
19620
19621         Add a configure time option: --disable-acl.
19622         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
19623         AC_ARG_ENABLE(acl).
19624
19625 2008-01-06  Simon Josefsson  <simon@josefsson.org>
19626
19627         * tests/test-localename.c: Don't include obsolete "setenv.h".
19628
19629         * modules/localename-tests (Depends-on): Need unsetenv.
19630
19631 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19632
19633         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
19634
19635 2008-01-06  Colin Watson  <cjwatson@debian.org>
19636
19637         * users.txt: Add man-db.
19638
19639 2008-01-07  Bruno Haible  <bruno@clisp.org>
19640
19641         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
19642         previous section name.
19643
19644 2008-01-07  Bruno Haible  <bruno@clisp.org>
19645
19646         * lib/progname.c (set_program_name): Don't strip off a leading
19647         "lt-" prefix outside a .libs directory.
19648         Suggested by Paul Eggert.
19649
19650 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
19651             Bruno Haible  <bruno@clisp.org>
19652
19653         Improve memory cleanup in 'relocatable' module.
19654         * lib/relocatable.h (compute_curr_prefix): Change return type to
19655         'char *'.
19656         * lib/relocatable.c (compute_curr_prefix): Change return type to
19657         'char *'. Free curr_installdir after use.
19658         (relocate): Free curr_prefix_better after use.
19659         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
19660
19661 2008-01-01  Bruno Haible  <bruno@clisp.org>
19662
19663         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
19664         failure on older glibc systems.
19665         Reported by Peter Fales <psfales@alcatel-lucent.com>.
19666
19667 2008-01-05  Eric Blake  <ebb9@byu.net>
19668
19669         Avoid quadratic system memmem.
19670         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
19671         Reported by Ralf Wildenhues.
19672
19673         Fix memmem test for mingw.
19674         * modules/memmem-tests (configure.ac): Check for alarm.
19675         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
19676         it.
19677         * doc/functions/memmem.texi: New file.
19678         * doc/gnulib.texi (Function Substitutes): Add memmem.
19679         Reported by Bruno Haible.
19680
19681 2008-01-04  Bruno Haible  <bruno@clisp.org>
19682
19683         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
19684         Require gl_HEADER_STRINGS_H_DEFAULTS, not
19685         gl_HEADER_STRING_H_DEFAULTS.
19686
19687 2008-01-04  Eric Blake  <ebb9@byu.net>
19688
19689         Shorten duration of memmem test.
19690         * tests/test-memmem.c (main): Use alarm to declare failure if test
19691         is taking too long.
19692         Reported by Ralf Wildenhues.
19693
19694 2007-12-21  Simon Josefsson  <simon@josefsson.org>
19695
19696         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
19697         string, needed by strerror.
19698
19699 2008-01-03  Colin Watson  <cjwatson@debian.org>
19700             Bruno Haible  <bruno@clisp.org>
19701
19702         * doc/gnulib-tool.texi (Localization): New section.
19703
19704 2008-01-02  Bruno Haible  <bruno@clisp.org>
19705
19706         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
19707         variables to 'unsigned char *' type.
19708         Reported by Paul Eggert.
19709
19710 2008-01-02  Jim Meyering  <jim@meyering.net>
19711
19712         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
19713
19714 2007-12-31  Jim Meyering  <jim@meyering.net>
19715
19716         Avoid use of private FTS type name.
19717         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
19718
19719 2007-12-30  Karl Berry  <karl@gnu.org>
19720
19721         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
19722         work around defect in Texinfo and/or the standalone Info browser.
19723
19724 2007-12-30  Bruno Haible  <bruno@clisp.org>
19725
19726         Unify 5 copies of the KMP code.
19727         * lib/str-kmp.h: New file.
19728         * lib/c-strcasestr.c: Include str-kmp.h.
19729         (knuth_morris_pratt): Remove function.
19730         (c_strcasestr): Update.
19731         * lib/c-strstr.c: Include str-kmp.h.
19732         (knuth_morris_pratt): Remove function.
19733         (c_strcasestr): Update.
19734         * lib/mbscasestr.c: Include str-kmp.h.
19735         (knuth_morris_pratt_unibyte): Remove function.
19736         * lib/mbsstr.c: Include str-kmp.h.
19737         (knuth_morris_pratt_unibyte): Remove function.
19738         * lib/strcasestr.c: Include str-kmp.h.
19739         (knuth_morris_pratt): Remove function.
19740         (strcasestr): Update.
19741         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
19742         * modules/c-strstr (Files): Likewise.
19743         * modules/mbscasestr (Files): Likewise.
19744         * modules/mbsstr (Files): Likewise.
19745         * modules/strcasestr (Files): Likewise.
19746         Suggested by Paul Eggert.
19747
19748 2007-12-30  Bruno Haible  <bruno@clisp.org>
19749
19750         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
19751         defined.
19752
19753 2007-12-30  Bruno Haible  <bruno@clisp.org>
19754
19755         * lib/xmalloca.h: Include xalloc.h.
19756         (xnmalloca): New macro.
19757
19758 2007-12-30  Bruno Haible  <bruno@clisp.org>
19759
19760         * lib/malloca.h (nmalloca): New macro.
19761         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
19762         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
19763         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
19764         knuth_morris_pratt_multibyte): Likewise.
19765         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
19766         knuth_morris_pratt_multibyte): Likewise.
19767         * lib/memmem.c (knuth_morris_pratt): Likewise.
19768         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
19769
19770 2007-12-25  Bruno Haible  <bruno@clisp.org>
19771
19772         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
19773         * lib/glob.c: Don't include openat.h.
19774         (link_exists2_p): Add back the code that deals with the
19775         !GLOB_ALTDIRFUNC case.
19776         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
19777         let it do the filename concatenation.
19778         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
19779         * modules/glob (Depends-on): Remove openat.
19780
19781 2007-12-31  Bruno Haible  <bruno@clisp.org>
19782
19783         * modules/dirfd (License): Change to LGPLv2+.
19784         Approved by Jim Meyering.
19785
19786 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19787
19788         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
19789         when multiplying M by sizeof (size_t).
19790
19791 2007-12-10  Martin Lambers  <marlam@marlam.de>
19792
19793         Override getpagesize on mingw.
19794         * lib/getpagesize.c: New file.
19795         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
19796         * modules/getpagesize (Files): Add lib/getpagesize.c.
19797         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
19798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19799         REPLACE_GETPAGESIZE.
19800         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
19801
19802 2007-12-25  Bruno Haible  <bruno@clisp.org>
19803
19804         * modules/localcharset (Notice): New field.
19805         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
19806         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19807
19808 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
19809             Bruno Haible  <bruno@clisp.org>
19810
19811         Avoid using the syntax symbol() in formatted documentation.
19812         * MODULES.html.sh (func_module): When replacing symbol() with a
19813         hyperlink, remove the parentheses. Show an error if some remain.
19814         Recognize and render the '...' syntax.
19815         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
19816         Rework. Add paragraph about GCC's inlining.
19817         * doc/alloca.texi: Likewise.
19818         * doc/error.texi: Remove parentheses from symbol reference.
19819         * doc/gnulib-intro.texi: Likewise.
19820         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
19821         * modules/fnmatch (Description): Reword to say "the ... function".
19822         * modules/full-read (Description): Likewise.
19823         * modules/full-write (Description): Likewise.
19824         * modules/safe-read (Description): Likewise.
19825         * modules/safe-write (Description): Likewise.
19826         * modules/strchrnul (Description): Likewise.
19827         * modules/trim (Description): Likewise.
19828         * modules/error (Description): Remove parentheses from symbol
19829         references.
19830         * modules/verror (Description): Likewise.
19831         Reported by Karl Berry.
19832
19833 2007-12-25  Bruno Haible  <bruno@clisp.org>
19834
19835         Fixup after 2007-10-16 commit.
19836         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
19837
19838 2007-12-24  Bruno Haible  <bruno@clisp.org>
19839
19840         Make --enable-relocatable work with DESTDIR.
19841         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
19842         to compute installdir from destprog.
19843         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
19844         also set the RELOC_DESTDIR variable.
19845         Reported by Левашев Иван <octagram@bluebottle.com>.
19846
19847 2007-12-24  Bruno Haible  <bruno@clisp.org>
19848
19849         Fix link error due to xalloc_die().
19850         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
19851         of xreadlink.
19852         * lib/relocwrapper.c: Update comments.
19853         * build-aux/install-reloc: Remove xreadlink.c from file list.
19854         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
19855         xreadlink.c.
19856         Reported by Левашев Иван <octagram@bluebottle.com>.
19857
19858 2007-12-24  Bruno Haible  <bruno@clisp.org>
19859
19860         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
19861         * lib/setenv.h: Remove file.
19862         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
19863         lib/setenv.h.
19864         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
19865         (Depends-on): Add stdlib.
19866         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
19867         gl_FUNC_UNSETENV.
19868         (Include): Replace setenv.h with <stdlib.h>.
19869         * modules/unsetenv: New file.
19870         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
19871         * lib/unsetenv.c: Include <stdlib.h> first.
19872         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
19873         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
19874         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
19875         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
19876         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
19877         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
19878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
19879         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
19880         * doc/functions/unsetenv.texi: Update.
19881         * modules/xsetenv (Depends-on): Add unsetenv.
19882         * modules/getdate (Depends-on): Likewise.
19883         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
19884         * lib/xsetenv.c: Don't include setenv.h.
19885         * lib/getdate.y: Likewise.
19886         * lib/relocwrapper.c: Likewise.
19887         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
19888         (Depends-on): Add stdlib.
19889         * NEWS: Mention the changes.
19890         Reported by Левашев Иван <octagram@bluebottle.com>.
19891
19892 2007-12-23  Bruno Haible  <bruno@clisp.org>
19893
19894         * lib/memmem.c (memmem): Use lowercase variable names. Tab
19895         indentation.
19896
19897 2007-12-23  Bruno Haible  <bruno@clisp.org>
19898
19899         * lib/c-strcasestr.c: Add more comments.
19900         * lib/c-strstr.c: Likewise.
19901         * lib/mbscasestr.c: Likewise.
19902         * lib/mbsstr.c: Likewise.
19903         * lib/strcasestr.c: Likewise.
19904         * lib/memmem.c: Likewise.
19905
19906 2007-12-23  Bruno Haible  <bruno@clisp.org>
19907
19908         * tests/test-memmem.c: Include <string.h> first.
19909
19910 2007-12-22  Bruno Haible  <bruno@clisp.org>
19911
19912         * gnulib-tool (func_create_testdir): Change $auxdir while generating
19913         the contents of $testsbase.
19914         Reported by Ralf Wildenhues.
19915
19916 2007-12-22  Bruno Haible  <bruno@clisp.org>
19917
19918         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
19919         two variables local_ldadd_before, local_ldadd_last.
19920
19921 2007-12-20  Eric Blake  <ebb9@byu.net>
19922
19923         Work around circular library issue when cross-compiling.
19924         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
19925         that progname.o does not need to pull in rpl_memcmp.
19926
19927 2007-12-19  Eric Blake  <ebb9@byu.net>
19928
19929         Fix memmem to avoid O(n^2) worst-case complexity.
19930         * lib/memmem.c (knuth_morris_pratt): New function.
19931         (memmem): Use it if first few naive iterations fail.
19932         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
19933         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
19934         * modules/memchr (License): Likewise.
19935         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
19936         malloca.
19937         * tests/test-memmem.c: Rewrite, borrowing ideas from
19938         test-mbsstr1.c; the old version wouldn't even compile!
19939         * modules/memmem-tests: New file.
19940         * lib/string.in.h (rpl_memmem): Add declaration.
19941         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
19942         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
19943         REPLACE_MEMMEM.
19944
19945 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19946
19947         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
19948         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
19949         before any system include files, and undef after them all.  This
19950         should fix a problem on VMS reported by John E. Malmberg in
19951         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
19952
19953 2007-12-17  Eric Blake  <ebb9@byu.net>
19954
19955         Revert addition of verify, for BSD/OS.
19956         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
19957         can't handle large files, for the sake of obsolete platforms.
19958         * modules/fseeko (Depends-on): Remove verify.
19959         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
19960         * doc/functions/ftello.texi (ftello): Likewise.
19961         * doc/functions/fgetpos.texi (fgetpos): Likewise.
19962         Reported by Larry Jones.
19963
19964 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
19965
19966         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
19967         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
19968
19969 2007-12-17  Jim Meyering  <meyering@redhat.com>
19970
19971         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
19972         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
19973         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
19974         * modules/getcwd (Depends-on): Add openat.
19975         Reported by Petr Salinger.
19976
19977 2007-12-17  Bruno Haible  <bruno@clisp.org>
19978
19979         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
19980         avoid a segmentation fault of the configure test on x86_64 systems.
19981
19982 2007-12-15  Jim Meyering  <meyering@redhat.com>
19983
19984         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
19985
19986 2007-12-13  Eric Blake  <ebb9@byu.net>
19987
19988         Another fseek test.
19989         * tests/test-fseek.c (main): Also test ungetc handling.
19990         * tests/test-fseeko.c (main): Likewise.
19991         * modules/fseeko (Depends-on): Add verify.
19992         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
19993         large.
19994         Reported by Larry Jones.
19995
19996         Fix fseeko on mingw.
19997         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
19998         seek.
19999
20000         Beef up fseek tests.
20001         * tests/test-fseek.c (main): Also test eof handling.
20002         * tests/test-fseeko.c (main): Likewise.
20003         Reported by Larry Jones.
20004
20005 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
20006
20007         Fix fseeko on BSD-based platforms.
20008         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
20009         successful seek.
20010
20011 2007-12-12  Eric Blake  <ebb9@byu.net>
20012
20013         Allow circular dependency of separate libtests.a
20014         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
20015         when use_libtests.
20016
20017 2007-12-11  Eric Blake  <ebb9@byu.net>
20018
20019         Fix bug with -0.0L in previous patch.
20020         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
20021         * tests/test-isnan.c (main): Also test on zeroes.
20022         * tests/test-isnanf.c (main): Likewise.
20023         * tests/test-isnanl.h (main): Likewise.
20024
20025         Detect pseudo-denormals on x86 even when cross-compiling.
20026         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
20027         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
20028         invalid bit patterns that happen to satisfy ==.
20029
20030         Avoid link failures with separate libtests.a.
20031         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
20032         last, to satisfy circular dependencies.
20033
20034 2007-12-11  Eric Blake  <ebb9@byu.net>
20035         and Bruno Haible  <bruno@clisp.org>
20036
20037         Fix OpenBSD 4.0 <float.h> handling of long double.
20038         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
20039         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
20040         * doc/headers/float.texi (float.h): Document OpenBSD bug.
20041
20042 2007-12-11  Jim Meyering  <meyering@redhat.com>
20043
20044         * users.txt: Add libvirt.
20045
20046         Support versions of autoconf prior to 2.59c.
20047         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
20048         if it is not already defined.
20049
20050 2007-12-09  Bruno Haible  <bruno@clisp.org>
20051
20052         Let 'gnulib-tool --import' collect sources needed for the tests in
20053         tests/ rather than in lib/.
20054         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
20055         argument. If true, add rules to generate libtests.a, and put libtests.a
20056         into $(LDADD). Consider source files in subdirectories and set
20057         uses_subdirs.
20058         (func_emit_initmacro_start, func_emit_initmacro_end,
20059         func_emit_initmacro_done): Pass all arguments explicitly.
20060         (func_import): Determine two module lists main_modules,
20061         testsrelated_modules. Determine use_libtests. Determine two variables
20062         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
20063         instead of just sed_transform_lib_file. Determine two variables
20064         main_files and testsrelated_files. Compute 'files' as the union of
20065         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
20066         func_add_or_update. In the generated gnulib-comp.m4, collect the
20067         object files for tests/ in different variables than those for lib/.
20068         Substitute LIBTESTS_LIBDEPS.
20069         (func_create_testdir): Combine the uses_subdirs results from
20070         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
20071
20072 2007-12-09  Bruno Haible  <bruno@clisp.org>
20073
20074         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
20075         the build-aux directory.
20076
20077 2007-12-09  Bruno Haible  <bruno@clisp.org>
20078
20079         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
20080         introduced on 2006-09-09.
20081
20082 2007-12-07  Jim Meyering  <meyering@redhat.com>
20083
20084         Let these macros work also with autoconf-2.59.
20085         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
20086         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
20087         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20088
20089 2007-12-06  Jim Meyering  <meyering@redhat.com>
20090
20091         Avoid a configure-time syntax error in gl_FUNC_ACL.
20092         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
20093         function in each branch, before testing the cache variable.
20094
20095 2007-12-04  Eric Blake  <ebb9@byu.net>
20096
20097         Make scripts executable.
20098         * build-aux/config.guess: Add execute permissions.
20099         * build-aux/config.sub: Likewise.
20100         * build-aux/gendocs.sh: Likewise.
20101
20102         Fix frexp on mingw.
20103         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
20104         cross-compiling.
20105         * doc/functions/frexp.texi (frexp): Document the bug.
20106
20107         Make cygwin fseeko check more reliable.
20108         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
20109         version numbers, rather than unrelated feature check.
20110         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
20111         * doc/functions/ftello.texi (ftello): Likewise.
20112         Reported by Bruno Haible.
20113
20114         * m4/strerror.m4: Bump version number.
20115
20116 2007-12-03  Bruno Haible  <bruno@clisp.org>
20117
20118         * doc/functions/mprotect.texi: Mention the mingw problem.
20119
20120 2007-12-03  Eric Blake  <ebb9@byu.net>
20121
20122         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
20123         REPLACE_STRERROR is initialized before this macro.
20124
20125 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
20126
20127         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
20128         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
20129         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
20130         put -lsec in even for programs other than 'ls'.  This fixes a problem
20131         for gettext reported by Bruno Haible in
20132         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
20133         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
20134         Add support for Solaris 10.  This isn't efficient, but should get the
20135         job done for now.
20136
20137 2007-12-03  James Youngman  <jay@gnu.org>
20138
20139         * doc/regexprops-generic.texi: change "an close-group" to "a
20140         close-group" and "illegal" to "not allowed".
20141
20142 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20143
20144         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
20145         pr_byname.h. Needed for the rare case when the maintainer has done
20146         "make maintainer-clean" in the source directory and then attempts a
20147         build outside the source directory.
20148         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
20149         scripts_byname.h.
20150
20151 2007-12-02  Martin Lambers <marlam@marlam.de>
20152             Bruno Haible  <bruno@clisp.org>
20153
20154         * lib/getpagesize.h: Remove file.
20155         * lib/unistd.in.h: Include declaration of getpagesize here.
20156         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
20157         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
20158         HAVE_SYS_PARAM_H.
20159         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
20160         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20161         * modules/getpagesize (Files): Remove lib/getpagesize.h.
20162         (Depends-on): Add unistd.
20163         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20164         (Include): Use <unistd.h> instead of getpagesize.h.
20165         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
20166         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20167         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
20168         gl_GETPAGESIZE invocation, already handled by module dependency.
20169         * lib/pagealign_alloc.c: Don't include getpagesize.h.
20170
20171 2007-12-02  Bruno Haible  <bruno@clisp.org>
20172
20173         * modules/strings-tests: New file.
20174         * tests/test-strings.c: New file.
20175
20176         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
20177         * lib/strings.in.h: New file.
20178         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
20179         * m4/strings_h.m4: New file.
20180         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
20181         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
20182         * modules/strings: New file.
20183         * modules/string (Makefile.am): Update.
20184         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
20185         Reported by Karl Berry.
20186
20187 2007-12-01  Eric Blake  <ebb9@byu.net>
20188
20189         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
20190         accomodate fix in cygwin 1.5.25.
20191
20192 2007-12-01  Jim Meyering  <meyering@redhat.com>
20193
20194         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
20195         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
20196         that would inhibit utf8-optimization of a regexp containing line-
20197         or buffer-anchors, e.g., `^', `$'.
20198
20199 2007-11-30  Bruno Haible  <bruno@clisp.org>
20200
20201         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
20202         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
20203         glthread_recursive_lock_init.
20204         * lib/lock.c (glthread_recursive_lock_init)
20205         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
20206         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20207
20208 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20209
20210         New function qset_acl, like set_acl but with syscall semantics.
20211         * lib/acl.h (qset_acl): New decl.
20212         * lib/acl.c (qset_acl): New function.
20213         (set_acl): Use new function.  Use more-consistent diagnostics.
20214
20215 2007-11-28  Jim Meyering  <meyering@redhat.com>
20216
20217         * modules/physmem (License): Change from GPL to LGPLv2+.
20218
20219 2007-11-26  Bruno Haible  <bruno@clisp.org>
20220
20221         * lib/vasnprintf.c (decode_long_double): Don't abort if the
20222         'long double' type has excess precision.
20223         Reported by Jim Meyering in
20224         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
20225
20226 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20227
20228         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
20229         Sync from <http://gnu.org/licenses>.
20230         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
20231         with license text from same location.
20232         * doc/maintain.texi, doc/standards.texi:  Sync from
20233         <http://savannah.gnu.org/projects/gnustandards>.
20234
20235 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
20236         and Jim Meyering  <meyering@redhat.com>
20237
20238         Adjust getdate' grammar to accept a slightly more regular language.
20239         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
20240         Before, the former was rejected.
20241         * lib/getdate.y (digits_to_date_time): New function, factored
20242         out of ...
20243         (number): ...here.  Just call digits_to_date_time.
20244         (hybrid): New non-terminal to handle an <unsigned number,
20245         signed relative offset> sequence consistently.
20246
20247 2007-11-18  Jim Meyering  <meyering@redhat.com>
20248
20249         Pull my changes from coreutils:
20250         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
20251         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
20252         use of $gnulib_tool_option_extras, so that it's separated from the
20253         preceding argument.
20254
20255         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
20256         * build-aux/bootstrap (cp_mark_as_generated): Create any required
20257         parent destination directories before copying a file into place.
20258
20259 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
20260
20261         bootstrap: work also with 4-argument variant of AC_INIT
20262         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
20263
20264 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
20265
20266         Port test-getaddrinfo to Solaris.
20267         Problem reported by Bruno Haible in
20268         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
20269         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
20270         explanation of setting 'hints'.
20271         Don't reject an implementation merely because it returns EAI_SERVICE.
20272         (EAI_SERVICE): Define to 0 if not defined.
20273
20274 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
20275
20276         The license of gnu-make and posix-shell is now "GPLed build tool".
20277         * modules/gnu-make (License): Likewise.
20278         * modules/posix-shell (License): Likewise.
20279
20280         New module posix-shell, for determining a POSIX shell
20281         or perhaps something that is close enough to a POSIX shell.
20282         * m4/posix-shell.m4: New file.
20283         * modules/posix-shell: New file.
20284
20285         * MODULES.html.sh: Mention new module.
20286
20287         New module gnu-make, for determining whether we're using GNU Make.
20288         * m4/gnu-make.m4: New file.
20289         * modules/gnu-make: New file.
20290         * MODULES.html.sh: Mention new module.
20291
20292 2007-11-14  Jim Meyering  <meyering@redhat.com>
20293
20294         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
20295         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
20296         use this macro to create a function _definition_.
20297         Remove useless "#undef ARGMATCH_DIE".
20298
20299 2007-11-14  Bruno Haible  <bruno@clisp.org>
20300
20301         * lib/config.charset: Update for OpenBSD 4.1.
20302         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
20303
20304 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
20305
20306         Document 64-bit #if problems in stdint.texi.
20307         * doc/headers/stdint.texi (stdint.h): Mention problems with
20308         64-bit-#if, and how to work around them.
20309
20310         Don't insist on 'long long int' support in the preprocessor.  It
20311         breaks too many things.  For example, PRIdMAX still uses a 'long
20312         long int' format with the latest Sun compiler, even though
20313         HAVE_LONG_LONG_INT isn't defined due to that compiler's
20314         preprocessor problem.  This causes the latest coreutils to dump
20315         core on Solaris 10 sparc with the Sun C compiler.
20316         Instead, fix the 2007-10-16 problem in a different way, by evaluating
20317         the troublesome expressions at configure-time, not at #if-time.
20318         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
20319         preprocessor.
20320         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
20321         compile-time C checks, done at 'configure'-time.
20322         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
20323         * modules/inttypes (Makefile): Substitute the new symbols that
20324         gl_INTTYPES_H now generates.
20325         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
20326
20327 2007-11-12  Bruno Haible  <bruno@clisp.org>
20328
20329         Tests for Unicode character classification functions.
20330
20331         * modules/unictype/bidicategory-byname-tests: New file.
20332         * modules/unictype/bidicategory-name-tests: New file.
20333         * modules/unictype/bidicategory-of-tests: New file.
20334         * modules/unictype/bidicategory-test-tests: New file.
20335         * modules/unictype/block-list-tests: New file.
20336         * modules/unictype/block-of-tests: New file.
20337         * modules/unictype/block-test-tests: New file.
20338         * modules/unictype/category-C-tests: New file.
20339         * modules/unictype/category-Cc-tests: New file.
20340         * modules/unictype/category-Cf-tests: New file.
20341         * modules/unictype/category-Cn-tests: New file.
20342         * modules/unictype/category-Co-tests: New file.
20343         * modules/unictype/category-Cs-tests: New file.
20344         * modules/unictype/category-L-tests: New file.
20345         * modules/unictype/category-Ll-tests: New file.
20346         * modules/unictype/category-Lm-tests: New file.
20347         * modules/unictype/category-Lo-tests: New file.
20348         * modules/unictype/category-Lt-tests: New file.
20349         * modules/unictype/category-Lu-tests: New file.
20350         * modules/unictype/category-M-tests: New file.
20351         * modules/unictype/category-Mc-tests: New file.
20352         * modules/unictype/category-Me-tests: New file.
20353         * modules/unictype/category-Mn-tests: New file.
20354         * modules/unictype/category-N-tests: New file.
20355         * modules/unictype/category-Nd-tests: New file.
20356         * modules/unictype/category-Nl-tests: New file.
20357         * modules/unictype/category-No-tests: New file.
20358         * modules/unictype/category-P-tests: New file.
20359         * modules/unictype/category-Pc-tests: New file.
20360         * modules/unictype/category-Pd-tests: New file.
20361         * modules/unictype/category-Pe-tests: New file.
20362         * modules/unictype/category-Pf-tests: New file.
20363         * modules/unictype/category-Pi-tests: New file.
20364         * modules/unictype/category-Po-tests: New file.
20365         * modules/unictype/category-Ps-tests: New file.
20366         * modules/unictype/category-S-tests: New file.
20367         * modules/unictype/category-Sc-tests: New file.
20368         * modules/unictype/category-Sk-tests: New file.
20369         * modules/unictype/category-Sm-tests: New file.
20370         * modules/unictype/category-So-tests: New file.
20371         * modules/unictype/category-Z-tests: New file.
20372         * modules/unictype/category-Zl-tests: New file.
20373         * modules/unictype/category-Zp-tests: New file.
20374         * modules/unictype/category-Zs-tests: New file.
20375         * modules/unictype/category-and-not-tests: New file.
20376         * modules/unictype/category-and-tests: New file.
20377         * modules/unictype/category-byname-tests: New file.
20378         * modules/unictype/category-name-tests: New file.
20379         * modules/unictype/category-none-tests: New file.
20380         * modules/unictype/category-of-tests: New file.
20381         * modules/unictype/category-or-tests: New file.
20382         * modules/unictype/category-test-withtable-tests: New file.
20383         * modules/unictype/combining-class-tests: New file.
20384         * modules/unictype/ctype-alnum-tests: New file.
20385         * modules/unictype/ctype-alpha-tests: New file.
20386         * modules/unictype/ctype-blank-tests: New file.
20387         * modules/unictype/ctype-cntrl-tests: New file.
20388         * modules/unictype/ctype-digit-tests: New file.
20389         * modules/unictype/ctype-graph-tests: New file.
20390         * modules/unictype/ctype-lower-tests: New file.
20391         * modules/unictype/ctype-print-tests: New file.
20392         * modules/unictype/ctype-punct-tests: New file.
20393         * modules/unictype/ctype-space-tests: New file.
20394         * modules/unictype/ctype-upper-tests: New file.
20395         * modules/unictype/ctype-xdigit-tests: New file.
20396         * modules/unictype/decimal-digit-tests: New file.
20397         * modules/unictype/digit-tests: New file.
20398         * modules/unictype/mirror-tests: New file.
20399         * modules/unictype/numeric-tests: New file.
20400         * modules/unictype/property-alphabetic-tests: New file.
20401         * modules/unictype/property-ascii-hex-digit-tests: New file.
20402         * modules/unictype/property-bidi-arabic-digit-tests: New file.
20403         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
20404         * modules/unictype/property-bidi-block-separator-tests: New file.
20405         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
20406         * modules/unictype/property-bidi-common-separator-tests: New file.
20407         * modules/unictype/property-bidi-control-tests: New file.
20408         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
20409         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
20410         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
20411         * modules/unictype/property-bidi-european-digit-tests: New file.
20412         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
20413         * modules/unictype/property-bidi-left-to-right-tests: New file.
20414         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
20415         * modules/unictype/property-bidi-other-neutral-tests: New file.
20416         * modules/unictype/property-bidi-pdf-tests: New file.
20417         * modules/unictype/property-bidi-segment-separator-tests: New file.
20418         * modules/unictype/property-bidi-whitespace-tests: New file.
20419         * modules/unictype/property-byname-tests: New file.
20420         * modules/unictype/property-combining-tests: New file.
20421         * modules/unictype/property-composite-tests: New file.
20422         * modules/unictype/property-currency-symbol-tests: New file.
20423         * modules/unictype/property-dash-tests: New file.
20424         * modules/unictype/property-decimal-digit-tests: New file.
20425         * modules/unictype/property-default-ignorable-code-point-tests: New file.
20426         * modules/unictype/property-deprecated-tests: New file.
20427         * modules/unictype/property-diacritic-tests: New file.
20428         * modules/unictype/property-extender-tests: New file.
20429         * modules/unictype/property-format-control-tests: New file.
20430         * modules/unictype/property-grapheme-base-tests: New file.
20431         * modules/unictype/property-grapheme-extend-tests: New file.
20432         * modules/unictype/property-grapheme-link-tests: New file.
20433         * modules/unictype/property-hex-digit-tests: New file.
20434         * modules/unictype/property-hyphen-tests: New file.
20435         * modules/unictype/property-id-continue-tests: New file.
20436         * modules/unictype/property-id-start-tests: New file.
20437         * modules/unictype/property-ideographic-tests: New file.
20438         * modules/unictype/property-ids-binary-operator-tests: New file.
20439         * modules/unictype/property-ids-trinary-operator-tests: New file.
20440         * modules/unictype/property-ignorable-control-tests: New file.
20441         * modules/unictype/property-iso-control-tests: New file.
20442         * modules/unictype/property-join-control-tests: New file.
20443         * modules/unictype/property-left-of-pair-tests: New file.
20444         * modules/unictype/property-line-separator-tests: New file.
20445         * modules/unictype/property-logical-order-exception-tests: New file.
20446         * modules/unictype/property-lowercase-tests: New file.
20447         * modules/unictype/property-math-tests: New file.
20448         * modules/unictype/property-non-break-tests: New file.
20449         * modules/unictype/property-not-a-character-tests: New file.
20450         * modules/unictype/property-numeric-tests: New file.
20451         * modules/unictype/property-other-alphabetic-tests: New file.
20452         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
20453         * modules/unictype/property-other-grapheme-extend-tests: New file.
20454         * modules/unictype/property-other-id-continue-tests: New file.
20455         * modules/unictype/property-other-id-start-tests: New file.
20456         * modules/unictype/property-other-lowercase-tests: New file.
20457         * modules/unictype/property-other-math-tests: New file.
20458         * modules/unictype/property-other-uppercase-tests: New file.
20459         * modules/unictype/property-paired-punctuation-tests: New file.
20460         * modules/unictype/property-paragraph-separator-tests: New file.
20461         * modules/unictype/property-pattern-syntax-tests: New file.
20462         * modules/unictype/property-pattern-white-space-tests: New file.
20463         * modules/unictype/property-private-use-tests: New file.
20464         * modules/unictype/property-punctuation-tests: New file.
20465         * modules/unictype/property-quotation-mark-tests: New file.
20466         * modules/unictype/property-radical-tests: New file.
20467         * modules/unictype/property-sentence-terminal-tests: New file.
20468         * modules/unictype/property-soft-dotted-tests: New file.
20469         * modules/unictype/property-space-tests: New file.
20470         * modules/unictype/property-terminal-punctuation-tests: New file.
20471         * modules/unictype/property-test-tests: New file.
20472         * modules/unictype/property-titlecase-tests: New file.
20473         * modules/unictype/property-unassigned-code-value-tests: New file.
20474         * modules/unictype/property-unified-ideograph-tests: New file.
20475         * modules/unictype/property-uppercase-tests: New file.
20476         * modules/unictype/property-variation-selector-tests: New file.
20477         * modules/unictype/property-white-space-tests: New file.
20478         * modules/unictype/property-xid-continue-tests: New file.
20479         * modules/unictype/property-xid-start-tests: New file.
20480         * modules/unictype/property-zero-width-tests: New file.
20481         * modules/unictype/scripts-tests: New file.
20482         * modules/unictype/syntax-c-ident-tests: New file.
20483         * modules/unictype/syntax-c-whitespace-tests: New file.
20484         * modules/unictype/syntax-java-ident-tests: New file.
20485         * modules/unictype/syntax-java-whitespace-tests: New file.
20486         * tests/unictype/test-bidi_byname.c: New file.
20487         * tests/unictype/test-bidi_name.c: New file.
20488         * tests/unictype/test-bidi_of.c: New file.
20489         * tests/unictype/test-bidi_test.c: New file.
20490         * tests/unictype/test-block_list.c: New file.
20491         * tests/unictype/test-block_of.c: New file.
20492         * tests/unictype/test-block_test.c: New file.
20493         * tests/unictype/test-categ_and.c: New file.
20494         * tests/unictype/test-categ_and_not.c: New file.
20495         * tests/unictype/test-categ_byname.c: New file.
20496         * tests/unictype/test-categ_name.c: New file.
20497         * tests/unictype/test-categ_none.c: New file.
20498         * tests/unictype/test-categ_of.c: New file.
20499         * tests/unictype/test-categ_or.c: New file.
20500         * tests/unictype/test-categ_test_withtable.c: New file.
20501         * tests/unictype/test-combining.c: New file.
20502         * tests/unictype/test-decdigit.c: New file.
20503         * tests/unictype/test-digit.c: New file.
20504         * tests/unictype/test-mirror.c: New file.
20505         * tests/unictype/test-numeric.c: New file.
20506         * tests/unictype/test-pr_byname.c: New file.
20507         * tests/unictype/test-pr_test.c: New file.
20508         * tests/unictype/test-predicate-part1.h: New file.
20509         * tests/unictype/test-predicate-part2.h: New file.
20510         * tests/unictype/test-scripts.c: New file.
20511         * tests/unictype/test-sy_c_ident.c: New file.
20512         * tests/unictype/test-sy_java_ident.c: New file.
20513
20514         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
20515         for Unicode 5.0.0.
20516         * tests/unictype/test-categ_Cc.c: Likewise.
20517         * tests/unictype/test-categ_Cf.c: Likewise.
20518         * tests/unictype/test-categ_Cn.c: Likewise.
20519         * tests/unictype/test-categ_Co.c: Likewise.
20520         * tests/unictype/test-categ_Cs.c: Likewise.
20521         * tests/unictype/test-categ_L.c: Likewise.
20522         * tests/unictype/test-categ_Ll.c: Likewise.
20523         * tests/unictype/test-categ_Lm.c: Likewise.
20524         * tests/unictype/test-categ_Lo.c: Likewise.
20525         * tests/unictype/test-categ_Lt.c: Likewise.
20526         * tests/unictype/test-categ_Lu.c: Likewise.
20527         * tests/unictype/test-categ_M.c: Likewise.
20528         * tests/unictype/test-categ_Mc.c: Likewise.
20529         * tests/unictype/test-categ_Me.c: Likewise.
20530         * tests/unictype/test-categ_Mn.c: Likewise.
20531         * tests/unictype/test-categ_N.c: Likewise.
20532         * tests/unictype/test-categ_Nd.c: Likewise.
20533         * tests/unictype/test-categ_Nl.c: Likewise.
20534         * tests/unictype/test-categ_No.c: Likewise.
20535         * tests/unictype/test-categ_P.c: Likewise.
20536         * tests/unictype/test-categ_Pc.c: Likewise.
20537         * tests/unictype/test-categ_Pd.c: Likewise.
20538         * tests/unictype/test-categ_Pe.c: Likewise.
20539         * tests/unictype/test-categ_Pf.c: Likewise.
20540         * tests/unictype/test-categ_Pi.c: Likewise.
20541         * tests/unictype/test-categ_Po.c: Likewise.
20542         * tests/unictype/test-categ_Ps.c: Likewise.
20543         * tests/unictype/test-categ_S.c: Likewise.
20544         * tests/unictype/test-categ_Sc.c: Likewise.
20545         * tests/unictype/test-categ_Sk.c: Likewise.
20546         * tests/unictype/test-categ_Sm.c: Likewise.
20547         * tests/unictype/test-categ_So.c: Likewise.
20548         * tests/unictype/test-categ_Z.c: Likewise.
20549         * tests/unictype/test-categ_Zl.c: Likewise.
20550         * tests/unictype/test-categ_Zp.c: Likewise.
20551         * tests/unictype/test-categ_Zs.c: Likewise.
20552         * tests/unictype/test-ctype_alnum.c: Likewise.
20553         * tests/unictype/test-ctype_alpha.c: Likewise.
20554         * tests/unictype/test-ctype_blank.c: Likewise.
20555         * tests/unictype/test-ctype_cntrl.c: Likewise.
20556         * tests/unictype/test-ctype_digit.c: Likewise.
20557         * tests/unictype/test-ctype_graph.c: Likewise.
20558         * tests/unictype/test-ctype_lower.c: Likewise.
20559         * tests/unictype/test-ctype_print.c: Likewise.
20560         * tests/unictype/test-ctype_punct.c: Likewise.
20561         * tests/unictype/test-ctype_space.c: Likewise.
20562         * tests/unictype/test-ctype_upper.c: Likewise.
20563         * tests/unictype/test-ctype_xdigit.c: Likewise.
20564         * tests/unictype/test-decdigit.h: Likewise.
20565         * tests/unictype/test-digit.h: Likewise.
20566         * tests/unictype/test-numeric.h: Likewise.
20567         * tests/unictype/test-pr_alphabetic.c: Likewise.
20568         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
20569         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20570         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20571         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
20572         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20573         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
20574         * tests/unictype/test-pr_bidi_control.c: Likewise.
20575         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
20576         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
20577         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20578         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20579         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20580         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20581         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20582         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20583         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
20584         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
20585         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
20586         * tests/unictype/test-pr_combining.c: Likewise.
20587         * tests/unictype/test-pr_composite.c: Likewise.
20588         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20589         * tests/unictype/test-pr_dash.c: Likewise.
20590         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20591         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
20592         * tests/unictype/test-pr_deprecated.c: Likewise.
20593         * tests/unictype/test-pr_diacritic.c: Likewise.
20594         * tests/unictype/test-pr_extender.c: Likewise.
20595         * tests/unictype/test-pr_format_control.c: Likewise.
20596         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20597         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20598         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20599         * tests/unictype/test-pr_hex_digit.c: Likewise.
20600         * tests/unictype/test-pr_hyphen.c: Likewise.
20601         * tests/unictype/test-pr_id_continue.c: Likewise.
20602         * tests/unictype/test-pr_id_start.c: Likewise.
20603         * tests/unictype/test-pr_ideographic.c: Likewise.
20604         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
20605         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
20606         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20607         * tests/unictype/test-pr_iso_control.c: Likewise.
20608         * tests/unictype/test-pr_join_control.c: Likewise.
20609         * tests/unictype/test-pr_left_of_pair.c: Likewise.
20610         * tests/unictype/test-pr_line_separator.c: Likewise.
20611         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20612         * tests/unictype/test-pr_lowercase.c: Likewise.
20613         * tests/unictype/test-pr_math.c: Likewise.
20614         * tests/unictype/test-pr_non_break.c: Likewise.
20615         * tests/unictype/test-pr_not_a_character.c: Likewise.
20616         * tests/unictype/test-pr_numeric.c: Likewise.
20617         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20618         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
20619         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
20620         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20621         * tests/unictype/test-pr_other_id_start.c: Likewise.
20622         * tests/unictype/test-pr_other_lowercase.c: Likewise.
20623         * tests/unictype/test-pr_other_math.c: Likewise.
20624         * tests/unictype/test-pr_other_uppercase.c: Likewise.
20625         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
20626         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
20627         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
20628         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
20629         * tests/unictype/test-pr_private_use.c: Likewise.
20630         * tests/unictype/test-pr_punctuation.c: Likewise.
20631         * tests/unictype/test-pr_quotation_mark.c: Likewise.
20632         * tests/unictype/test-pr_radical.c: Likewise.
20633         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20634         * tests/unictype/test-pr_soft_dotted.c: Likewise.
20635         * tests/unictype/test-pr_space.c: Likewise.
20636         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20637         * tests/unictype/test-pr_titlecase.c: Likewise.
20638         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20639         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20640         * tests/unictype/test-pr_uppercase.c: Likewise.
20641         * tests/unictype/test-pr_variation_selector.c: Likewise.
20642         * tests/unictype/test-pr_white_space.c: Likewise.
20643         * tests/unictype/test-pr_xid_continue.c: Likewise.
20644         * tests/unictype/test-pr_xid_start.c: Likewise.
20645         * tests/unictype/test-pr_zero_width.c: Likewise.
20646         * tests/unictype/test-sy_c_whitespace.c: Likewise.
20647         * tests/unictype/test-sy_java_whitespace.c: Likewise.
20648
20649 2007-11-12  Bruno Haible  <bruno@clisp.org>
20650
20651         Unicode character classification functions.
20652         * lib/unictype.h: New file.
20653         * modules/unictype/base: New file.
20654         * modules/unictype/category-L: New file.
20655         * modules/unictype/category-Lu: New file.
20656         * modules/unictype/category-Ll: New file.
20657         * modules/unictype/category-Lt: New file.
20658         * modules/unictype/category-Lm: New file.
20659         * modules/unictype/category-Lo: New file.
20660         * modules/unictype/category-M: New file.
20661         * modules/unictype/category-Mn: New file.
20662         * modules/unictype/category-Mc: New file.
20663         * modules/unictype/category-Me: New file.
20664         * modules/unictype/category-N: New file.
20665         * modules/unictype/category-Nd: New file.
20666         * modules/unictype/category-Nl: New file.
20667         * modules/unictype/category-No: New file.
20668         * modules/unictype/category-P: New file.
20669         * modules/unictype/category-Pc: New file.
20670         * modules/unictype/category-Pd: New file.
20671         * modules/unictype/category-Ps: New file.
20672         * modules/unictype/category-Pe: New file.
20673         * modules/unictype/category-Pi: New file.
20674         * modules/unictype/category-Pf: New file.
20675         * modules/unictype/category-Po: New file.
20676         * modules/unictype/category-S: New file.
20677         * modules/unictype/category-Sm: New file.
20678         * modules/unictype/category-Sc: New file.
20679         * modules/unictype/category-Sk: New file.
20680         * modules/unictype/category-So: New file.
20681         * modules/unictype/category-Z: New file.
20682         * modules/unictype/category-Zs: New file.
20683         * modules/unictype/category-Zl: New file.
20684         * modules/unictype/category-Zp: New file.
20685         * modules/unictype/category-C: New file.
20686         * modules/unictype/category-Cc: New file.
20687         * modules/unictype/category-Cf: New file.
20688         * modules/unictype/category-Cs: New file.
20689         * modules/unictype/category-Co: New file.
20690         * modules/unictype/category-Cn: New file.
20691         * modules/unictype/category-or: New file.
20692         * modules/unictype/category-of: New file.
20693         * modules/unictype/category-test: New file.
20694         * modules/unictype/category-test-withtable: New file.
20695         * modules/unictype/category-byname: New file.
20696         * modules/unictype/category-none: New file.
20697         * modules/unictype/category-and: New file.
20698         * modules/unictype/category-and-not: New file.
20699         * modules/unictype/category-name: New file.
20700         * modules/unictype/combining-class: New file.
20701         * modules/unictype/category-all: New file.
20702         * modules/unictype/bidicategory-all: New file.
20703         * modules/unictype/bidicategory-byname: New file.
20704         * modules/unictype/bidicategory-name: New file.
20705         * modules/unictype/bidicategory-of: New file.
20706         * modules/unictype/bidicategory-test: New file.
20707         * modules/unictype/decimal-digit: New file.
20708         * modules/unictype/digit: New file.
20709         * modules/unictype/numeric: New file.
20710         * modules/unictype/mirror: New file.
20711         * modules/unictype/property-white-space: New file.
20712         * modules/unictype/property-alphabetic: New file.
20713         * modules/unictype/property-other-alphabetic: New file.
20714         * modules/unictype/property-not-a-character: New file.
20715         * modules/unictype/property-default-ignorable-code-point: New file.
20716         * modules/unictype/property-other-default-ignorable-code-point: New
20717         file.
20718         * modules/unictype/property-deprecated: New file.
20719         * modules/unictype/property-logical-order-exception: New file.
20720         * modules/unictype/property-variation-selector: New file.
20721         * modules/unictype/property-private-use: New file.
20722         * modules/unictype/property-unassigned-code-value: New file.
20723         * modules/unictype/property-uppercase: New file.
20724         * modules/unictype/property-other-uppercase: New file.
20725         * modules/unictype/property-lowercase: New file.
20726         * modules/unictype/property-other-lowercase: New file.
20727         * modules/unictype/property-titlecase: New file.
20728         * modules/unictype/property-soft-dotted: New file.
20729         * modules/unictype/property-id-start: New file.
20730         * modules/unictype/property-other-id-start: New file.
20731         * modules/unictype/property-id-continue: New file.
20732         * modules/unictype/property-other-id-continue: New file.
20733         * modules/unictype/property-xid-start: New file.
20734         * modules/unictype/property-xid-continue: New file.
20735         * modules/unictype/property-pattern-white-space: New file.
20736         * modules/unictype/property-pattern-syntax: New file.
20737         * modules/unictype/property-join-control: New file.
20738         * modules/unictype/property-grapheme-base: New file.
20739         * modules/unictype/property-grapheme-extend: New file.
20740         * modules/unictype/property-other-grapheme-extend: New file.
20741         * modules/unictype/property-grapheme-link: New file.
20742         * modules/unictype/property-bidi-control: New file.
20743         * modules/unictype/property-bidi-left-to-right: New file.
20744         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
20745         * modules/unictype/property-bidi-arabic-right-to-left: New file.
20746         * modules/unictype/property-bidi-european-digit: New file.
20747         * modules/unictype/property-bidi-eur-num-separator: New file.
20748         * modules/unictype/property-bidi-eur-num-terminator: New file.
20749         * modules/unictype/property-bidi-arabic-digit: New file.
20750         * modules/unictype/property-bidi-common-separator: New file.
20751         * modules/unictype/property-bidi-block-separator: New file.
20752         * modules/unictype/property-bidi-segment-separator: New file.
20753         * modules/unictype/property-bidi-whitespace: New file.
20754         * modules/unictype/property-bidi-non-spacing-mark: New file.
20755         * modules/unictype/property-bidi-boundary-neutral: New file.
20756         * modules/unictype/property-bidi-pdf: New file.
20757         * modules/unictype/property-bidi-embedding-or-override: New file.
20758         * modules/unictype/property-bidi-other-neutral: New file.
20759         * modules/unictype/property-hex-digit: New file.
20760         * modules/unictype/property-ascii-hex-digit: New file.
20761         * modules/unictype/property-ideographic: New file.
20762         * modules/unictype/property-unified-ideograph: New file.
20763         * modules/unictype/property-radical: New file.
20764         * modules/unictype/property-ids-binary-operator: New file.
20765         * modules/unictype/property-ids-trinary-operator: New file.
20766         * modules/unictype/property-zero-width: New file.
20767         * modules/unictype/property-space: New file.
20768         * modules/unictype/property-non-break: New file.
20769         * modules/unictype/property-iso-control: New file.
20770         * modules/unictype/property-format-control: New file.
20771         * modules/unictype/property-dash: New file.
20772         * modules/unictype/property-hyphen: New file.
20773         * modules/unictype/property-punctuation: New file.
20774         * modules/unictype/property-line-separator: New file.
20775         * modules/unictype/property-paragraph-separator: New file.
20776         * modules/unictype/property-quotation-mark: New file.
20777         * modules/unictype/property-sentence-terminal: New file.
20778         * modules/unictype/property-terminal-punctuation: New file.
20779         * modules/unictype/property-currency-symbol: New file.
20780         * modules/unictype/property-math: New file.
20781         * modules/unictype/property-other-math: New file.
20782         * modules/unictype/property-paired-punctuation: New file.
20783         * modules/unictype/property-left-of-pair: New file.
20784         * modules/unictype/property-combining: New file.
20785         * modules/unictype/property-composite: New file.
20786         * modules/unictype/property-decimal-digit: New file.
20787         * modules/unictype/property-numeric: New file.
20788         * modules/unictype/property-diacritic: New file.
20789         * modules/unictype/property-extender: New file.
20790         * modules/unictype/property-ignorable-control: New file.
20791         * modules/unictype/property-test: New file.
20792         * modules/unictype/property-byname: New file.
20793         * modules/unictype/property-all: New file.
20794         * modules/unictype/scripts: New file.
20795         * modules/unictype/scripts-all: New file.
20796         * modules/unictype/block-of: New file.
20797         * modules/unictype/block-test: New file.
20798         * modules/unictype/block-list: New file.
20799         * modules/unictype/block-all: New file.
20800         * modules/unictype/syntax-c-whitespace: New file.
20801         * modules/unictype/syntax-java-whitespace: New file.
20802         * modules/unictype/syntax-c-ident: New file.
20803         * modules/unictype/syntax-java-ident: New file.
20804         * modules/unictype/ctype-alnum: New file.
20805         * modules/unictype/ctype-alpha: New file.
20806         * modules/unictype/ctype-cntrl: New file.
20807         * modules/unictype/ctype-digit: New file.
20808         * modules/unictype/ctype-graph: New file.
20809         * modules/unictype/ctype-lower: New file.
20810         * modules/unictype/ctype-print: New file.
20811         * modules/unictype/ctype-punct: New file.
20812         * modules/unictype/ctype-space: New file.
20813         * modules/unictype/ctype-upper: New file.
20814         * modules/unictype/ctype-xdigit: New file.
20815         * modules/unictype/ctype-blank: New file.
20816         * lib/unictype/bidi_byname.c: New file.
20817         * lib/unictype/bidi_name.c: New file.
20818         * lib/unictype/bidi_of.c: New file.
20819         * lib/unictype/bidi_test.c: New file.
20820         * lib/unictype/bitmap.h: New file.
20821         * lib/unictype/block_test.c: New file.
20822         * lib/unictype/blocks.c: New file.
20823         * lib/unictype/categ_C.c: New file.
20824         * lib/unictype/categ_Cc.c: New file.
20825         * lib/unictype/categ_Cf.c: New file.
20826         * lib/unictype/categ_Cn.c: New file.
20827         * lib/unictype/categ_Co.c: New file.
20828         * lib/unictype/categ_Cs.c: New file.
20829         * lib/unictype/categ_L.c: New file.
20830         * lib/unictype/categ_Ll.c: New file.
20831         * lib/unictype/categ_Lm.c: New file.
20832         * lib/unictype/categ_Lo.c: New file.
20833         * lib/unictype/categ_Lt.c: New file.
20834         * lib/unictype/categ_Lu.c: New file.
20835         * lib/unictype/categ_M.c: New file.
20836         * lib/unictype/categ_Mc.c: New file.
20837         * lib/unictype/categ_Me.c: New file.
20838         * lib/unictype/categ_Mn.c: New file.
20839         * lib/unictype/categ_N.c: New file.
20840         * lib/unictype/categ_Nd.c: New file.
20841         * lib/unictype/categ_Nl.c: New file.
20842         * lib/unictype/categ_No.c: New file.
20843         * lib/unictype/categ_P.c: New file.
20844         * lib/unictype/categ_Pc.c: New file.
20845         * lib/unictype/categ_Pd.c: New file.
20846         * lib/unictype/categ_Pe.c: New file.
20847         * lib/unictype/categ_Pf.c: New file.
20848         * lib/unictype/categ_Pi.c: New file.
20849         * lib/unictype/categ_Po.c: New file.
20850         * lib/unictype/categ_Ps.c: New file.
20851         * lib/unictype/categ_S.c: New file.
20852         * lib/unictype/categ_Sc.c: New file.
20853         * lib/unictype/categ_Sk.c: New file.
20854         * lib/unictype/categ_Sm.c: New file.
20855         * lib/unictype/categ_So.c: New file.
20856         * lib/unictype/categ_Z.c: New file.
20857         * lib/unictype/categ_Zl.c: New file.
20858         * lib/unictype/categ_Zp.c: New file.
20859         * lib/unictype/categ_Zs.c: New file.
20860         * lib/unictype/categ_and.c: New file.
20861         * lib/unictype/categ_and_not.c: New file.
20862         * lib/unictype/categ_byname.c: New file.
20863         * lib/unictype/categ_name.c: New file.
20864         * lib/unictype/categ_none.c: New file.
20865         * lib/unictype/categ_of.c: New file.
20866         * lib/unictype/categ_or.c: New file.
20867         * lib/unictype/categ_test.c: New file.
20868         * lib/unictype/combining.c: New file.
20869         * lib/unictype/ctype_alnum.c: New file.
20870         * lib/unictype/ctype_alpha.c: New file.
20871         * lib/unictype/ctype_blank.c: New file.
20872         * lib/unictype/ctype_cntrl.c: New file.
20873         * lib/unictype/ctype_digit.c: New file.
20874         * lib/unictype/ctype_graph.c: New file.
20875         * lib/unictype/ctype_lower.c: New file.
20876         * lib/unictype/ctype_print.c: New file.
20877         * lib/unictype/ctype_punct.c: New file.
20878         * lib/unictype/ctype_space.c: New file.
20879         * lib/unictype/ctype_upper.c: New file.
20880         * lib/unictype/ctype_xdigit.c: New file.
20881         * lib/unictype/decdigit.c: New file.
20882         * lib/unictype/digit.c: New file.
20883         * lib/unictype/identsyntaxmap.h: New file.
20884         * lib/unictype/mirror.c: New file.
20885         * lib/unictype/numeric.c: New file.
20886         * lib/unictype/pr_alphabetic.c: New file.
20887         * lib/unictype/pr_ascii_hex_digit.c: New file.
20888         * lib/unictype/pr_bidi_arabic_digit.c: New file.
20889         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
20890         * lib/unictype/pr_bidi_block_separator.c: New file.
20891         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
20892         * lib/unictype/pr_bidi_common_separator.c: New file.
20893         * lib/unictype/pr_bidi_control.c: New file.
20894         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
20895         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
20896         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
20897         * lib/unictype/pr_bidi_european_digit.c: New file.
20898         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
20899         * lib/unictype/pr_bidi_left_to_right.c: New file.
20900         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
20901         * lib/unictype/pr_bidi_other_neutral.c: New file.
20902         * lib/unictype/pr_bidi_pdf.c: New file.
20903         * lib/unictype/pr_bidi_segment_separator.c: New file.
20904         * lib/unictype/pr_bidi_whitespace.c: New file.
20905         * lib/unictype/pr_byname.c: New file.
20906         * lib/unictype/pr_byname.gperf: New file.
20907         * lib/unictype/pr_combining.c: New file.
20908         * lib/unictype/pr_composite.c: New file.
20909         * lib/unictype/pr_currency_symbol.c: New file.
20910         * lib/unictype/pr_dash.c: New file.
20911         * lib/unictype/pr_decimal_digit.c: New file.
20912         * lib/unictype/pr_default_ignorable_code_point.c: New file.
20913         * lib/unictype/pr_deprecated.c: New file.
20914         * lib/unictype/pr_diacritic.c: New file.
20915         * lib/unictype/pr_extender.c: New file.
20916         * lib/unictype/pr_format_control.c: New file.
20917         * lib/unictype/pr_grapheme_base.c: New file.
20918         * lib/unictype/pr_grapheme_extend.c: New file.
20919         * lib/unictype/pr_grapheme_link.c: New file.
20920         * lib/unictype/pr_hex_digit.c: New file.
20921         * lib/unictype/pr_hyphen.c: New file.
20922         * lib/unictype/pr_id_continue.c: New file.
20923         * lib/unictype/pr_id_start.c: New file.
20924         * lib/unictype/pr_ideographic.c: New file.
20925         * lib/unictype/pr_ids_binary_operator.c: New file.
20926         * lib/unictype/pr_ids_trinary_operator.c: New file.
20927         * lib/unictype/pr_ignorable_control.c: New file.
20928         * lib/unictype/pr_iso_control.c: New file.
20929         * lib/unictype/pr_join_control.c: New file.
20930         * lib/unictype/pr_left_of_pair.c: New file.
20931         * lib/unictype/pr_line_separator.c: New file.
20932         * lib/unictype/pr_logical_order_exception.c: New file.
20933         * lib/unictype/pr_lowercase.c: New file.
20934         * lib/unictype/pr_math.c: New file.
20935         * lib/unictype/pr_non_break.c: New file.
20936         * lib/unictype/pr_not_a_character.c: New file.
20937         * lib/unictype/pr_numeric.c: New file.
20938         * lib/unictype/pr_other_alphabetic.c: New file.
20939         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
20940         * lib/unictype/pr_other_grapheme_extend.c: New file.
20941         * lib/unictype/pr_other_id_continue.c: New file.
20942         * lib/unictype/pr_other_id_start.c: New file.
20943         * lib/unictype/pr_other_lowercase.c: New file.
20944         * lib/unictype/pr_other_math.c: New file.
20945         * lib/unictype/pr_other_uppercase.c: New file.
20946         * lib/unictype/pr_paired_punctuation.c: New file.
20947         * lib/unictype/pr_paragraph_separator.c: New file.
20948         * lib/unictype/pr_pattern_syntax.c: New file.
20949         * lib/unictype/pr_pattern_white_space.c: New file.
20950         * lib/unictype/pr_private_use.c: New file.
20951         * lib/unictype/pr_punctuation.c: New file.
20952         * lib/unictype/pr_quotation_mark.c: New file.
20953         * lib/unictype/pr_radical.c: New file.
20954         * lib/unictype/pr_sentence_terminal.c: New file.
20955         * lib/unictype/pr_soft_dotted.c: New file.
20956         * lib/unictype/pr_space.c: New file.
20957         * lib/unictype/pr_terminal_punctuation.c: New file.
20958         * lib/unictype/pr_test.c: New file.
20959         * lib/unictype/pr_titlecase.c: New file.
20960         * lib/unictype/pr_unassigned_code_value.c: New file.
20961         * lib/unictype/pr_unified_ideograph.c: New file.
20962         * lib/unictype/pr_uppercase.c: New file.
20963         * lib/unictype/pr_variation_selector.c: New file.
20964         * lib/unictype/pr_white_space.c: New file.
20965         * lib/unictype/pr_xid_continue.c: New file.
20966         * lib/unictype/pr_xid_start.c: New file.
20967         * lib/unictype/pr_zero_width.c: New file.
20968         * lib/unictype/scripts.c: New file.
20969         * lib/unictype/sy_c_ident.c: New file.
20970         * lib/unictype/sy_c_whitespace.c: New file.
20971         * lib/unictype/sy_java_ident.c: New file.
20972         * lib/unictype/sy_java_whitespace.c: New file.
20973
20974         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
20975         Unicode 5.0.0.
20976         * lib/unictype/blocks.h: Likewise.
20977         * lib/unictype/categ_C.h: Likewise.
20978         * lib/unictype/categ_Cc.h: Likewise.
20979         * lib/unictype/categ_Cf.h: Likewise.
20980         * lib/unictype/categ_Cn.h: Likewise.
20981         * lib/unictype/categ_Co.h: Likewise.
20982         * lib/unictype/categ_Cs.h: Likewise.
20983         * lib/unictype/categ_L.h: Likewise.
20984         * lib/unictype/categ_Ll.h: Likewise.
20985         * lib/unictype/categ_Lm.h: Likewise.
20986         * lib/unictype/categ_Lo.h: Likewise.
20987         * lib/unictype/categ_Lt.h: Likewise.
20988         * lib/unictype/categ_Lu.h: Likewise.
20989         * lib/unictype/categ_M.h: Likewise.
20990         * lib/unictype/categ_Mc.h: Likewise.
20991         * lib/unictype/categ_Me.h: Likewise.
20992         * lib/unictype/categ_Mn.h: Likewise.
20993         * lib/unictype/categ_N.h: Likewise.
20994         * lib/unictype/categ_Nd.h: Likewise.
20995         * lib/unictype/categ_Nl.h: Likewise.
20996         * lib/unictype/categ_No.h: Likewise.
20997         * lib/unictype/categ_P.h: Likewise.
20998         * lib/unictype/categ_Pc.h: Likewise.
20999         * lib/unictype/categ_Pd.h: Likewise.
21000         * lib/unictype/categ_Pe.h: Likewise.
21001         * lib/unictype/categ_Pf.h: Likewise.
21002         * lib/unictype/categ_Pi.h: Likewise.
21003         * lib/unictype/categ_Po.h: Likewise.
21004         * lib/unictype/categ_Ps.h: Likewise.
21005         * lib/unictype/categ_S.h: Likewise.
21006         * lib/unictype/categ_Sc.h: Likewise.
21007         * lib/unictype/categ_Sk.h: Likewise.
21008         * lib/unictype/categ_Sm.h: Likewise.
21009         * lib/unictype/categ_So.h: Likewise.
21010         * lib/unictype/categ_Z.h: Likewise.
21011         * lib/unictype/categ_Zl.h: Likewise.
21012         * lib/unictype/categ_Zp.h: Likewise.
21013         * lib/unictype/categ_Zs.h: Likewise.
21014         * lib/unictype/categ_of.h: Likewise.
21015         * lib/unictype/combining.h: Likewise.
21016         * lib/unictype/ctype_alnum.h: Likewise.
21017         * lib/unictype/ctype_alpha.h: Likewise.
21018         * lib/unictype/ctype_blank.h: Likewise.
21019         * lib/unictype/ctype_cntrl.h: Likewise.
21020         * lib/unictype/ctype_digit.h: Likewise.
21021         * lib/unictype/ctype_graph.h: Likewise.
21022         * lib/unictype/ctype_lower.h: Likewise.
21023         * lib/unictype/ctype_print.h: Likewise.
21024         * lib/unictype/ctype_punct.h: Likewise.
21025         * lib/unictype/ctype_space.h: Likewise.
21026         * lib/unictype/ctype_upper.h: Likewise.
21027         * lib/unictype/ctype_xdigit.h: Likewise.
21028         * lib/unictype/decdigit.h: Likewise.
21029         * lib/unictype/digit.h: Likewise.
21030         * lib/unictype/mirror.h: Likewise.
21031         * lib/unictype/numeric.h: Likewise.
21032         * lib/unictype/pr_alphabetic.h: Likewise.
21033         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21034         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21035         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21036         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21037         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21038         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21039         * lib/unictype/pr_bidi_control.h: Likewise.
21040         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21041         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21042         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21043         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21044         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21045         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21046         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21047         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21048         * lib/unictype/pr_bidi_pdf.h: Likewise.
21049         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21050         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21051         * lib/unictype/pr_combining.h: Likewise.
21052         * lib/unictype/pr_composite.h: Likewise.
21053         * lib/unictype/pr_currency_symbol.h: Likewise.
21054         * lib/unictype/pr_dash.h: Likewise.
21055         * lib/unictype/pr_decimal_digit.h: Likewise.
21056         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21057         * lib/unictype/pr_deprecated.h: Likewise.
21058         * lib/unictype/pr_diacritic.h: Likewise.
21059         * lib/unictype/pr_extender.h: Likewise.
21060         * lib/unictype/pr_format_control.h: Likewise.
21061         * lib/unictype/pr_grapheme_base.h: Likewise.
21062         * lib/unictype/pr_grapheme_extend.h: Likewise.
21063         * lib/unictype/pr_grapheme_link.h: Likewise.
21064         * lib/unictype/pr_hex_digit.h: Likewise.
21065         * lib/unictype/pr_hyphen.h: Likewise.
21066         * lib/unictype/pr_id_continue.h: Likewise.
21067         * lib/unictype/pr_id_start.h: Likewise.
21068         * lib/unictype/pr_ideographic.h: Likewise.
21069         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21070         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21071         * lib/unictype/pr_ignorable_control.h: Likewise.
21072         * lib/unictype/pr_iso_control.h: Likewise.
21073         * lib/unictype/pr_join_control.h: Likewise.
21074         * lib/unictype/pr_left_of_pair.h: Likewise.
21075         * lib/unictype/pr_line_separator.h: Likewise.
21076         * lib/unictype/pr_logical_order_exception.h: Likewise.
21077         * lib/unictype/pr_lowercase.h: Likewise.
21078         * lib/unictype/pr_math.h: Likewise.
21079         * lib/unictype/pr_non_break.h: Likewise.
21080         * lib/unictype/pr_not_a_character.h: Likewise.
21081         * lib/unictype/pr_numeric.h: Likewise.
21082         * lib/unictype/pr_other_alphabetic.h: Likewise.
21083         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21084         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21085         * lib/unictype/pr_other_id_continue.h: Likewise.
21086         * lib/unictype/pr_other_id_start.h: Likewise.
21087         * lib/unictype/pr_other_lowercase.h: Likewise.
21088         * lib/unictype/pr_other_math.h: Likewise.
21089         * lib/unictype/pr_other_uppercase.h: Likewise.
21090         * lib/unictype/pr_paired_punctuation.h: Likewise.
21091         * lib/unictype/pr_paragraph_separator.h: Likewise.
21092         * lib/unictype/pr_pattern_syntax.h: Likewise.
21093         * lib/unictype/pr_pattern_white_space.h: Likewise.
21094         * lib/unictype/pr_private_use.h: Likewise.
21095         * lib/unictype/pr_punctuation.h: Likewise.
21096         * lib/unictype/pr_quotation_mark.h: Likewise.
21097         * lib/unictype/pr_radical.h: Likewise.
21098         * lib/unictype/pr_sentence_terminal.h: Likewise.
21099         * lib/unictype/pr_soft_dotted.h: Likewise.
21100         * lib/unictype/pr_space.h: Likewise.
21101         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21102         * lib/unictype/pr_titlecase.h: Likewise.
21103         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21104         * lib/unictype/pr_unified_ideograph.h: Likewise.
21105         * lib/unictype/pr_uppercase.h: Likewise.
21106         * lib/unictype/pr_variation_selector.h: Likewise.
21107         * lib/unictype/pr_white_space.h: Likewise.
21108         * lib/unictype/pr_xid_continue.h: Likewise.
21109         * lib/unictype/pr_xid_start.h: Likewise.
21110         * lib/unictype/pr_zero_width.h: Likewise.
21111         * lib/unictype/scripts.h: Likewise.
21112         * lib/unictype/scripts_byname.gperf: Likewise.
21113         * lib/unictype/sy_c_ident.h: Likewise.
21114         * lib/unictype/sy_c_whitespace.h: Likewise.
21115         * lib/unictype/sy_java_ident.h: Likewise.
21116         * lib/unictype/sy_java_whitespace.h: Likewise.
21117
21118         * lib/unictype/Makefile: New file.
21119         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
21120         glibc.
21121         * lib/unictype/3level.h: New file, copied from glibc.
21122         * lib/unictype/3levelbit.h: New file.
21123
21124 2007-11-11  Bruno Haible  <bruno@clisp.org>
21125
21126         * modules/gperf: New file.
21127         * modules/iconv_open (Depends-on): Add it.
21128         (Makefile.am): Remove the GPERF definition.
21129
21130 2007-11-11  Bruno Haible  <bruno@clisp.org>
21131
21132         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
21133         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
21134
21135 2007-11-11  Bruno Haible  <bruno@clisp.org>
21136
21137         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
21138         (usage): Remove function.
21139
21140 2007-11-11  Bruno Haible  <bruno@clisp.org>
21141
21142         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
21143         gl_FUNC_CEILF_LIBS.
21144         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
21145         gl_FUNC_CEIL_LIBS.
21146         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
21147         gl_FUNC_CEILL_LIBS.
21148         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
21149         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
21150         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
21151
21152 2007-11-11  Bruno Haible  <bruno@clisp.org>
21153
21154         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
21155         roundf were declared but do not exist on functions.
21156         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
21157         roundl were declared but do not exist on functions.
21158         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
21159         HAVE_FLOORL_AND_CEILL, respectively.
21160         Needed for Sun C on Solaris 10.
21161
21162 2007-11-11  Bruno Haible  <bruno@clisp.org>
21163
21164         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
21165         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
21166         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
21167         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
21168         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
21169         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
21170         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
21171         HAVE_DECL_ROUNDF.
21172         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
21173         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
21174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
21175         of HAVE_DECL_ROUND*.
21176         * modules/math (Makefile.am): Update.
21177
21178 2007-11-10  Bruno Haible  <bruno@clisp.org>
21179
21180         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
21181         ptrdiff_t as m4/intl.m4.
21182
21183 2007-11-10  Jim Meyering  <meyering@redhat.com>
21184
21185         Avoid link failure for the argmatch test.
21186         * tests/test-argmatch.c (usage): Define function to avoid a link
21187         failure: argmatch_die requires a usage function.
21188
21189 2007-11-09  Bruno Haible  <bruno@clisp.org>
21190
21191         * doc/functions/snprintf.texi: Mention BeOS deficiency.
21192         * doc/functions/vsnprintf.texi: Likewise.
21193         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
21194         with a size argument < 2.
21195
21196 2007-11-09  Bruno Haible  <bruno@clisp.org>
21197
21198         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
21199         buffer. Fixes an inefficiency introduced on 2007-11-03.
21200
21201 2007-11-09  Bruno Haible  <bruno@clisp.org>
21202
21203         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
21204         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
21205
21206 2007-11-08  Jim Meyering  <meyering@redhat.com>
21207
21208         Change cache variable name prefix "jm_" to "gl_" everywhere.
21209         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
21210         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
21211         * m4/uptime.m4: s/gl_/jm_/
21212
21213 2007-11-07  Bruno Haible  <bruno@clisp.org>
21214
21215         Update to GNU gettext 0.17.
21216         * m4/intl.m4: Update to GNU gettext 0.17.
21217         * m4/po.m4: Likewise.
21218         * modules/gettext (Files): Remove m4/ulonglong.m4.
21219         (configure.ac): Require gettext infrastructure from version 0.17.
21220
21221 2007-11-06  Bruno Haible  <bruno@clisp.org>
21222
21223         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
21224         symbolic values are not defined in a public header.
21225         * lib/freadable.c (freadable) [QNX]: Likewise.
21226         * lib/freadahead.c (freadahead) [QNX]: Likewise.
21227         * lib/freading.c (freading) [QNX]: Likewise.
21228         * lib/fseterr.c (fseterr) [QNX]: Likewise.
21229         * lib/fwritable.c (fwritable) [QNX]: Likewise.
21230         * lib/fwriting.c (fwriting) [QNX]: Likewise.
21231         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
21232         Reported by Alain Magloire.
21233
21234         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
21235
21236 2007-11-05  Bruno Haible  <bruno@clisp.org>
21237
21238         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
21239         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
21240         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
21241         Reported by Eric Blake.
21242
21243 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21244             Bruno Haible  <bruno@clisp.org>
21245
21246         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
21247         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
21248         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
21249         (malloc): Undefine also before including <stdlib.h>.
21250         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
21251         Needed on OSF/1 4.0.
21252
21253 2007-11-05  Jim Meyering  <meyering@redhat.com>
21254
21255         git-version-gen: sync from coreutils.
21256         * build-aux/git-version-gen: Add comments.
21257         Change the first '-' to '.' in the snapshot version string,
21258         e.g., 6.9-377-08144 -> 6.9.377-08144
21259         Remove first parameter.
21260         Don't declare a version "-dirty" merely because a time
21261         stamp has changed.
21262
21263 2007-11-04  Bruno Haible  <bruno@clisp.org>
21264
21265         * lib/lock.h: Protect all macro definitions containing an 'if'
21266         statement through a "do { ... } while (0)".
21267         * lib/tls.h: Likewise.
21268
21269 2007-11-04  Bruno Haible  <bruno@clisp.org>
21270
21271         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
21272
21273 2007-11-04  Bruno Haible  <bruno@clisp.org>
21274
21275         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
21276         * modules/fprintf-posix (Depends-on): Add nocrash.
21277         * modules/snprintf-posix (Depends-on): Likewise.
21278         * modules/sprintf-posix (Depends-on): Likewise.
21279         * modules/vasnprintf-posix (Depends-on): Likewise.
21280         * modules/vasprintf-posix (Depends-on): Likewise.
21281         * modules/vfprintf-posix (Depends-on): Likewise.
21282         * modules/vsnprintf-posix (Depends-on): Likewise.
21283         * modules/vsprintf-posix (Depends-on): Likewise.
21284         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21285         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21286         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21287         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21288         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21289         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21290         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21291
21292 2007-11-04  Bruno Haible  <bruno@clisp.org>
21293
21294         * modules/nocrash: New file.
21295         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
21296         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
21297
21298 2007-11-04  Bruno Haible  <bruno@clisp.org>
21299
21300         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
21301         precision handling.
21302         * tests/test-vasprintf-posix.c (test_function): Likewise.
21303         * tests/test-snprintf-posix.h (test_function): Likewise.
21304         * tests/test-sprintf-posix.h (test_function): Likewise.
21305
21306         Fix *printf behaviour for large precisions on mingw and BeOS.
21307         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
21308         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
21309         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
21310         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21311         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21312         gl_PRINTF_PRECISION and test its result. Invoke
21313         gl_PREREQ_VASNPRINTF_PRECISION.
21314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21315         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21316         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21317         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21318         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21319         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21320         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21321         * doc/functions/fprintf.texi: Update.
21322         * doc/functions/printf.texi: Update.
21323         * doc/functions/snprintf.texi: Update.
21324         * doc/functions/sprintf.texi: Update.
21325         * doc/functions/vfprintf.texi: Update.
21326         * doc/functions/vprintf.texi: Update.
21327         * doc/functions/vsnprintf.texi: Update.
21328         * doc/functions/vsprintf.texi: Update.
21329
21330 2007-11-04  Bruno Haible  <bruno@clisp.org>
21331
21332         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
21333
21334 2007-11-04  Bruno Haible  <bruno@clisp.org>
21335
21336         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
21337         Reported by Sylvain Beucler <beuc@gnu.org>.
21338
21339 2007-11-03  Bruno Haible  <bruno@clisp.org>
21340
21341         * tests/test-fprintf-posix2.sh: New file.
21342         * tests/test-fprintf-posix2.c: New file.
21343         * modules/fprintf-posix-tests (Files): Add them.
21344         (TESTS): Add test-fprintf-posix2.sh.
21345         (configure.ac): Check for getrlimit and setrlimit.
21346         (check_PROGRAMS): Add test-fprintf-posix2.
21347
21348         * tests/test-printf-posix2.sh: New file.
21349         * tests/test-printf-posix2.c: New file.
21350         * modules/printf-posix-tests (Files): Add them.
21351         (TESTS): Add test-printf-posix2.sh.
21352         (configure.ac): Check for getrlimit and setrlimit.
21353         (check_PROGRAMS): Add test-printf-posix2.
21354
21355         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
21356         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
21357         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
21358         (decode_double): New function, copied from decode_long_double.
21359         (scale10_round_decimal_decoded): New function, extracted from
21360         scale10_round_decimal_long_double.
21361         (scale10_round_decimal_long_double): Use it.
21362         (scale10_round_decimal_double): New function.
21363         (floorlog10): New function.
21364         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
21365         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
21366         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21367         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21368         gl_PRINTF_ENOMEM and test its result. Invoke
21369         gl_PREREQ_VASNPRINTF_ENOMEM.
21370         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21371         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21372         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21373         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21374         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21375         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21376         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21377         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
21378         * modules/snprintf-posix (Depends-on): Likewise.
21379         * modules/sprintf-posix (Depends-on): Likewise.
21380         * modules/vasnprintf-posix (Depends-on): Likewise.
21381         * modules/vasprintf-posix (Depends-on): Likewise.
21382         * modules/vfprintf-posix (Depends-on): Likewise.
21383         * modules/vsnprintf-posix (Depends-on): Likewise.
21384         * modules/vsprintf-posix (Depends-on): Likewise.
21385         * doc/functions/fprintf.texi: Update.
21386         * doc/functions/printf.texi: Update.
21387         * doc/functions/snprintf.texi: Update.
21388         * doc/functions/sprintf.texi: Update.
21389         * doc/functions/vfprintf.texi: Update.
21390         * doc/functions/vprintf.texi: Update.
21391         * doc/functions/vsnprintf.texi: Update.
21392         * doc/functions/vsprintf.texi: Update.
21393
21394 2007-11-03  Bruno Haible  <bruno@clisp.org>
21395
21396         * modules/frexp-nolibm-tests: New file.
21397
21398         * modules/frexp-nolibm: New file.
21399         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
21400
21401 2007-11-03  Bruno Haible  <bruno@clisp.org>
21402
21403         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
21404         value is C99 compliant.
21405         Needed for OSF/1 5.1.
21406
21407 2007-11-03  Bruno Haible  <bruno@clisp.org>
21408
21409         Fix out-of-memory handling of vasnprintf.
21410         * lib/printf-parse.c: Include <errno.h>.
21411         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
21412         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
21413         is already set.
21414
21415 2007-11-02  Eric Blake  <ebb9@byu.net>
21416
21417         Fix tests on cygwin.
21418         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
21419
21420 2007-11-01  Bruno Haible  <bruno@clisp.org>
21421
21422         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
21423         warning.
21424         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
21425         needed for POSIX compatibility.
21426
21427 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21428
21429         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
21430         for compatibility with GNU.
21431
21432 2007-11-01  Bruno Haible  <bruno@clisp.org>
21433
21434         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
21435         (putenv): Renamed from rpl_putenv. Change argument type from
21436         'const char *' to 'char *'.
21437         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
21438         of defining putenv in config.h, just set REPLACE_PUTENV.
21439         * modules/putenv (Depends-on): Add stdlib.
21440         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
21441         (Include): Use <stdlib.h>.
21442         * lib/stdlib.in.h (putenv): New declaration.
21443         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
21444         REPLACE_PUTENV.
21445         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
21446         REPLACE_PUTENV.
21447         Needed for MacOS X 10.5.0.
21448         Reported by Peter O'Gorman <peter@pogma.com>.
21449
21450 2007-11-01  Jim Meyering  <meyering@redhat.com>
21451
21452         Treat an empty date string exactly like "0".
21453         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
21454         if the remaining date string (to be parsed) is empty, use "0".
21455         Reported by Mischa Molhoek and discussed in this thread:
21456         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
21457
21458 2007-10-31  Bruno Haible  <bruno@clisp.org>
21459
21460         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
21461         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
21462         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
21463         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
21464         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
21465         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
21466
21467 2007-10-31  Bruno Haible  <bruno@clisp.org>
21468
21469         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
21470         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
21471         (AC_TYPE_LONG_LONG_INT): Use it.
21472         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
21473         it as well.
21474         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
21475         to m4/longlong.m4.
21476         * modules/stdint (Files): Remove m4/ulonglong.m4.
21477         * modules/strtoull (Files): Use m4/longlong.m4 instead of
21478         m4/ulonglong.m4.
21479         * modules/strtoumax (Files): Likewise.
21480
21481 2007-10-30  Bruno Haible  <bruno@clisp.org>
21482
21483         * modules/xvasprintf-posix: New file.
21484         Suggested by Eric Blake.
21485
21486 2007-10-30  Bruno Haible  <bruno@clisp.org>
21487
21488         * modules/xprintf-posix-tests: New file.
21489         * tests/test-xprintf-posix.sh: New file.
21490         * tests/test-xprintf-posix.c: New file.
21491         * tests/test-xfprintf-posix.c: New file.
21492
21493         * modules/xprintf-posix: New file.
21494
21495 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21496
21497         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
21498         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
21499         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
21500
21501 2007-10-29  Bruno Haible  <bruno@clisp.org>
21502
21503         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
21504         contain the special marker '_cv_'.
21505         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21506         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21507         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21508         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
21509         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21510         Reported by Ralf Wildenhues.
21511
21512 2007-10-29  Bruno Haible  <bruno@clisp.org>
21513
21514         * gnulib-tool (func_import): When --lgpl is not specified, set
21515         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
21516         GPLv3.
21517         Reported by Simon Josefsson.
21518
21519 2007-10-28  Bruno Haible  <bruno@clisp.org>
21520
21521         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
21522         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
21523         HAVE_DECL_ISFINITE.
21524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
21525         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
21526         HAVE_DECL_ISFINITE.
21527
21528 2007-10-28  Bruno Haible  <bruno@clisp.org>
21529
21530         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
21531         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
21532
21533 2007-10-28  Bruno Haible  <bruno@clisp.org>
21534
21535         Fix link errors with Sun C 5.0 on Solaris 10.
21536         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
21537         function is declared but not present in the compiler's libm.
21538         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
21539         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
21540         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
21541         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
21542         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
21543         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
21544         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
21545         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
21546         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
21547         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
21548         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
21549         HAVE_DECL_FLOORL.
21550
21551 2007-10-28  Bruno Haible  <bruno@clisp.org>
21552
21553         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
21554         gl_FUNC_FLOORL. Cache the result.
21555         (gl_FUNC_FLOORL): Use it.
21556         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
21557         gl_FUNC_CEILL. Cache the result.
21558         (gl_FUNC_CEILL): Use it.
21559
21560         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
21561         gl_FUNC_FLOOR. Cache the result.
21562         (gl_FUNC_FLOOR): Use it.
21563         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
21564         gl_FUNC_CEIL. Cache the result.
21565         (gl_FUNC_CEIL): Use it.
21566
21567         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
21568         gl_FUNC_FLOORF. Cache the result.
21569         (gl_FUNC_FLOORF): Use it.
21570         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
21571         gl_FUNC_CEILF. Cache the result.
21572         (gl_FUNC_CEILF): Use it.
21573
21574 2007-10-28  Bruno Haible  <bruno@clisp.org>
21575
21576         * gnulib-tool: Allow specifying the LGPL version number through
21577         --lgpl=2 or --lgpl=3.
21578         (func_usage): Document --lgpl with argument.
21579         Handle --lgpl=... arguments.
21580         (func_import): Recognize also gl_LGPL calls with an argument. When
21581         --lgpl=2 is used and the module's license is just LGPL, report an
21582         error. Set sed_transform_lib_file according to the lgpl variable. In
21583         the generated files, use --lgpl or gl_LGPL invocations with argument,
21584         if necessary.
21585         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
21586         an LGPv2+ license.
21587         * doc/gnulib-tool.texi (Modified imports): Update explanation of
21588         gl_LGPL macro.
21589
21590 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21591             Bruno Haible  <bruno@clisp.org>
21592
21593         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
21594         (u16_uctomb_aux): Likewise.
21595         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
21596         !HAVE_INLINE.
21597         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
21598
21599 2007-10-28  Bruno Haible  <bruno@clisp.org>
21600
21601         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
21602         Invoke AM_GETTEXT_OPTION if it exists.
21603         * modules/vasprintf: Likewise.
21604         * modules/verror: Likewise.
21605         * modules/xprintf: Likewise.
21606         * modules/xvasprintf: Likewise.
21607
21608 2007-10-27  Ben Pfaff  <blp@gnu.org>
21609
21610         * lib/math.in.h: Define isfinite macro and prototypes for
21611         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
21612         implementations.
21613         * m4/math_h.m4: New substitutions for isfinite module.
21614         * lib/isfinite.c: New file.
21615         * m4/isfinite.m4: New file.
21616         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
21617         * modules/isfinite: New file.
21618         * modules/isfinite-tests: New file.
21619         * tests/tests-isfinite.c: New file.
21620         * doc/functions/isfinite.texi: Mention isfinite module.
21621         * MODULES.html.sh: Mention new module.
21622
21623 2007-10-27  Ben Pfaff  <blp@gnu.org>
21624
21625         Ralf Wildenhues reported that Tru64 4.0D declares the round
21626         functions but does not have definitions.
21627         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
21628         cannot be found in any library, set the output variable to
21629         "missing" instead of "".
21630         * m4/round.m4: Also use our substitute if we cannot find round in
21631         any library, even if it is declared.
21632         * m4/roundf.m4: Likewise for roundf.
21633         * m4/roundl.m4: Likewise for roundl.
21634         * lib/math.in.h: Undefine roundf, round, roundl before defining
21635         their replacements, to allow for hypothetical systems where these
21636         may be defined as macros but not available in libraries.
21637
21638 2007-10-27  Bruno Haible  <bruno@clisp.org>
21639
21640         * doc/gnulib.texi: Invoke @firstparagraphindent.
21641         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
21642         changes in gnulib.
21643         (Source changes): New section.
21644
21645 2007-10-26  Bruno Haible  <bruno@clisp.org>
21646
21647         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
21648         borrowed from autoconf.
21649
21650 2007-10-26  Bruno Haible  <bruno@clisp.org>
21651
21652         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
21653         strerror returned the empty string. Needed on HP-UX 11.00.
21654
21655 2007-10-24  Micah Cowan  <micah@cowan.name>
21656
21657         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
21658         * build-aux/bootstrap: Remove support for now-unnecessary option,
21659         --cvs-user, and envvars CVS_USER, CVS_RSH.
21660
21661 2007-10-24  Jim Meyering  <meyering@redhat.com>
21662
21663         Avoid diagnostics from sha1sum when there is no cached checksum.
21664         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
21665         if the po.s1 file hasn't been created yet.
21666
21667         * build-aux/bootstrap: Sync from coreutils:
21668         2007-10-24  Jim Meyering  <meyering@redhat.com>
21669         Get gnulib from the git repository, not from an obsolete cvs one.
21670         * build-aux/bootstrap: Suggestion from Micah Cowan.
21671         2007-10-04  Jim Meyering  <jim@meyering.net>
21672         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
21673         (update_po_files): Work also when there are no .po files in po/.
21674
21675 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21676
21677         * README: Append ".git" to git and cg examples.
21678         Problem reported by Benoit Sigoure.
21679
21680 2007-10-23  Micah Cowan  <micah@cowan.name>
21681
21682         * users.txt: Add wget.
21683
21684 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21685
21686         Fix linking of some unistdio tests on FreeBSD.
21687         * modules/unistdio/u16-vsnprintf-tests
21688         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
21689         * modules/unistdio/u16-vsprintf-tests
21690         (test_u16_vsnprintf1_LDADD): Likewise.
21691         * modules/unistdio/u32-vsnprintf-tests
21692         (test_u32_vsnprintf1_LDADD): Likewise.
21693         * modules/unistdio/u32-vsprintf-tests
21694         (test_u32_vsprintf1_LDADD): Likewise.
21695         * modules/unistdio/u8-vsnprintf-tests
21696         (test_u8_vsnprintf1_LDADD): Likewise.
21697         * modules/unistdio/u8-vsprintf-tests
21698         (test_u8_vsprintf1_LDADD): Likewise.
21699         * modules/unistdio/ulc-vsnprintf-tests
21700         (test_ulc_vsnprintf1_LDADD): Likewise.
21701         * modules/unistdio/ulc-vsprintf-tests
21702         (test_ulc_vsprintf1_LDADD): Likewise.
21703
21704         Fix linking of some uniconv tests on FreeBSD.
21705         * modules/uniconv/u16-conv-from-enc-tests
21706         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
21707         * modules/uniconv/u16-conv-to-enc-tests
21708         (test_u16_conv_to_enc_LDADD): Likewise.
21709         * modules/uniconv/u16-strconv-from-enc-tests
21710         (test_u16_strconv_from_enc_LDADD): Likewise.
21711         * modules/uniconv/u16-strconv-to-enc-tests
21712         (test_u16_strconv_to_enc_LDADD): Likewise.
21713         * modules/uniconv/u32-conv-from-enc-tests
21714         (test_u32_conv_from_enc_LDADD): Likewise.
21715         * modules/uniconv/u32-conv-to-enc-tests
21716         (test_u32_conv_to_enc_LDADD): Likewise.
21717         * modules/uniconv/u32-strconv-from-enc-tests
21718         (test_u32_strconv_from_enc_LDADD): Likewise.
21719         * modules/uniconv/u32-strconv-to-enc-tests
21720         (test_u32_strconv_to_enc_LDADD): Likewise.
21721         * modules/uniconv/u8-conv-from-enc-tests
21722         (test_u8_conv_from_enc_LDADD): Likewise.
21723         * modules/uniconv/u8-conv-to-enc-tests
21724         (test_u8_conv_to_enc_LDADD): Likewise.
21725         * modules/uniconv/u8-strconv-from-enc-tests
21726         (test_u8_strconv_from_enc_LDADD): Likewise.
21727         * modules/uniconv/u8-strconv-to-enc-tests
21728         (test_u8_strconv_to_enc_LDADD): Likewise.
21729
21730 2007-10-22  Bruno Haible  <bruno@clisp.org>
21731
21732         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
21733         size.
21734
21735 2007-10-22  Eric Blake  <ebb9@byu.net>
21736
21737         Tweak x*printf documentation.
21738         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
21739         variable name and comments.
21740         Suggested by Bruno Haible.
21741
21742 2007-10-22  Bruno Haible  <bruno@clisp.org>
21743
21744         * lib/acl.c (copy_acl): Fix file name in comment.
21745
21746 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21747
21748         Fix Tru64 problem with stdbool.h.
21749         * lib/stdbool.in.h (false, true):
21750         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
21751         Don't declare as an enum in this situation; it runs afoul of Tru64.
21752         Problem reported by Steven M. Schweda in
21753         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
21754
21755 2007-10-22  Eric Blake  <ebb9@byu.net>
21756
21757         Also wrap vf?printf.
21758         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
21759         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
21760         (xvprintf, xvfprintf): New functions.
21761
21762 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21763
21764         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
21765         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
21766
21767         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
21768         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
21769
21770 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21771
21772         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
21773         by Bruno Haible.
21774
21775 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21776
21777         * lib/getloadavg.c
21778         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
21779         Undef `sys' after including sys/table.h, for Tru64 4.0D.
21780
21781         * tests/test-i-ring.c: Work for C89.
21782
21783 2007-10-22  Bruno Haible  <bruno@clisp.org>
21784
21785         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
21786         -1u, in preprocessor expression, so that we don't test for the bug
21787         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
21788         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
21789
21790 2007-10-22  Eric Blake  <ebb9@byu.net>
21791
21792         * tests/test-yesno.sh: Silence stderr during test.
21793
21794 2007-10-22  Simon Josefsson  <simon@josefsson.org>
21795
21796         * modules/crypto/gc-camellia: New file.
21797
21798         * m4/gc-camellia.m4: New file.
21799
21800         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
21801
21802         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
21803
21804 2007-10-22  Simon Josefsson  <simon@josefsson.org>
21805
21806         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
21807         --help to stdout.  Reported by sms@antinode.org (Steven
21808         M. Schweda).
21809
21810 2007-10-22  Simon Josefsson  <simon@josefsson.org>
21811
21812         * users.txt: Fix link to libksba.
21813
21814 2007-10-21  Ben Pfaff  <blp@gnu.org>
21815
21816         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
21817         round.c roundf implementation that depends on floorf and ceilf to
21818         be tested unconditionally.
21819
21820 2007-10-21  Ben Pfaff  <blp@gnu.org>
21821
21822         * m4/check-libm-func.m4: Removed.
21823         * m4/check-math-lib.m4: New file.
21824         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
21825         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
21826         definition and lack of AC_LIBOBJ([roundf]).
21827         * m4/roundl.m4: Ditto, and similarly for roundl.
21828         * modules/round: Reference new m4 file.
21829         * modules/roundf: Ditto.
21830         * modules/roundl: Ditto.
21831         * tests/test-round2.c (main): Use ROUND instead of round.
21832         Bug report from Bruno Haible.
21833
21834 2007-10-21  Bruno Haible  <bruno@clisp.org>
21835
21836         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
21837         context.
21838
21839 2007-10-21  Bruno Haible  <bruno@clisp.org>
21840
21841         * tests/test-wcwidth.c (main): Allow negative result for some control
21842         characters.
21843
21844         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
21845         Needed on OSF/1 5.1.
21846
21847 2007-10-21  Bruno Haible  <bruno@clisp.org>
21848
21849         * tests/test-floorf1.c: Include isnanf.h.
21850         (main): Use isnanf() instead of isnan().
21851         * tests/test-ceilf1.c: Include isnanf.h.
21852         (main): Use isnanf() instead of isnan().
21853         * tests/test-truncf1.c: Include isnanf.h.
21854         (main): Use isnanf() instead of isnan().
21855         * tests/test-roundf1.c: Include isnanf.h.
21856         (main): Use isnanf() instead of isnan().
21857
21858 2007-10-21  Eric Blake  <ebb9@byu.net>
21859
21860         * users.txt: Update URL for m4.
21861
21862 2007-10-21  Bruno Haible  <bruno@clisp.org>
21863
21864         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
21865
21866 2007-10-21  Bruno Haible  <bruno@clisp.org>
21867
21868         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
21869         Git's management files if the CVS files are not present.
21870
21871 2007-10-20  Bruno Haible  <bruno@clisp.org>
21872
21873         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
21874         gcc-3.4.x.
21875
21876 2007-10-20  Ben Pfaff  <blp@gnu.org>
21877
21878         * lib/math.in.h: Declare round, roundf, roundl if we are providing
21879         implementations.
21880         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
21881         * lib/round.c: New file.
21882         * lib/roundf.c: New file.
21883         * lib/roundl.c: New file.
21884         * m4/round.m4: New file.
21885         * m4/roundf.m4: New file.
21886         * m4/roundl.m4: New file.
21887         * m4/check-libm-func-m4: New file.
21888         * modules/math: Replace round, roundf, roundl related @VARS@ in
21889         math.in.h.
21890         * modules/round: New file.
21891         * modules/round-tests: New file.
21892         * modules/roundf: New file.
21893         * modules/roundf-tests: New file.
21894         * modules/roundl: New file.
21895         * modules/roundl-tests: New file.
21896         * tests/test-round1.c: New file.
21897         * tests/test-round2.c: New file.
21898         * tests/test-roundf1.c: New file.
21899         * tests/test-roundf2.c: New file.
21900         * tests/test-roundl.c: New file.
21901         * doc/functions/round.texi: Mention round module.
21902         * doc/functions/roundf.texi: Mention roundf module.
21903         * doc/functions/roundl.texi: Mention roundl module.
21904         * MODULES.html.sh: Mention new modules.
21905         Thanks to Bruno Haible for suggestions.
21906
21907 2007-10-20  Jim Meyering  <meyering@redhat.com>
21908
21909         * lib/xprintf.c: Include <config.h> unconditionally.
21910
21911         Change xprintf's license to GPL.
21912         * modules/xprintf (License): s/LGPL/GPL/, since this module
21913         depends on modules (exit and exitfail) which are GPL.
21914         Suggestion from Bruno Haible.
21915
21916         xprintf fixes.
21917         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
21918         Use a clearer diagnostic.
21919         Patch from Bruno Haible.
21920
21921 2007-10-20  Bruno Haible  <bruno@clisp.org>
21922
21923         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
21924         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
21925         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21926
21927 2007-10-20  Bruno Haible  <bruno@clisp.org>
21928
21929         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
21930         precision in the comparison result > x - 1 or similar.
21931         * tests/test-ceilf2.c (correct_result_p): Likewise.
21932         * tests/test-truncf2.c (correct_result_p): Likewise.
21933         * tests/test-trunc2.c (correct_result_p): Likewise.
21934         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21935
21936 2007-10-20  Bruno Haible  <bruno@clisp.org>
21937
21938         * modules/ceil: New file.
21939         * m4/ceil.m4: New file.
21940         * doc/functions/ceil.texi: Mention the 'ceil' module.
21941
21942 2007-10-20  Bruno Haible  <bruno@clisp.org>
21943
21944         * modules/floor: New file.
21945         * m4/floor.m4: New file.
21946         * doc/functions/floor.texi: Mention the 'floor' module.
21947
21948 2007-10-20  Bruno Haible  <bruno@clisp.org>
21949
21950         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
21951         of %a.
21952         * modules/floorf-tests (Depends-on): Likewise.
21953         * modules/truncf-tests (Depends-on): Likewise.
21954         * modules/trunc-tests (Depends-on): Likewise.
21955         Reported by Ben Pfaff.
21956
21957 2007-10-19  Jim Meyering  <meyering@redhat.com>
21958
21959         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
21960         Don't bother testing specific errno values.  Just test ferror.
21961
21962         New module: xprintf
21963         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
21964
21965 2007-10-19  Bruno Haible  <bruno@clisp.org>
21966
21967         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
21968         syntax.
21969         * modules/javaexec (Makefile.am): Likewise.
21970         * modules/relocatable-prog (Makefile.am): Likewise.
21971         Suggested by Jim Meyering.
21972
21973 2007-10-18  Bruno Haible  <bruno@clisp.org>
21974
21975         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
21976         Reported by Jim Meyering.
21977
21978 2007-10-18  Eric Blake  <ebb9@byu.net>
21979
21980         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
21981
21982 2007-10-18  Bruno Haible  <bruno@clisp.org>
21983
21984         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
21985         the format string into writable memory. Needed in Fortify conditions.
21986
21987 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
21988             Bruno Haible  <bruno@clisp.org>
21989
21990         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
21991         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
21992         * modules/trim (Depends-on): Add mbchar.
21993         (configure.ac): Add gl_FUNC_MBRTOWC.
21994         (Makefile.am): Augment lib_SOURCES.
21995
21996 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
21997
21998         Modify glob.c to use fstatat and dirfd, to simplify it.
21999         Suggested by Eric Blake.
22000         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
22001         Don't include <stdbool.h>; not used.
22002         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
22003         (link_exists_p): Simplify implementation, since we can now assume
22004         dirfd and fstatat.
22005         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
22006
22007 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22008
22009         * gnulib-tool (func_get_dependencies): Fix sed script to
22010         match only tests.
22011
22012 2007-10-17  Bruno Haible  <bruno@clisp.org>
22013
22014         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
22015         allow locale names without encoding suffix.
22016         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22017         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22018
22019 2007-10-16  Bruno Haible  <bruno@clisp.org>
22020
22021         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
22022         * lib/getgroups.c (getgroups): Likewise.
22023         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
22024
22025 2007-10-16  Bruno Haible  <bruno@clisp.org>
22026
22027         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
22028         * modules/malloc-posix (License): Likewise.
22029         * modules/realloc-posix (License): Likewise.
22030         * modules/calloc-posix (License): Likewise.
22031         * modules/intprops (License): Change from GPL to LGPL, with
22032         Paul Eggert's approval.
22033
22034 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22035
22036         Merge glibc changes into lib/glob.c.
22037
22038         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
22039         2007-10-15 04:59:03 UTC.  Here are the changes:
22040
22041         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
22042
22043         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
22044
22045         * lib/glob.c: Add some branch prediction throughout.
22046
22047         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
22048
22049         [BZ #5103]
22050         * lib/glob.c (glob): Recognize patterns starting \/.
22051
22052         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
22053
22054         [BZ #3996]
22055         * lib/glob.c (attribute_hidden): Define if not defined.
22056         (glob): Unescape dirname, filename or username when needed and not
22057         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
22058         is NULL.  Handle unescaped [ in pattern without closing ].
22059         Don't pass GLOB_CHECK down to recursive glob for directories.
22060         (__glob_pattern_type): New function.
22061         (__glob_pattern_p): Implement using __glob_pattern_type.
22062         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
22063         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
22064         Remove unreachable code.
22065
22066         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
22067
22068         * lib/glob.c (glob_in_dir): Add some comments and asserts to
22069         explain why there are no leaks.
22070
22071         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
22072
22073         [BZ #3253]
22074         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
22075         time, rather allocate increasingly bigger arrays of pointers, if
22076         possible with alloca, if too large with malloc.
22077
22078 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22079
22080         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
22081         Problem reported by H.Merijn Brand in
22082         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
22083         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
22084         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
22085
22086 2007-10-15  Bruno Haible  <bruno@clisp.org>
22087
22088         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
22089         with explicit rpl_ prefix.
22090         * lib/fopen.c (fopen): Likewise.
22091         * lib/freopen.c (freopen): Likewise.
22092         * lib/iconv.c (iconv): Likewise.
22093         * lib/iconv_close.c (iconv_close): Likewise.
22094
22095 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22096
22097         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
22098
22099 2007-10-15  Bruno Haible  <bruno@clisp.org>
22100
22101         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
22102         <stddef.h> instead of <stdlib.h> since we only need NULL.
22103         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22104
22105 2007-10-15  Bruno Haible  <bruno@clisp.org>
22106
22107         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
22108         Replace paragraph talking about LIBOBJS.
22109         Reported by Colin Watson <cjwatson@debian.org>.
22110
22111 2007-10-15  Bruno Haible  <bruno@clisp.org>
22112
22113         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
22114         <stdlib.h> before using NULL.
22115
22116 2007-10-15  Simon Josefsson  <simon@josefsson.org>
22117
22118         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
22119         Reported by Albert Chin <china@thewrittenword.com>.
22120
22121 2007-10-14  Bruno Haible  <bruno@clisp.org>
22122
22123         * modules/iconv_open-utf-tests: New file.
22124         * tests/test-iconv-utf.c: New file.
22125
22126         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
22127         * modules/iconv_open-utf: New file.
22128         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
22129         (iconv, iconv_close): New declarations.
22130         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
22131         be defined.
22132         (iconv_open): Add special handling of conversion between UTF-8 and
22133         UTF-{16,32}{BE,LE}.
22134         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
22135         * lib/iconv_close.c: New file.
22136         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
22137         gl_FUNC_ICONV_OPEN.
22138         (gl_FUNC_ICONV_OPEN): Use it.
22139         (gl_FUNC_ICONV_OPEN_UTF): New macro.
22140         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
22141         and REPLACE_ICONV_UTF.
22142         * modules/iconv_open (Depends-on): Add c-strcase.
22143         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
22144         ICONV_CONST.
22145         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
22146
22147 2007-10-13  Albert Chin  <china@thewrittenword.com>
22148             Bruno Haible  <bruno@clisp.org>
22149
22150         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
22151         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
22152
22153 2007-10-13  Bruno Haible  <bruno@clisp.org>
22154
22155         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
22156         defined, use the ISO C99 inline semantics.
22157         * lib/argp.h (ARGP_EI): Likewise.
22158
22159 2007-10-13  Bruno Haible  <bruno@clisp.org>
22160
22161         Handle 'inline' change in gcc 4.3.0.
22162         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
22163         argp_fmtstream_write, argp_fmtstream_set_lmargin,
22164         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
22165         argp_fmtstream_point): Disable 'extern' declaration if the function
22166         definition is going to be provided inline.
22167         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
22168         semantics, not the ISO C99 inline semantics.
22169         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
22170         'extern' declaration if the function definition is going to be provided
22171         inline.
22172         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
22173         the GNU C inline semantics, not the ISO C99 inline semantics. With
22174         GCC 4.2, avoid a warning.
22175
22176 2007-10-13  Bruno Haible  <bruno@clisp.org>
22177
22178         * lib/freading.h (freading): Enable the use of __freading for
22179         glibc >= 2.7.
22180         * lib/freading.c (freading): Likewise.
22181
22182 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
22183
22184         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
22185         "warning: C99 inline functions are not supported; using GNU89".
22186
22187 2007-10-12  Bruno Haible  <bruno@clisp.org>
22188
22189         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
22190         of 2.
22191         * tests/test-ceilf2.c: New file.
22192         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
22193
22194         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
22195         * modules/ceilf-tests: Update.
22196
22197 2007-10-12  Bruno Haible  <bruno@clisp.org>
22198
22199         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
22200         of 2.
22201         * tests/test-floorf2.c: New file.
22202         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
22203
22204         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
22205         * modules/floorf-tests: Update.
22206
22207 2007-10-12  Bruno Haible  <bruno@clisp.org>
22208
22209         * tests/test-trunc2.c: New file.
22210         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
22211
22212         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
22213         * modules/trunc-tests: Update.
22214
22215 2007-10-12  Bruno Haible  <bruno@clisp.org>
22216
22217         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
22218         of 2.
22219         * tests/test-truncf2.c: New file.
22220         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
22221
22222         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
22223         * modules/truncf-tests: Update.
22224
22225 2007-10-11  Eric Blake  <ebb9@byu.net>
22226
22227         Don't claim strerror is broken on Interix.
22228         * doc/functions/strerror.texi (strerror): Known broken systems are
22229         now Solaris 8, and not Interix.
22230         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
22231         Interix on cross-compile.
22232         Reported by Martin Koeppe in
22233         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
22234
22235 2007-10-11  Bruno Haible  <bruno@clisp.org>
22236
22237         * modules/i-ring-tests: New file.
22238         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
22239         instead of assert.
22240
22241 2007-10-11  Bruno Haible  <bruno@clisp.org>
22242
22243         * modules/filenamecat-tests: New file.
22244         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
22245         * lib/filenamecat.c: Remove test code.
22246
22247 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22248
22249         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
22250
22251         * lib/strerror.c: Include <string.h> always, to test interface,
22252         and to remove the need for the dummy.
22253         Include intprops.h to compute width instead of doing it ourselves
22254         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
22255         (strerror): Define it to return NULL if there's no system strerror.
22256         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
22257         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
22258         ancient pre-strerror Unix systems well any more.  Saying "unknown
22259         system error" is enough.
22260         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
22261         simpler strerror.c implementation.
22262         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
22263         Simplify the tests to reflect the simpler strerror implementation.
22264         * modules/strerror (Depends-on): Add intprops.
22265
22266 2007-10-09  Eric Blake  <ebb9@byu.net>
22267
22268         Silence test-fpending.
22269         * modules/fpending-tests (Files): Add wrapper script.
22270         * tests/test-fpending.sh: New file.
22271
22272 2007-10-09  Bruno Haible  <bruno@clisp.org>
22273
22274         * MODULES.html.sh (func_module): Don't create a hyperlink for
22275         function names like 'printf_frexp'.
22276         (Misc): Add crc, memxor.
22277         (Characteristics of floating types): New section.
22278         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
22279         isnanf-nolibm, signbit, trunc, truncf, truncl.
22280         (Enhancements for ISO C 99 functions): New subsection Input/output.
22281         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
22282         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
22283         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
22284         (Compatibility checks for POSIX:2001 functions): Add clock-time.
22285         (Enhancements for POSIX:2001 functions): Add chdir-long.
22286         (File system functions): Add areadlink, chdir-safer, read-file.
22287         Remove cycle-check.
22288         (File system as inode set): New section.
22289         (Date and time): Add gethrxtime.
22290         (Multithreading): Add openmp.
22291         (Internationalization functions): Add localename.
22292         (Unicode string functions): Add unistr/u*-mbsnlen.
22293         (Support for maintaining and releasing projects): Add git-version-gen.
22294         (Lone files): Remove directories.
22295
22296 2007-10-08  Ben Pfaff  <blp@gnu.org>
22297
22298         * lib/xmalloca.h: Fix typo in comment.
22299
22300 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
22301
22302         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
22303         when avoiding problems with integer overflow.  Use a portable test
22304         instead.
22305
22306 2007-10-08  Simon Josefsson  <simon@josefsson.org>
22307
22308         * modules/dummy (License): Change to LGPLv2+.
22309         * modules/float (License): Likewise
22310         * modules/realloc (License): Likewise
22311         * modules/stdlib (License): Likewise
22312
22313 2007-10-07  Bruno Haible  <bruno@clisp.org>
22314
22315         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
22316         * floor.c (TWO_MANT_DIG): Likewise.
22317         * ceil.c (TWO_MANT_DIG): Likewise.
22318         Reported by Ben Pfaff.
22319
22320 2007-10-07  Bruno Haible  <bruno@clisp.org>
22321
22322         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
22323         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
22324         * lib/frexp.c (FUNC): Likewise.
22325         * lib/printf-frexp.h (printf_frexp): Likewise.
22326         * lib/printf-frexpl.h (printf_frexpl): Likewise.
22327         * lib/printf-frexp.c (FUNC): Likewise.
22328         Suggested by Jim Meyering.
22329
22330 2007-10-07  Jim Meyering  <meyering@redhat.com>
22331
22332         Make xnanosleep's integer overflow test more robust.
22333         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
22334         so that gcc-4.3.0 doesn't optimize away this test for overflow.
22335
22336 2007-10-07  Bruno Haible  <bruno@clisp.org>
22337
22338         * NEWS: Mention the license change.
22339
22340         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
22341         abbreviations in the modules files.
22342
22343         Change copyright notice from GPLv2+ to GPLv3+.
22344         * README: Change copyright notice.
22345         * MODULES.html.sh: Likewise.
22346         * build-aux/bootstrap.conf: Likewise.
22347         * build-aux/config.libpath: Likewise.
22348         * build-aux/csharpcomp.sh.in: Likewise.
22349         * build-aux/csharpexec.sh.in: Likewise.
22350         * build-aux/install-reloc: Likewise.
22351         * build-aux/javacomp.sh.in: Likewise.
22352         * build-aux/javaexec.sh.in: Likewise.
22353         * build-aux/ldd.sh.in: Likewise.
22354         * build-aux/reloc-ldflags: Likewise.
22355         * build-aux/relocatable.sh.in: Likewise.
22356         * build-aux/x-to-1.in: Likewise.
22357         * check-module: Likewise.
22358         * config/srclistvars.sh: Likewise.
22359         * gnulib-tool: Likewise.
22360         * lib/acl-internal.h: Likewise.
22361         * lib/acl.c: Likewise.
22362         * lib/acl.h: Likewise.
22363         * lib/acl_entries.c: Likewise.
22364         * lib/areadlink-with-size.c: Likewise.
22365         * lib/areadlink.c: Likewise.
22366         * lib/areadlink.h: Likewise.
22367         * lib/argmatch.c: Likewise.
22368         * lib/argmatch.h: Likewise.
22369         * lib/argp-ba.c: Likewise.
22370         * lib/argp-eexst.c: Likewise.
22371         * lib/argp-fmtstream.c: Likewise.
22372         * lib/argp-fmtstream.h: Likewise.
22373         * lib/argp-fs-xinl.c: Likewise.
22374         * lib/argp-help.c: Likewise.
22375         * lib/argp-namefrob.h: Likewise.
22376         * lib/argp-parse.c: Likewise.
22377         * lib/argp-pin.c: Likewise.
22378         * lib/argp-pv.c: Likewise.
22379         * lib/argp-pvh.c: Likewise.
22380         * lib/argp-xinl.c: Likewise.
22381         * lib/argp.h: Likewise.
22382         * lib/at-func.c: Likewise.
22383         * lib/atanl.c: Likewise.
22384         * lib/backupfile.c: Likewise.
22385         * lib/backupfile.h: Likewise.
22386         * lib/basename.c: Likewise.
22387         * lib/binary-io.h: Likewise.
22388         * lib/byteswap.in.h: Likewise.
22389         * lib/c-stack.c: Likewise.
22390         * lib/c-stack.h: Likewise.
22391         * lib/c-strcasestr.c: Likewise.
22392         * lib/c-strcasestr.h: Likewise.
22393         * lib/c-strstr.c: Likewise.
22394         * lib/c-strstr.h: Likewise.
22395         * lib/c-strtod.c: Likewise.
22396         * lib/calloc.c: Likewise.
22397         * lib/canon-host.c: Likewise.
22398         * lib/canon-host.h: Likewise.
22399         * lib/canonicalize-lgpl.c: Likewise.
22400         * lib/canonicalize.c: Likewise.
22401         * lib/canonicalize.h: Likewise.
22402         * lib/ceil.c: Likewise.
22403         * lib/ceilf.c: Likewise.
22404         * lib/ceill.c: Likewise.
22405         * lib/chdir-long.c: Likewise.
22406         * lib/chdir-long.h: Likewise.
22407         * lib/chdir-safer.c: Likewise.
22408         * lib/chdir-safer.h: Likewise.
22409         * lib/chown.c: Likewise.
22410         * lib/classpath.c: Likewise.
22411         * lib/classpath.h: Likewise.
22412         * lib/clean-temp.c: Likewise.
22413         * lib/clean-temp.h: Likewise.
22414         * lib/cloexec.c: Likewise.
22415         * lib/close-stream.c: Likewise.
22416         * lib/closein.c: Likewise.
22417         * lib/closein.h: Likewise.
22418         * lib/closeout.c: Likewise.
22419         * lib/closeout.h: Likewise.
22420         * lib/concat-filename.c: Likewise.
22421         * lib/copy-file.c: Likewise.
22422         * lib/copy-file.h: Likewise.
22423         * lib/count-one-bits.h: Likewise.
22424         * lib/crc.c: Likewise.
22425         * lib/crc.h: Likewise.
22426         * lib/creat-safer.c: Likewise.
22427         * lib/csharpcomp.c: Likewise.
22428         * lib/csharpcomp.h: Likewise.
22429         * lib/csharpexec.c: Likewise.
22430         * lib/csharpexec.h: Likewise.
22431         * lib/cycle-check.c: Likewise.
22432         * lib/cycle-check.h: Likewise.
22433         * lib/diacrit.c: Likewise.
22434         * lib/diacrit.h: Likewise.
22435         * lib/diffseq.h: Likewise.
22436         * lib/dirchownmod.c: Likewise.
22437         * lib/dirent.in.h: Likewise.
22438         * lib/dirfd.c: Likewise.
22439         * lib/dirfd.h: Likewise.
22440         * lib/dirname.c: Likewise.
22441         * lib/dirname.h: Likewise.
22442         * lib/dummy.c: Likewise.
22443         * lib/dup-safer.c: Likewise.
22444         * lib/dup2.c: Likewise.
22445         * lib/eealloc.h: Likewise.
22446         * lib/error.c: Likewise.
22447         * lib/error.h: Likewise.
22448         * lib/euidaccess.c: Likewise.
22449         * lib/exclude.c: Likewise.
22450         * lib/exclude.h: Likewise.
22451         * lib/execute.c: Likewise.
22452         * lib/execute.h: Likewise.
22453         * lib/exitfail.c: Likewise.
22454         * lib/exitfail.h: Likewise.
22455         * lib/expl.c: Likewise.
22456         * lib/fatal-signal.c: Likewise.
22457         * lib/fatal-signal.h: Likewise.
22458         * lib/fbufmode.c: Likewise.
22459         * lib/fbufmode.h: Likewise.
22460         * lib/fchdir.c: Likewise.
22461         * lib/fchmodat.c: Likewise.
22462         * lib/fchownat.c: Likewise.
22463         * lib/fcntl--.h: Likewise.
22464         * lib/fcntl-safer.h: Likewise.
22465         * lib/fcntl.in.h: Likewise.
22466         * lib/fd-safer.c: Likewise.
22467         * lib/fflush.c: Likewise.
22468         * lib/file-has-acl.c: Likewise.
22469         * lib/file-set.c: Likewise.
22470         * lib/file-type.c: Likewise.
22471         * lib/file-type.h: Likewise.
22472         * lib/fileblocks.c: Likewise.
22473         * lib/filemode.c: Likewise.
22474         * lib/filemode.h: Likewise.
22475         * lib/filename.h: Likewise.
22476         * lib/filenamecat.c: Likewise.
22477         * lib/filenamecat.h: Likewise.
22478         * lib/findprog.c: Likewise.
22479         * lib/findprog.h: Likewise.
22480         * lib/float.in.h: Likewise.
22481         * lib/floor.c: Likewise.
22482         * lib/floorf.c: Likewise.
22483         * lib/floorl.c: Likewise.
22484         * lib/fopen-safer.c: Likewise.
22485         * lib/fopen.c: Likewise.
22486         * lib/fpending.c: Likewise.
22487         * lib/fpending.h: Likewise.
22488         * lib/fprintf.c: Likewise.
22489         * lib/fprintftime.h: Likewise.
22490         * lib/fpucw.h: Likewise.
22491         * lib/fpurge.c: Likewise.
22492         * lib/fpurge.h: Likewise.
22493         * lib/freadable.c: Likewise.
22494         * lib/freadable.h: Likewise.
22495         * lib/freadahead.c: Likewise.
22496         * lib/freadahead.h: Likewise.
22497         * lib/freading.c: Likewise.
22498         * lib/freading.h: Likewise.
22499         * lib/free.c: Likewise.
22500         * lib/freopen.c: Likewise.
22501         * lib/frexp.c: Likewise.
22502         * lib/frexpl.c: Likewise.
22503         * lib/fseek.c: Likewise.
22504         * lib/fseterr.c: Likewise.
22505         * lib/fseterr.h: Likewise.
22506         * lib/fstatat.c: Likewise.
22507         * lib/fstrcmp.c: Likewise.
22508         * lib/fstrcmp.h: Likewise.
22509         * lib/fsusage.c: Likewise.
22510         * lib/fsusage.h: Likewise.
22511         * lib/ftell.c: Likewise.
22512         * lib/ftello.c: Likewise.
22513         * lib/fts-cycle.c: Likewise.
22514         * lib/fts.c: Likewise.
22515         * lib/fts_.h: Likewise.
22516         * lib/full-read.c: Likewise.
22517         * lib/full-read.h: Likewise.
22518         * lib/full-write.c: Likewise.
22519         * lib/full-write.h: Likewise.
22520         * lib/fwritable.c: Likewise.
22521         * lib/fwritable.h: Likewise.
22522         * lib/fwriteerror.c: Likewise.
22523         * lib/fwriteerror.h: Likewise.
22524         * lib/fwriting.c: Likewise.
22525         * lib/fwriting.h: Likewise.
22526         * lib/gcd.c: Likewise.
22527         * lib/gcd.h: Likewise.
22528         * lib/getcwd.c: Likewise.
22529         * lib/getdate.h: Likewise.
22530         * lib/getdate.y: Likewise.
22531         * lib/getdomainname.c: Likewise.
22532         * lib/getdomainname.h: Likewise.
22533         * lib/getgroups.c: Likewise.
22534         * lib/gethostname.c: Likewise.
22535         * lib/gethrxtime.c: Likewise.
22536         * lib/gethrxtime.h: Likewise.
22537         * lib/getloadavg.c: Likewise.
22538         * lib/getndelim2.c: Likewise.
22539         * lib/getndelim2.h: Likewise.
22540         * lib/getnline.c: Likewise.
22541         * lib/getnline.h: Likewise.
22542         * lib/getopt.c: Likewise.
22543         * lib/getopt.in.h: Likewise.
22544         * lib/getopt1.c: Likewise.
22545         * lib/getopt_int.h: Likewise.
22546         * lib/getpagesize.h: Likewise.
22547         * lib/getsubopt.c: Likewise.
22548         * lib/gettime.c: Likewise.
22549         * lib/getugroups.c: Likewise.
22550         * lib/getugroups.h: Likewise.
22551         * lib/getusershell.c: Likewise.
22552         * lib/gl_anyavltree_list1.h: Likewise.
22553         * lib/gl_anyavltree_list2.h: Likewise.
22554         * lib/gl_anyhash_list1.h: Likewise.
22555         * lib/gl_anyhash_list2.h: Likewise.
22556         * lib/gl_anylinked_list1.h: Likewise.
22557         * lib/gl_anylinked_list2.h: Likewise.
22558         * lib/gl_anyrbtree_list1.h: Likewise.
22559         * lib/gl_anyrbtree_list2.h: Likewise.
22560         * lib/gl_anytree_list1.h: Likewise.
22561         * lib/gl_anytree_list2.h: Likewise.
22562         * lib/gl_anytree_oset.h: Likewise.
22563         * lib/gl_anytreehash_list1.h: Likewise.
22564         * lib/gl_anytreehash_list2.h: Likewise.
22565         * lib/gl_array_list.c: Likewise.
22566         * lib/gl_array_list.h: Likewise.
22567         * lib/gl_array_oset.c: Likewise.
22568         * lib/gl_array_oset.h: Likewise.
22569         * lib/gl_avltree_list.c: Likewise.
22570         * lib/gl_avltree_list.h: Likewise.
22571         * lib/gl_avltree_oset.c: Likewise.
22572         * lib/gl_avltree_oset.h: Likewise.
22573         * lib/gl_avltreehash_list.c: Likewise.
22574         * lib/gl_avltreehash_list.h: Likewise.
22575         * lib/gl_carray_list.c: Likewise.
22576         * lib/gl_carray_list.h: Likewise.
22577         * lib/gl_linked_list.c: Likewise.
22578         * lib/gl_linked_list.h: Likewise.
22579         * lib/gl_linkedhash_list.c: Likewise.
22580         * lib/gl_linkedhash_list.h: Likewise.
22581         * lib/gl_list.c: Likewise.
22582         * lib/gl_list.h: Likewise.
22583         * lib/gl_oset.c: Likewise.
22584         * lib/gl_oset.h: Likewise.
22585         * lib/gl_rbtree_list.c: Likewise.
22586         * lib/gl_rbtree_list.h: Likewise.
22587         * lib/gl_rbtree_oset.c: Likewise.
22588         * lib/gl_rbtree_oset.h: Likewise.
22589         * lib/gl_rbtreehash_list.c: Likewise.
22590         * lib/gl_rbtreehash_list.h: Likewise.
22591         * lib/gl_sublist.c: Likewise.
22592         * lib/gl_sublist.h: Likewise.
22593         * lib/group-member.c: Likewise.
22594         * lib/group-member.h: Likewise.
22595         * lib/hard-locale.c: Likewise.
22596         * lib/hard-locale.h: Likewise.
22597         * lib/hash-pjw.c: Likewise.
22598         * lib/hash-pjw.h: Likewise.
22599         * lib/hash-triple.c: Likewise.
22600         * lib/hash.c: Likewise.
22601         * lib/hash.h: Likewise.
22602         * lib/human.c: Likewise.
22603         * lib/human.h: Likewise.
22604         * lib/i-ring.c: Likewise.
22605         * lib/i-ring.h: Likewise.
22606         * lib/idcache.c: Likewise.
22607         * lib/imaxabs.c: Likewise.
22608         * lib/imaxdiv.c: Likewise.
22609         * lib/inet_pton.c: Likewise.
22610         * lib/inet_pton.h: Likewise.
22611         * lib/intprops.h: Likewise.
22612         * lib/inttostr.c: Likewise.
22613         * lib/inttostr.h: Likewise.
22614         * lib/inttypes.in.h: Likewise.
22615         * lib/isapipe.c: Likewise.
22616         * lib/isdir.c: Likewise.
22617         * lib/isnan.c: Likewise.
22618         * lib/isnan.h: Likewise.
22619         * lib/isnanf.c: Likewise.
22620         * lib/isnanf.h: Likewise.
22621         * lib/isnanl-nolibm.h: Likewise.
22622         * lib/isnanl.c: Likewise.
22623         * lib/isnanl.h: Likewise.
22624         * lib/javacomp.c: Likewise.
22625         * lib/javacomp.h: Likewise.
22626         * lib/javaexec.c: Likewise.
22627         * lib/javaexec.h: Likewise.
22628         * lib/javaversion.c: Likewise.
22629         * lib/javaversion.h: Likewise.
22630         * lib/javaversion.java: Likewise.
22631         * lib/lbrkprop.h: Likewise.
22632         * lib/lchmod.h: Likewise.
22633         * lib/lchown.c: Likewise.
22634         * lib/ldexpl.c: Likewise.
22635         * lib/linebreak.c: Likewise.
22636         * lib/linebreak.h: Likewise.
22637         * lib/linebuffer.c: Likewise.
22638         * lib/linebuffer.h: Likewise.
22639         * lib/locale.in.h: Likewise.
22640         * lib/logl.c: Likewise.
22641         * lib/long-options.c: Likewise.
22642         * lib/long-options.h: Likewise.
22643         * lib/lstat.c: Likewise.
22644         * lib/lstat.h: Likewise.
22645         * lib/math.in.h: Likewise.
22646         * lib/mbchar.c: Likewise.
22647         * lib/mbchar.h: Likewise.
22648         * lib/mbfile.h: Likewise.
22649         * lib/mbiter.h: Likewise.
22650         * lib/mbscasecmp.c: Likewise.
22651         * lib/mbscasestr.c: Likewise.
22652         * lib/mbschr.c: Likewise.
22653         * lib/mbscspn.c: Likewise.
22654         * lib/mbslen.c: Likewise.
22655         * lib/mbsncasecmp.c: Likewise.
22656         * lib/mbsnlen.c: Likewise.
22657         * lib/mbspbrk.c: Likewise.
22658         * lib/mbspcasecmp.c: Likewise.
22659         * lib/mbsrchr.c: Likewise.
22660         * lib/mbssep.c: Likewise.
22661         * lib/mbsspn.c: Likewise.
22662         * lib/mbsstr.c: Likewise.
22663         * lib/mbstok_r.c: Likewise.
22664         * lib/mbswidth.c: Likewise.
22665         * lib/mbswidth.h: Likewise.
22666         * lib/mbuiter.h: Likewise.
22667         * lib/memcasecmp.c: Likewise.
22668         * lib/memcasecmp.h: Likewise.
22669         * lib/memchr.c: Likewise.
22670         * lib/memcmp.c: Likewise.
22671         * lib/memcoll.c: Likewise.
22672         * lib/memcoll.h: Likewise.
22673         * lib/memcpy.c: Likewise.
22674         * lib/memrchr.c: Likewise.
22675         * lib/mkancesdirs.c: Likewise.
22676         * lib/mkdir-p.c: Likewise.
22677         * lib/mkdir-p.h: Likewise.
22678         * lib/mkdir.c: Likewise.
22679         * lib/mkdirat.c: Likewise.
22680         * lib/mkdtemp.c: Likewise.
22681         * lib/mkstemp-safer.c: Likewise.
22682         * lib/mkstemp.c: Likewise.
22683         * lib/modechange.c: Likewise.
22684         * lib/modechange.h: Likewise.
22685         * lib/mountlist.c: Likewise.
22686         * lib/mountlist.h: Likewise.
22687         * lib/mpsort.c: Likewise.
22688         * lib/nanosleep.c: Likewise.
22689         * lib/obstack.c: Likewise.
22690         * lib/obstack.h: Likewise.
22691         * lib/open-safer.c: Likewise.
22692         * lib/open.c: Likewise.
22693         * lib/openat-die.c: Likewise.
22694         * lib/openat-priv.h: Likewise.
22695         * lib/openat-proc.c: Likewise.
22696         * lib/openat.c: Likewise.
22697         * lib/openat.h: Likewise.
22698         * lib/pagealign_alloc.c: Likewise.
22699         * lib/pagealign_alloc.h: Likewise.
22700         * lib/physmem.c: Likewise.
22701         * lib/physmem.h: Likewise.
22702         * lib/pipe-safer.c: Likewise.
22703         * lib/pipe.c: Likewise.
22704         * lib/pipe.h: Likewise.
22705         * lib/posixtm.c: Likewise.
22706         * lib/posixtm.h: Likewise.
22707         * lib/posixver.c: Likewise.
22708         * lib/printf-frexp.c: Likewise.
22709         * lib/printf-frexp.h: Likewise.
22710         * lib/printf-frexpl.c: Likewise.
22711         * lib/printf-frexpl.h: Likewise.
22712         * lib/printf.c: Likewise.
22713         * lib/progname.c: Likewise.
22714         * lib/progname.h: Likewise.
22715         * lib/progreloc.c: Likewise.
22716         * lib/putenv.c: Likewise.
22717         * lib/quote.c: Likewise.
22718         * lib/quote.h: Likewise.
22719         * lib/quotearg.c: Likewise.
22720         * lib/quotearg.h: Likewise.
22721         * lib/raise.c: Likewise.
22722         * lib/readline.c: Likewise.
22723         * lib/readline.h: Likewise.
22724         * lib/readlink.c: Likewise.
22725         * lib/readtokens.c: Likewise.
22726         * lib/readtokens.h: Likewise.
22727         * lib/readtokens0.c: Likewise.
22728         * lib/readtokens0.h: Likewise.
22729         * lib/readutmp.c: Likewise.
22730         * lib/readutmp.h: Likewise.
22731         * lib/realloc.c: Likewise.
22732         * lib/relocwrapper.c: Likewise.
22733         * lib/rename-dest-slash.c: Likewise.
22734         * lib/rename.c: Likewise.
22735         * lib/rmdir.c: Likewise.
22736         * lib/rpmatch.c: Likewise.
22737         * lib/safe-read.c: Likewise.
22738         * lib/safe-read.h: Likewise.
22739         * lib/safe-write.c: Likewise.
22740         * lib/safe-write.h: Likewise.
22741         * lib/same-inode.h: Likewise.
22742         * lib/same.c: Likewise.
22743         * lib/same.h: Likewise.
22744         * lib/save-cwd.c: Likewise.
22745         * lib/save-cwd.h: Likewise.
22746         * lib/savedir.c: Likewise.
22747         * lib/savedir.h: Likewise.
22748         * lib/savewd.c: Likewise.
22749         * lib/savewd.h: Likewise.
22750         * lib/search.in.h: Likewise.
22751         * lib/setenv.c: Likewise.
22752         * lib/setenv.h: Likewise.
22753         * lib/settime.c: Likewise.
22754         * lib/sh-quote.c: Likewise.
22755         * lib/sh-quote.h: Likewise.
22756         * lib/sig2str.c: Likewise.
22757         * lib/sig2str.h: Likewise.
22758         * lib/signal.in.h: Likewise.
22759         * lib/signbitd.c: Likewise.
22760         * lib/signbitf.c: Likewise.
22761         * lib/signbitl.c: Likewise.
22762         * lib/sigprocmask.c: Likewise.
22763         * lib/sincosl.c: Likewise.
22764         * lib/sleep.c: Likewise.
22765         * lib/sprintf.c: Likewise.
22766         * lib/sqrtl.c: Likewise.
22767         * lib/stat-time.h: Likewise.
22768         * lib/stdio--.h: Likewise.
22769         * lib/stdio-safer.h: Likewise.
22770         * lib/stdlib--.h: Likewise.
22771         * lib/stdlib-safer.h: Likewise.
22772         * lib/stdlib.in.h: Likewise.
22773         * lib/stpcpy.c: Likewise.
22774         * lib/stpncpy.c: Likewise.
22775         * lib/strchrnul.c: Likewise.
22776         * lib/strcspn.c: Likewise.
22777         * lib/strerror.c: Likewise.
22778         * lib/strftime.c: Likewise.
22779         * lib/strftime.h: Likewise.
22780         * lib/striconveh.c: Likewise.
22781         * lib/striconveh.h: Likewise.
22782         * lib/striconveha.c: Likewise.
22783         * lib/striconveha.h: Likewise.
22784         * lib/stripslash.c: Likewise.
22785         * lib/strnlen1.c: Likewise.
22786         * lib/strnlen1.h: Likewise.
22787         * lib/strtod.c: Likewise.
22788         * lib/strtoimax.c: Likewise.
22789         * lib/strtok_r.c: Likewise.
22790         * lib/strtol.c: Likewise.
22791         * lib/strtoll.c: Likewise.
22792         * lib/strtoul.c: Likewise.
22793         * lib/strtoull.c: Likewise.
22794         * lib/sysexits.in.h: Likewise.
22795         * lib/tempname.c: Likewise.
22796         * lib/tempname.h: Likewise.
22797         * lib/timespec.h: Likewise.
22798         * lib/tls.c: Likewise.
22799         * lib/tls.h: Likewise.
22800         * lib/tmpdir.c: Likewise.
22801         * lib/tmpdir.h: Likewise.
22802         * lib/tmpfile-safer.c: Likewise.
22803         * lib/tmpfile.c: Likewise.
22804         * lib/trigl.c: Likewise.
22805         * lib/trigl.h: Likewise.
22806         * lib/trim.c: Likewise.
22807         * lib/trim.h: Likewise.
22808         * lib/trunc.c: Likewise.
22809         * lib/truncf.c: Likewise.
22810         * lib/truncl.c: Likewise.
22811         * lib/tsearch.c: Likewise.
22812         * lib/unicodeio.c: Likewise.
22813         * lib/unicodeio.h: Likewise.
22814         * lib/unistd--.h: Likewise.
22815         * lib/unistd-safer.h: Likewise.
22816         * lib/unistdio/ulc-fprintf.c: Likewise.
22817         * lib/unistdio/ulc-vfprintf.c: Likewise.
22818         * lib/unlinkdir.c: Likewise.
22819         * lib/unlinkdir.h: Likewise.
22820         * lib/unlocked-io.h: Likewise.
22821         * lib/unsetenv.c: Likewise.
22822         * lib/userspec.c: Likewise.
22823         * lib/utime.c: Likewise.
22824         * lib/utimecmp.c: Likewise.
22825         * lib/utimecmp.h: Likewise.
22826         * lib/utimens.c: Likewise.
22827         * lib/verify.h: Likewise.
22828         * lib/verror.c: Likewise.
22829         * lib/verror.h: Likewise.
22830         * lib/version-etc-fsf.c: Likewise.
22831         * lib/version-etc.c: Likewise.
22832         * lib/version-etc.h: Likewise.
22833         * lib/vfprintf.c: Likewise.
22834         * lib/vprintf.c: Likewise.
22835         * lib/vsprintf.c: Likewise.
22836         * lib/w32spawn.h: Likewise.
22837         * lib/wait-process.c: Likewise.
22838         * lib/wait-process.h: Likewise.
22839         * lib/wcwidth.c: Likewise.
22840         * lib/write-any-file.c: Likewise.
22841         * lib/xalloc-die.c: Likewise.
22842         * lib/xalloc.h: Likewise.
22843         * lib/xasprintf.c: Likewise.
22844         * lib/xgetcwd.c: Likewise.
22845         * lib/xgetcwd.h: Likewise.
22846         * lib/xgetdomainname.c: Likewise.
22847         * lib/xgetdomainname.h: Likewise.
22848         * lib/xgethostname.c: Likewise.
22849         * lib/xmalloc.c: Likewise.
22850         * lib/xmalloca.c: Likewise.
22851         * lib/xmalloca.h: Likewise.
22852         * lib/xmemcoll.c: Likewise.
22853         * lib/xnanosleep.c: Likewise.
22854         * lib/xreadlink.c: Likewise.
22855         * lib/xreadlink.h: Likewise.
22856         * lib/xsetenv.c: Likewise.
22857         * lib/xsetenv.h: Likewise.
22858         * lib/xstriconv.c: Likewise.
22859         * lib/xstriconv.h: Likewise.
22860         * lib/xstrndup.c: Likewise.
22861         * lib/xstrndup.h: Likewise.
22862         * lib/xstrtod.c: Likewise.
22863         * lib/xstrtod.h: Likewise.
22864         * lib/xstrtol-error.c: Likewise.
22865         * lib/xstrtol.c: Likewise.
22866         * lib/xstrtol.h: Likewise.
22867         * lib/xtime.h: Likewise.
22868         * lib/xvasprintf.c: Likewise.
22869         * lib/xvasprintf.h: Likewise.
22870         * lib/yesno.c: Likewise.
22871         * lib/yesno.h: Likewise.
22872         * posix-modules: Likewise.
22873         * tests/test-alloca-opt.c: Likewise.
22874         * tests/test-arcfour.c: Likewise.
22875         * tests/test-arctwo.c: Likewise.
22876         * tests/test-argmatch.c: Likewise.
22877         * tests/test-argp-2.sh: Likewise.
22878         * tests/test-argp.c: Likewise.
22879         * tests/test-arpa_inet.c: Likewise.
22880         * tests/test-array_list.c: Likewise.
22881         * tests/test-array_oset.c: Likewise.
22882         * tests/test-atexit.c: Likewise.
22883         * tests/test-avltree_list.c: Likewise.
22884         * tests/test-avltree_oset.c: Likewise.
22885         * tests/test-avltreehash_list.c: Likewise.
22886         * tests/test-base64.c: Likewise.
22887         * tests/test-binary-io.c: Likewise.
22888         * tests/test-byteswap.c: Likewise.
22889         * tests/test-c-ctype.c: Likewise.
22890         * tests/test-c-strcasecmp.c: Likewise.
22891         * tests/test-c-strcasestr.c: Likewise.
22892         * tests/test-c-strncasecmp.c: Likewise.
22893         * tests/test-c-strstr.c: Likewise.
22894         * tests/test-canonicalize-lgpl.c: Likewise.
22895         * tests/test-canonicalize.c: Likewise.
22896         * tests/test-carray_list.c: Likewise.
22897         * tests/test-ceilf.c: Likewise.
22898         * tests/test-ceill.c: Likewise.
22899         * tests/test-count-one-bits.c: Likewise.
22900         * tests/test-crc.c: Likewise.
22901         * tests/test-dirname.c: Likewise.
22902         * tests/test-fbufmode.c: Likewise.
22903         * tests/test-fcntl.c: Likewise.
22904         * tests/test-fflush.c: Likewise.
22905         * tests/test-floorf.c: Likewise.
22906         * tests/test-floorl.c: Likewise.
22907         * tests/test-fopen.c: Likewise.
22908         * tests/test-fprintf-posix.c: Likewise.
22909         * tests/test-fprintf-posix.h: Likewise.
22910         * tests/test-fpurge.c: Likewise.
22911         * tests/test-freadable.c: Likewise.
22912         * tests/test-freadahead.c: Likewise.
22913         * tests/test-freading.c: Likewise.
22914         * tests/test-freopen.c: Likewise.
22915         * tests/test-frexp.c: Likewise.
22916         * tests/test-frexpl.c: Likewise.
22917         * tests/test-fseek.c: Likewise.
22918         * tests/test-fseeko.c: Likewise.
22919         * tests/test-fseterr.c: Likewise.
22920         * tests/test-fstrcmp.c: Likewise.
22921         * tests/test-ftell.c: Likewise.
22922         * tests/test-ftello.c: Likewise.
22923         * tests/test-fwritable.c: Likewise.
22924         * tests/test-fwriting.c: Likewise.
22925         * tests/test-getaddrinfo.c: Likewise.
22926         * tests/test-getpass.c: Likewise.
22927         * tests/test-gettimeofday.c: Likewise.
22928         * tests/test-hmac-md5.c: Likewise.
22929         * tests/test-hmac-sha1.c: Likewise.
22930         * tests/test-iconv.c: Likewise.
22931         * tests/test-iconvme.c: Likewise.
22932         * tests/test-inttypes.c: Likewise.
22933         * tests/test-isnan.c: Likewise.
22934         * tests/test-isnanf.c: Likewise.
22935         * tests/test-isnanl-nolibm.c: Likewise.
22936         * tests/test-isnanl.c: Likewise.
22937         * tests/test-isnanl.h: Likewise.
22938         * tests/test-ldexpl.c: Likewise.
22939         * tests/test-linked_list.c: Likewise.
22940         * tests/test-linkedhash_list.c: Likewise.
22941         * tests/test-locale.c: Likewise.
22942         * tests/test-localename.c: Likewise.
22943         * tests/test-lock.c: Likewise.
22944         * tests/test-lseek.c: Likewise.
22945         * tests/test-malloca.c: Likewise.
22946         * tests/test-math.c: Likewise.
22947         * tests/test-mbscasecmp.c: Likewise.
22948         * tests/test-mbscasestr1.c: Likewise.
22949         * tests/test-mbscasestr2.c: Likewise.
22950         * tests/test-mbscasestr3.c: Likewise.
22951         * tests/test-mbscasestr4.c: Likewise.
22952         * tests/test-mbschr.c: Likewise.
22953         * tests/test-mbscspn.c: Likewise.
22954         * tests/test-mbsncasecmp.c: Likewise.
22955         * tests/test-mbspbrk.c: Likewise.
22956         * tests/test-mbspcasecmp.c: Likewise.
22957         * tests/test-mbsrchr.c: Likewise.
22958         * tests/test-mbsspn.c: Likewise.
22959         * tests/test-mbsstr1.c: Likewise.
22960         * tests/test-mbsstr2.c: Likewise.
22961         * tests/test-mbsstr3.c: Likewise.
22962         * tests/test-md5.c: Likewise.
22963         * tests/test-memmem.c: Likewise.
22964         * tests/test-netinet_in.c: Likewise.
22965         * tests/test-open.c: Likewise.
22966         * tests/test-printf-frexp.c: Likewise.
22967         * tests/test-printf-frexpl.c: Likewise.
22968         * tests/test-printf-posix.c: Likewise.
22969         * tests/test-printf-posix.h: Likewise.
22970         * tests/test-rbtree_list.c: Likewise.
22971         * tests/test-rbtree_oset.c: Likewise.
22972         * tests/test-rbtreehash_list.c: Likewise.
22973         * tests/test-read-file.c: Likewise.
22974         * tests/test-rijndael.c: Likewise.
22975         * tests/test-search.c: Likewise.
22976         * tests/test-signbit.c: Likewise.
22977         * tests/test-sleep.c: Likewise.
22978         * tests/test-snprintf-posix.c: Likewise.
22979         * tests/test-snprintf-posix.h: Likewise.
22980         * tests/test-snprintf.c: Likewise.
22981         * tests/test-sprintf-posix.c: Likewise.
22982         * tests/test-sprintf-posix.h: Likewise.
22983         * tests/test-stat-time.c: Likewise.
22984         * tests/test-stdbool.c: Likewise.
22985         * tests/test-stdint.c: Likewise.
22986         * tests/test-stdio.c: Likewise.
22987         * tests/test-stdlib.c: Likewise.
22988         * tests/test-stpncpy.c: Likewise.
22989         * tests/test-strcasestr.c: Likewise.
22990         * tests/test-striconv.c: Likewise.
22991         * tests/test-striconveh.c: Likewise.
22992         * tests/test-striconveha.c: Likewise.
22993         * tests/test-string.c: Likewise.
22994         * tests/test-sys_select.c: Likewise.
22995         * tests/test-sys_socket.c: Likewise.
22996         * tests/test-sys_stat.c: Likewise.
22997         * tests/test-sys_time.c: Likewise.
22998         * tests/test-sysexits.c: Likewise.
22999         * tests/test-time.c: Likewise.
23000         * tests/test-tls.c: Likewise.
23001         * tests/test-trunc.c: Likewise.
23002         * tests/test-truncf.c: Likewise.
23003         * tests/test-truncl.c: Likewise.
23004         * tests/test-unistd.c: Likewise.
23005         * tests/test-vasnprintf-posix.c: Likewise.
23006         * tests/test-vasnprintf-posix2.c: Likewise.
23007         * tests/test-vasnprintf.c: Likewise.
23008         * tests/test-vasprintf-posix.c: Likewise.
23009         * tests/test-vasprintf.c: Likewise.
23010         * tests/test-verify.c: Likewise.
23011         * tests/test-vfprintf-posix.c: Likewise.
23012         * tests/test-vprintf-posix.c: Likewise.
23013         * tests/test-vsnprintf-posix.c: Likewise.
23014         * tests/test-vsnprintf.c: Likewise.
23015         * tests/test-vsprintf-posix.c: Likewise.
23016         * tests/test-wchar.c: Likewise.
23017         * tests/test-wctype.c: Likewise.
23018         * tests/test-wcwidth.c: Likewise.
23019         * tests/test-xstrtol.c: Likewise.
23020         * tests/test-xvasprintf.c: Likewise.
23021         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23022         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23023         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23024         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23025         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23026         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23027         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23028         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23029         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23030         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23031         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23032         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23033         * tests/uniname/test-uninames.c: Likewise.
23034         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23035         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
23036         * tests/unistdio/test-u16-printf1.h: Likewise.
23037         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23038         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23039         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23040         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23041         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23042         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23043         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23044         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
23045         * tests/unistdio/test-u32-printf1.h: Likewise.
23046         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23047         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23048         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23049         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23050         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23051         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23052         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23053         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
23054         * tests/unistdio/test-u8-printf1.h: Likewise.
23055         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23056         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23057         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23058         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23059         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23060         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23061         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23062         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
23063         * tests/unistdio/test-ulc-printf1.h: Likewise.
23064         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23065         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23066         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23067         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23068         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23069         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23070         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23071         * tests/uniwidth/test-u16-width.c: Likewise.
23072         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23073         * tests/uniwidth/test-u32-width.c: Likewise.
23074         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23075         * tests/uniwidth/test-u8-width.c: Likewise.
23076         * tests/uniwidth/test-uc_width.c: Likewise.
23077         * config/srclist-update: Likewise.
23078         (fixlicense): Update to GPLv3+.
23079
23080         Change copyright notice from LGPLv2.1+ to LGPLv3+.
23081         * tests/test-tsearch.c: Change copyright notice.
23082
23083         Change copyright notice from LGPLv2.0+ to LGPLv3+.
23084         * lib/c-strcaseeq.h: Change copyright notice.
23085         * lib/streq.h: Likewise.
23086         * lib/uniconv.h: Likewise.
23087         * lib/uniconv/u-conv-from-enc.h: Likewise.
23088         * lib/uniconv/u-conv-to-enc.h: Likewise.
23089         * lib/uniconv/u-strconv-from-enc.h: Likewise.
23090         * lib/uniconv/u-strconv-to-enc.h: Likewise.
23091         * lib/uniconv/u16-conv-from-enc.c: Likewise.
23092         * lib/uniconv/u16-conv-to-enc.c: Likewise.
23093         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
23094         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
23095         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
23096         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
23097         * lib/uniconv/u32-conv-from-enc.c: Likewise.
23098         * lib/uniconv/u32-conv-to-enc.c: Likewise.
23099         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
23100         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
23101         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
23102         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
23103         * lib/uniconv/u8-conv-from-enc.c: Likewise.
23104         * lib/uniconv/u8-conv-to-enc.c: Likewise.
23105         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
23106         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
23107         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
23108         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
23109         * lib/uniname.h: Likewise.
23110         * lib/uniname/uniname.c: Likewise.
23111         * lib/unistdio.h: Likewise.
23112         * lib/unistdio/u-asnprintf.h: Likewise.
23113         * lib/unistdio/u-asprintf.h: Likewise.
23114         * lib/unistdio/u-printf-args.c: Likewise.
23115         * lib/unistdio/u-printf-args.h: Likewise.
23116         * lib/unistdio/u-printf-parse.h: Likewise.
23117         * lib/unistdio/u-snprintf.h: Likewise.
23118         * lib/unistdio/u-sprintf.h: Likewise.
23119         * lib/unistdio/u-vasprintf.h: Likewise.
23120         * lib/unistdio/u-vsnprintf.h: Likewise.
23121         * lib/unistdio/u-vsprintf.h: Likewise.
23122         * lib/unistdio/u16-asnprintf.c: Likewise.
23123         * lib/unistdio/u16-asprintf.c: Likewise.
23124         * lib/unistdio/u16-printf-parse.c: Likewise.
23125         * lib/unistdio/u16-snprintf.c: Likewise.
23126         * lib/unistdio/u16-sprintf.c: Likewise.
23127         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
23128         * lib/unistdio/u16-u16-asprintf.c: Likewise.
23129         * lib/unistdio/u16-u16-snprintf.c: Likewise.
23130         * lib/unistdio/u16-u16-sprintf.c: Likewise.
23131         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
23132         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
23133         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
23134         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
23135         * lib/unistdio/u16-vasnprintf.c: Likewise.
23136         * lib/unistdio/u16-vasprintf.c: Likewise.
23137         * lib/unistdio/u16-vsnprintf.c: Likewise.
23138         * lib/unistdio/u16-vsprintf.c: Likewise.
23139         * lib/unistdio/u32-asnprintf.c: Likewise.
23140         * lib/unistdio/u32-asprintf.c: Likewise.
23141         * lib/unistdio/u32-printf-parse.c: Likewise.
23142         * lib/unistdio/u32-snprintf.c: Likewise.
23143         * lib/unistdio/u32-sprintf.c: Likewise.
23144         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
23145         * lib/unistdio/u32-u32-asprintf.c: Likewise.
23146         * lib/unistdio/u32-u32-snprintf.c: Likewise.
23147         * lib/unistdio/u32-u32-sprintf.c: Likewise.
23148         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
23149         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
23150         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
23151         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
23152         * lib/unistdio/u32-vasnprintf.c: Likewise.
23153         * lib/unistdio/u32-vasprintf.c: Likewise.
23154         * lib/unistdio/u32-vsnprintf.c: Likewise.
23155         * lib/unistdio/u32-vsprintf.c: Likewise.
23156         * lib/unistdio/u8-asnprintf.c: Likewise.
23157         * lib/unistdio/u8-asprintf.c: Likewise.
23158         * lib/unistdio/u8-printf-parse.c: Likewise.
23159         * lib/unistdio/u8-snprintf.c: Likewise.
23160         * lib/unistdio/u8-sprintf.c: Likewise.
23161         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
23162         * lib/unistdio/u8-u8-asprintf.c: Likewise.
23163         * lib/unistdio/u8-u8-snprintf.c: Likewise.
23164         * lib/unistdio/u8-u8-sprintf.c: Likewise.
23165         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
23166         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
23167         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
23168         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
23169         * lib/unistdio/u8-vasnprintf.c: Likewise.
23170         * lib/unistdio/u8-vasprintf.c: Likewise.
23171         * lib/unistdio/u8-vsnprintf.c: Likewise.
23172         * lib/unistdio/u8-vsprintf.c: Likewise.
23173         * lib/unistdio/ulc-asnprintf.c: Likewise.
23174         * lib/unistdio/ulc-asprintf.c: Likewise.
23175         * lib/unistdio/ulc-printf-parse.c: Likewise.
23176         * lib/unistdio/ulc-snprintf.c: Likewise.
23177         * lib/unistdio/ulc-sprintf.c: Likewise.
23178         * lib/unistdio/ulc-vasnprintf.c: Likewise.
23179         * lib/unistdio/ulc-vasprintf.c: Likewise.
23180         * lib/unistdio/ulc-vsnprintf.c: Likewise.
23181         * lib/unistdio/ulc-vsprintf.c: Likewise.
23182         * lib/unistr.h: Likewise.
23183         * lib/unistr/u-cpy-alloc.h: Likewise.
23184         * lib/unistr/u-cpy.h: Likewise.
23185         * lib/unistr/u-endswith.h: Likewise.
23186         * lib/unistr/u-move.h: Likewise.
23187         * lib/unistr/u-set.h: Likewise.
23188         * lib/unistr/u-startswith.h: Likewise.
23189         * lib/unistr/u-stpcpy.h: Likewise.
23190         * lib/unistr/u-stpncpy.h: Likewise.
23191         * lib/unistr/u-strcat.h: Likewise.
23192         * lib/unistr/u-strcpy.h: Likewise.
23193         * lib/unistr/u-strcspn.h: Likewise.
23194         * lib/unistr/u-strdup.h: Likewise.
23195         * lib/unistr/u-strlen.h: Likewise.
23196         * lib/unistr/u-strncat.h: Likewise.
23197         * lib/unistr/u-strncpy.h: Likewise.
23198         * lib/unistr/u-strnlen.h: Likewise.
23199         * lib/unistr/u-strpbrk.h: Likewise.
23200         * lib/unistr/u-strspn.h: Likewise.
23201         * lib/unistr/u-strstr.h: Likewise.
23202         * lib/unistr/u-strtok.h: Likewise.
23203         * lib/unistr/u16-check.c: Likewise.
23204         * lib/unistr/u16-chr.c: Likewise.
23205         * lib/unistr/u16-cmp.c: Likewise.
23206         * lib/unistr/u16-cpy-alloc.c: Likewise.
23207         * lib/unistr/u16-cpy.c: Likewise.
23208         * lib/unistr/u16-endswith.c: Likewise.
23209         * lib/unistr/u16-mblen.c: Likewise.
23210         * lib/unistr/u16-mbsnlen.c: Likewise.
23211         * lib/unistr/u16-mbtouc-aux.c: Likewise.
23212         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
23213         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
23214         * lib/unistr/u16-mbtouc.c: Likewise.
23215         * lib/unistr/u16-mbtoucr.c: Likewise.
23216         * lib/unistr/u16-move.c: Likewise.
23217         * lib/unistr/u16-next.c: Likewise.
23218         * lib/unistr/u16-prev.c: Likewise.
23219         * lib/unistr/u16-set.c: Likewise.
23220         * lib/unistr/u16-startswith.c: Likewise.
23221         * lib/unistr/u16-stpcpy.c: Likewise.
23222         * lib/unistr/u16-stpncpy.c: Likewise.
23223         * lib/unistr/u16-strcat.c: Likewise.
23224         * lib/unistr/u16-strchr.c: Likewise.
23225         * lib/unistr/u16-strcmp.c: Likewise.
23226         * lib/unistr/u16-strcpy.c: Likewise.
23227         * lib/unistr/u16-strcspn.c: Likewise.
23228         * lib/unistr/u16-strdup.c: Likewise.
23229         * lib/unistr/u16-strlen.c: Likewise.
23230         * lib/unistr/u16-strmblen.c: Likewise.
23231         * lib/unistr/u16-strmbtouc.c: Likewise.
23232         * lib/unistr/u16-strncat.c: Likewise.
23233         * lib/unistr/u16-strncmp.c: Likewise.
23234         * lib/unistr/u16-strncpy.c: Likewise.
23235         * lib/unistr/u16-strnlen.c: Likewise.
23236         * lib/unistr/u16-strpbrk.c: Likewise.
23237         * lib/unistr/u16-strrchr.c: Likewise.
23238         * lib/unistr/u16-strspn.c: Likewise.
23239         * lib/unistr/u16-strstr.c: Likewise.
23240         * lib/unistr/u16-strtok.c: Likewise.
23241         * lib/unistr/u16-to-u32.c: Likewise.
23242         * lib/unistr/u16-to-u8.c: Likewise.
23243         * lib/unistr/u16-uctomb-aux.c: Likewise.
23244         * lib/unistr/u16-uctomb.c: Likewise.
23245         * lib/unistr/u32-check.c: Likewise.
23246         * lib/unistr/u32-chr.c: Likewise.
23247         * lib/unistr/u32-cmp.c: Likewise.
23248         * lib/unistr/u32-cpy-alloc.c: Likewise.
23249         * lib/unistr/u32-cpy.c: Likewise.
23250         * lib/unistr/u32-endswith.c: Likewise.
23251         * lib/unistr/u32-mblen.c: Likewise.
23252         * lib/unistr/u32-mbsnlen.c: Likewise.
23253         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
23254         * lib/unistr/u32-mbtouc.c: Likewise.
23255         * lib/unistr/u32-mbtoucr.c: Likewise.
23256         * lib/unistr/u32-move.c: Likewise.
23257         * lib/unistr/u32-next.c: Likewise.
23258         * lib/unistr/u32-prev.c: Likewise.
23259         * lib/unistr/u32-set.c: Likewise.
23260         * lib/unistr/u32-startswith.c: Likewise.
23261         * lib/unistr/u32-stpcpy.c: Likewise.
23262         * lib/unistr/u32-stpncpy.c: Likewise.
23263         * lib/unistr/u32-strcat.c: Likewise.
23264         * lib/unistr/u32-strchr.c: Likewise.
23265         * lib/unistr/u32-strcmp.c: Likewise.
23266         * lib/unistr/u32-strcpy.c: Likewise.
23267         * lib/unistr/u32-strcspn.c: Likewise.
23268         * lib/unistr/u32-strdup.c: Likewise.
23269         * lib/unistr/u32-strlen.c: Likewise.
23270         * lib/unistr/u32-strmblen.c: Likewise.
23271         * lib/unistr/u32-strmbtouc.c: Likewise.
23272         * lib/unistr/u32-strncat.c: Likewise.
23273         * lib/unistr/u32-strncmp.c: Likewise.
23274         * lib/unistr/u32-strncpy.c: Likewise.
23275         * lib/unistr/u32-strnlen.c: Likewise.
23276         * lib/unistr/u32-strpbrk.c: Likewise.
23277         * lib/unistr/u32-strrchr.c: Likewise.
23278         * lib/unistr/u32-strspn.c: Likewise.
23279         * lib/unistr/u32-strstr.c: Likewise.
23280         * lib/unistr/u32-strtok.c: Likewise.
23281         * lib/unistr/u32-to-u16.c: Likewise.
23282         * lib/unistr/u32-to-u8.c: Likewise.
23283         * lib/unistr/u32-uctomb.c: Likewise.
23284         * lib/unistr/u8-check.c: Likewise.
23285         * lib/unistr/u8-chr.c: Likewise.
23286         * lib/unistr/u8-cmp.c: Likewise.
23287         * lib/unistr/u8-cpy-alloc.c: Likewise.
23288         * lib/unistr/u8-cpy.c: Likewise.
23289         * lib/unistr/u8-endswith.c: Likewise.
23290         * lib/unistr/u8-mblen.c: Likewise.
23291         * lib/unistr/u8-mbsnlen.c: Likewise.
23292         * lib/unistr/u8-mbtouc-aux.c: Likewise.
23293         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
23294         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
23295         * lib/unistr/u8-mbtouc.c: Likewise.
23296         * lib/unistr/u8-mbtoucr.c: Likewise.
23297         * lib/unistr/u8-move.c: Likewise.
23298         * lib/unistr/u8-next.c: Likewise.
23299         * lib/unistr/u8-prev.c: Likewise.
23300         * lib/unistr/u8-set.c: Likewise.
23301         * lib/unistr/u8-startswith.c: Likewise.
23302         * lib/unistr/u8-stpcpy.c: Likewise.
23303         * lib/unistr/u8-stpncpy.c: Likewise.
23304         * lib/unistr/u8-strcat.c: Likewise.
23305         * lib/unistr/u8-strchr.c: Likewise.
23306         * lib/unistr/u8-strcmp.c: Likewise.
23307         * lib/unistr/u8-strcpy.c: Likewise.
23308         * lib/unistr/u8-strcspn.c: Likewise.
23309         * lib/unistr/u8-strdup.c: Likewise.
23310         * lib/unistr/u8-strlen.c: Likewise.
23311         * lib/unistr/u8-strmblen.c: Likewise.
23312         * lib/unistr/u8-strmbtouc.c: Likewise.
23313         * lib/unistr/u8-strncat.c: Likewise.
23314         * lib/unistr/u8-strncmp.c: Likewise.
23315         * lib/unistr/u8-strncpy.c: Likewise.
23316         * lib/unistr/u8-strnlen.c: Likewise.
23317         * lib/unistr/u8-strpbrk.c: Likewise.
23318         * lib/unistr/u8-strrchr.c: Likewise.
23319         * lib/unistr/u8-strspn.c: Likewise.
23320         * lib/unistr/u8-strstr.c: Likewise.
23321         * lib/unistr/u8-strtok.c: Likewise.
23322         * lib/unistr/u8-to-u16.c: Likewise.
23323         * lib/unistr/u8-to-u32.c: Likewise.
23324         * lib/unistr/u8-uctomb-aux.c: Likewise.
23325         * lib/unistr/u8-uctomb.c: Likewise.
23326         * lib/unitypes.h: Likewise.
23327         * lib/uniwidth.h: Likewise.
23328         * lib/uniwidth/cjk.h: Likewise.
23329         * lib/uniwidth/u16-strwidth.c: Likewise.
23330         * lib/uniwidth/u16-width.c: Likewise.
23331         * lib/uniwidth/u32-strwidth.c: Likewise.
23332         * lib/uniwidth/u32-width.c: Likewise.
23333         * lib/uniwidth/u8-strwidth.c: Likewise.
23334         * lib/uniwidth/u8-width.c: Likewise.
23335         * lib/uniwidth/width.c: Likewise.
23336
23337 2007-10-07  Bruno Haible  <bruno@clisp.org>
23338
23339         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
23340         The file is still under LGPL (see modules/inttypes).
23341
23342 2007-10-06  Bruno Haible  <bruno@clisp.org>
23343
23344         * modules/trunc (Dependencies): Add 'extensions'.
23345         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
23346         Reported by Ben Pfaff <blp@gnu.org>.
23347
23348 2007-10-06  Bruno Haible  <bruno@clisp.org>
23349
23350         * modules/freopen-tests: New file.
23351         * tests/test-freopen.c: New file.
23352
23353         * modules/fopen-tests: New file.
23354         * tests/test-fopen.c: New file.
23355
23356         * modules/fopen: New file.
23357         * lib/fopen.c: New file.
23358         * m4/fopen.m4: New file.
23359         * modules/freopen: New file.
23360         * lib/freopen.c: New file.
23361         * m4/freopen.m4: New file.
23362         * lib/stdio.in.h (fopen, freopen): New declarations.
23363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
23364         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
23365         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
23366         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
23367         * doc/functions/fopen.texi: Mention the 'fopen' module.
23368         * doc/functions/freopen.texi: Mention the 'freopen' module.
23369
23370 2007-10-06  Bruno Haible  <bruno@clisp.org>
23371
23372         * modules/open-tests: New file.
23373         * tests/test-open.c: New file.
23374
23375         * modules/open: New file.
23376         * lib/open.c: New file.
23377         * m4/open.m4: New file.
23378         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
23379         lib/open.c does.
23380         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
23381         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
23382         macros.
23383         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
23384         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
23385         REPLACE_OPEN.
23386         * doc/functions/open.texi: Mention the 'open' module.
23387
23388 2007-10-04  Bruno Haible  <bruno@clisp.org>
23389
23390         * modules/ceill-tests: New file.
23391         * tests/test-ceill.c: New file.
23392
23393         * modules/ceill: New file.
23394         * lib/ceill.c: Replace entire file.
23395         * m4/ceill.m4: New file.
23396         * lib/math.in.h (ceill): Replace declaration.
23397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
23398         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
23399         * doc/functions/ceill.texi: Mention the 'ceill' module.
23400         * modules/mathl (Files): Remove lib/ceill.c.
23401         (Depends-on): Add ceill.
23402
23403 2007-10-04  Bruno Haible  <bruno@clisp.org>
23404
23405         * modules/ceilf-tests: New file.
23406         * tests/test-ceilf.c: New file.
23407
23408         * modules/ceilf: New file.
23409         * lib/ceil.c: New file.
23410         * lib/ceilf.c: New file.
23411         * m4/ceilf.m4: New file.
23412         * lib/math.in.h (ceilf): New declaration.
23413         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
23414         HAVE_DECL_CEILF.
23415         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
23416         HAVE_DECL_CEILF.
23417         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
23418
23419 2007-10-04  Bruno Haible  <bruno@clisp.org>
23420
23421         * modules/floorl-tests: New file.
23422         * tests/test-floorl.c: New file.
23423
23424         * modules/floorl: New file.
23425         * lib/floorl.c: Replace entire file.
23426         * m4/floorl.m4: New file.
23427         * lib/math.in.h (floorl): Replace declaration.
23428         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
23429         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
23430         * doc/functions/floorl.texi: Mention the 'floorl' module.
23431         * modules/mathl (Files): Remove lib/floorl.c.
23432         (Depends-on): Add floorl.
23433
23434 2007-10-04  Bruno Haible  <bruno@clisp.org>
23435
23436         * modules/floorf-tests: New file.
23437         * tests/test-floorf.c: New file.
23438
23439         * modules/floorf: New file.
23440         * lib/floor.c: New file.
23441         * lib/floorf.c: New file.
23442         * m4/floorf.m4: New file.
23443         * lib/math.in.h (floorf): New declaration.
23444         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
23445         HAVE_DECL_FLOORF.
23446         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
23447         HAVE_DECL_FLOORF.
23448         * doc/functions/floorf.texi: Mention the 'floorf' module.
23449
23450 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
23451             Bruno Haible  <bruno@clisp.org>
23452
23453         Advertise for the Git server instead of the CVS server.
23454         * doc/gnulib-intro.texi (Steady Development): Mention the Git
23455         repository instead of the CVS one.
23456         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
23457         about all VCS systems generically.
23458         * doc/gnulib.texi (Introduction): Capitalize `Git'.
23459
23460 2007-10-04  Bruno Haible  <bruno@clisp.org>
23461
23462         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
23463         means.
23464         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
23465
23466 2007-10-04  Bruno Haible  <bruno@clisp.org>
23467
23468         * modules/truncl-tests: New file.
23469         * tests/test-truncl.c: New file.
23470
23471         * modules/truncl: New file.
23472         * lib/truncl.c: New file.
23473         * m4/truncl.m4: New file.
23474         * lib/math.in.h (truncl): New declaration.
23475         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
23476         HAVE_DECL_TRUNCL.
23477         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
23478         HAVE_DECL_TRUNCL.
23479         * doc/functions/truncl.texi: Mention the 'truncl' module.
23480
23481 2007-10-04  Bruno Haible  <bruno@clisp.org>
23482
23483         * modules/truncf-tests: New file.
23484         * tests/test-truncf.c: New file.
23485
23486         * modules/truncf: New file.
23487         * lib/trunc.c: Make paramerizable through USE_* macros.
23488         * lib/truncf.c: New file.
23489         * m4/truncf.m4: New file.
23490         * lib/math.in.h (truncf): New declaration.
23491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
23492         HAVE_DECL_TRUNCF.
23493         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
23494         HAVE_DECL_TRUNCF.
23495         * doc/functions/truncf.texi: Mention the 'truncf' module.
23496
23497 2007-10-03  Bruno Haible  <bruno@clisp.org>
23498
23499         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
23500         augmentation also for tests modules.
23501         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
23502         * modules/atexit-tests (Makefile.am): Likewise.
23503         * modules/binary-io-tests (Makefile.am): Likewise.
23504         * modules/c-strcase-tests (Makefile.am): Likewise.
23505         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
23506         * modules/canonicalize-tests (Makefile.am): Likewise.
23507         * modules/closein-tests (Makefile.am): Likewise.
23508         * modules/fprintf-posix-tests (Makefile.am): Likewise.
23509         * modules/freadahead-tests (Makefile.am): Likewise.
23510         * modules/fseek-tests (Makefile.am): Likewise.
23511         * modules/fseeko-tests (Makefile.am): Likewise.
23512         * modules/ftell-tests (Makefile.am): Likewise.
23513         * modules/ftello-tests (Makefile.am): Likewise.
23514         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
23515         * modules/isnanl-tests (Makefile.am): Likewise.
23516         * modules/lseek-tests (Makefile.am): Likewise.
23517         * modules/mbscasecmp-tests (Makefile.am): Likewise.
23518         * modules/mbscasestr-tests (Makefile.am): Likewise.
23519         * modules/mbschr-tests (Makefile.am): Likewise.
23520         * modules/mbscspn-tests (Makefile.am): Likewise.
23521         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
23522         * modules/mbspbrk-tests (Makefile.am): Likewise.
23523         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
23524         * modules/mbsrchr-tests (Makefile.am): Likewise.
23525         * modules/mbsspn-tests (Makefile.am): Likewise.
23526         * modules/mbsstr-tests (Makefile.am): Likewise.
23527         * modules/printf-posix-tests (Makefile.am): Likewise.
23528         * modules/snprintf-posix-tests (Makefile.am): Likewise.
23529         * modules/sprintf-posix-tests (Makefile.am): Likewise.
23530         * modules/tsearch-tests (Makefile.am): Likewise.
23531         * modules/uniname/uniname-tests (Makefile.am): Likewise.
23532         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
23533         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
23534         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
23535         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
23536         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
23537         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
23538         * modules/vprintf-posix-tests (Makefile.am): Likewise.
23539         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
23540         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
23541         * modules/xstrtoimax-tests (Makefile.am): Likewise.
23542         * modules/xstrtol-tests (Makefile.am): Likewise.
23543         * modules/xstrtoumax-tests (Makefile.am): Likewise.
23544         * modules/yesno-tests (Makefile.am): Likewise.
23545
23546 2007-10-03  Bruno Haible  <bruno@clisp.org>
23547
23548         * modules/trunc-tests: New file.
23549         * tests/test-trunc.c: New file.
23550
23551         * modules/trunc: New file.
23552         * lib/trunc.c: New file.
23553         * m4/trunc.m4: New file.
23554         * lib/math.in.h (trunc): New declaration.
23555         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
23556         HAVE_DECL_TRUNC.
23557         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
23558         HAVE_DECL_TRUNC.
23559         * doc/functions/trunc.texi: Mention the 'trunc' module.
23560
23561 2007-10-03  Bruno Haible  <bruno@clisp.org>
23562
23563         * tests/test-fpending.c: New file, mostly copied
23564         from coreutils/lib/t-fpending.c.
23565         * modules/fpending-tests: New file.
23566
23567 2007-10-03  Bruno Haible  <bruno@clisp.org>
23568
23569         Port the stdio extensions to QNX (untested).
23570         * lib/fseterr.c (fseterr): Add support for QNX.
23571         * lib/fbufmode.c (fbufmode): Likewise.
23572         * lib/freadable.c (freadable): Likewise.
23573         * lib/fwritable.c (fwritable): Likewise.
23574         * lib/freading.c (freading): Likewise.
23575         * lib/fwriting.c (fwriting): Likewise.
23576         * lib/freadahead.c (freadahed): Likewise.
23577         * lib/fpurge.c (fpurge): Likewise.
23578         * lib/fseeko.c (rpl_fseeko): Likewise.
23579
23580 2007-10-03  Bruno Haible  <bruno@clisp.org>
23581             Jim Meyering  <jim@meyering.net>
23582             Eric Blake  <ebb9@byu.net>
23583
23584         * doc/relocatable.texi: Use @command instead of @program.
23585
23586 2007-10-02  Jim Meyering  <jim@meyering.net>
23587
23588         Perform one more "_.h" -> ".in.h" substitution.
23589         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
23590         instead of unistd_.h here, too.
23591
23592 2007-10-01  Bruno Haible  <bruno@clisp.org>
23593
23594         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
23595         Needed for the alloca-opt module.
23596
23597 2007-09-30  Bruno Haible  <bruno@clisp.org>
23598
23599         * lib/alloca.in.h: Renamed from lib/alloca_.h.
23600         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
23601         alloca_.h.
23602         * lib/argz.in.h: Renamed from lib/argz_.h.
23603         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
23604         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
23605         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
23606         byteswap_.h.
23607         * lib/dirent.in.h: Renamed from lib/dirent_.h.
23608         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
23609         dirent_.h.
23610         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
23611         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
23612         fcntl_.h.
23613         * lib/float.in.h: Renamed from lib/float_.h.
23614         * modules/float (Files, Makefile.am): Use float.in.h instead of
23615         float_.h.
23616         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
23617         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
23618         fnmatch_.h.
23619         * lib/getopt.in.h: Renamed from lib/getopt_.h.
23620         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
23621         getopt_.h.
23622         * lib/glob.in.h: Renamed from lib/glob_.h.
23623         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
23624         * lib/iconv.in.h: Renamed from lib/iconv_.h.
23625         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
23626         iconv_.h.
23627         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
23628         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
23629         inttypes_.h.
23630         * lib/locale.in.h: Renamed from lib/locale_.h.
23631         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
23632         locale_.h.
23633         * lib/math.in.h: Renamed from lib/math_.h.
23634         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
23635         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
23636         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
23637         of netinet_in_.h. Add dependency.
23638         * lib/poll.in.h: Renamed from lib/poll_.h.
23639         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
23640         * lib/search.in.h: Renamed from lib/search_.h.
23641         * modules/search (Files, Makefile.am): Use search.in.h instead of
23642         search_.h.
23643         * lib/signal.in.h: Renamed from lib/signal_.h.
23644         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
23645         _signal.h.
23646         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
23647         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
23648         stdbool_.h.
23649         * lib/stdint.in.h: Renamed from lib/stdint_.h.
23650         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
23651         stdint_.h.
23652         * lib/stdio.in.h: Renamed from lib/stdio_.h.
23653         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
23654         stdio_.h.
23655         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
23656         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
23657         stdlib_.h.
23658         * lib/string.in.h: Renamed from lib/string_.h.
23659         * modules/string (Files, Makefile.am): Use string.in.h instead of
23660         string_.h.
23661         * doc/gnulib-tool.texi (Initial import): Update.
23662         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
23663         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
23664         of sys_select_.h. Add dependency.
23665         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
23666         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
23667         of sys_socket_.h.
23668         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
23669         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
23670         sys_stat_.h.
23671         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
23672         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
23673         sys_time_.h.
23674         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
23675         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
23676         sysexits_.h.
23677         * lib/time.in.h: Renamed from lib/time_.h.
23678         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
23679         * lib/unistd.in.h: Renamed from lib/unistd_.h.
23680         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
23681         unistd_.h.
23682         * lib/wchar.in.h: Renamed from lib/wchar_.h.
23683         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
23684         wchar_.h.
23685         * lib/wctype.in.h: Renamed from lib/wctype_.h.
23686         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
23687         wctype_.h.
23688         * build-aux/bootstrap (slurp): Update.
23689         * lib/.cppi-disable: Update.
23690
23691 2007-09-30  Bruno Haible  <bruno@clisp.org>
23692
23693         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
23694         Needed on BeOS.
23695
23696 2007-09-30  Bruno Haible  <bruno@clisp.org>
23697
23698         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
23699
23700 2007-09-29  Bruno Haible  <bruno@clisp.org>
23701
23702         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
23703
23704 2007-09-29  Bruno Haible  <bruno@clisp.org>
23705
23706         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
23707         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
23708         * build-aux/install-reloc: Compile also areadlink.c.
23709         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
23710
23711 2007-09-29  Bruno Haible  <bruno@clisp.org>
23712
23713         * gnulib-tool (func_emit_initmacro_done): Indentation.
23714
23715 2007-09-29  Bruno Haible  <bruno@clisp.org>
23716
23717         * README: Add CVS checkout update instructions.
23718         Info from Bob Proulx <bob@proulx.com>.
23719
23720 2007-09-28  Eric Blake  <ebb9@byu.net>
23721
23722         Provide move-if-change.
23723         * build-aux/move-if-change: New file, based on best practice
23724         rather than any canonical upstream location.
23725
23726 2007-09-28  Jim Meyering  <jim@meyering.net>
23727
23728         Fix canonicalize loop-detection corner case.
23729         Do not attempt to stat the symlink values stored via seen_triple.
23730         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
23731         on linux-2.6.18, (but not 2.6.22).
23732         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
23733         triple_compare.  The former compares dev,ino,filename, while the latter
23734         would actually stat dirname(filename) when dev and ino were equal.
23735         * lib/hash-triple.c: Install <string.h>.
23736         (STREQ): Define.
23737         (triple_compare_ino_str): New function.
23738         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
23739
23740 2007-09-28  Eric Blake  <ebb9@byu.net>
23741
23742         Enforce that AC_REPLACE_FUNCS files exist.
23743         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
23744         override check for typos.
23745
23746         Fix test-closein on Solaris 10.
23747         * tests/test-closein.c (main): Don't assume stdin can be inherited
23748         closed on all systems.
23749         * tests/test-closein.sh: Likewise.
23750         Reported by Piotr Tarnowski.
23751
23752 2007-09-28  Jim Meyering  <jim@meyering.net>
23753
23754         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
23755
23756 2007-09-27  Jim Meyering  <jim@meyering.net>
23757
23758         canonicalize: Avoid a false-positive cycle failure.
23759         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
23760         Sort.  Remove cycle-check.
23761         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
23762         not cycle-check.h.
23763         (seen_triple): New function.
23764         (canonicalize_filename_mode): Use it instead of cycle-check.
23765         * tests/test-canonicalize.c: Add a test for this bug.
23766         * tests/test-canonicalize.sh: Set up and run the test.
23767
23768         New module, file-set, from coreutils.
23769         * modules/file-set: Define it.
23770         * lib/file-set.c, lib/file-set.h: Implement.
23771
23772         New module, hash-triple, from coreutils.
23773         * modules/hash-triple: Define it.
23774         * lib/hash-triple.c, lib/hash-triple.h: Implement.
23775
23776 2007-09-25  Eric Blake  <ebb9@byu.net>
23777
23778         Fix strerror on Interix.
23779         * lib/string_.h (strerror): Declare replacement.
23780         * doc/functions/strerror.texi (strerror): Document the Interix
23781         shortcoming.
23782         * modules/string (Makefile.am): Support new hooks.
23783         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
23784         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
23785         gl_FUNC_STRERROR_SEPARATE.
23786         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
23787         * lib/strerror.c (rpl_strerror): Provide replacement.
23788         * modules/strerror (Depends-on): Add string.
23789         (configure.ac): Detect use of module.
23790         * tests/test-strerror.c: New file.
23791         * modules/strerror-tests: New test module.
23792         * modules/argp (Depends-on): Add strerror.
23793         * modules/error (Depends-on): Likewise.
23794         Reported by Martin Koeppe.
23795
23796 2007-09-24  Bruno Haible  <bruno@clisp.org>
23797
23798         * README: Update git instructions.
23799
23800 2007-09-24  Eric Blake  <ebb9@byu.net>
23801
23802         Revert fpending breakage from 2007-09-08.
23803         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
23804         __fpending.c.
23805
23806 2007-09-24  Jim Meyering  <jim@meyering.net>
23807
23808         filenamecat.c: Add a test.
23809         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
23810         showing how the function works when DIR is the empty string.
23811
23812 2007-09-21  Simon Josefsson  <simon@josefsson.org>
23813
23814         * tests/test-canonicalize.sh: Turn on executable bit.
23815
23816 2007-09-19  Eric Blake  <ebb9@byu.net>
23817
23818         * README: Update CVS instructions.
23819
23820 2007-09-18  Bruno Haible  <bruno@clisp.org>
23821
23822         * modules/areadlink: New file.
23823         * lib/areadlink.h (areadlink): New declaration.
23824         * lib/areadlink.c: New file, based on lib/xreadlink.c.
23825
23826 2007-09-17  Jim Meyering  <jim@meyering.net>
23827
23828         * lib/savewd.c (ESTALE) [!defined]: Define.
23829         Reported to be required on Interix by Martin Koeppe.
23830
23831 2007-09-17  Bruno Haible  <bruno@clisp.org>
23832
23833         * gnulib-tool (func_version): Use $version.
23834
23835 2007-09-16  Bruno Haible  <bruno@clisp.org>
23836
23837         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
23838         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
23839         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
23840         Reported by Greg Schafer <gschafer@zip.com.au>.
23841
23842 2007-09-15  Bruno Haible  <bruno@clisp.org>
23843
23844         * gnulib-tool (sed): Try a little harder to make bash understand the
23845         alias.
23846         Reported by Bruce Korb <bruce.korb@gmail.com>.
23847
23848 2007-09-13  Eric Blake  <ebb9@byu.net>
23849
23850         * ChangeLog: Remove conflict markers.
23851
23852 2007-09-13  Simon Josefsson  <simon@josefsson.org>
23853
23854         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
23855         Reported by Bruno Haible <bruno@clisp.org>.
23856
23857 2007-09-12  Bruno Haible  <bruno@clisp.org>
23858
23859         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
23860         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
23861         is not defined.
23862
23863 2007-09-12  Eric Blake  <ebb9@byu.net>
23864
23865         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
23866         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
23867         Autoconf definition.
23868         * modules/euidaccess (Depends-on): Add extensions, for
23869         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
23870         * modules/fnmatch (Depends-on): Likewise.
23871         * modules/getaddrinfo (Depends-on): Likewise.
23872         * modules/getdelim (Depends-on): Likewise.
23873         * modules/getline (Depends-on): Likewise.
23874         * modules/getsubopt (Depends-on): Likewise.
23875         * modules/gettext (Depends-on): Likewise.
23876         * modules/group-member (Depends-on): Likewise.
23877         * modules/mbchar (Depends-on): Likewise.
23878         * modules/memmem (Depends-on): Likewise.
23879         * modules/mempcpy (Depends-on): Likewise.
23880         * modules/memrchr (Depends-on): Likewise.
23881         * modules/pagealign_alloc (Depends-on): Likewise.
23882         * modules/readutmp (Depends-on): Likewise.
23883         * modules/stpcpy (Depends-on): Likewise.
23884         * modules/stpncpy (Depends-on): Likewise.
23885         * modules/strchrnul (Depends-on): Likewise.
23886         * modules/strndup (Depends-on): Likewise.
23887         * modules/strsep (Depends-on): Likewise.
23888         * modules/strverscmp (Depends-on): Likewise.
23889         * modules/vasprintf (Depends-on): Likewise.
23890         * modules/wcwidth (Depends-on): Likewise.
23891         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
23892         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
23893         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
23894         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
23895         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
23896         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23897         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
23898         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
23899         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
23900         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
23901         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
23902         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
23903         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
23904         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
23905         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
23906         * m4/readutmp.m4 (gl_READUTMP): Likewise.
23907         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
23908         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
23909         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
23910         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
23911         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
23912         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
23913         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
23914         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
23915         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
23916         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
23917         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
23918         so that lock.m4 can be used in gettext without extensions module.
23919
23920 2007-09-11  Bruno Haible  <bruno@clisp.org>
23921
23922         * m4/isc-posix.m4: Remove file.
23923         Suggested by Eric Blake.
23924
23925 2007-09-11  Eric Blake  <ebb9@byu.net>
23926
23927         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
23928
23929 2007-09-10  Bruno Haible  <bruno@clisp.org>
23930
23931         * posix-modules: Fix typo in error message.
23932         Reported by Matt <mkraai@beckman.com>.
23933
23934 2007-09-09  Bruno Haible  <bruno@clisp.org>
23935
23936         * doc/functions/getdelim.texi: Update list of platforms lacking the
23937         function.
23938         * doc/functions/getline.texi: Likewise.
23939
23940 2007-09-09  Jim Meyering  <jim@meyering.net>
23941
23942         * lib/hash.c (hash_initialize): Detect calloc failure.
23943         Reported by Bruno Haible.
23944
23945 2007-09-09  Bruno Haible  <bruno@clisp.org>
23946
23947         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
23948         malloc or realloc fails.
23949
23950 2007-09-09  Bruno Haible  <bruno@clisp.org>
23951
23952         * modules/getcwd (Depends-on): Add malloc-posix.
23953         * modules/glob (Depends-on): Likewise.
23954         * modules/putenv (Depends-on): Likewise.
23955         * modules/strdup (Depends-on): Likewise.
23956         * modules/getdelim (Depends-on): Add realloc-posix.
23957         * modules/read-file (Depends-on): Likewise.
23958
23959 2007-09-09  Bruno Haible  <bruno@clisp.org>
23960
23961         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
23962         (gl_FUNC_MALLOC_POSIX): Require it.
23963         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
23964         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
23965         * modules/realloc (Files): Add m4/malloc.m4.
23966         * modules/calloc (Files): Likewise.
23967
23968 2007-09-09  Bruno Haible  <bruno@clisp.org>
23969
23970         * modules/malloc-posix: New file.
23971         * modules/malloc (Depends-on): Add malloc-posix.
23972         * lib/malloc.c: Include errno.h.
23973         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
23974         and a POSIX-compatible malloc into a single function. Set ENOMEM
23975         when returning NULL.
23976         * m4/malloc.m4: New file.
23977         * doc/functions/malloc.texi: Mention the malloc-posix module.
23978         * lib/stdlib_.h (malloc): New declaration.
23979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23980         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
23981         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
23982         and HAVE_MALLOC_POSIX.
23983
23984 2007-09-09  Bruno Haible  <bruno@clisp.org>
23985
23986         * modules/realloc-posix: New file.
23987         * modules/realloc (Depends-on): Add realloc-posix.
23988         * lib/realloc.c: Include errno.h.
23989         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
23990         and a POSIX-compatible realloc into a single function. Set ENOMEM
23991         when returning NULL.
23992         * m4/realloc.m4: New file.
23993         * doc/functions/realloc.texi: Mention the realloc-posix module.
23994         * lib/stdlib_.h (realloc): New declaration.
23995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23996         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
23997         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
23998         and HAVE_REALLOC_POSIX.
23999
24000 2007-09-09  Bruno Haible  <bruno@clisp.org>
24001
24002         * modules/calloc-posix: New file.
24003         * modules/calloc (Depends-on): Add calloc-posix.
24004         * lib/calloc.c: Include errno.h.
24005         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
24006         and a POSIX-compatible calloc into a single function. Set ENOMEM
24007         when returning NULL.
24008         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
24009         * doc/functions/calloc.texi: Mention the calloc-posix module.
24010         * lib/stdlib_.h (calloc): New declaration.
24011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24012         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
24013         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
24014         and HAVE_CALLOC_POSIX.
24015
24016 2007-09-09  Bruno Haible  <bruno@clisp.org>
24017
24018         Allow for modules to show an arbitrary notice.
24019         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
24020         * gnulib-tool: New option --extract-notice.
24021         (func_usage): Document it.
24022         (sed_extract_prog): Update.
24023         (func_get_notice): New function.
24024         (func_modules_notice): New function.
24025         (func_import, func_create_testdir): Invoke it.
24026         Suggested by Jim Meyering.
24027
24028 2007-09-09  Bruno Haible  <bruno@clisp.org>
24029
24030         * gnulib-tool: New options --verbose, --quiet.
24031         (func_usage): Document them.
24032         (verbose): New variable.
24033         (func_execute_command): New function.
24034         (func_import): Don't show the module list and the file list if
24035         $verbose < 0.
24036         (func_create_testdir): Likewise. Use func_execute_command.
24037         (func_create_megatestdir): Use func_execute_command.
24038
24039 2007-09-08  Bruno Haible  <bruno@clisp.org>
24040
24041         * gnulib-tool (func_import): Prefer rsync over wget when available,
24042         for fetching the PO files.
24043
24044 2007-09-08  Bruno Haible  <bruno@clisp.org>
24045
24046         * posix-modules: New file. Portions copied from gnulib-tool.
24047         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
24048
24049 2007-09-08  Jim Meyering  <jim@meyering.net>
24050
24051         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
24052         * lib/fpending.h: Rename from __fpending.h.
24053         * lib/fpending.c: Rename from __fpending.c.
24054         Include "fpending.h", not "__fpending.h".
24055         * lib/__fpending.h, lib/__fpending.c: Remove files.
24056         * modules/fpending (Files): Reflect new file names.
24057         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
24058
24059 2007-09-08  Bruno Haible  <bruno@clisp.org>
24060
24061         * m4/inttypes-h.m4: Remove stub file.
24062
24063 2007-09-07  Simon Josefsson  <simon@josefsson.org>
24064
24065         * doc/headers/stdint.texi: Discuss #include_next issue.
24066
24067 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
24068
24069         * build-aux/bootstrap: Remove obsolete comment about wget --help.
24070
24071 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24072
24073         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
24074         in variable name.
24075
24076 2007-09-03  Jim Meyering  <jim@meyering.net>
24077
24078         New module: git-version-gen.
24079         * modules/git-version-gen: New file.
24080
24081         Import changes from coreutils for bootstrap script.
24082
24083         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
24084
24085         bootstrap: uses rsync to download the .po files
24086         * build-aux/bootstrap (po_download_command_format): New global.
24087         (download_po_files): Use rsync.
24088         (update_po_files): Don't remove .po files after download,
24089         so future rsync runs can take advantage of the copies.
24090
24091         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
24092
24093         Solve the unnecessary-.po-file-regeneration problem once and for all.
24094         * build-aux/bootstrap (download_po_files): New function, renamed from
24095         get_translations.  Now, downloads, but doesn't update LINGUAS.
24096         (update_po_files): New function.
24097
24098         bootstrap: Ignore more.
24099         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
24100         uniwidth to e.g., lib/.gitignore.
24101         (slurp): Handle the sys_stat_.h -> sys mapping, too.
24102
24103         * build-aux/bootstrap: New setting: vc_ignore.
24104         (insert_sorted_if_absent): Create $file if absent.
24105         Adapt to new, possibly empty, list: $vc_ignore.
24106
24107         bootstrap: generate more ignorable names
24108         * build-aux/bootstrap (slurp): When generating ignorable names,
24109         also map .sin to .sed, .gperf to .c, and .y to .c.
24110
24111 2007-09-03  Jim Meyering  <jim@meyering.net>
24112
24113         * build-aux/git-version-gen: New file, from coreutils.  For details, see
24114         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
24115
24116 2007-09-02  Bruno Haible  <bruno@clisp.org>
24117
24118         Fix mis-recognition of 'mcs' on QNX 6.
24119         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
24120         output contains the string "Mono".
24121         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
24122         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
24123
24124 2007-09-01  Bruno Haible  <bruno@clisp.org>
24125
24126         Fix collision between uniwidth/* and linebreak modules.
24127         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
24128         u32_width): Remove declarations.
24129         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
24130         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
24131         streq3, streq2, streq1, streq0): Remove functions.
24132         (STREQ): Remove macro.
24133         (is_cjk_encoding): Remove function.
24134         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
24135         (uc_width, u8_width, u16_width, u32_width): Remove functions.
24136         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
24137         * NEWS: Document the change.
24138
24139 2007-09-01  Bruno Haible  <bruno@clisp.org>
24140
24141         * lib/streq.h: Add double-inclusion guard.
24142
24143 2007-09-01  Karl Berry  <karl@gnu.org>
24144
24145         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
24146
24147 2007-08-28  Jim Meyering  <jim@meyering.net>
24148
24149         Rename mreadlink_with_size to areadlink_with_size.
24150         * NEWS: Document the change.
24151         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
24152         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
24153         * lib/mreadlink.h: Rename this to...
24154         * lib/areadlink.h: ...this.
24155         * modules/mreadlink-with-size: Rename this to...
24156         * modules/areadlink-with-size: ...this.
24157         * lib/canonicalize.c: Reflect the renaming.
24158         * modules/canonicalize: Likewise.
24159
24160 2007-08-26  Bruno Haible  <bruno@clisp.org>
24161
24162         * gnulib-tool (func_import): When deciding which files to remove,
24163         consider also dangling symbolic links.
24164         Reported by Eric Blake.
24165
24166 2007-08-26  Bruno Haible  <bruno@clisp.org>
24167
24168         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
24169
24170 2007-08-23  Simon Josefsson  <simon@josefsson.org>
24171
24172         * lib/readline.c: Don't include getline.h, the prototype is now
24173         found in stdio.h.
24174
24175 2007-08-23  Jim Meyering  <jim@meyering.net>
24176
24177         Getdelim touchup.
24178         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
24179         around the funlockfile call, since funlockfile never sets errno.
24180         Don't set errno upon failed realloc.
24181
24182 2007-08-22  Eric Blake  <ebb9@byu.net>
24183
24184         Getline touchups.
24185         * lib/getdelim.c (getdelim): Revert regression that required *n to
24186         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
24187         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
24188         getdelim, rather than whether implementation is missing.
24189         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
24190         * lib/stdio_.h (getline): Also declare if replacement is
24191         required.
24192         * doc/functions/getdelim.texi: New file.
24193         * doc/functions/getline.texi: Likewise.
24194         * doc/gnulib.texi (Function Substitutes): Add new files.
24195         Reported by Bruno Haible.
24196
24197 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
24198
24199         * users.txt: Add Guile.
24200
24201 2007-08-22  Eric Blake  <ebb9@byu.net>
24202
24203         * tests/test-getdelim.c (main): Use remove, not unlink.
24204         * tests/test-getline.c (main): Likewise.
24205
24206         Move getline and getdelim into stdio.h, per POSIX 200x.
24207         * modules/getline (Files): Remove getline.h.
24208         (Depends-on): Add stdio.
24209         (configure.ac): Add module indicator.
24210         * modules/getdelim (Files): Remove getdelim.h.
24211         (Depends-on): Add stdio.
24212         (configure.ac): Add module indicator.
24213         * modules/stdio (Makefile.am): Work with new indicators.
24214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24215         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
24216         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24217         * lib/getdelim.h: Delete.
24218         * lib/getline.h: Delete.
24219         * lib/stdio_.h (getdelim, getline): Declare.
24220         * modules/getdelim-tests: New module.
24221         * modules/getline-tests: Likewise.
24222         * tests/test-getdelim.c: New file.
24223         * tests/test-getline.c: Likewise.
24224         * NEWS: Document the change.
24225         * lib/getline.c: Update choice of header.
24226         * lib/csharpcomp.c: Likewise.
24227         * lib/getpass.c: Likewise.
24228         * lib/javacomp.c: Likewise.
24229         * lib/javaversion.c: Likewise.
24230         * lib/yesno.c: Likewise.
24231         * lib/getdelim.c: Likewise.
24232         (getdelim): Set errno on failure, and avoid memory leak.
24233
24234 2007-08-19  Bruno Haible  <bruno@clisp.org>
24235
24236         * modules/closein (Depends-on): Add freadahead.
24237         * lib/closein.c: Include freadahead.h.
24238         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
24239         is zero.
24240
24241 2007-08-19  Bruno Haible  <bruno@clisp.org>
24242
24243         * modules/freadahead-tests: New file.
24244         * tests/test-freadahead.sh: New file.
24245         * tests/test-freadahead.c: New file.
24246
24247         * modules/freadahead: New file.
24248         * lib/freadahead.h: New file.
24249         * lib/freadahead.c: New file.
24250         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
24251         fbufmode, fpurge, freadable, fwritable.
24252
24253 2007-08-19  Eric Blake  <ebb9@byu.net>
24254
24255         Test yesno in combination with closein.
24256         * lib/yesno.c (yesno): Document use of stdin.
24257         * modules/yesno-tests (Files): New module.
24258         * tests/test-yesno.c (main): New file.
24259         * tests/test-yesno.sh: Likewise.
24260
24261 2007-08-19  Bruno Haible  <bruno@clisp.org>
24262
24263         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
24264         * lib/fseeko.c (rpl_fseeko): Likewise.
24265         * lib/fseterr.c (fseterr): Likewise.
24266
24267 2007-08-19  Bruno Haible  <bruno@clisp.org>
24268
24269         * tests/test-lseek.c (main): Disable a test for BeOS.
24270         * doc/functions/lseek.texi: Document the BeOS bug.
24271
24272 2007-08-19  Bruno Haible  <bruno@clisp.org>
24273             Eric Blake  <ebb9@byu.net>
24274
24275         * lib/lseek.c: Include <sys/stat.h>.
24276         (rpl_lseek): Add workaround code also for Unix platforms.
24277         Needed for BeOS.
24278         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
24279         * doc/functions/lseek.texi: Document BeOS definiency.
24280
24281 2007-08-18  Bruno Haible  <bruno@clisp.org>
24282
24283         * modules/fstrcmp-tests: New file.
24284         * tests/test-fstrcmp.c: New file.
24285
24286 2007-08-18  Bruno Haible  <bruno@clisp.org>
24287
24288         * modules/fstrcmp: New file, from GNU gettext with modifications.
24289         * lib/fstrcmp.h: New file, from GNU gettext.
24290         * lib/fstrcmp.c: New file, from GNU gettext.
24291         * MODULES.html.sh (String handling): Add fstrcmp.
24292
24293 2007-08-18  Bruno Haible  <bruno@clisp.org>
24294
24295         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
24296         'bool'.
24297         (diag, compareseq): Remove const from the ctxt argument.
24298         (USE_HEURISTIC): Undefine at the end.
24299
24300 2007-08-18  Jim Meyering  <jim@meyering.net>
24301
24302         New file: lib/idcache.h
24303         * NEWS: Mention the addition.
24304         * modules/idcache (Files): Add lib/idcache.h
24305         * lib/idcache.c: Include "idcache.h".
24306         Don't include <sys/types.h>.
24307         Add a FIXME comment.
24308         Move file-scoped "static" declarations to the top.
24309         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
24310
24311 2007-08-17  Bruno Haible  <bruno@clisp.org>
24312         and Paul Eggert  <eggert@cs.ucla.edu>
24313
24314         * MODULES.html.sh: Add diffseq.
24315         * modules/diffseq: New file.
24316         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
24317         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
24318
24319 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
24320
24321         Import changes from coreutils for bootstrap script.
24322
24323         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
24324
24325         * build-aux/bootstrap (slurp): Work even in environments where
24326         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
24327         current code does not slurp files whose names start with ".", and
24328         this looks like it might be a troublesome area.
24329
24330         2007-07-11  Jim Meyering  <jim@meyering.net>
24331
24332         If there's a GPL vN copyright comment, require that N == 3.
24333
24334         2007-07-08  Jim Meyering  <jim@meyering.net>
24335
24336         Run the coreutils-specific code only if tests/Makefile.am.in exists.
24337         * build-aux/bootstrap (mam_template): Move definition out of loop.
24338
24339         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
24340
24341         * build-aux/bootstrap (symlink_to_dir): Rename function from
24342         symlink_to_gnulib.  Add a directory parameter.  Update all
24343         callers.
24344         (cp_mark_as_generated): Also check for -- and link to -- files in
24345         gl/.
24346
24347         2007-07-08  Jim Meyering  <jim@meyering.net>
24348
24349         Adapt to deeper hierarchy in gnulib.
24350         * build-aux/bootstrap (symlink_to_dir): If the destination
24351         directory doesn't exist, create it. This is required at least for
24352         "lib/uniwidth/cjk.h".
24353
24354         2007-05-15  Jim Meyering  <jim@meyering.net>
24355
24356         * build-aux/bootstrap: Now that generated Makefile.am files
24357         are no longer under version control, they must be created at
24358         bootstrap time.
24359
24360 2007-08-14  Ben Pfaff  <blp@gnu.org>
24361
24362         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
24363
24364 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
24365
24366         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
24367         given the changes below.
24368         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
24369         even on hosts that have padding bits beyond the supported 64.
24370
24371 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
24372
24373         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
24374         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
24375         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
24376         depends on it.
24377         (xstrtol_error): Remove.
24378         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
24379         but with a different signature.
24380         (ATTRIBUTE_NORETURN, __attribute__): New macros.
24381         * lib/xstrtol-error.c: Include exitfail.h.
24382         (xstrtol_fatal): New function, with a different signature from the
24383         old xstrtol_error, so that the caller need not worry about passing
24384         in an exit status, or about storage management of the option argument.
24385         (xstrtol_error): Now a static function.  Redo signature to
24386         implement xstrtol_fatal.  Output the correct number of hyphens in
24387         front of the option so that the caller need not worry about
24388         storage management.
24389         (N_): New macro.
24390         (_): Remove; not used now.
24391         * modules/xstrtol: Depend on getopt.
24392         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
24393         of old STRTOL_FATAL_ERROR macro.
24394         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
24395         of test program.
24396         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
24397         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
24398
24399 2007-08-08  Eric Blake  <ebb9@byu.net>
24400
24401         * lib/xstrtol-error.c: Add missing include.
24402
24403         Move xstrtol messages into gnulib domain, when --pobase is used.
24404         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
24405         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
24406         * modules/xstrtol (Files): Distribute new file.
24407         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
24408         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
24409         * tests/test-xstrtol.c: ...into new file.
24410         * tests/test-xstrtoul.c: Also test xstrtoul.
24411         * tests/test-xstrtoimax.c: Also test xstrtoimax.
24412         * tests/test-xstrtoumax.c: Also test xstrtoumax.
24413         * tests/test-xstrtol.sh: Drive the tests.
24414         * tests/test-xstrtoimax.sh: Likewise.
24415         * tests/test-xstrtoumax.sh: Likewise.
24416         * modules/xstrtol-tests: New module.
24417         * modules/xstrtoimax-tests: Likewise.
24418         * modules/xstrtoumax-tests: Likewise.
24419
24420 2007-08-08  Jim Meyering  <jim@meyering.net>
24421
24422         New function: mfile_name_concat.
24423         * lib/filenamecat.c (mfile_name_concat): New function, just like
24424         file_name_concat, but return NULL upon failure rather than exiting
24425         with a diagnostic.
24426         * lib/filenamecat.h: Declare it.
24427
24428 2007-08-07  Bruno Haible  <bruno@clisp.org>
24429
24430         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
24431         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
24432         warning from gcc.
24433         Reported by Eric Blake.
24434
24435 2007-08-07  Simon Josefsson  <simon@josefsson.org>
24436
24437         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
24438         * modules/crypto/arcfour (License): Likewise.
24439         * modules/crypto/des-tests (License): Likewise.
24440         * modules/crypto/gc-arctwo-tests (License): Likewise.
24441         * modules/crypto/gc-des-tests (License): Likewise.
24442         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
24443         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
24444         * modules/crypto/gc-md2-tests (License): Likewise.
24445         * modules/crypto/gc-md4-tests (License): Likewise.
24446         * modules/crypto/gc-md5-tests (License): Likewise.
24447         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
24448         * modules/crypto/gc-rijndael-tests (License): Likewise.
24449         * modules/crypto/gc-sha1-tests (License): Likewise.
24450         * modules/crypto/gc-tests (License): Likewise.
24451         * modules/crypto/hmac-md5 (License): Likewise.
24452         * modules/crypto/hmac-sha1 (License): Likewise.
24453         * modules/crypto/md2-tests (License): Likewise.
24454         * modules/crypto/md4-tests (License): Likewise.
24455         * modules/crypto/md5 (License): Likewise.
24456         * modules/crypto/rijndael (License): Likewise.
24457         * modules/crypto/sha1 (License): Likewise.
24458         * modules/memxor (License): Likewise.
24459
24460 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
24461         and Bruno Haible  <bruno@clisp.org>
24462
24463         * NEWS: Describe interface changes to human, xstrtol.
24464         * lib/human.h: Include <xstrtol.h>.
24465         (human_options): Return enum strtol_error, not int.  Remove
24466         bool arg; take int * instead.
24467         * lib/human.c: Don't include "gettext.h".
24468         (_): Remove; no longer used.
24469         Don't include <xstrtol.h>, since human.h does it.
24470         (human_options): Adjust to abovementioned interface changes.
24471         Do not report error to stderr; that's now the caller's
24472         responsibility.
24473         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
24474         interface change.
24475         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
24476         Str, Argument_type_string.  All uses changed.  Put " argument"
24477         in diagnostics to make them clearer.  Change wording of suffix
24478         message for clarity.
24479         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
24480         Argument_type_string.
24481         (STRTOL_FATAL_WARN): Remove; no longer used.
24482         * modules/human (Depends-on): Remove gettext-h.
24483
24484 2007-08-06  Simon Josefsson  <simon@josefsson.org>
24485
24486         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
24487
24488 2007-07-31  Bruno Haible  <bruno@clisp.org>
24489
24490         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
24491         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
24492         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
24493
24494 2007-07-31  Bruno Haible  <bruno@clisp.org>
24495
24496         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
24497         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
24498
24499 2007-07-30  Bruno Haible  <bruno@clisp.org>
24500
24501         * modules/base64 (License): Use the synonymous term "LGPLv2+".
24502         * modules/c-ctype (License): Likewise.
24503         * modules/c-strcase (License): Likewise.
24504         * modules/check-version (License): Likewise.
24505         * modules/iconv (License): Likewise.
24506         * modules/iconv_open (License): Likewise.
24507         * modules/read-file (License): Likewise.
24508         * modules/striconv (License): Likewise.
24509         * modules/strverscmp (License): Likewise.
24510         * modules/vasprintf (License): Likewise.
24511         * modules/crypto/des (License): Likewise.
24512         * modules/crypto/gc (License): Likewise.
24513         * modules/crypto/gc-arcfour (License): Likewise.
24514         * modules/crypto/gc-arctwo (License): Likewise.
24515         * modules/crypto/gc-des (License): Likewise.
24516         * modules/crypto/gc-hmac-md5 (License): Likewise.
24517         * modules/crypto/gc-hmac-sha1 (License): Likewise.
24518         * modules/crypto/gc-md2 (License): Likewise.
24519         * modules/crypto/gc-md4 (License): Likewise.
24520         * modules/crypto/gc-md5 (License): Likewise.
24521         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
24522         * modules/crypto/gc-random (License): Likewise.
24523         * modules/crypto/gc-rijndael (License): Likewise.
24524         * modules/crypto/gc-sha1 (License): Likewise.
24525         * modules/crypto/md2 (License): Likewise.
24526         * modules/crypto/md4 (License): Likewise.
24527
24528 2007-07-30  Jim Meyering  <jim@meyering.net>
24529
24530         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
24531         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
24532         it has valid stat data.  This bug would cause du not to count the
24533         sizes of inaccessible directories.
24534         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
24535         in <http://bugzilla.redhat.com/250077>.
24536
24537 2007-07-25  Peter O'Gorman  <peter@pogma.com>
24538             Bruno Haible  <bruno@clisp.org>
24539
24540         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
24541         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
24542         #include_next, gives a diagnostic about it, but reports no error in
24543         the exit code.
24544         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
24545
24546 2007-07-24  Ben Pfaff  <blp@gnu.org>
24547
24548         Improve name: "count-one-bits" is better than "popcount".
24549         * MODULES.html.sh: Update name.
24550         * lib/popcount.h: Renamed lib/count-one-bits.h.
24551         (popcount): Renamed count_one_bits.
24552         (popcountl): Renamed count_one_bits_l.
24553         (popcountll): Renamed count_one_bits_ll.
24554         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
24555         * modules/popcount: Renamed module/count-one-bits.
24556         * modules/popcount-tests: Renamed module/count-one-bits-tests.
24557         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
24558
24559 2007-07-23  Ben Pfaff  <blp@gnu.org>
24560
24561         * lib/popcount.h (popcount32): Reduce size of constants, to allow
24562         better code generation, and add U to large constants to avoid
24563         warnings, in non-GCC case.
24564         Suggested by Bruno Haible.
24565
24566 2007-07-23  Ben Pfaff  <blp@gnu.org>
24567
24568         * lib/popcount.h: Use verify_true instead of if...abort.
24569         * modules/popcount: Depend on verify module.
24570         Suggested by Jim Meyering.
24571
24572 2007-07-23  Bruno Haible  <bruno@clisp.org>
24573
24574         * gnulib-tool (func_import): Create a .cvsignore file also when the
24575         directory is not yet in CVS but the toplevel directory is. When
24576         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
24577         Reported by Karl Berry.
24578
24579 2007-07-22  Ben Pfaff  <blp@gnu.org>
24580
24581         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
24582         case.
24583         Suggested by Eric Blake.
24584
24585 2007-07-22  Ben Pfaff  <blp@gnu.org>
24586
24587         New module: popcount.
24588         * MODULES.html.sh: Add popcount.
24589         * modules/popcount: New file.
24590         * modules/popcount-tests: New file.
24591         * tests/test-popcount.c: New file.
24592         * lib/popcount.h: New file.
24593         * m4/popcount.m4: New file.
24594
24595 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
24596
24597         * build-aux/announce-gen: Update to GPLv3.
24598
24599         * build-aux/config.guess: Update from config.
24600
24601 2007-07-21  Bruno Haible  <bruno@clisp.org>
24602
24603         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
24604         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
24605
24606 2007-07-20  Jim Meyering  <jim@meyering.net>
24607
24608         * check-module: Diagnose a self-dependency.
24609
24610 2007-07-19  Bruno Haible  <bruno@clisp.org>
24611
24612         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
24613         empty.
24614         Reported by Eric Blake.
24615
24616 2007-07-18  Bruno Haible  <bruno@clisp.org>
24617
24618         * gnulib-tool: New options --po-base, --po-domain.
24619         (func_usage): Document them.
24620         (pobase, po_domain): New variables.
24621         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
24622         DEFAULT_TEXT_DOMAIN.
24623         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
24624         (func_import): Consider pobase and po_domain. Create a po/ directory.
24625         (func_create_testdir): Set pobase and po_domain to empty.
24626         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
24627         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
24628
24629 2007-07-18  Bruno Haible  <bruno@clisp.org>
24630
24631         * gnulib-tool (func_get_automake_snippet): Synthesize also an
24632         EXTRA_DIST augmentation for files in build-aux/.
24633
24634 2007-07-16  Bruno Haible  <bruno@clisp.org>
24635
24636         * modules/lseek (License): Use the synonymous term "LGPLv2+".
24637         * modules/getdelim (License): Likewise.
24638
24639 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24640
24641         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
24642         * modules/d-type (License): Likewise.
24643         * modules/extensions (License): Likewise.
24644         * modules/fnmatch (License): Likewise.
24645         * modules/fseeko (License): Likewise.
24646         * modules/getaddrinfo (License): Likewise.
24647         * modules/getline (License): Likewise.
24648         * modules/getlogin_r (License): Likewise.
24649         * modules/getpass (License): Likewise.
24650         * modules/gettimeofday (License): Likewise.
24651         * modules/glob (License): Likewise.
24652         * modules/inet_ntop (License): Likewise.
24653         * modules/malloc (License): Likewise.
24654         * modules/malloca (License): Likewise.
24655         * modules/memmem (License): Likewise.
24656         * modules/mempcpy (License): Likewise.
24657         * modules/memset (License): Likewise.
24658         * modules/minmax (License): Likewise.
24659         * modules/mktime (License): Likewise.
24660         * modules/netinet_in (License): Likewise.
24661         * modules/pathmax (License): Likewise.
24662         * modules/poll (License): Likewise.
24663         * modules/regex (License): Likewise.
24664         * modules/snprintf (License): Likewise.
24665         * modules/stdbool (License): Likewise.
24666         * modules/stdint (License): Likewise.
24667         * modules/stdio (License): Likewise.
24668         * modules/strcase (License): Likewise.
24669         * modules/strcasestr (License): Likewise.
24670         * modules/strdup (License): Likewise.
24671         * modules/string (License): Likewise.
24672         * modules/strndup (License): Likewise.
24673         * modules/strnlen (License): Likewise.
24674         * modules/strpbrk (License): Likewise.
24675         * modules/strptime (License): Likewise.
24676         * modules/strsep (License): Likewise.
24677         * modules/sys_select (License): Likewise.
24678         * modules/sys_socket (License): Likewise.
24679         * modules/sys_stat (License): Likewise.
24680         * modules/sys_time (License): Likewise.
24681         * modules/time (License): Likewise.
24682         * modules/time_r (License): Likewise.
24683         * modules/timegm (License): Likewise.
24684         * modules/unistd (License): Likewise.
24685         * modules/vsnprintf (License): Likewise.
24686         * modules/wctype (License): Likewise.
24687
24688 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24689
24690         * modules/argz (License): LGPLv2+.
24691
24692 2007-07-15  Karl Berry  <karl@gnu.org>
24693
24694         * doc/gnulib.texi: revise node structure per new fdl.texi.
24695
24696 2007-07-14  Bruno Haible  <bruno@clisp.org>
24697
24698         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
24699         the output file.
24700         * lib/uniname/uninames.h: Regenerated.
24701
24702 2007-07-14  Karl Berry  <karl@gnu.org>
24703
24704         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
24705         omitting sectioning and index commands.
24706
24707 2007-07-13  Bruno Haible  <bruno@clisp.org>
24708
24709         New gnulib-tool option --more-symlinks.
24710         * gnulib-tool (func_usage): Document --more-symlinks.
24711         (do_copyrights): New variable.
24712         Recognize option --more-symlinks.
24713         (func_import): Don't add a copyright notice transform to
24714         sed_transform_lib_file if do_copyrights is empty.
24715
24716 2007-07-13  Bruno Haible  <bruno@clisp.org>
24717
24718         * lib/vasnprintf.c (decimal_point_char): Define also if
24719         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
24720         && !NEED_PRINTF_DIRECTIVE_A.
24721         Reported by Clemens Koller <clemens.koller@anagramm.de> via
24722         Gary V. Vaughan <gary@gnu.org>.
24723
24724 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
24725
24726         * lib/inttypes_.h: Undo previous change, since it was fixed
24727         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
24728
24729 2007-07-13  Bruno Haible  <bruno@clisp.org>
24730
24731         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
24732         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
24733
24734 2007-07-13  Jim Meyering  <jim@meyering.net>
24735
24736         df: Don't fail for Tru64's "file-on-file mount".
24737         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
24738         so we fall through and use statfs instead.  Details here:
24739         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
24740         Reported by Albert Chin.
24741
24742 2007-07-13  Bruno Haible  <bruno@clisp.org>
24743
24744         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
24745         * modules/configmake (License): Likewise.
24746         * modules/gettext (License): Likewise.
24747         * modules/gettext-h (License): Likewise.
24748         * modules/include_next (License): Likewise.
24749         * modules/link-warning (License): Likewise.
24750         * modules/localcharset (License): Likewise.
24751         * modules/localename (License): Likewise.
24752         * modules/lock (License): Likewise.
24753         * modules/relocatable-lib-lgpl (License): Likewise.
24754         * modules/size_max (License): Likewise.
24755         * modules/vasnprintf (License): Likewise.
24756         * modules/wchar (License): Likewise.
24757         * modules/xsize (License): Likewise.
24758
24759 2007-07-13  Bruno Haible  <bruno@clisp.org>
24760
24761         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
24762         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
24763
24764 2007-07-12  Bruno Haible  <bruno@clisp.org>
24765
24766         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
24767         in the modules files.
24768
24769 2007-07-11  Karl Berry  <karl@gnu.org>
24770
24771         * MODULES.html.sh (func_module): use
24772          sed -e '\|^'"${includefile}"'$|d'
24773          instead of /.../d, to avoid errors on $includefile's containing /.
24774
24775 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
24776
24777         * gnulib-tool (func_import): Avoid duplication of --avoid
24778         statements
24779         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
24780         names to `_' in variable names.
24781
24782 2007-07-10  Eric Blake  <ebb9@byu.net>
24783
24784         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
24785         * NEWS: Document this change.
24786
24787 2007-07-08  Bruno Haible  <bruno@clisp.org>
24788
24789         Update to Unicode 5.0.
24790         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
24791         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
24792         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
24793         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
24794         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
24795         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
24796         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
24797         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
24798         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
24799         U+10A3F, U+1D242..U+1D244.
24800         (nonspacing_table_ind): Update.
24801         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
24802         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
24803
24804 2007-07-08  Bruno Haible  <bruno@clisp.org>
24805
24806         Update to Unicode 5.0.
24807         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
24808         code transform. Extend the name index field of unicode_name_to_code and
24809         unicode_code_to_name from 16 to 24 bits.
24810         * lib/uniname/uniname.c (unicode_character_name,
24811         unicode_name_character): Add the range 0x12xxx to the code transform.
24812         * lib/uniname/uninames.h: Regenerated.
24813         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
24814
24815 2007-07-07  Bruno Haible  <bruno@clisp.org>
24816
24817         * modules/wcwidth-tests: New file.
24818         * tests/test-wcwidth.c: New file.
24819
24820         Work around MacOS X wcwidth() bug.
24821         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
24822         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
24823         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
24824         original wcwidth in non-UTF-8 locales.
24825         * modules/wcwidth (Depends-on): Add localcharset, streq,
24826         uniwidth/width.
24827         * doc/functions/wcwidth.texi: Update.
24828
24829 2007-07-07  Bruno Haible  <bruno@clisp.org>
24830
24831         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
24832         (wcwidth): New declaration.
24833         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
24834         macros.
24835         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
24836         here. Prepare for creating <wchar.h> unconditionally.
24837         * modules/wchar (Depends-on): Add link-warning.
24838         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
24839         REPLACE_WCWIDTH, and GL_LINK_WARNING.
24840         * lib/wcwidth.h: Remove file.
24841         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
24842         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
24843         * modules/wcwidth (Files): Remove lib/wcwidth.h.
24844         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
24845         (Include): Replace wcwidth.h with <wchar.h>.
24846         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
24847         * lib/mbchar.h: Don't include wcwidth.h.
24848         * lib/mbswidth.c: Likewise.
24849         * NEWS: Mention the change.
24850
24851 2007-07-07  Bruno Haible  <bruno@clisp.org>
24852
24853         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
24854         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
24855         definition with an external declaration.
24856         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
24857         defined as a function. Remove AC_C_INLINE requirement.
24858         * modules/wcwidth (Files): Add lib/wcwidth.c.
24859         (Makefile.am): Remove redundant statement.
24860
24861 2007-07-07  Bruno Haible  <bruno@clisp.org>
24862
24863         * MODULES.html.sh (Unicode string functions): Add the new modules.
24864
24865         * tests/uniwidth/test-u32-strwidth.c: New file.
24866         * modules/uniwidth/u32-strwidth-tests: New file.
24867
24868         * lib/uniwidth/u32-strwidth.c: New file.
24869         * modules/uniwidth/u32-strwidth: New file.
24870
24871         * tests/uniwidth/test-u16-strwidth.c: New file.
24872         * modules/uniwidth/u16-strwidth-tests: New file.
24873
24874         * lib/uniwidth/u16-strwidth.c: New file.
24875         * modules/uniwidth/u16-strwidth: New file.
24876
24877         * tests/uniwidth/test-u8-strwidth.c: New file.
24878         * modules/uniwidth/u8-strwidth-tests: New file.
24879
24880         * lib/uniwidth/u8-strwidth.c: New file.
24881         * modules/uniwidth/u8-strwidth: New file.
24882
24883         * tests/uniwidth/test-u32-width.c: New file.
24884         * modules/uniwidth/u32-width-tests: New file.
24885
24886         * lib/uniwidth/u32-width.c: New file.
24887         * modules/uniwidth/u32-width: New file.
24888
24889         * tests/uniwidth/test-u16-width.c: New file.
24890         * modules/uniwidth/u16-width-tests: New file.
24891
24892         * lib/uniwidth/u16-width.c: New file.
24893         * modules/uniwidth/u16-width: New file.
24894
24895         * tests/uniwidth/test-u8-width.c: New file.
24896         * modules/uniwidth/u8-width-tests: New file.
24897
24898         * lib/uniwidth/u8-width.c: New file.
24899         * modules/uniwidth/u8-width: New file.
24900
24901         * tests/uniwidth/test-uc_width.c: New file.
24902         * modules/uniwidth/width-tests: New file.
24903
24904         * lib/uniwidth/width.c: New file, from GNU libiconv.
24905         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
24906         * modules/uniwidth/width: New file.
24907
24908         * lib/uniwidth.h: New file, from GNU libiconv.
24909         * modules/uniwidth/base: New file.
24910
24911 2007-07-07  Bruno Haible  <bruno@clisp.org>
24912
24913         * lib/uniname.h: New file, from GNU gettext.
24914         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
24915         * lib/uniname/uninames.h: New file, from GNU gettext.
24916         * lib/uniname/uniname.c: New file, from GNU gettext.
24917         * tests/uniname/test-uninames.sh: New file.
24918         * tests/uniname/test-uninames.c: New file, from GNU gettext.
24919         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
24920         * modules/uniname/base: New file.
24921         * modules/uniname/uniname: New file.
24922         * modules/uniname/uniname-tests: New file.
24923         * MODULES.html.sh (Unicode string functions): Add the new modules.
24924
24925 2007-07-06  Bruno Haible  <bruno@clisp.org>
24926
24927         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
24928
24929 2007-07-06  Bruno Haible  <bruno@clisp.org>
24930
24931         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
24932         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
24933         includes <cygwin/sys_time.h> which includes <sys/select.h> which
24934         include <sys/time.h>.
24935         Reported by Eric Blake.
24936
24937 2007-07-06  Eric Blake  <ebb9@byu.net>
24938
24939         Fix testing canonicalize on cygwin.
24940         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
24941         Revert patch from 2007-06-19.
24942         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
24943         canonicalize module is also in use.
24944         * tests/test-canonicalize.c: New file.
24945         * tests/test-canonicalize.sh: Likewise.
24946         * modules/canonicalize-tests: Likewise.
24947
24948 2007-07-06  Jim Meyering  <jim@meyering.net>
24949
24950         * lib/getugroups.c (getugroups): Detect getgrent failure.
24951         Adjust comment to reflect reality: this function may return -1.
24952
24953 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
24954
24955         * build-aux/bootstrap (TP_URL,get_translations): Update to use
24956         the new TP address.
24957         (usage): Fix typo
24958         (gnulib_mk): New variable.
24959
24960 2007-07-05  Jim Meyering  <jim@meyering.net>
24961
24962         Don't let endgrent clobber errno, no matter how improbable.
24963         * lib/getugroups.c (getugroups): Save and restore errno around
24964         endgrent call.
24965
24966         Close the group DB even when failing with 2^31 or more members.
24967         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
24968
24969 2007-07-04  Jim Meyering  <jim@meyering.net>
24970
24971         * lib/getugroups.h: New file.
24972         * lib/getugroups.c: Include "getugroups.h".
24973         Remove uses of "register" keyword.
24974         Move local variable, "cp", down into scope where used.
24975         Give "username" parameter the "const" attribute.
24976         * modules/getugroups (Files): Add lib/getugroups.h
24977
24978 2007-07-04  Karl Berry  <karl@gnu.org>
24979
24980         * MODULES.html.sh (func_all_modules): Complete rename of
24981         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
24982
24983 2007-07-02  Bruno Haible  <bruno@clisp.org>
24984
24985         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
24986         mode, when inttypes.h comes from gnulib.
24987         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
24988
24989 2007-07-02  Simon Josefsson  <simon@josefsson.org>
24990
24991         * NEWS: Mention lgpl module name change.
24992
24993         * modules/lgpl-2.1: Renamed from lgpl.
24994
24995         * NEWS: Mention gpl module name change.
24996
24997         * modules/gpl-3.0: New file, based on gpl-2.0.
24998
24999         * modules/gpl-2.0: Renamed from gpl.
25000
25001         * modules/gpl: Fix filename, doc/gpl.texi is now found at
25002         doc/gpl-2.0.texi.
25003
25004 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
25005
25006         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
25007         #define __STDC_LIMIT_MACROS temporarily while including
25008         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
25009         Problem reported by Joel E. Denny in
25010         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
25011
25012 2007-07-01  Bruno Haible  <bruno@clisp.org>
25013
25014         * lib/unistdio.h: New file.
25015         * lib/unistdio/u-asnprintf.h: New file.
25016         * lib/unistdio/u-asprintf.h: New file.
25017         * lib/unistdio/u-printf-args.c: New file.
25018         * lib/unistdio/u-printf-args.h: New file.
25019         * lib/unistdio/u-printf-parse.h: New file.
25020         * lib/unistdio/u-snprintf.h: New file.
25021         * lib/unistdio/u-sprintf.h: New file.
25022         * lib/unistdio/u-vasprintf.h: New file.
25023         * lib/unistdio/u-vsnprintf.h: New file.
25024         * lib/unistdio/u-vsprintf.h: New file.
25025         * lib/unistdio/ulc-asnprintf.c: New file.
25026         * lib/unistdio/ulc-asprintf.c: New file.
25027         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
25028         * lib/unistdio/ulc-printf-parse.c: New file.
25029         * lib/unistdio/ulc-snprintf.c: New file.
25030         * lib/unistdio/ulc-sprintf.c: New file.
25031         * lib/unistdio/ulc-vasnprintf.c: New file.
25032         * lib/unistdio/ulc-vasprintf.c: New file.
25033         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
25034         * lib/unistdio/ulc-vsnprintf.c: New file.
25035         * lib/unistdio/ulc-vsprintf.c: New file.
25036         * lib/unistdio/u8-asnprintf.c: New file.
25037         * lib/unistdio/u8-asprintf.c: New file.
25038         * lib/unistdio/u8-printf-parse.c: New file.
25039         * lib/unistdio/u8-snprintf.c: New file.
25040         * lib/unistdio/u8-sprintf.c: New file.
25041         * lib/unistdio/u8-vasnprintf.c: New file.
25042         * lib/unistdio/u8-vasprintf.c: New file.
25043         * lib/unistdio/u8-vsnprintf.c: New file.
25044         * lib/unistdio/u8-vsprintf.c: New file.
25045         * lib/unistdio/u8-u8-asnprintf.c: New file.
25046         * lib/unistdio/u8-u8-asprintf.c: New file.
25047         * lib/unistdio/u8-u8-snprintf.c: New file.
25048         * lib/unistdio/u8-u8-sprintf.c: New file.
25049         * lib/unistdio/u8-u8-vasnprintf.c: New file.
25050         * lib/unistdio/u8-u8-vasprintf.c: New file.
25051         * lib/unistdio/u8-u8-vsnprintf.c: New file.
25052         * lib/unistdio/u8-u8-vsprintf.c: New file.
25053         * lib/unistdio/u16-asnprintf.c: New file.
25054         * lib/unistdio/u16-asprintf.c: New file.
25055         * lib/unistdio/u16-printf-parse.c: New file.
25056         * lib/unistdio/u16-snprintf.c: New file.
25057         * lib/unistdio/u16-sprintf.c: New file.
25058         * lib/unistdio/u16-vasnprintf.c: New file.
25059         * lib/unistdio/u16-vasprintf.c: New file.
25060         * lib/unistdio/u16-vsnprintf.c: New file.
25061         * lib/unistdio/u16-vsprintf.c: New file.
25062         * lib/unistdio/u16-u16-asnprintf.c: New file.
25063         * lib/unistdio/u16-u16-asprintf.c: New file.
25064         * lib/unistdio/u16-u16-snprintf.c: New file.
25065         * lib/unistdio/u16-u16-sprintf.c: New file.
25066         * lib/unistdio/u16-u16-vasnprintf.c: New file.
25067         * lib/unistdio/u16-u16-vasprintf.c: New file.
25068         * lib/unistdio/u16-u16-vsnprintf.c: New file.
25069         * lib/unistdio/u16-u16-vsprintf.c: New file.
25070         * lib/unistdio/u32-asnprintf.c: New file.
25071         * lib/unistdio/u32-asprintf.c: New file.
25072         * lib/unistdio/u32-printf-parse.c: New file.
25073         * lib/unistdio/u32-snprintf.c: New file.
25074         * lib/unistdio/u32-sprintf.c: New file.
25075         * lib/unistdio/u32-vasnprintf.c: New file.
25076         * lib/unistdio/u32-vasprintf.c: New file.
25077         * lib/unistdio/u32-vsnprintf.c: New file.
25078         * lib/unistdio/u32-vsprintf.c: New file.
25079         * lib/unistdio/u32-u32-asnprintf.c: New file.
25080         * lib/unistdio/u32-u32-asprintf.c: New file.
25081         * lib/unistdio/u32-u32-snprintf.c: New file.
25082         * lib/unistdio/u32-u32-sprintf.c: New file.
25083         * lib/unistdio/u32-u32-vasnprintf.c: New file.
25084         * lib/unistdio/u32-u32-vasprintf.c: New file.
25085         * lib/unistdio/u32-u32-vsnprintf.c: New file.
25086         * lib/unistdio/u32-u32-vsprintf.c: New file.
25087         * tests/unistdio/test-ulc-asnprintf1.c: New file.
25088         * tests/unistdio/test-ulc-asnprintf1.h: New file.
25089         * tests/unistdio/test-ulc-printf1.h: New file.
25090         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
25091         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
25092         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
25093         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
25094         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
25095         * tests/unistdio/test-ulc-vasprintf1.c: New file.
25096         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
25097         * tests/unistdio/test-ulc-vsprintf1.c: New file.
25098         * tests/unistdio/test-u8-asnprintf1.c: New file.
25099         * tests/unistdio/test-u8-asnprintf1.h: New file.
25100         * tests/unistdio/test-u8-printf1.h: New file.
25101         * tests/unistdio/test-u8-vasnprintf1.c: New file.
25102         * tests/unistdio/test-u8-vasnprintf2.c: New file.
25103         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
25104         * tests/unistdio/test-u8-vasnprintf3.c: New file.
25105         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
25106         * tests/unistdio/test-u8-vasprintf1.c: New file.
25107         * tests/unistdio/test-u8-vsnprintf1.c: New file.
25108         * tests/unistdio/test-u8-vsprintf1.c: New file.
25109         * tests/unistdio/test-u16-asnprintf1.c: New file.
25110         * tests/unistdio/test-u16-asnprintf1.h: New file.
25111         * tests/unistdio/test-u16-printf1.h: New file.
25112         * tests/unistdio/test-u16-vasnprintf1.c: New file.
25113         * tests/unistdio/test-u16-vasnprintf2.c: New file.
25114         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
25115         * tests/unistdio/test-u16-vasnprintf3.c: New file.
25116         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
25117         * tests/unistdio/test-u16-vasprintf1.c: New file.
25118         * tests/unistdio/test-u16-vsnprintf1.c: New file.
25119         * tests/unistdio/test-u16-vsprintf1.c: New file.
25120         * tests/unistdio/test-u32-asnprintf1.c: New file.
25121         * tests/unistdio/test-u32-asnprintf1.h: New file.
25122         * tests/unistdio/test-u32-printf1.h: New file.
25123         * tests/unistdio/test-u32-vasnprintf1.c: New file.
25124         * tests/unistdio/test-u32-vasnprintf2.c: New file.
25125         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
25126         * tests/unistdio/test-u32-vasnprintf3.c: New file.
25127         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
25128         * tests/unistdio/test-u32-vasprintf1.c: New file.
25129         * tests/unistdio/test-u32-vsnprintf1.c: New file.
25130         * tests/unistdio/test-u32-vsprintf1.c: New file.
25131         * modules/unistdio/base: New file.
25132         * modules/unistdio/u-printf-args: New file.
25133         * modules/unistdio/ulc-asnprintf: New file.
25134         * modules/unistdio/ulc-asprintf: New file.
25135         * modules/unistdio/ulc-fprintf: New file.
25136         * modules/unistdio/ulc-printf-parse: New file.
25137         * modules/unistdio/ulc-snprintf: New file.
25138         * modules/unistdio/ulc-sprintf: New file.
25139         * modules/unistdio/ulc-vasnprintf: New file.
25140         * modules/unistdio/ulc-vasprintf: New file.
25141         * modules/unistdio/ulc-vfprintf: New file.
25142         * modules/unistdio/ulc-vsnprintf: New file.
25143         * modules/unistdio/ulc-vsprintf: New file.
25144         * modules/unistdio/u8-asnprintf: New file.
25145         * modules/unistdio/u8-asprintf: New file.
25146         * modules/unistdio/u8-printf-parse: New file.
25147         * modules/unistdio/u8-snprintf: New file.
25148         * modules/unistdio/u8-sprintf: New file.
25149         * modules/unistdio/u8-vasnprintf: New file.
25150         * modules/unistdio/u8-vasprintf: New file.
25151         * modules/unistdio/u8-vsnprintf: New file.
25152         * modules/unistdio/u8-vsprintf: New file.
25153         * modules/unistdio/u8-u8-asnprintf: New file.
25154         * modules/unistdio/u8-u8-asprintf: New file.
25155         * modules/unistdio/u8-u8-snprintf: New file.
25156         * modules/unistdio/u8-u8-sprintf: New file.
25157         * modules/unistdio/u8-u8-vasnprintf: New file.
25158         * modules/unistdio/u8-u8-vasprintf: New file.
25159         * modules/unistdio/u8-u8-vsnprintf: New file.
25160         * modules/unistdio/u8-u8-vsprintf: New file.
25161         * modules/unistdio/u16-asnprintf: New file.
25162         * modules/unistdio/u16-asprintf: New file.
25163         * modules/unistdio/u16-printf-parse: New file.
25164         * modules/unistdio/u16-snprintf: New file.
25165         * modules/unistdio/u16-sprintf: New file.
25166         * modules/unistdio/u16-vasnprintf: New file.
25167         * modules/unistdio/u16-vasprintf: New file.
25168         * modules/unistdio/u16-vsnprintf: New file.
25169         * modules/unistdio/u16-vsprintf: New file.
25170         * modules/unistdio/u16-u16-asnprintf: New file.
25171         * modules/unistdio/u16-u16-asprintf: New file.
25172         * modules/unistdio/u16-u16-snprintf: New file.
25173         * modules/unistdio/u16-u16-sprintf: New file.
25174         * modules/unistdio/u16-u16-vasnprintf: New file.
25175         * modules/unistdio/u16-u16-vasprintf: New file.
25176         * modules/unistdio/u16-u16-vsnprintf: New file.
25177         * modules/unistdio/u16-u16-vsprintf: New file.
25178         * modules/unistdio/u32-asnprintf: New file.
25179         * modules/unistdio/u32-asprintf: New file.
25180         * modules/unistdio/u32-printf-parse: New file.
25181         * modules/unistdio/u32-snprintf: New file.
25182         * modules/unistdio/u32-sprintf: New file.
25183         * modules/unistdio/u32-vasnprintf: New file.
25184         * modules/unistdio/u32-vasprintf: New file.
25185         * modules/unistdio/u32-vsnprintf: New file.
25186         * modules/unistdio/u32-vsprintf: New file.
25187         * modules/unistdio/u32-u32-asnprintf: New file.
25188         * modules/unistdio/u32-u32-asprintf: New file.
25189         * modules/unistdio/u32-u32-snprintf: New file.
25190         * modules/unistdio/u32-u32-sprintf: New file.
25191         * modules/unistdio/u32-u32-vasnprintf: New file.
25192         * modules/unistdio/u32-u32-vasprintf: New file.
25193         * modules/unistdio/u32-u32-vsnprintf: New file.
25194         * modules/unistdio/u32-u32-vsprintf: New file.
25195         * modules/unistdio/ulc-asnprintf-tests: New file.
25196         * modules/unistdio/ulc-vasnprintf-tests: New file.
25197         * modules/unistdio/ulc-vasprintf-tests: New file.
25198         * modules/unistdio/ulc-vsnprintf-tests: New file.
25199         * modules/unistdio/ulc-vsprintf-tests: New file.
25200         * modules/unistdio/u8-asnprintf-tests: New file.
25201         * modules/unistdio/u8-vasnprintf-tests: New file.
25202         * modules/unistdio/u8-vasprintf-tests: New file.
25203         * modules/unistdio/u8-vsnprintf-tests: New file.
25204         * modules/unistdio/u8-vsprintf-tests: New file.
25205         * modules/unistdio/u16-asnprintf-tests: New file.
25206         * modules/unistdio/u16-vasnprintf-tests: New file.
25207         * modules/unistdio/u16-vasprintf-tests: New file.
25208         * modules/unistdio/u16-vsnprintf-tests: New file.
25209         * modules/unistdio/u16-vsprintf-tests: New file.
25210         * modules/unistdio/u32-asnprintf-tests: New file.
25211         * modules/unistdio/u32-vasnprintf-tests: New file.
25212         * modules/unistdio/u32-vasprintf-tests: New file.
25213         * modules/unistdio/u32-vsnprintf-tests: New file.
25214         * modules/unistdio/u32-vsprintf-tests: New file.
25215         * MODULES.html.sh (Unicode string functions): Add the new modules.
25216
25217 2007-07-01  Bruno Haible  <bruno@clisp.org>
25218
25219         * lib/sprintf.c (sprintf): Limit the available length estimation,
25220         to avoid address wraparound.
25221         * lib/vsprintf.c (vsprintf): Likewise.
25222         * modules/sprintf-posix (Dependencies): Add stdint.
25223         * modules/vsprintf-posix (Dependencies): Likewise.
25224
25225 2007-07-01  Bruno Haible  <bruno@clisp.org>
25226
25227         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
25228         Windows PATH as well. Conservative double-quoting. Comments.
25229
25230 2007-07-01  Bruno Haible  <bruno@clisp.org>
25231             Eric Blake  <ebb9@byu.net>
25232             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25233
25234         * gnulib-tool (self_abspathname): Fix algorithm to cope with
25235         empty components in $PATH, denoting '.'.
25236
25237 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25238
25239         * gnulib-tool: Fix indentation.
25240         (func_create_megatestdir): Likewise.
25241         Report by Bruno Haible.
25242
25243 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25244
25245         Sync from Automake.
25246         * build-aux/gnupload: Fix shell portability issues with for loops.
25247         Report by Karl Berry.
25248
25249 2007-06-29  Simon Josefsson  <simon@josefsson.org>
25250
25251         * build-aux/maint.mk (POURL): Use translationproject.org.
25252
25253 2007-06-27  Simon Josefsson  <simon@josefsson.org>
25254             Bruno Haible  <bruno@clisp.org>
25255
25256         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
25257         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
25258         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
25259         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
25260         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
25261
25262 2007-06-27  Bruno Haible  <bruno@clisp.org>
25263
25264         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
25265         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
25266
25267 2007-06-26  Karl Berry  <karl@gnu.org>
25268
25269         * MODULES.html.sh: remove xreadlink-with-size.
25270
25271 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25272
25273         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
25274         method that I hope also handles the double-include problem noted
25275         by Bruno Haible in
25276         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
25277
25278 2007-06-23  Bruno Haible  <bruno@clisp.org>
25279
25280         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25281         Don't let the 'mostlyclean' target fail if the last subdirectory could
25282         not be removed.
25283         Reported by Karl Berry.
25284
25285 2007-06-23  Bruno Haible  <bruno@clisp.org>
25286
25287         * gnulib-tool (echo): Add a speedier workaround for ksh.
25288         * tests/test-echo.sh: Likewise.
25289
25290 2007-06-23  Bruno Haible  <bruno@clisp.org>
25291
25292         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
25293         * tests/test-echo.sh: Likewise.
25294
25295 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25296
25297         * gnulib-tool (IFS): Initialize early, so we don't set it to
25298         empty later.
25299         (self_abspathname): Rewrite algorithm to set it, reindent.
25300         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
25301         (func_create_megatestdir): Merge some sed scripts.
25302
25303 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
25304
25305         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
25306         exposed by Sun Studio 11 cc on Solaris 8.
25307
25308 2007-06-22  Bruno Haible  <bruno@clisp.org>
25309
25310         * gnulib-tool (echo): Ensure the echo primitive does not interpret
25311         backslashes.
25312         * tests/test-echo.sh: New file.
25313
25314 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25315
25316         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
25317         simplify `sed_replace_build_aux' scripts, they are portable but
25318         echoing them with `echo' is not.
25319         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
25320
25321 2007-06-21  Karl Berry  <karl@gnu.org>
25322
25323         * config/srclist.txt: guess we can't handle the licenses via
25324         srclist at the moment.
25325
25326 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25327
25328         * MODULES.html.sh: Add include_next.
25329         * modules/include_next: New file.
25330
25331 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
25332
25333         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
25334         INCLUDE_NEXT.
25335         (gl_CHECK_NEXT_HEADERS): New macro.
25336         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
25337         the obsolescent gl_ABSOLUTE_HEADER.
25338         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
25339         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
25340         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
25341         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25342         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25343         * m4/math_h.m4 (gl_MATH_H): Likewise.
25344         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
25345         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25346         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
25347         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25348         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
25349         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
25350         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
25351         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25352         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25353         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
25354         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
25355         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25356         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
25357         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25358         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
25359         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25360         * m4/inttypes.m4 (gl_INTTYPES_H): Define
25361         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
25362         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
25363         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
25364         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
25365         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
25366         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
25367         * lib/float_.h: Likewise.
25368         * lib/inttypes_.h: Likewise.
25369         * lib/math_.h: Likewise.
25370         * lib/search_.h: Likewise.
25371         * lib/signal_.h: Likewise.
25372         * lib/stdint_.h: Likewise.
25373         * lib/stdio_.h: Likewise.
25374         * lib/stdlib_.h: Likewise.
25375         * lib/string_.h: Likewise.
25376         * lib/sys_stat_.h: Likewise.
25377         * lib/sys_time_.h: Likewise.
25378         * lib/time_.h: Likewise.
25379         * lib/unistd_.h: Likewise.
25380         * lib/wchar_.h: Likewise.
25381         * lib/wctype_.h: Likewise.
25382         * lib/dirent_.h: Likewise.
25383         * lib/iconv_.h: Likewise.
25384         * lib/locale_.h: Likewise.
25385         * lib/netinet_in_.h: Likewise.
25386         * lib/sys_select_.h: Likewise.
25387         * lib/sys_socket_.h: Likewise.
25388         * lib/sysexits_.h: Likewise.
25389         * modules/fcntl (Depends-on): Depend on include_next, not
25390         absolute_header.
25391         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
25392         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
25393         * modules/fchdir: Likewise.
25394         * modules/float: Likewise.
25395         * modules/iconv_open: Likewise.
25396         * modules/inttypes: Likewise.
25397         * modules/locale: Likewise.
25398         * modules/math: Likewise.
25399         * modules/netinet_in: Likewise.
25400         * modules/search: Likewise.
25401         * modules/signal: Likewise.
25402         * modules/stdint: Likewise.
25403         * modules/stdio: Likewise.
25404         * modules/stdlib: Likewise.
25405         * modules/string: Likewise.
25406         * modules/sys_select: Likewise.
25407         * modules/sys_socket: Likewise.
25408         * modules/sys_stat: Likewise.
25409         * modules/sys_time: Likewise.
25410         * modules/sysexits: Likewise.
25411         * modules/time: Likewise.
25412         * modules/unistd: Likewise.
25413         * modules/wchar: Likewise.
25414         * modules/wctype: Likewise.
25415         * modules/sys_stat: Change maintainer to "all".
25416         * modules/unistd: Likewise.
25417
25418 2007-06-20  Karl Berry  <karl@gnu.org>
25419
25420         * config/srclist.txt: track www changes in license files.
25421
25422 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
25423
25424         * build-aux/bootstrap: Remove stray dot.
25425         Make sure build_aux settings are honored when linking
25426         gnulib_extra_files.
25427
25428 2007-06-19  Eric Blake  <ebb9@byu.net>
25429
25430         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
25431         Allow compilation on cygwin.
25432
25433 2007-06-19  Jim Meyering  <jim@meyering.net>
25434
25435         xreadlink-with-size: Remove module.  No longer used.
25436         Ex-callers now use xreadlink or mreadlink-with-size.
25437         * modules/xreadlink-with-size: Remove module.
25438         * lib/xreadlink-with-size.c: Remove file.
25439         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
25440         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
25441         just before the function definition *is* accurate.
25442
25443         Eliminate one way canonicalize_filename_mode could exit.
25444         * lib/canonicalize.c (canonicalize_filename_mode):
25445         Use mreadlink_with_size, not xreadlink_with_size.
25446
25447 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25448
25449         Detect porting problems to FreeBSD/arm, which has time_t wider than
25450         long int.  Original problem reported for GNU diff by Xin Li in
25451         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
25452         * modules/getdate (Depends-on): Add intprops, verify.
25453         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
25454         is an integer type no wider than long int.
25455
25456 2007-06-18  Jim Meyering  <jim@meyering.net>
25457
25458         New module: mreadlink-with-size.
25459         * MODULES.html.sh: Add mreadlink-with-size.
25460         * modules/mreadlink-with-size: New module
25461         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
25462         not xreadlink-with-size.
25463         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
25464
25465 2007-06-16  Bruno Haible  <bruno@clisp.org>
25466
25467         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
25468         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
25469         Reported by Gary V. Vaughan <gary@gnu.org>.
25470
25471 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25472
25473         Revamp lchown so that it lives in unistd.h where it belongs.
25474         * lib/lchown.h: Remove.
25475         * lib/dirchownmod.c: Don't include lib/lchown.h.
25476         * lib/fchownat.c: Likewise.
25477         * lib/openat.c: Likewise.
25478         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
25479         does not follow symlinks.
25480         (EOPNOTSUPP): Define if not defined.
25481         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
25482         is defined to 0.
25483         (lchown): New decl.
25484         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
25485         Do not check for lchown decl.
25486         Set REPLACE_LCHOWN.
25487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
25488         REPLACE_LCHOWN.
25489         * modules/chown: Make it clear it follows symlinks.
25490         * modules/lchown: Make it clear it doesn't follow symlinks.
25491         (Files): Remove lib/lchown.h
25492         (Depends-on): Add unistd.
25493         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
25494         (Include): Include <unistd.h>, not "lchown.h".
25495         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
25496         REPLACE_LCHOWN.
25497
25498 2007-06-15  Jim Meyering  <jim@meyering.net>
25499
25500         Change license (GPL to LGPL) of fsusage and dependents.
25501         * modules/fsusage (License): Change to LGPL.
25502         * modules/full-read (License): Likewise.
25503         * modules/full-write (License): Likewise.
25504         * modules/safe-read (License): Likewise.
25505         * modules/safe-write (License): Likewise.
25506
25507 2007-06-14  Ben Pfaff  <blp@gnu.org>
25508
25509         Missing part of allocsa -> malloca transition.
25510         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
25511         gl_MALLOCA.
25512
25513 2007-06-12  Bruno Haible  <bruno@clisp.org>
25514
25515         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
25516         to ia64, x86_64, i386.
25517         Reported by Eric Blake.
25518
25519 2007-06-12  Bruno Haible  <bruno@clisp.org>
25520
25521         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
25522         cross-compiling to x86_64.
25523
25524 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25525
25526         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
25527         glitch reported by Ralf Wildenhues in
25528         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
25529
25530         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
25531         Vin Shelton.
25532
25533 2007-06-11  Bruno Haible  <bruno@clisp.org>
25534
25535         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
25536         replacement string.
25537         Reported by Eric Blake.
25538
25539 2007-06-10  Bruno Haible  <bruno@clisp.org>
25540
25541         Prepare vasnprintf code for use with Unicode strings.
25542         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
25543         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
25544         TYPE_U32_STRING.
25545         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
25546         a_u32_string variants.
25547         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
25548         * lib/printf-args.c: Don't include config.h and the specification
25549         header if PRINTF_FETCHARGS is already defined.
25550         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
25551         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
25552         TYPE_U16_STRING, TYPE_U32_STRING.
25553         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
25554         u16_directive, u16_directives, u32_directive, u32_directives): New
25555         types.
25556         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
25557         New declarations.
25558         * lib/printf-parse.c: Don't include config.h and the specification
25559         header if PRINTF_PARSE is already defined. Eliminate the set of
25560         parameters for WIDE_CHAR_VERSION; the user of this file must provide
25561         them now. Include c-ctype.h.
25562         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
25563         directive and CHAR_T_ONLY_ASCII.
25564         * lib/vasnprintf.c: Don't include config.h and the specification header
25565         if VASNPRINTF is already defined.
25566         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
25567         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
25568         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
25569         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
25570         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
25571         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
25572         code accordingly.
25573         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
25574         pad_ourselves also in this case, with the 'c' and 's' directives, and
25575         with a different notion of "width".
25576         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
25577
25578 2007-06-10  Bruno Haible  <bruno@clisp.org>
25579
25580         * modules/unistr/u32-mbsnlen: New file.
25581         * lib/unistr/u32-mbsnlen.c: New file.
25582
25583         * modules/unistr/u16-mbsnlen: New file.
25584         * lib/unistr/u16-mbsnlen.c: New file.
25585
25586         * modules/unistr/u8-mbsnlen: New file.
25587         * lib/unistr/u8-mbsnlen.c: New file.
25588
25589         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
25590         declarations.
25591
25592 2007-06-10  Bruno Haible  <bruno@clisp.org>
25593
25594         * lib/string_.h (mbsnlen): New declaration.
25595         * lib/mbsnlen.c: New file.
25596         * m4/mbsnlen.m4: New file.
25597         * modules/mbsnlen: New file.
25598         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
25599         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
25600         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
25601
25602 2007-06-10  Bruno Haible  <bruno@clisp.org>
25603
25604         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
25605
25606 2007-06-10  Bruno Haible  <bruno@clisp.org>
25607
25608         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
25609         * lib/mbuiter.h: Likewise.
25610
25611 2007-06-10  Bruno Haible  <bruno@clisp.org>
25612
25613         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
25614         declaration.
25615
25616 2007-06-10  Karl Berry  <karl@gnu.org>
25617
25618         * config/srclist.txt: remove gettext entries, Bruno prefers
25619         to update individually.
25620
25621 2007-06-10  Bruno Haible  <bruno@clisp.org>
25622
25623         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
25624         'maxlen'. Ensure only length + width bytes are allocated, not
25625         length + 1 + width.
25626
25627 2007-06-09  Bruno Haible  <bruno@clisp.org>
25628
25629         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
25630         (CHAR_T): Remove macro.
25631         (VASNPRINTF): Update.
25632
25633 2007-06-09  Bruno Haible  <bruno@clisp.org>
25634
25635         * MODULES.html.sh (Unicode string functions): Add the new modules.
25636
25637         * modules/uniconv/u32-conv-to-enc: New file.
25638         * lib/uniconv/u32-conv-to-enc.c: New file.
25639         * modules/uniconv/u32-conv-to-enc-tests: New file.
25640         * tests/uniconv/test-u32-conv-to-enc.c: New file.
25641
25642         * modules/uniconv/u16-conv-to-enc: New file.
25643         * lib/uniconv/u16-conv-to-enc.c: New file.
25644         * lib/uniconv/u-conv-to-enc.h: New file.
25645         * modules/uniconv/u16-conv-to-enc-tests: New file.
25646         * tests/uniconv/test-u16-conv-to-enc.c: New file.
25647
25648         * modules/uniconv/u8-conv-to-enc: New file.
25649         * lib/uniconv/u8-conv-to-enc.c: New file.
25650         * modules/uniconv/u8-conv-to-enc-tests: New file.
25651         * tests/uniconv/test-u8-conv-to-enc.c: New file.
25652
25653         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
25654         u32_conv_to_encoding): New declarations.
25655
25656 2007-06-09  Bruno Haible  <bruno@clisp.org>
25657
25658         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
25659
25660 2007-06-09  Bruno Haible  <bruno@clisp.org>
25661
25662         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
25663         * modules/malloca: Renamed from modules/allocsa, updated.
25664         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
25665         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
25666         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
25667         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
25668         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
25669         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
25670         * modules/xmalloca: Renamed from modules/xallocsa, updated.
25671         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
25672         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
25673         * modules/c-strcasestr (Depends-on): Update.
25674         * lib/c-strcasestr.c: Update.
25675         * modules/c-strstr (Depends-on): Update.
25676         * lib/c-strstr.c: Update.
25677         * modules/canonicalize-lgpl (Depends-on): Update.
25678         * lib/canonicalize-lgpl.c: Update.
25679         * modules/clean-temp (Depends-on): Update.
25680         * lib/clean-temp.c: Update.
25681         * modules/csharpcomp (Depends-on): Update.
25682         * lib/csharpcomp.c: Update.
25683         * modules/csharpexec (Depends-on): Update.
25684         * lib/csharpexec.c: Update.
25685         * modules/javacomp (Depends-on): Update.
25686         * lib/javacomp.c: Update.
25687         * modules/javaexec (Depends-on): Update.
25688         * lib/javaexec.c: Update.
25689         * modules/mbscasestr (Depends-on): Update.
25690         * lib/mbscasestr.c: Update.
25691         * modules/mbsstr (Depends-on): Update.
25692         * lib/mbsstr.c: Update.
25693         * modules/setenv (Depends-on): Update.
25694         * lib/setenv.c: Update.
25695         * modules/strcasestr (Depends-on): Update.
25696         * lib/strcasestr.c: Update.
25697         * modules/striconveha (Depends-on): Update.
25698         * lib/striconveha.c: Update.
25699         * modules/relocatable-prog-wrapper (Files): Update.
25700         * lib/relocwrapper.c: Update.
25701         * build-aux/install-reloc: Update.
25702         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
25703
25704 2007-06-08  Bruno Haible  <bruno@clisp.org>
25705
25706         Port to uClibc.
25707         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
25708         * lib/fpurge.c (fpurge): Likewise.
25709         * lib/freading.c (freading): Likewise.
25710         * lib/fseeko.c (rpl_fseeko): Likewise.
25711         * lib/fseterr.c (fseterr): Likewise.
25712         * lib/fwriting.c (fwriting): Likewise.
25713         * tests/test-fflush.c (main): Avoid a failure on uClibc.
25714
25715 2007-06-08  Bruno Haible  <bruno@clisp.org>
25716
25717         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
25718         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
25719         * modules/gettext (Files): Add m4/intlmacosx.m4.
25720
25721 2007-06-07  Bruno Haible  <bruno@clisp.org>
25722
25723         * modules/localename-tests: New file.
25724         * tests/test-localename.c: New file.
25725
25726         New module 'localename'.
25727         * lib/localename.h: New file.
25728         * lib/localename.c: New file, from GNU gettext.
25729         * m4/localename.m4: New file.
25730         * modules/localename: New file.
25731
25732 2007-06-07  Bruno Haible  <bruno@clisp.org>
25733
25734         Work around the lack of <wchar.h> on some builds of uClibc.
25735         * doc/headers/wchar.texi: Update.
25736         * lib/wchar_.h: Include <wchar.h> only if it exists.
25737         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
25738         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
25739         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
25740         doesn't exist.
25741         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
25742         * modules/mbfile (Depends-on): Add wchar.
25743         * modules/mbiter (Depends-on): Likewise.
25744         * modules/mbuiter (Depends-on): Likewise.
25745         Reported by Simon Josefsson.
25746
25747 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
25748
25749         Work around problem reported by Steven M. Schweda in
25750         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
25751         Tru64 5.1B with the Compaq compiler environment installed declares
25752         an 'isblank' function but does not define it in the C library.
25753         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
25754         * lib/regex_internal.h (isblank): Likewise.
25755         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
25756         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
25757
25758 2007-06-05  Bruno Haible  <bruno@clisp.org>
25759
25760         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
25761         ia64.
25762         * modules/printf-safe: New file.
25763         * modules/fprintf-posix (Depends-on): Add printf-safe.
25764         * modules/printf-posix (Depends-on): Likewise.
25765         * modules/snprintf-posix (Depends-on): Likewise.
25766         * modules/sprintf-posix (Depends-on): Likewise.
25767         * modules/vasnprintf-posix (Depends-on): Likewise.
25768         * modules/vasprintf-posix (Depends-on): Likewise.
25769         * modules/vfprintf-posix (Depends-on): Likewise.
25770         * modules/vprintf-posix (Depends-on): Likewise.
25771         * modules/vsnprintf-posix (Depends-on): Likewise.
25772         * modules/vsprintf-posix (Depends-on): Likewise.
25773         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
25774         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
25775         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
25776         "no" on i386, x86_64, ia64.
25777         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
25778         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25779         on i386, x86_64, ia64.
25780         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
25781         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25782         on i386, x86_64, ia64.
25783         * tests/test-vasnprintf-posix.c: Include float.h.
25784         (LDBL80_WORDS): New macro.
25785         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25786         on i386, x86_64, ia64.
25787         * tests/test-vasprintf-posix.c: Include float.h.
25788         (LDBL80_WORDS): New macro.
25789         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
25790         on i386, x86_64, ia64.
25791         * tests/test-snprintf-posix.c: Include float.h.
25792         * tests/test-sprintf-posix.c: Likewise.
25793         * tests/test-vsnprintf-posix.c: Likewise.
25794         * tests/test-vsprintf-posix.c: Likewise.
25795
25796 2007-06-05  Bruno Haible  <bruno@clisp.org>
25797
25798         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
25799         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
25800         non-IEEE numbers on i386, x86_64, ia64.
25801         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
25802         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
25803         * tests/test-isnanl.h: Include float.h.
25804         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
25805
25806 2007-06-05  Bruno Haible  <bruno@clisp.org>
25807
25808         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
25809         also the %a / %A. Handle the %a / %A code before this extra handling.
25810
25811 2007-06-05  Bruno Haible  <bruno@clisp.org>
25812
25813         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
25814         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
25815
25816 2007-06-05  Bruno Haible  <bruno@clisp.org>
25817
25818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
25819         typo in variable name.
25820
25821 2007-06-05  Eric Blake  <ebb9@byu.net>
25822
25823         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
25824         Reported by Simon Josefsson.
25825
25826 2007-06-04  Bruno Haible  <bruno@clisp.org>
25827
25828         Avoid test failures on some PowerPC platforms.
25829         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
25830         Define differently for PowerPC.
25831         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
25832         Reported by Gary V. Vaughan <gary@gnu.org>.
25833
25834 2007-06-02  Bruno Haible  <bruno@clisp.org>
25835
25836         Fix test-stdint failure on FreeBSD/ia64.
25837         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
25838         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
25839         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
25840         * doc/headers/stdint.texi: Update.
25841
25842 2007-06-01  Bruno Haible  <bruno@clisp.org>
25843
25844         * tests/test-binary-io.c (main): Pass a third argument to open().
25845         Reported by Gary V. Vaughan <gary@gnu.org>.
25846
25847 2007-06-01  Bruno Haible  <bruno@clisp.org>
25848
25849         * doc/functions/frexpl.texi: Update for mingw.
25850
25851 2007-06-01  Bruno Haible  <bruno@clisp.org>
25852
25853         * tests/test-lseek.c (main): Disable test of errno for invalid third
25854         argument.
25855         * doc/functions/lseek.texi: Update.
25856         Reported by Gary V. Vaughan <gary@gnu.org>.
25857
25858 2007-05-28  Bruno Haible  <bruno@clisp.org>
25859
25860         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
25861
25862 2007-05-31  Eric Blake  <ebb9@byu.net>
25863
25864         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
25865         cross compiling.
25866
25867 2007-05-30  Eric Blake  <ebb9@byu.net>
25868         and Bruno Haible  <bruno@clisp.org>
25869
25870         Work around mingw test failures exposed by m4-1.4.9b.
25871         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
25872         * tests/test-unistd.c: Disable uid_t and git_t tests for the
25873         moment.
25874
25875 2007-05-30  Bruno Haible  <bruno@clisp.org>
25876
25877         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
25878         assuming that they are closed. Needed on HP-UX 11.
25879
25880 2007-05-29  Bruno Haible  <bruno@clisp.org>
25881
25882         Fix a problem with #include_next.
25883         * lib/dirent_.h: Split the double-inclusion guard.
25884         * lib/fcntl_.h: Likewise.
25885         * lib/float_.h: Likewise.
25886         * lib/iconv_.h: Likewise.
25887         * lib/inttypes_.h: Likewise.
25888         * lib/locale_.h: Likewise.
25889         * lib/math_.h: Likewise.
25890         * lib/netinet_in_.h: Likewise.
25891         * lib/search_.h: Likewise.
25892         * lib/signal_.h: Likewise.
25893         * lib/stdint_.h: Likewise.
25894         * lib/stdio_.h: Likewise.
25895         * lib/stdlib_.h: Likewise.
25896         * lib/string_.h: Likewise.
25897         * lib/sys_select_.h: Likewise.
25898         * lib/sys_socket_.h: Likewise.
25899         * lib/sys_stat_.h: Likewise.
25900         * lib/sys_time_.h: Likewise.
25901         * lib/sysexits_.h: Likewise.
25902         * lib/time_.h: Likewise.
25903         * lib/unistd_.h: Likewise.
25904         * lib/wchar_.h: Likewise.
25905         * lib/wctype_.h: Likewise.
25906
25907 2007-05-29  Bruno Haible  <bruno@clisp.org>
25908
25909         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
25910         for the moment.
25911
25912 2007-05-29  Bruno Haible  <bruno@clisp.org>
25913
25914         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
25915         invocation.
25916         Reported by Eric Blake.
25917
25918 2007-05-29  Bruno Haible  <bruno@clisp.org>
25919
25920         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
25921         compiling case.
25922
25923 2007-05-29  Eric Blake  <ebb9@byu.net>
25924             Bruno Haible  <bruno@clisp.org>
25925
25926         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
25927         cross compiles.
25928
25929 2007-05-28  Eric Blake  <ebb9@byu.net>
25930
25931         * modules/closein-tests (test_closein_LDADD): Support test on
25932         cygwin with libtool.
25933
25934 2007-05-28  Bruno Haible  <bruno@clisp.org>
25935
25936         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
25937         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
25938         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
25939         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
25940         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
25941         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
25942         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
25943         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
25944         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
25945
25946 2007-05-28  Eric Blake  <ebb9@byu.net>
25947
25948         Unconditionally include <config.h> in unit tests.
25949         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
25950         * tests/test-allocsa.c, tests/test-arcfour.c,
25951         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
25952         tests/test-array_list.c, tests/test-array_oset.c,
25953         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
25954         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
25955         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
25956         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
25957         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
25958         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
25959         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
25960         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
25961         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
25962         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
25963         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
25964         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
25965         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
25966         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
25967         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
25968         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
25969         test-md5.c, test-memmem.c, test-printf-posix.c,
25970         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
25971         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
25972         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
25973         test-strcasestr.c, test-striconv.c, test-striconveh.c,
25974         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
25975         test-vasnprintf-posix2.c, test-vasnprintf.c,
25976         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
25977         test-vfprintf-posix.c, test-vprintf-posix.c,
25978         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
25979         test-xvasprintf.c: Likewise.
25980
25981 2007-05-28  Bruno Haible  <bruno@clisp.org>
25982
25983         * gnulib-tool (func_import): Remember the --with-tests command-line
25984         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
25985         Reported by Eric Blake.
25986
25987 2007-05-28  Bruno Haible  <bruno@clisp.org>
25988
25989         * modules/ftell-tests: New file.
25990         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
25991         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
25992
25993         * lib/ftell.c: New file.
25994         * modules/ftell: New file.
25995         * m4/ftell.m4: New file.
25996         * doc/functions/ftell.texi: Update.
25997         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
25998         REPLACE_FTELL.
25999         * lib/stdio_.h (rpl_ftell): New declaration.
26000         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
26001         REPLACE_FTELL.
26002
26003 2007-05-28  Eric Blake  <ebb9@byu.net>
26004
26005         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
26006
26007 2007-05-28  Bruno Haible  <bruno@clisp.org>
26008
26009         * modules/fseek-tests: New file.
26010         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
26011         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
26012
26013         * lib/fseek.c: New file.
26014         * modules/fseek: New file.
26015         * m4/fseek.m4: New file.
26016         * doc/functions/fseek.texi: Update.
26017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
26018         REPLACE_FSEEK.
26019         * lib/stdio_.h (rpl_fseek): New declaration.
26020         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
26021         REPLACE_FSEEK.
26022
26023 2007-05-28  Bruno Haible  <bruno@clisp.org>
26024
26025         * lib/stdio_.h (fflush): More comments.
26026
26027 2007-05-28  Bruno Haible  <bruno@clisp.org>
26028
26029         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
26030         runtime test.
26031
26032 2007-05-28  Eric Blake  <ebb9@byu.net>
26033
26034         Improve lseek module.
26035         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
26036         * lib/unistd_.h (lseek): Scale back link warning message.
26037         * tests/test-lseek.c: Beef up test.
26038         * tests/test-lseek.sh: Exercise more facets of lseek.
26039         Reported by Bruno Haible.
26040
26041 2007-05-28  Bruno Haible  <bruno@clisp.org>
26042
26043         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
26044         to define.
26045
26046 2007-05-27  Bruno Haible  <bruno@clisp.org>
26047
26048         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
26049
26050 2007-05-27  Bruno Haible  <bruno@clisp.org>
26051
26052         * modules/openmp: New file.
26053         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
26054         Noah Misch.
26055
26056 2007-05-26  Bruno Haible  <bruno@clisp.org>
26057
26058         * modules/chdir-long (Depends-on): Add fchdir.
26059         * modules/chdir-safer (Depends-on): Likewise.
26060         * modules/fts (Depends-on): Likewise.
26061         * modules/fts-lgpl (Depends-on): Likewise.
26062         * modules/openat (Depends-on): Likewise.
26063         * modules/savewd (Depends-on): Likewise.
26064
26065 2007-05-24  Eric Blake  <ebb9@byu.net>
26066
26067         Fix lseek on mingw.
26068         * modules/lseek: New module.
26069         * m4/lseek.m4: New file.
26070         * lib/lseek.c: New file.
26071         * modules/lseek-tests: New file.
26072         * tests/test-lseek.c: New file.
26073         * tests/test-lseek.sh: New file.
26074         * MODULES.html.sh: Document lseek module.
26075         * modules/fflush (Depends-on): Add lseek, fseeko.
26076         * modules/fseeko (Depends-on): Likewise.
26077         * modules/ftello (Depends-on): Likewise.
26078         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
26079         broken.
26080         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
26081         broken.
26082         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
26083         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
26084         * lib/ftello.c (rpl_ftello): Likewise.
26085         * tests/test-fseeko.c (main): Test this.
26086         * tests/test-fseeko.sh: Likewise.
26087         * tests/test-ftello.c (main): Likewise.
26088         * tests/test-ftello.sh: Likewise.
26089         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
26090         implies replacing fseek.
26091         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
26092         HAVE_FTELLO.
26093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
26094         * modules/unistd (Makefile.am): Likewise.
26095         * lib/unistd_.h (lseek): Declare a replacement.
26096         * doc/functions/lseek.texi (lseek): Document this fix.
26097         * doc/functions/fseek.texi (fseek): Likewise.
26098         * doc/functions/ftell.texi (ftell): Likewise.
26099
26100 2007-05-24  Bruno Haible  <bruno@clisp.org>
26101
26102         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
26103         in the printed representation of a NaN.
26104         * tests/test-vasprintf-posix.c (test_function): Likewise.
26105         * tests/test-snprintf-posix.h (test_function): Likewise.
26106         * tests/test-sprintf-posix.h (test_function): Likewise.
26107         Reported by Eric Blake.
26108
26109 2007-05-23  Eric Blake  <ebb9@byu.net>
26110
26111         Fix fseeko/ftello on cygwin 1.5.24.
26112         * doc/functions/fseeko.texi (fseeko): Document the fix.
26113         * doc/functions/ftello.texi (ftello): Document the fix.
26114         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
26115         * doc/functions/stdout.text (stdout): New file.
26116         * doc/functions/stderr.text (stderr): New file.
26117         * doc/gnulib.texi (Function Substitutes): Use new files.
26118         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
26119         prior to 1.7.0.
26120         * tests/test-ftello.c (main): Likewise for ftello.
26121         * tests/test-fseeko.sh: New file.
26122         * tests/test-ftello.sh: New file.
26123         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
26124         with seekable stdin.
26125         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
26126         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
26127         (gl_REPLACE_FSEEKO): New macro.
26128         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
26129         * modules/fseeko (Files): Distribute fseeko.c.
26130         * modules/ftello (Files): Distribute ftello.c.
26131         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
26132         mode.
26133         * lib/ftello.c (rpl_ftello): New file.
26134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
26135         fseeko, ftello.
26136         (gl_STDIN_LARGE_OFFSET): New macro.
26137         * modules/stdio (Makefile.am): Perform the replacement.
26138         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
26139
26140 2007-05-23  Bruno Haible  <bruno@clisp.org>
26141
26142         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
26143         GNULIB_POSIXCHECK is defined.
26144
26145 2007-05-21  Bruno Haible  <bruno@clisp.org>
26146
26147         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
26148         Check also the output for NaN arguments. When cross-compiling, guess
26149         no on IRIX.
26150         * lib/vasnprintf.c: Update comments.
26151         * tests/test-vasnprintf-posix.c (strisnan): New function.
26152         (test_function): Use it.
26153         * tests/test-vasprintf-posix.c (strisnan): New function.
26154         (test_function): Use it.
26155         * tests/test-snprintf-posix.h (strisnan): New function.
26156         (test_function): Use it.
26157         * tests/test-sprintf-posix.h (strisnan): New function.
26158         (test_function): Use it.
26159         Reported by Eric Blake.
26160
26161 2007-05-20  Bruno Haible  <bruno@clisp.org>
26162
26163         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
26164         numbers that fails on BeOS.
26165         * doc/functions/frexpl.texi: Update.
26166
26167 2007-05-20  Jim Meyering  <jim@meyering.net>
26168
26169         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
26170         forced upon us by glibc-2.6.
26171
26172 2007-05-20  Bruno Haible  <bruno@clisp.org>
26173
26174         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
26175         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
26176         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
26177         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
26178         NEED_PRINTF_INFINITE.
26179         (is_infinitel): New function.
26180         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
26181         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
26182         gl_PREREQ_VASNPRINTF_INFINITE.
26183         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
26184         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26185         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
26186         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
26187         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
26188         gl_PREREQ_VASNPRINTF_INFINITE.
26189         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26190         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26191         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26192         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26193         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26195         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26196         * doc/functions/fprintf.texi: Update.
26197         * doc/functions/printf.texi: Update.
26198         * doc/functions/snprintf.texi: Update.
26199         * doc/functions/sprintf.texi: Update.
26200         * doc/functions/vfprintf.texi: Update.
26201         * doc/functions/vprintf.texi: Update.
26202         * doc/functions/vsnprintf.texi: Update.
26203         * doc/functions/vsprintf.texi: Update.
26204
26205 2007-05-20  Bruno Haible  <bruno@clisp.org>
26206
26207         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
26208         was not found in libc.
26209         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26210
26211 2007-05-20  Bruno Haible  <bruno@clisp.org>
26212
26213         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26214         printed as "-nan" instead of "nan".
26215         * tests/test-vasprintf-posix.c (test_function): Likewise.
26216         * tests/test-snprintf-posix.h (test_function): Likewise.
26217         * tests/test-sprintf-posix.h (test_function): Likewise.
26218         Needed for HP-UX 11.
26219
26220 2007-05-20  Jim Meyering  <jim@meyering.net>
26221
26222         Fix buggy test for the fchownat-deref bug.
26223         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
26224         symlink required for the run-test.  Without it, this test would
26225         always declare that fchownat doesn't work, and client code would
26226         unnecessarily use the replacement function with fixed libc.
26227         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
26228         Reported by Greg Schafer.
26229
26230 2007-05-19  Bruno Haible  <bruno@clisp.org>
26231
26232         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
26233         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
26234         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
26235         Needed for IRIX 6.5 and Solaris 2.5.1.
26236
26237 2007-05-19  Bruno Haible  <bruno@clisp.org>
26238
26239         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
26240         (test_function): Skip tests involving -0.0 on platforms where
26241         -0.0 = 0.0.
26242         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
26243         (test_function): Skip tests involving -0.0 on platforms where
26244         -0.0 = 0.0.
26245         * tests/test-snprintf-posix.h (have_minus_zero): New function.
26246         (test_function): Skip tests involving -0.0 on platforms where
26247         -0.0 = 0.0.
26248         * tests/test-sprintf-posix.h (have_minus_zero): New function.
26249         (test_function): Skip tests involving -0.0 on platforms where
26250         -0.0 = 0.0.
26251         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
26252         tests.
26253         * tests/test-printf-posix.h (test_function): Likewise.
26254         * tests/test-printf-posix.output: Remove all -0.0 related results.
26255         Needed for IRIX 6.5.
26256
26257 2007-05-19  Bruno Haible  <bruno@clisp.org>
26258
26259         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26260         printed as "nan0x7fffffff" instead of "nan".
26261         * tests/test-vasprintf-posix.c (test_function): Likewise.
26262         * tests/test-snprintf-posix.h (test_function): Likewise.
26263         * tests/test-sprintf-posix.h (test_function): Likewise.
26264         * tests/test-fprintf-posix.h (NaN): Remove macro.
26265         (test_function): Remove all NaN related tests.
26266         * tests/test-printf-posix.h (NaN): Remove macro.
26267         (test_function): Remove all NaN related tests.
26268         * tests/test-printf-posix.output: Remove all NaN related results.
26269         Needed for IRIX 6.5.
26270
26271 2007-05-19  Bruno Haible  <bruno@clisp.org>
26272
26273         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
26274         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26275
26276 2007-05-19  Bruno Haible  <bruno@clisp.org>
26277
26278         * lib/float_.h: New file.
26279         * m4/float_h.m4: New file.
26280         * modules/float: New file.
26281         * modules/isnanl (Dependencies): Add float.
26282         * modules/isnanl-nolibm (Dependencies): Likewise.
26283         * modules/mathl (Dependencies): Likewise.
26284         * modules/printf-frexpl (Dependencies): Likewise.
26285         * modules/signbit (Dependencies): Likewise.
26286         * modules/vasnprintf (Dependencies): Likewise.
26287         * doc/headers/float.texi: Update.
26288
26289 2007-05-19  Jim Meyering  <jim@meyering.net>
26290
26291         * lib/utimens.c (gl_futimens): Rename from futimens,
26292         now that glibc-2.6 declares futimens.
26293         * lib/utimens.h: Likewise.
26294
26295 2007-05-19  Bruno Haible  <bruno@clisp.org>
26296
26297         Avoid test failures on mingw.
26298         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
26299         * tests/test-printf-posix.sh: Likewise.
26300         * tests/test-vfprintf-posix.sh: Likewise.
26301         * tests/test-vprintf-posix.sh: Likewise.
26302
26303 2007-05-19  Bruno Haible  <bruno@clisp.org>
26304
26305         Fix *printf result for NaN, Inf, -0.0 on mingw.
26306         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
26307         * lib/vasnprintf.c: Include math.h and isnan.h.
26308         (is_infinite_or_zero): New function.
26309         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
26310         values in the %f, %F, %e, %E, %g, %G directives.
26311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
26312         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26313         gl_PRINTF_INFINITE and test its result. Invoke
26314         gl_PREREQ_VASNPRINTF_INFINITE.
26315         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26316         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26317         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26318         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26319         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26320         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26321         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26322         * doc/functions/fprintf.texi: Update.
26323         * doc/functions/printf.texi: Update.
26324         * doc/functions/snprintf.texi: Update.
26325         * doc/functions/sprintf.texi: Update.
26326         * doc/functions/vfprintf.texi: Update.
26327         * doc/functions/vprintf.texi: Update.
26328         * doc/functions/vsnprintf.texi: Update.
26329         * doc/functions/vsprintf.texi: Update.
26330
26331 2007-05-19  Bruno Haible  <bruno@clisp.org>
26332
26333         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
26334         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
26335         Instead of multiplying with 10^k, set extra_zeroes to k.
26336         (scale10_round_long_double): Remove function.
26337
26338 2007-05-18  Bruno Haible  <bruno@clisp.org>
26339
26340         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
26341         introduced on 2007-05-06.
26342
26343 2007-05-18  Bruno Haible  <bruno@clisp.org>
26344
26345         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
26346         %g directives.
26347         * tests/test-vasprintf-posix.c (test_function): Likewise.
26348         * tests/test-snprintf-posix.h (test_function): Likewise.
26349         * tests/test-sprintf-posix.h (test_function): Likewise.
26350
26351 2007-05-18  Bruno Haible  <bruno@clisp.org>
26352
26353         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
26354         (strmatch): New function.
26355         (test_function): Test the %f directive on numbers of various exponents.
26356         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
26357         (strmatch): New function.
26358         (test_function): Test the %f directive on numbers of various exponents.
26359         * tests/test-snprintf-posix.h (strmatch): New function.
26360         (test_function): Test the %f directive on numbers of various exponents.
26361         * tests/test-sprintf-posix.h (strmatch): New function.
26362         (test_function): Test the %f directive on numbers of various exponents.
26363         * tests/test-snprintf-posix.c (SIZEOF): New macro.
26364         * tests/test-sprintf-posix.c (SIZEOF): New macro.
26365         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
26366         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
26367
26368 2007-05-18  Bruno Haible  <bruno@clisp.org>
26369
26370         Add support for 'long double' number output.
26371         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
26372         * lib/vasnprintf.c: Include math.h and float+.h.
26373         (mp_limb_t): New type.
26374         (GMP_LIMB_BITS): New macro.
26375         (mp_twolimb_t): New type.
26376         (GMP_TWOLIMB_BITS): New macro.
26377         (mpn_t): New type.
26378         (multiply, divide, convert_to_decimal, decode_long_double,
26379         scale10_round_long_double, scale10_round_decimal_long_double,
26380         floorlog10l): New functions.
26381         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
26382         for the %f, %F, %e, %E, %g, %G directives.
26383         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
26384         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26385         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
26386         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
26387         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26388         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26389         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26390         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26391         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26392         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26393         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26394         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
26395         * modules/snprintf-posix (Depends-on): Likewise.
26396         * modules/sprintf-posix (Depends-on): Likewise.
26397         * modules/vasnprintf-posix (Depends-on): Likewise.
26398         * modules/vasprintf-posix (Depends-on): Likewise.
26399         * modules/vfprintf-posix (Depends-on): Likewise.
26400         * modules/vsnprintf-posix (Depends-on): Likewise.
26401         * modules/vsprintf-posix (Depends-on): Likewise.
26402         * modules/vasnprintf (Files): Add lib/float+.h.
26403         * doc/functions/fprintf.texi: Update.
26404         * doc/functions/printf.texi: Update.
26405         * doc/functions/snprintf.texi: Update.
26406         * doc/functions/sprintf.texi: Update.
26407         * doc/functions/vfprintf.texi: Update.
26408         * doc/functions/vprintf.texi: Update.
26409         * doc/functions/vsnprintf.texi: Update.
26410         * doc/functions/vsprintf.texi: Update.
26411
26412 2007-05-18  Bruno Haible  <bruno@clisp.org>
26413
26414         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
26415
26416 2007-05-18  Bruno Haible  <bruno@clisp.org>
26417
26418         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
26419         for printing 64-bit integers. Needed for mingw.
26420
26421 2007-05-18  Bruno Haible  <bruno@clisp.org>
26422
26423         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
26424         gl_FUNC_FREXPL_WORKS.
26425         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
26426
26427 2007-05-18  Bruno Haible  <bruno@clisp.org>
26428
26429         * modules/frexpl-nolibm-tests: New file.
26430
26431         * modules/frexpl-nolibm: New file.
26432         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
26433
26434 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
26435
26436         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
26437         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
26438         GCC 4.2, which otherwise issues a lot of warnings.
26439         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
26440         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
26441         Likewise.
26442         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
26443         * modules/iconv_open (iconv.h): Likewise.
26444         * modules/locale (locale.h): Likewise.
26445         * modules/netinet_in (netinet/in.h): Likewise.
26446         * modules/sys_select (sys_select.h): Likewise.
26447         * modules/sys_socket (sys/socket.h): Likewise.
26448         * modules/sys_stat (sys/stat.h): Likewise.
26449         * modules/sysexits (sysexits.h): Likewise.
26450         * modules/unistd (unistd.h): Likewise.
26451
26452 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26453
26454         * modules/closein-tests (Makefile.am): Distribute
26455         `test-closein.sh'.
26456
26457 2007-05-17  Bruno Haible  <bruno@clisp.org>
26458
26459         * tests/test-printf-posix.output: Renamed from
26460         tests/test-fprintf-posix.out.
26461         * modules/fprintf-posix-tests: Update.
26462         * modules/printf-posix-tests: Update.
26463         * modules/vfprintf-posix-tests: Update.
26464         * modules/vprintf-posix-tests: Update.
26465         * tests/test-fprintf-posix.sh: Update.
26466         * tests/test-printf-posix.sh: Update.
26467         * tests/test-vfprintf-posix.sh: Update.
26468         * tests/test-vprintf-posix.sh: Update.
26469         Reported by Ralf Wildenhues.
26470
26471 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
26472
26473         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
26474         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
26475         GCC 4.2, which otherwise issues a lot of warnings.
26476         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
26477         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
26478         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
26479         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
26480         it should no longer be needed.
26481         * lib/string_.h: Likewise.
26482         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
26483         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
26484         * modules/inttypes (inttypes.h): Likewise.
26485         * modules/math (math.h): Likewise.
26486         * modules/search (search.h): Likewise.
26487         * modules/signal (signal.h): Likewise.
26488         * modules/stdint (stdint.h): Likewise.
26489         * modules/stdio (stdio.h): Likewise.
26490         * modules/stdlib (stdlib.h): Likewise.
26491         * modules/string (string.h): Likewise.
26492         * modules/sys_time (sys/time.h): Likewise.
26493         * modules/time (time.h): Likewise.
26494         * modules/wchar (wchar.h): Likewise.
26495         * modules/wctype (wtype.h): Likewise.
26496
26497 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26498
26499         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
26500
26501 2007-05-13  Bruno Haible  <bruno@clisp.org>
26502
26503         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
26504         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26505         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
26506         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
26507         (gl_PREREQ_STRTOK_R): Don't require it here.
26508
26509 2007-05-13  Bruno Haible  <bruno@clisp.org>
26510
26511         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
26512         when used in C++ mode.
26513
26514 2007-05-12  Bruno Haible  <bruno@clisp.org>
26515
26516         * lib/linebuffer.h: Tweak doc.
26517         * lib/linebuffer.c: Likewise.
26518
26519 2007-05-12  James Youngman  <jay@gnu.org>
26520
26521         * lib/linebuffer.c (readlinebuffer_delim): New function,
26522         like readlinebuffer, but use a caller-specified delimiter.
26523         (readlinebuffer): Just call readlinebuffer_delim with '\n'
26524         as the delimiter.
26525         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
26526
26527 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26528
26529         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
26530         * modules/openat (Files): Remove openat-die.c.
26531         (Depends-on): Add openat-die.
26532         * modules/openat-die: New module.
26533
26534 2007-05-06  Bruno Haible  <bruno@clisp.org>
26535
26536         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
26537         Update with info about Cygwin.
26538         * doc/functions/fprintf.texi: Update.
26539         * doc/functions/printf.texi: Update.
26540         * doc/functions/snprintf.texi: Update.
26541         * doc/functions/sprintf.texi: Update.
26542         * doc/functions/vfprintf.texi: Update.
26543         * doc/functions/vprintf.texi: Update.
26544         * doc/functions/vsnprintf.texi: Update.
26545         * doc/functions/vsprintf.texi: Update.
26546         Reported by Eric Blake.
26547
26548 2007-05-06  Bruno Haible  <bruno@clisp.org>
26549
26550         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
26551         padding ourselves for the floating-point directives.
26552         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
26553         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
26554         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26555         gl_PRINTF_FLAG_ZERO and test its result. Invoke
26556         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
26557         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26558         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
26559         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26560         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26561         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26562         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26563         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26564         * tests/test-snprintf-posix.h (test_function): Also check the width
26565         and some flags in the %f directive.
26566         * tests/test-sprintf-posix.h (test_function): Likewise.
26567         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26568         * tests/test-vasprintf-posix.c (test_function): Likewise.
26569         * doc/functions/fprintf.texi: Update.
26570         * doc/functions/printf.texi: Update.
26571         * doc/functions/snprintf.texi: Update.
26572         * doc/functions/sprintf.texi: Update.
26573         * doc/functions/vfprintf.texi: Update.
26574         * doc/functions/vprintf.texi: Update.
26575         * doc/functions/vsnprintf.texi: Update.
26576         * doc/functions/vsprintf.texi: Update.
26577
26578 2007-05-06  Bruno Haible  <bruno@clisp.org>
26579
26580         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
26581         pass the ' flag character to sprintf or snprintf.
26582         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
26583         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
26584         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26585         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
26586         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
26587         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26588         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
26589         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26590         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26591         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26592         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26593         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26594         * tests/test-snprintf-posix.h (test_function): Also check the grouping
26595         flag.
26596         * tests/test-sprintf-posix.h (test_function): Likewise.
26597         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26598         * tests/test-vasprintf-posix.c (test_function): Likewise.
26599         * doc/functions/fprintf.texi: Update.
26600         * doc/functions/printf.texi: Update.
26601         * doc/functions/snprintf.texi: Update.
26602         * doc/functions/sprintf.texi: Update.
26603         * doc/functions/vfprintf.texi: Update.
26604         * doc/functions/vprintf.texi: Update.
26605         * doc/functions/vsnprintf.texi: Update.
26606         * doc/functions/vsprintf.texi: Update.
26607
26608 2007-05-01  Bruno Haible  <bruno@clisp.org>
26609
26610         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
26611
26612 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
26613
26614         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
26615         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
26616
26617 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
26618
26619         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
26620         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
26621         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
26622
26623 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
26624
26625         * lib/argp-help.c (struct hol_entry): New member `ord'.
26626         (HOL_ENTRY_PTRCMP): Use ord for comparison
26627         (hol_sort): Initialize ord.
26628
26629 2007-05-01  Bruno Haible  <bruno@clisp.org>
26630
26631         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
26632         Reported by Eric Blake.
26633         * doc/gnulib.texi (Function Substitutes): Update.
26634
26635 2007-05-01  Bruno Haible  <bruno@clisp.org>
26636
26637         * doc/functions.texi: Remove file, now redundant through
26638         doc/functions/*.texi.
26639
26640 2007-05-01  Bruno Haible  <bruno@clisp.org>
26641
26642         * modules/argp (Depends-on): Add sleep.
26643
26644 2007-05-01  Bruno Haible  <bruno@clisp.org>
26645
26646         * modules/sleep-tests: New file.
26647         * tests/test-sleep.c: New file.
26648
26649         * modules/sleep: New file.
26650         * lib/sleep.c: New file.
26651         * m4/sleep.m4: New file.
26652         * lib/unistd_.h (sleep): New declaration.
26653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
26654         HAVE_SLEEP.
26655         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
26656         * doc/functions/sleep.texi: Document the sleep module.
26657
26658 2007-05-01  Bruno Haible  <bruno@clisp.org>
26659
26660         * lib/sigprocmask.h: Remove file.
26661         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
26662         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
26663         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
26664         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
26665         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
26666         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
26667         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
26668         HAVE_SIGSET_T as a shell variable.
26669         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
26670         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
26671         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
26672         (Depends-on): Add signal. Remove verify.
26673         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
26674         (Include): Mention <signal.h> instead of sigprocmask.h.
26675         * NEWS: Mention the change.
26676         * lib/fatal-signal.c: Don't include sigprocmask.h.
26677
26678 2007-05-01  Bruno Haible  <bruno@clisp.org>
26679
26680         * modules/signal: New file.
26681         * lib/signal_.h: New file.
26682         * m4/signal_h.m4: New file.
26683
26684 2007-05-01  Bruno Haible  <bruno@clisp.org>
26685
26686         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
26687         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
26688         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
26689         HAVE_WCTYPE_CTMP_BUG into wctype.h.
26690
26691 2007-05-01  Bruno Haible  <bruno@clisp.org>
26692
26693         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
26694         configure time.
26695         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
26696         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
26697         * modules/sys_stat (Makefile.am): Substitute their values into
26698         sys/stat.h.
26699
26700 2007-05-01  Bruno Haible  <bruno@clisp.org>
26701
26702         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
26703         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
26704         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
26705
26706 2007-05-01  Bruno Haible  <bruno@clisp.org>
26707
26708         * doc/header/assert.texi: Undo last change: don't mention the gnulib
26709         'assert' module here.
26710
26711 2007-05-01  Bruno Haible  <bruno@clisp.org>
26712
26713         * doc/functions/*.texi: New files.
26714         * doc/functions/google-ranking.txt: New file.
26715         * doc/gnulib.texi (Function Substitutes): New chapter.
26716         (ctime, inet_ntoa): Remove sections.
26717         * doc/ctime.texi: Remove file.
26718         * doc/inet_ntoa.texi: Remove file.
26719         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
26720         dependencies.
26721         (%.info): New rule, specifying a --reference-limit.
26722
26723 2007-05-01  Bruno Haible  <bruno@clisp.org>
26724
26725         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
26726
26727 2007-05-01  Bruno Haible  <bruno@clisp.org>
26728
26729         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
26730         the portability of 'mkdir' to mingw systems.
26731
26732 2007-05-01  Bruno Haible  <bruno@clisp.org>
26733
26734         * doc/headers/google-ranking.txt: New file.
26735
26736 2007-04-30  Eric Blake  <ebb9@byu.net>
26737
26738         Prefer fseeko to fseek.
26739         * modules/getpass (Depends-on): Add fseeko.
26740         * lib/getpass.c (getpass): Use fseeko, not fseek.
26741
26742 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
26743
26744         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
26745         assumes the sorting is stable, while most qsort implementations
26746         are not.  Use argument addresses to ensure they never compare as
26747         equal.
26748
26749         * tests/test-argp-2.sh (usage-indent test): Fix output
26750         (func_compare): Restore diff options
26751         * tests/test-argp.c: Restore #include "progname.h"
26752
26753 2007-04-29  Bruno Haible  <bruno@clisp.org>
26754
26755         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
26756         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
26757         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
26758         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26759         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
26760         (configure.ac): Define CHECK_SNPRINTF_POSIX.
26761         (TESTS, check_PROGRAMS): Add test-snprintf.
26762         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
26763         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
26764         (TESTS, check_PROGRAMS): Add test-vsnprintf.
26765         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
26766         assertions that fail on HP-UX, OSF/1, or IRIX.
26767         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
26768
26769 2007-04-29  Bruno Haible  <bruno@clisp.org>
26770
26771         * MODULES.html.sh (posix_functions): Remove 'contents'.
26772
26773 2007-04-29  Karl Berry  <karl@gnu.org>
26774
26775         * config/srclist.txt (gendocs_template_min): new entry.
26776
26777 2007-04-29  Bruno Haible  <bruno@clisp.org>
26778
26779         Work around fpurge bug on BSD systems.
26780         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
26781         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
26782         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
26783         fpurge to rpl_fpurge if the system already has this function.
26784         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
26785         the case where the system already has this function. Correct invariants
26786         on BSD systems.
26787         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
26788         BSD systems.
26789
26790 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
26791
26792         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
26793         proposed by Sven Verdoolaege.
26794
26795         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
26796         options.
26797         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
26798         (usage and help tests): Update
26799
26800 2007-04-29  Bruno Haible  <bruno@clisp.org>
26801
26802         * tests/test-fflush.c (main): Use a file of size 17, not 10.
26803         Print more information in case of failure. Disable a test on BeOS.
26804
26805 2007-04-29  Bruno Haible  <bruno@clisp.org>
26806
26807         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
26808         This helps debugging on systems on which no gdb is available.
26809
26810 2007-04-29  Bruno Haible  <bruno@clisp.org>
26811
26812         * lib/freading.h: Improve comments.
26813         * lib/fwriting.h: Likewise.
26814         * tests/test-freading.c (main): Don't check freading immediately after
26815         repositioning. Needed for glibc.
26816
26817 2007-04-29  Bruno Haible  <bruno@clisp.org>
26818
26819         * lib/freading.c (freading): Trivial simplification.
26820
26821 2007-04-28  Bruno Haible  <bruno@clisp.org>
26822
26823         * tests/test-fwriting.c (main): Also test the interaction between
26824         fflush and fwriting.
26825         * modules/fwriting-tests (Depends-on): Add fflush.
26826
26827         * tests/test-freading.c (main): Also test the interaction between
26828         fflush and freading.
26829         * modules/freading-tests (Depends-on): Add fflush.
26830
26831 2007-04-28  Bruno Haible  <bruno@clisp.org>
26832
26833         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
26834         fseeko and ftello.
26835         Suggested by Eric Blake.
26836
26837 2007-04-28  Jim Meyering  <jim@meyering.net>
26838
26839         Avoid false-negative in gl_STDINT_H's C99 conformance test.
26840         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
26841         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
26842
26843 2007-04-27  Eric Blake  <ebb9@byu.net>
26844
26845         * doc/headers/assert.texi (assert.h): Document assert module use.
26846
26847 2007-04-27  Bruno Haible  <bruno@clisp.org>
26848
26849         * doc/headers/*.texi: New files.
26850         * doc/gnulib.texi (Header File Substitutes): New chapter.
26851         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
26852         dependencies.
26853         (standards.info ,standards.html, standards.dvi): Update dependencies.
26854         (mostlyclean, clean): New targets.
26855
26856 2007-04-27  Bruno Haible  <bruno@clisp.org>
26857
26858         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
26859         * modules/sysexits (Files, Makefile.am): Update.
26860
26861         * lib/sys_socket_.h: Renamed from lib/socket_.h.
26862         * modules/sys_socket (Files, Makefile.am): Update.
26863
26864         * lib/sys_stat_.h: Renamed from lib/stat_.h.
26865         * modules/sys_stat (Files, Makefile.am): Update.
26866
26867 2007-04-27  Eric Blake  <ebb9@byu.net>
26868
26869         * lib/freading.h: Improve comments.
26870         * lib/fwriting.h: Likewise.
26871         * lib/fflush.c: Likewise.
26872
26873         Fix closein for mingw.
26874         * modules/closein-tests: Add tests for closein.
26875         * tests/test-closein.c: New file.
26876         * tests/test-closein.sh: Likewise.
26877         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
26878         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
26879
26880 2007-04-27  Bruno Haible  <bruno@clisp.org>
26881
26882         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
26883         version is < 6.
26884         * lib/math_.h [__DECC]: Likewise.
26885         * lib/stdio_.h [__DECC]: Likewise.
26886         * lib/stdlib_.h [__DECC]: Likewise.
26887         * lib/string_.h [__DECC]: Likewise.
26888         * lib/time_.h [__DECC]: Likewise.
26889         * lib/wchar_.h [__DECC]: Likewise.
26890         * lib/wctype_.h [__DECC]: Likewise.
26891
26892 2007-04-27  Bruno Haible  <bruno@clisp.org>
26893
26894         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
26895
26896 2007-04-27  Bruno Haible  <bruno@clisp.org>
26897
26898         * lib/fflush.c: Add comments.
26899         * modules/fpurge-tests (Depends-on): Add fflush.
26900         * modules/freadable-tests (Depends-on): Likewise.
26901         * modules/fwritable-tests (Depends-on): Likewise.
26902
26903 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
26904
26905         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
26906         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
26907         Report by Bruno Haible <bruno@clisp.org>.
26908
26909 2007-04-26  Eric Blake  <ebb9@byu.net>
26910
26911         Fix fflush on mingw.
26912         * modules/fflush (Depends-on): Add freading.
26913         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
26914         but unread data.
26915
26916 2007-04-26  Eric Blake  <ebb9@byu.net>
26917         and Bruno Haible  <bruno@clisp.org>
26918
26919         Implement freading and fwriting.
26920         * lib/freading.c: New file.
26921         * lib/freading.h: Likewise.
26922         * m4/freading.m4: Likewise.
26923         * modules/freading: Likewise.
26924         * modules/freading-tests: Likewise.
26925         * tests/test-freading.c: Likewise.
26926         * lib/fwriting.c: New file.
26927         * lib/fwriting.h: Likewise.
26928         * m4/fwriting.m4: Likewise.
26929         * modules/fwriting: Likewise.
26930         * modules/fwriting-tests: Likewise.
26931         * tests/test-fwriting.c: Likewise.
26932         * MODULES.html.sh (File stream based Input/Output): Mention them.
26933
26934 2007-04-26  Bruno Haible  <bruno@clisp.org>
26935
26936         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
26937         'long' when we assume it.
26938         Suggested by Eric Blake.
26939
26940 2007-04-26  Bruno Haible  <bruno@clisp.org>
26941
26942         Ensure fseeko, ftello are declared on glibc systems.
26943         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
26944         * modules/fseeko (configure.ac-early): Likewise.
26945         * modules/ftello (configure.ac-early): Likewise.
26946         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
26947         AC_FUNC_FSEEKO for this.
26948         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
26949         (gl_CHECK_FSEEKO): Remove macro.
26950
26951 2007-04-26  Bruno Haible  <bruno@clisp.org>
26952
26953         * tests/test-fflush.c (main): Also check the ftell result after
26954         fflush and fseek/fseeko.
26955         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
26956         file descriptor position cache in the stream.
26957         * lib/fseeko.c (rpl_fseeko): Likewise.
26958
26959 2007-04-26  Bruno Haible  <bruno@clisp.org>
26960
26961         * modules/fflush-tests (Depends-on): Add fseeko.
26962
26963 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
26964             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26965
26966         * lib/argz_.h: ensure error_t definition is obtained in same
26967         mechanism system argz.h would have.
26968         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
26969         argz facilities are known bad.  Err on the side of caution if
26970         cross-compiling.
26971
26972 2007-04-25  Eric Blake  <ebb9@byu.net>
26973
26974         * lib/fpurge.c (includes): Use stdlib.h for free.
26975         * tests/test-fflush.c (main): Also test fflush-fseeko.
26976
26977 2007-04-25  Bruno Haible  <bruno@clisp.org>
26978
26979         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
26980         * lib/fseeko.c: New file.
26981         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
26982         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
26983         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
26984         gl_FUNC_FSEEKO.
26985         (gl_FUNC_FSEEKO): Invoke it.
26986         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
26987         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
26988         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
26989
26990 2007-04-25  Bruno Haible  <bruno@clisp.org>
26991
26992         * modules/fflush (Depends-on): Add ftello.
26993
26994 2007-04-25  Bruno Haible  <bruno@clisp.org>
26995
26996         * modules/ftello-tests: New file.
26997         * tests/test-ftello.c: New file.
26998
26999         * modules/ftello: New file.
27000         * m4/ftello.m4: New file.
27001         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
27002         HAVE_FTELLO.
27003         * lib/stdio_.h (ftello): New declaration.
27004         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
27005         HAVE_FTELLO.
27006
27007 2007-04-25  Bruno Haible  <bruno@clisp.org>
27008
27009         * modules/fseeko-tests: New file.
27010         * tests/test-fseeko.c: New file.
27011
27012         * modules/fseeko: New file.
27013         * m4/fseeko.m4: New file.
27014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
27015         HAVE_FSEEKO.
27016         * lib/stdio_.h (fseeko): New declaration.
27017         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
27018         HAVE_FSEEKO.
27019
27020 2007-04-25  Bruno Haible  <bruno@clisp.org>
27021
27022         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
27023
27024 2007-04-25  Bruno Haible  <bruno@clisp.org>
27025
27026         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
27027         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
27028         * tests/test-unistd.c: Likewise.
27029         * tests/test-fcntl.c: Likewise.
27030
27031 2007-04-23  Eric Blake  <ebb9@byu.net>
27032
27033         * lib/fflush.c: Fix missing include.
27034         Reported by Bruno Haible.
27035
27036 2007-04-23  Bruno Haible  <bruno@clisp.org>
27037
27038         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
27039         Reported by Eric Blake.
27040
27041 2007-04-23  Bruno Haible  <bruno@clisp.org>
27042
27043         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
27044
27045 2007-04-23  Bruno Haible  <bruno@clisp.org>
27046
27047         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
27048
27049 2007-04-23  Bruno Haible  <bruno@clisp.org>
27050
27051         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
27052         Needed on HP-UX 11.
27053
27054 2007-04-16  Eric Blake  <ebb9@byu.net>
27055
27056         Make fflush rely on fpurge.
27057         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
27058         open coding all variants.
27059         * modules/fflush (Depends-on): Add fpurge and unistd.
27060         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
27061         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
27062
27063         Fix --with-tests compilation on cygwin.
27064         * modules/argmatch-tests (Makefile.am): List gnulib library first
27065         in LDADD.
27066         * modules/argp-tests (Makefile.am): Likewise.
27067         * modules/array-list-tests (Makefile.am): Likewise.
27068         * modules/array-oset-tests (Makefile.am): Likewise.
27069         * modules/avltree-list-tests (Makefile.am): Likewise.
27070         * modules/avltree-oset-tests (Makefile.am): Likewise.
27071         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27072         * modules/carray-list-tests (Makefile.am): Likewise.
27073         * modules/dirname-tests (Makefile.am): Likewise.
27074         * modules/frexp-tests (Makefile.am): Likewise.
27075         * modules/isnanl-tests (Makefile.am): Likewise.
27076         * modules/linked-list-tests (Makefile.am): Likewise.
27077         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27078         * modules/lock-tests (Makefile.am): Likewise.
27079         * modules/rbtree-list-tests (Makefile.am): Likewise.
27080         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27081         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27082         * modules/tls-tests (Makefile.am): Likewise.
27083         * modules/tsearch-tests (Makefile.am): Likewise.
27084         * modules/xvasprintf-tests (Makefile.am): Likewise.
27085
27086         Fix fpurge for cygwin.
27087         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
27088         value.
27089         * modules/fpurge-tests (Depends-on): Clean up trash.
27090
27091 2007-04-16  Simon Josefsson  <simon@josefsson.org>
27092
27093         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
27094
27095         * m4/autobuild.m4: Re-indent.
27096
27097 2007-04-13  Bruno Haible  <bruno@clisp.org>
27098
27099         * modules/fpurge-tests: New file.
27100         * tests/test-fpurge.c: New file.
27101
27102         * modules/fpurge: New file.
27103         * lib/fpurge.h: New file.
27104         * lib/fpurge.c: New file.
27105         * m4/fpurge.m4: New file.
27106
27107 2007-04-13  Bruno Haible  <bruno@clisp.org>
27108
27109         * modules/fbufmode-tests: New file.
27110         * tests/test-fbufmode.c: New file.
27111
27112         * modules/fbufmode: New file.
27113         * lib/fbufmode.h: New file.
27114         * lib/fbufmode.c: New file.
27115         * m4/fbufmode.m4: New file.
27116
27117 2007-04-13  Bruno Haible  <bruno@clisp.org>
27118
27119         * modules/fwritable-tests: New file.
27120         * tests/test-fwritable.c: New file.
27121
27122         * modules/fwritable: New file.
27123         * lib/fwritable.h: New file.
27124         * lib/fwritable.c: New file.
27125         * m4/fwritable.m4: New file.
27126
27127 2007-04-13  Bruno Haible  <bruno@clisp.org>
27128
27129         * modules/freadable-tests: New file.
27130         * tests/test-freadable.c: New file.
27131
27132         * modules/freadable: New file.
27133         * lib/freadable.h: New file.
27134         * lib/freadable.c: New file.
27135         * m4/freadable.m4: New file.
27136
27137 2007-04-13  Bruno Haible  <bruno@clisp.org>
27138
27139         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
27140         MOSTLYCLEANFILES.
27141
27142 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27143
27144         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
27145         gzip bootstrap.conf to avoid dragging in i18n machinery.
27146         (gnulib_tool_option): Use it.
27147
27148 2007-04-13  Bruno Haible  <bruno@clisp.org>
27149
27150         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
27151         %F directives.
27152         * tests/test-vasprintf-posix.c (test_function): Likewise.
27153         * tests/test-snprintf-posix.h (test_function): Likewise.
27154         * tests/test-sprintf-posix.h (test_function): Likewise.
27155         * tests/test-fprintf-posix.h (test_function): Likewise.
27156         * tests/test-printf-posix.h (test_function): Likewise.
27157         * tests/test-fprintf-posix.out: Likewise.
27158
27159 2007-04-13  Bruno Haible  <bruno@clisp.org>
27160
27161         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
27162         * modules/tls-tests (configure.ac): Likewise.
27163         Reported by Arto C. Nirkko <anirkko@insel.ch>.
27164
27165 2007-04-13  Bruno Haible  <bruno@clisp.org>
27166
27167         * lib/tls.c (glthread_tls_get): Fix return type.
27168         Patch by Arto C. Nirkko <anirkko@insel.ch>.
27169
27170 2007-04-12  Eric Blake  <ebb9@byu.net>
27171
27172         * modules/gettime (Depends-on): Remove gettime.
27173         Reported by Dmitry V. Levin.
27174
27175 2007-04-12  Bruno Haible  <bruno@clisp.org>
27176
27177         * modules/fflush (Include): Mention <stdio.h>.
27178         * modules/strtoimax (Include): Mention <inttypes.h>.
27179         * modules/strtoumax (Include): Likewise.
27180
27181 2007-04-12  Eric Blake  <ebb9@byu.net>
27182
27183         * .cvsignore: New file.
27184         * .gitignore: Likewise.
27185
27186 2007-04-12  Bruno Haible  <bruno@clisp.org>
27187
27188         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
27189         not before, since $(LDADD) often contains libgnu.a.
27190         * modules/striconv-tests (test_striconv_LDADD): Likewise.
27191         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
27192         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
27193         Needed on Cygwin.
27194
27195 2007-04-12  Eric Blake  <ebb9@byu.net>
27196
27197         Work around glibc's failure to flush stdin on fclose.
27198         * lib/closein.c (close_stdin): Flush stdin before closing.
27199
27200         Work around glibc's failure to reset seekable stdin on exit.
27201         * modules/closein: New module.
27202         * lib/closein.c: New file.
27203         * lib/closein.h: Likewise.
27204         * m4/closein.m4: Likewise.
27205         * MODULES.html.sh (File stream based Input/Output): Document it.
27206
27207 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27208
27209         * gnulib-tool: Rename generated 'autobuild' script to
27210         'do-autobuild' in --create-megatestdir output.
27211
27212         * doc/gnulib.texi (Build robot for gnulib): Fix.
27213
27214 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27215
27216         * modules/sysexits (Depends-on): Add absolute-header.
27217
27218 2007-04-12  Eric Blake  <ebb9@byu.net>
27219
27220         No need to preserve errno on success.
27221         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
27222         Reported by Bruno Haible.
27223
27224 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27225
27226         * MODULES.html.sh (Support for maintaining and releasing
27227         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
27228
27229 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27230
27231         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
27232
27233 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27234
27235         * modules/autobuild: New module.
27236
27237         * m4/autobuild.m4: New file.
27238
27239 2007-04-11  Bruno Haible  <bruno@clisp.org>
27240
27241         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
27242         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
27243         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
27244         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
27245         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27246         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27247         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27248         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27249         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27250         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27251         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
27252         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27253         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27254         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
27255         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27256         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
27258         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27259         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27260         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
27261         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27262         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27263         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
27264         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27265         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27266         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
27267         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27268         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27269         Reported by Eric Blake.
27270
27271 2007-04-11  Bruno Haible  <bruno@clisp.org>
27272
27273         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
27274
27275 2007-04-10  Bruno Haible  <bruno@clisp.org>
27276
27277         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
27278         for NaN and Infinity. Needed on FreeBSD 6.1.
27279         * tests/test-vasnprintf-posix.c (test_function): Undo last change
27280         regarding results for "%010a" of Infinity and NaN.
27281         * tests/test-vasprintf-posix.c (test_function): Likewise.
27282         * tests/test-snprintf-posix.h (test_function): Likewise.
27283         * tests/test-sprintf-posix.h (test_function): Likewise.
27284         * tests/test-fprintf-posix.h (test_function): Likewise.
27285         * tests/test-printf-posix.h (test_function): Likewise.
27286         * tests/test-fprintf-posix.out: Likewise.
27287
27288 2007-04-10  Bruno Haible  <bruno@clisp.org>
27289
27290         * modules/locale-tests: New file.
27291         * tests/test-locale.c: New file.
27292
27293         * modules/locale: New file.
27294         * lib/locale_.h: New file.
27295         * m4/locale_h.m4: New file.
27296
27297 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
27298             Bruno Haible  <bruno@clisp.org>
27299
27300         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
27301         be determined, test for availability of the copysignf, copysign,
27302         copysignl functions.
27303         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
27304         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
27305         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
27306
27307 2007-04-09  Eric Blake  <ebb9@byu.net>
27308
27309         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
27310         * modules/stdio (Makefile.am): Support fflush.
27311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27312         * modules/fflush: New file.
27313         * lib/fflush.c: Likewise.
27314         * m4/fflush.m4: Likewise.
27315         * modules/fflush-tests: New test.
27316         * tests/test-fflush.c: Likewise.
27317         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
27318
27319 2007-04-06  Bruno Haible  <bruno@clisp.org>
27320
27321         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
27322         (VASNPRINTF): Use signbit for faster determination whether to print a
27323         minus sign.
27324         * modules/vasnprintf (Files): Remove lib/float+.h.
27325         * modules/fprintf-posix (Depends-on): Add signbit.
27326         * modules/snprintf-posix (Depends-on): Likewise.
27327         * modules/sprintf-posix (Depends-on): Likewise.
27328         * modules/vasnprintf-posix (Depends-on): Likewise.
27329         * modules/vasprintf-posix (Depends-on): Likewise.
27330         * modules/vfprintf-posix (Depends-on): Likewise.
27331         * modules/vsnprintf-posix (Depends-on): Likewise.
27332         * modules/vsprintf-posix (Depends-on): Likewise.
27333
27334 2007-04-06  Bruno Haible  <bruno@clisp.org>
27335
27336         * tests/test-frexp.c (main): Test also the sign bit of zero results.
27337         * tests/test-frexpl.c (main): Likewise.
27338         * tests/test-ldexpl.c (main): Likewise.
27339         * modules/frexp-tests (Depends-on): Add signbit.
27340         * modules/frexpl-tests (Depdends-on): Likewise.
27341         * modules/ldexpl-tests (Depdends-on): Likewise.
27342
27343 2007-04-06  Bruno Haible  <bruno@clisp.org>
27344
27345         * modules/signbit-tests: New file.
27346         * tests/test-signbit.c: New file.
27347
27348         * modules/signbit: New file.
27349         * lib/signbitf.c: New file.
27350         * lib/signbitd.c: New file.
27351         * lib/signbitl.c: New file.
27352         * m4/signbit.m4: New file.
27353         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
27354         (signbit): New macro.
27355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
27356         REPLACE_SIGNBIT.
27357         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
27358         REPLACE_FREXPL into math.h.
27359
27360 2007-04-06  Bruno Haible  <bruno@clisp.org>
27361
27362         * modules/isnanf-nolibm-tests: New file.
27363         * tests/test-isnanf.c: New file.
27364
27365         * modules/isnanf-nolibm: New file.
27366         * lib/isnanf.h: New file.
27367         * lib/isnanf.c: New file.
27368         * lib/isnan.c: Consider the USE_FLOAT macro.
27369         * m4/isnanf.m4: New file.
27370
27371 2007-04-06  Bruno Haible  <bruno@clisp.org>
27372
27373         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
27374         (Link): New section.
27375
27376         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
27377
27378 2007-04-06  Bruno Haible  <bruno@clisp.org>
27379
27380         Assume the 'long double' type.
27381         * m4/longdouble.m4: Remove file.
27382         * config/srclist.txt: Don't mention longdouble.m4.
27383         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
27384         * lib/float+.h: Likewise.
27385         * lib/frexp.c: Likewise.
27386         * lib/printf-args.h: Likewise.
27387         * lib/printf-args.c: Likewise.
27388         * lib/printf-frexp.c: Likewise.
27389         * lib/printf-parse.c: Likewise.
27390         * lib/vasnprintf.c: Likewise.
27391         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
27392         * m4/intl.m4: Likewise.
27393         * m4/isnanl.m4: Likewise.
27394         * m4/printf.m4: Likewise.
27395         * m4/printf-frexpl.m4: Likewise.
27396         * m4/vasnprintf.m4: Likewise.
27397         * modules/allocsa (Files): Remove m4/longdouble.m4.
27398         * modules/gettext (Files): Likewise.
27399         * modules/relocatable-prog-wrapper (Files): Likewise.
27400         * modules/vasnprintf (Files): Likewise.
27401         * modules/isnanl (Files): Likewise.
27402         (Include): Simplify.
27403         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
27404         (Include): Simplify.
27405         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
27406         (Include): Simplify.
27407         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
27408         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27409         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
27410         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27411         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
27412         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27413         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
27414         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27415         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
27416         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27417         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
27418         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
27419         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
27420         * tests/test-isnanl.c: Likewise.
27421         * tests/test-snprintf-posix.h: Likewise.
27422         * tests/test-sprintf-posix.h: Likewise.
27423         * tests/test-vasnprintf-posix.c: Likewise.
27424         * tests/test-vasnprintf-posix2.c: Likewise.
27425         * tests/test-vasprintf-posix.c: Likewise.
27426
27427 2007-04-06  Bruno Haible  <bruno@clisp.org>
27428
27429         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
27430         * lib/math_.h [__DECC]: Include the overridden include file through
27431         #include_next, outside the double-inclusion guard.
27432         * lib/stdio_.h [__DECC]: Likewise.
27433         * lib/stdlib_.h [__DECC]: Likewise.
27434         * lib/string_.h [__DECC]: Likewise.
27435         * lib/time_.h [__DECC]: Likewise.
27436         * lib/wchar_.h [__DECC]: Likewise.
27437         * lib/wctype_.h [__DECC]: Likewise.
27438         * lib/inttypes_.h [__DECC]: Likewise.
27439         Reported by Albert Chin <china@thewrittenword.com> in
27440         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
27441
27442 2007-04-04  Eric Blake  <ebb9@byu.net>
27443
27444         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
27445         1.5.x.
27446
27447 2007-04-04  Bruno Haible  <bruno@clisp.org>
27448
27449         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
27450         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
27451
27452 2007-04-04  Bruno Haible  <bruno@clisp.org>
27453
27454         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
27455         results for "%010a" of Infinity and NaN.
27456         * tests/test-vasprintf-posix.c (test_function): Likewise.
27457         * tests/test-snprintf-posix.h (test_function): Likewise.
27458         * tests/test-sprintf-posix.h (test_function): Likewise.
27459         * tests/test-fprintf-posix.h (test_function): Remove these tests.
27460         * tests/test-printf-posix.h (test_function): Likewise.
27461         * tests/test-fprintf-posix.out: Update.
27462         Needed for FreeBSD 6.1.
27463
27464 2007-04-04  Bruno Haible  <bruno@clisp.org>
27465
27466         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
27467         directly used by the gnulib modules nor by gnulib-tool.
27468
27469 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
27470
27471         * DEPENDENCIES: Give overall description of version dependency
27472         desirability.  Use more-typical names for apps.
27473         Add shell, coreutils, diffutils, grep, tar, gzip.
27474
27475 2007-04-04  Simon Josefsson  <simon@josefsson.org>
27476
27477         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
27478
27479 2007-04-04  Karl Berry  <karl@gnu.org>
27480
27481         * MODULES.html.sh (func_module): missing '.
27482
27483 2007-04-03  Bruno Haible  <bruno@clisp.org>
27484
27485         * modules/argmatch-tests (Makefile.am): New variable
27486         test_argmatch_LDADD.
27487         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
27488         * modules/array-list-tests (Makefile.am): New variable
27489         test_array_list_LDADD.
27490         * modules/array-oset-tests (Makefile.am): New variable
27491         test_array_oset_LDADD.
27492         * modules/avltree-list-tests (Makefile.am): New variable
27493         test_avltree_list_LDADD.
27494         * modules/avltree-oset-tests (Makefile.am): New variable
27495         test_avltree_oset_LDADD.
27496         * modules/avltreehash-list-tests (Makefile.am): New variable
27497         test_avltreehash_list_LDADD.
27498         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
27499         test_canonicalize_lgpl_LDADD.
27500         * modules/carray-list-tests (Makefile.am): New variable
27501         test_carray_list_LDADD.
27502         * modules/dirname-tests (Makefile.am): New variable
27503         test_dirname_LDADD.
27504         * modules/linked-list-tests (Makefile.am): New variable
27505         test_linked_list_LDADD.
27506         * modules/linkedhash-list-tests (Makefile.am): New variable
27507         test_linkedhash_list_LDADD.
27508         * modules/rbtree-list-tests (Makefile.am): New variable
27509         test_rbtree_list_LDADD.
27510         * modules/rbtree-oset-tests (Makefile.am): New variable
27511         test_rbtree_oset_LDADD.
27512         * modules/rbtreehash-list-tests (Makefile.am): New variable
27513         test_rbtreehash_list_LDADD.
27514         * modules/xvasprintf-tests (Makefile.am): New variable
27515         test_xvasprintf_LDADD.
27516         Reported by Eric Blake.
27517
27518 2007-04-03  Eric Blake  <ebb9@byu.net>
27519
27520         * DEPENDENCIES: Weaken m4 requirements.
27521
27522 2007-04-03  Bruno Haible  <bruno@clisp.org>
27523
27524         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
27525         * modules/isnanl-tests (configure.ac): Likewise.
27526
27527 2007-04-03  Ben Pfaff  <blp@gnu.org>
27528
27529         * modules/iconv_open: Add $(srcdir)/ to source directory
27530         references in Makefile fragments that call gperf, to fix VPATH
27531         builds.
27532
27533 2007-04-03  Bruno Haible  <bruno@clisp.org>
27534
27535         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
27536         * lib/ldexpl.c: Undo last change.
27537
27538 2007-04-03  Bruno Haible  <bruno@clisp.org>
27539
27540         * modules/printf-frexpl (Depends-on): Undo last change.
27541         (Files): Add m4/ldexpl.m4.
27542
27543 2007-04-03  Bruno Haible  <bruno@clisp.org>
27544
27545         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
27546         * modules/isnanl (Link): New section.
27547
27548         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
27549         * modules/frexp (Link): New section.
27550
27551         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
27552         * modules/frexpl (Link): New section.
27553
27554         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
27555         * modules/ldexpl (Link): New section.
27556
27557 2007-04-03  Bruno Haible  <bruno@clisp.org>
27558
27559         * modules/TEMPLATE-EXTENDED: New file.
27560         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
27561
27562 2007-04-03  Bruno Haible  <bruno@clisp.org>
27563
27564         * DEPENDENCIES: New file.
27565         Suggested by Simon Josefsson.
27566
27567 2007-04-03  Bruno Haible  <bruno@clisp.org>
27568
27569         * doc/gnulib.texi: Escape @.
27570
27571 2007-04-03  James Youngman  <jay@gnu.org>
27572         and Paul Eggert  <eggert@cs.ucla.edu>
27573
27574         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
27575         birthtime on all systems that have birthtime, not just those which
27576         use st_birthtimensec rather than st_birthtim.  Putting zero in
27577         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
27578         that the birth time is not available for files on an NFS mount.
27579
27580 2007-04-03  Simon Josefsson  <simon@josefsson.org>
27581
27582         * modules/memxor: Move back from crypto/, suggested by Bruno.
27583         * modules/crypto/hmac-sha1: Fix memxor dependency.
27584
27585         * modules/crypto/gc: Moved from ../.
27586
27587 2007-04-02  Eric Blake  <ebb9@byu.net>
27588
27589         * lib/ldexpl.c (includes): Avoid libm.
27590
27591         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
27592
27593 2007-04-02  Bruno Haible  <bruno@clisp.org>
27594
27595         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
27596         on IRIX.
27597
27598 2007-04-02  Bruno Haible  <bruno@clisp.org>
27599
27600         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
27601         x86 or x86_64 platforms running MacOS X.
27602         Reported by Ryan Schmidt <@ryandesign.com>.
27603
27604 2007-04-02  Bruno Haible  <bruno@clisp.org>
27605
27606         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
27607         i386.
27608
27609 2007-04-01  Simon Josefsson  <simon@josefsson.org>
27610
27611         * modules/crypto/arcfour: Moved from ../.
27612         * modules/crypto/arcfour-tests: Moved from ../.
27613         * modules/crypto/arctwo: Moved from ../.
27614         * modules/crypto/arctwo-tests: Moved from ../.
27615         * modules/crypto/des: Moved from ../.
27616         * modules/crypto/des-tests: Moved from ../.
27617         * modules/crypto/gc-arcfour: Moved from ../.
27618         * modules/crypto/gc-arcfour-tests: Moved from ../.
27619         * modules/crypto/gc-arctwo: Moved from ../.
27620         * modules/crypto/gc-arctwo-tests: Moved from ../.
27621         * modules/crypto/gc-des: Moved from ../.
27622         * modules/crypto/gc-des-tests: Moved from ../.
27623         * modules/crypto/gc-hmac-md5: Moved from ../.
27624         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
27625         * modules/crypto/gc-hmac-sha1: Moved from ../.
27626         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
27627         * modules/crypto/gc-md2: Moved from ../.
27628         * modules/crypto/gc-md2-tests: Moved from ../.
27629         * modules/crypto/gc-md4: Moved from ../.
27630         * modules/crypto/gc-md4-tests: Moved from ../.
27631         * modules/crypto/gc-md5: Moved from ../.
27632         * modules/crypto/gc-md5-tests: Moved from ../.
27633         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
27634         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
27635         * modules/crypto/gc-random: Moved from ../.
27636         * modules/crypto/gc-rijndael: Moved from ../.
27637         * modules/crypto/gc-rijndael-tests: Moved from ../.
27638         * modules/crypto/gc-sha1: Moved from ../.
27639         * modules/crypto/gc-sha1-tests: Moved from ../.
27640         * modules/crypto/gc-tests: Moved from ../.
27641         * modules/crypto/hmac-md5: Moved from ../.
27642         * modules/crypto/hmac-md5-tests: Moved from ../.
27643         * modules/crypto/hmac-sha1: Moved from ../.
27644         * modules/crypto/hmac-sha1-tests: Moved from ../.
27645         * modules/crypto/md2: Moved from ../.
27646         * modules/crypto/md2-tests: Moved from ../.
27647         * modules/crypto/md4: Moved from ../.
27648         * modules/crypto/md4-tests: Moved from ../.
27649         * modules/crypto/md5: Moved from ../.
27650         * modules/crypto/md5-tests: Moved from ../.
27651         * modules/crypto/memxor: Moved from ../.
27652         * modules/crypto/rijndael: Moved from ../.
27653         * modules/crypto/rijndael-tests: Moved from ../.
27654         * modules/crypto/sha1: Moved from ../.
27655
27656 2007-03-30  James Youngman  <jay@gnu.org>
27657
27658         * tests/test-stat-time.c (prepare_test): use chmod() rather than
27659         rename() to change the ctime of a file (because ctime is unaffected
27660         by rename on jfs2 on AIX 5.1).
27661         (main): Start by doing cleanup, in case a previous run failed leaving
27662         test files behind.
27663
27664 2007-03-31  Bruno Haible  <bruno@clisp.org>
27665
27666         Support old proprietary implementations of iconv.
27667         * modules/iconv_open: New file.
27668         * lib/iconv_.h: New file.
27669         * m4/iconv_h.m4: New file.
27670         * lib/iconv_open.c: New file.
27671         * lib/iconv_open-aix.gperf: New file.
27672         * lib/iconv_open-hpux.gperf: New file.
27673         * lib/iconv_open-irix.gperf: New file.
27674         * lib/iconv_open-osf.gperf: New file.
27675         * m4/iconv_open.m4: New file.
27676         * modules/linebreak (Depends-on): Add iconv_open.
27677         * modules/striconv (Depends-on): Likewise.
27678         * modules/striconveh (Depends-on): Likewise.
27679         * modules/unicodeio (Depends-on): Likewise.
27680         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
27681         (iconv_t)(-1).
27682         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
27683         conversion if cd is (iconv_t)(-1).
27684         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
27685         is not possible.
27686
27687 2007-03-31  Bruno Haible  <bruno@clisp.org>
27688
27689         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
27690         work on Solaris either. Protect also second use of "autodetect_jp".
27691
27692 2007-03-31  Bruno Haible  <bruno@clisp.org>
27693
27694         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
27695         the function is not present.
27696
27697 2007-03-31  Bruno Haible  <bruno@clisp.org>
27698
27699         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
27700         the function is not present.
27701
27702 2007-03-31  Bruno Haible  <bruno@clisp.org>
27703
27704         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
27705         a bug in HP-UX iconv_open().
27706
27707 2007-03-31  Bruno Haible  <bruno@clisp.org>
27708
27709         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
27710         (Mathematics <math.h>): New section, add fpieee.
27711         (Input/output <stdio.h>): Add fseterr.
27712         (Mathematics <math.h>): New section, add printf-frexp.
27713         (Container data structures): Add sublist.
27714         (Core language properties): Add fpucw, inline.
27715         (Functions for greatest-width integer types <inttypes.h>): Add
27716         imaxabs, imaxdiv, inttypes.
27717         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
27718         isnanl-nolibm, ldexp.
27719         (Mathematics <math.h>): New section, add printf-frexpl.
27720         (Support for systems lacking POSIX:2001): Add fprintf-posix,
27721         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
27722         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
27723         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
27724         (Unicode string functions): Add unistr/u*-mbtoucr.
27725         (Java): Add javacomp-script, javaexec-script.
27726         (C#): Add csharpcomp-script, csharpexec-script.
27727         (Support for building libraries and executables): Add havelib,
27728         relocatable-*.
27729         (Support for maintaining and releasing projects): Renamed from
27730         'Support for maintaining and release projects'. Add announce-gen.
27731
27732 2007-03-31  Bruno Haible  <bruno@clisp.org>
27733
27734         * README: Talk primarily about git.
27735         (git and CVS): Renamed from CVS.
27736         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
27737         gnulib is available through git.
27738         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
27739
27740 2007-03-30  Bruno Haible  <bruno@clisp.org>
27741
27742         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
27743         * lib/poll_.h: Likewise.
27744         * lib/stat_.h: Likewise.
27745         * lib/sys_time_.h: Likewise.
27746         * lib/sysexit_.h: Likewise.
27747         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
27748         * lib/stdbool_.h: Likewise.
27749         * lib/byteswap_.h: Add double-inclusion guard.
27750
27751 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
27752
27753         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
27754
27755 2007-03-30  Karl Berry  <karl@gnu.org>
27756
27757         * config/srclist-update: double space after USA in the license
27758         substitution, since that's how it's usually (?) written.
27759
27760 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
27761
27762         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
27763         reported by Bruno Haible.
27764
27765 2007-03-29  Bruno Haible  <bruno@clisp.org>
27766
27767         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
27768         a bug in AIX iconv().
27769
27770 2007-03-29  Bruno Haible  <bruno@clisp.org>
27771
27772         * modules/ldexpl-tests: New file.
27773         * tests/test-ldexpl.c: New file.
27774
27775 2007-03-29  Bruno Haible  <bruno@clisp.org>
27776
27777         * lib/ldexpl.c: Include fpucw.h.
27778         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
27779         multiplication.
27780         * modules/ldexpl (Depends-on): Add fpucw.
27781
27782 2007-03-29  Bruno Haible  <bruno@clisp.org>
27783
27784         * modules/ldexpl: New file.
27785         * m4/ldexpl.m4: New file.
27786         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
27787         set.
27788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
27789         REPLACE_LDEXPL.
27790         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
27791         REPLACE_LDEXPL.
27792         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
27793         gl_FUNC_LDEXPL_WORKS.
27794         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
27795         * modules/mathl (Files): Remove lib/ldexpl.c.
27796         (Depends-on): Add ldexpl.
27797
27798 2007-03-29  Bruno Haible  <bruno@clisp.org>
27799
27800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
27801
27802 2007-03-29  Bruno Haible  <bruno@clisp.org>
27803
27804         * tests/test-striconveh.c (main): Don't assume that a direct conversion
27805         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
27806         and possibly also HP-UX.
27807         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
27808         work on AIX, IRIX, HP-UX, OSF/1.
27809         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
27810         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
27811         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
27812         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
27813         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
27814         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
27815
27816 2007-03-29  Bruno Haible  <bruno@clisp.org>
27817
27818         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
27819
27820 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
27821
27822         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
27823         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
27824
27825 2007-03-29  Eric Blake  <ebb9@byu.net>
27826
27827         * lib/acl-internal.h: Remove redundant include.
27828         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
27829         Cygwin when a file is locked.
27830
27831 2007-03-29  Bruno Haible  <bruno@clisp.org>
27832
27833         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
27834         file.
27835         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
27836
27837 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
27838
27839         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
27840         try to remove a parent directory if the child couldn't be removed
27841         (except for the first rmdir, which could fail because the child
27842         doesn't exist).  Problem reported by Jeff Blaine in
27843         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
27844
27845 2007-03-28  Bruno Haible  <bruno@clisp.org>
27846
27847         * lib/striconveh.c (utf8conv_carefully): New function.
27848         (mem_cd_iconveh_internal): Invoke it.
27849
27850 2007-03-28  Bruno Haible  <bruno@clisp.org>
27851
27852         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
27853         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
27854         input.
27855         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
27856         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
27857         unistr/u8-uctomb.
27858
27859 2007-03-28  Bruno Haible  <bruno@clisp.org>
27860
27861         * modules/unistr/u8-mbtoucr: New file.
27862         * lib/unistr/u8-mbtoucr.c: New file.
27863         * modules/unistr/u16-mbtoucr: New file.
27864         * lib/unistr/u16-mbtoucr.c: New file.
27865         * modules/unistr/u16-mbtoucr: New file.
27866         * lib/unistr/u16-mbtoucr.c: New file.
27867         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
27868
27869 2007-03-27  Simon Josefsson  <simon@josefsson.org>
27870             Bruno Haible  <bruno@clisp.org>
27871
27872         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
27873         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
27874         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
27875
27876         * m4/stdio_h.m4: Add stubs for vasprintf too.
27877
27878         * modules/stdio: Support vasprintf in sed command.
27879
27880         * modules/vasprintf: Depend on stdio for prototypes.  Remove
27881         vasprintf.h.  Add stdio module indicator.
27882
27883         * lib/stdio_.h: Declare asprintf and vasprintf, based on
27884         vasprintf.h.
27885
27886         * lib/vasprintf.h: File removed.
27887
27888         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
27889         * lib/vasprintf.c: Ditto.
27890         * lib/xvasprintf.c: Ditto.
27891         * tests/test-vasprintf-posix.c: Ditto.
27892         * tests/test-vasprintf.c: Ditto.
27893
27894 2007-03-27  Bruno Haible  <bruno@clisp.org>
27895
27896         Make vasnprintf multithread-safe.
27897         * lib/vasnprintf.c (decimal_point_char): New function.
27898         (VASNPRINTF): Use it.
27899         Suggested by Simon Josefsson.
27900
27901 2007-03-27  Eric Blake  <ebb9@byu.net>
27902
27903         Support sub-second birthtime on cygwin.
27904         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
27905         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
27906         (get_stat_birthtime): Also work with st_birthtim.
27907
27908 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
27909
27910         * lib/stat-time.h (USE_BIRTHTIME): Remove.
27911         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
27912         (get_stat_birthtime_ns): Do not try to use "spare" fields.
27913         (get_stat_birthtime_ns): Simplify compile-time tests.
27914         (get_stat_birthtime): Change the API to look like
27915         get_stat_mtime etc., except return a negative tv_nsec on error.
27916         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
27917         Don't check for "spare" fields.
27918         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
27919         or for struct stat.st_birthtime, as these tests aren't used.
27920         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
27921
27922 2007-03-27  Bruno Haible  <bruno@clisp.org>
27923
27924         * lib/stat-time.h: Include <sys/stat.h>.
27925
27926 2007-03-27  James Youngman  <jay@gnu.org>
27927
27928         * lib/stat-time.h (get_stat_birthtime): New function for
27929           retrieving st_birthtime as provided by UFS2 (hence *BSD).
27930         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
27931           and its variants.
27932         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
27933         * modules/stat-time-test: New file.
27934         * tests/test-stat-time.c: New test, devised by Bruno Haible.
27935
27936 2007-03-26  Bruno Haible  <bruno@clisp.org>
27937
27938         Better support of signalling NaNs.
27939         * lib/atanl.c: Include isnanl.h.
27940         (atanl): Perform test for NaN at the beginning of the function and
27941         through a call to isnanl.
27942         * lib/cosl.c: Include isnanl.h.
27943         (cosl): Perform test for NaN at the beginning of the function and
27944         through a call to isnanl.
27945         * lib/ldexpl.c: Include isnanl.h.
27946         (ldexpl): Perform test for NaN through a call to isnanl.
27947         * lib/logl.c: Include isnanl.h.
27948         (logl): Perform test for NaN at the beginning of the function and
27949         through a call to isnanl.
27950         * lib/sinl.c: Include isnanl.h.
27951         (sinl): Perform test for NaN at the beginning of the function and
27952         through a call to isnanl.
27953         * lib/sqrtl.c: Include isnanl.h.
27954         (sqrtl): Perform test for NaN at the beginning of the function and
27955         through a call to isnanl.
27956         * lib/tanl.c: Include isnanl.h.
27957         (tanl): Perform test for NaN at the beginning of the function and
27958         through a call to isnanl.
27959         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
27960         * modules/mathl (Depends-on): Add isnanl.
27961
27962 2007-03-26  Eric Blake  <ebb9@byu.net>
27963
27964         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
27965         regression in logic sense of previous patch.
27966
27967 2007-03-26  Bruno Haible  <bruno@clisp.org>
27968
27969         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
27970         unportable shell command "if ! ...".
27971         Reported by Ralf Wildenhues.
27972
27973 2007-03-25  Bruno Haible  <bruno@clisp.org>
27974
27975         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
27976         <sysexits.h> file, and only add EX_CONFIG.
27977         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
27978         absolute file name and whether it is sufficient. Substitute also
27979         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
27980         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
27981         ABSOLUTE_SYSEXITS_H into sysexits.h.
27982
27983 2007-03-25  Bruno Haible  <bruno@clisp.org>
27984
27985         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
27986         hints is NULL.
27987
27988 2007-03-25  Bruno Haible  <bruno@clisp.org>
27989
27990         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
27991         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
27992
27993 2007-03-25  Bruno Haible  <bruno@clisp.org>
27994
27995         * lib/vasnprintf.c: Include langinfo.h.
27996         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
27997         multithread-safe.
27998         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
27999         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
28000         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28001         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28002         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28003         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28004         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28005         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
28006         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28007         Reported by Simon Josefsson.
28008
28009 2007-03-25  Bruno Haible  <bruno@clisp.org>
28010
28011         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
28012         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
28013         * modules/vasnprintf (Depends-on): Add stdint.
28014
28015 2007-03-25  Bruno Haible  <bruno@clisp.org>
28016
28017         * modules/fpieee: New file.
28018         * m4/fpieee.m4: New file.
28019         * modules/isnan-nolibm (Depends-on): Add fpieee.
28020         * modules/isnanl-nolibm (Depends-on): Add fpieee.
28021         * modules/isnanl (Depends-on): Add fpieee.
28022
28023 2007-03-25  Bruno Haible  <bruno@clisp.org>
28024
28025         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
28026
28027 2007-03-25  Bruno Haible  <bruno@clisp.org>
28028
28029         Avoid test failures on IRIX 6.5.
28030         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
28031         (main): Use it.
28032         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
28033         macros.
28034         (main): Use them.
28035
28036 2007-03-25  Bruno Haible  <bruno@clisp.org>
28037
28038         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
28039         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
28040         exists but doesn't work.
28041         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
28042         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
28043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
28044         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
28045
28046 2007-03-25  Bruno Haible  <bruno@clisp.org>
28047
28048         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
28049         returns inf. Needed on IRIX 6.5.
28050
28051 2007-03-25  Bruno Haible  <bruno@clisp.org>
28052
28053         * tests/test-frexpl.c: Include isnanl-nolibm.h.
28054         (main): Use isnanl instead of x != x idiom.
28055         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
28056
28057         * tests/test-frexp.c: Include isnan.h.
28058         (main): Use isnan instead of x != x idiom.
28059         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
28060
28061 2007-03-25  Bruno Haible  <bruno@clisp.org>
28062
28063         * tests/test-frexp.c (NaN): New function/macro.
28064         (main): Use it instead of 0.0 / 0.0.
28065         * tests/test-isnan.c (NaN): New function/macro.
28066         (main): Use it instead of 0.0 / 0.0.
28067         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
28068         (test_function): Use it instead of 0.0 / 0.0.
28069         * tests/test-vasprintf-posix.c (NaN): New function/macro.
28070         (test_function): Use it instead of 0.0 / 0.0.
28071         * tests/test-snprintf-posix.h (NaN): New function/macro.
28072         (test_function): Use it instead of 0.0 / 0.0.
28073         * tests/test-sprintf-posix.h (NaN): New function/macro.
28074         (test_function): Use it instead of 0.0 / 0.0.
28075         * tests/test-fprintf-posix.h (NaN): New function/macro.
28076         (test_function): Use it instead of 0.0 / 0.0.
28077         * tests/test-printf-posix.h (NaN): New function/macro.
28078         (test_function): Use it instead of 0.0 / 0.0.
28079
28080         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
28081
28082 2007-03-25  Bruno Haible  <bruno@clisp.org>
28083
28084         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
28085
28086 2007-03-25  Bruno Haible  <bruno@clisp.org>
28087
28088         * lib/regexec.c (merge_state_with_log): Make static.
28089
28090 2007-03-25  Bruno Haible  <bruno@clisp.org>
28091
28092         * lib/trigl.c (kernel_rem_pio2): Make static.
28093
28094 2007-03-25  Bruno Haible  <bruno@clisp.org>
28095
28096         * lib/sincosl.c (sincosl_table): Make static.
28097
28098 2007-03-25  Bruno Haible  <bruno@clisp.org>
28099
28100         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
28101         if the compiler does not support C99.
28102
28103 2007-03-25  Bruno Haible  <bruno@clisp.org>
28104
28105         * modules/time (Makefile.am): Ensure all rule action lines start with a
28106         tab.
28107
28108 2007-03-24  Bruno Haible  <bruno@clisp.org>
28109
28110         * modules/tsearch-tests: New file.
28111         * tests/test-tsearch.sh: New file.
28112         * tests/test-tsearch.c: New file, mostly copied from glibc.
28113
28114         * modules/search-tests: New file.
28115         * tests/test-search.c: New file.
28116
28117         * modules/search: New file.
28118         * lib/search_.h: New file, incorporating lib/tsearch.h.
28119         * m4/search_h.m4: New file.
28120         * lib/tsearch.h: Remove file.
28121         * lib/tsearch.c: Include search.h instead of tsearch.h.
28122         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
28123         HAVE_TSEARCH.
28124         * modules/tsearch (Files): Remove lib/tsearch.h.
28125         (Depends-on): Add search.
28126         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
28127         (Include): Change tsearch.h into search.h.
28128
28129 2007-03-24  Bruno Haible  <bruno@clisp.org>
28130
28131         * modules/fpucw: New file.
28132         * lib/fpucw.h: New file.
28133         * lib/frexp.c: Include fpucw.h.
28134         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28135         (FUNC): Use them.
28136         * lib/printf-frexp.c: Include fpucw.h.
28137         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28138         (FUNC): Use them.
28139         * lib/vasnprintf.c: Include fpucw.h.
28140         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
28141         'long double' calculations.
28142         * tests/test-frexpl.c: Include fpucw.h.
28143         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28144         * tests/test-printf-frexpl.c: Include fpucw.h.
28145         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28146         * modules/frexpl (Depends-on): Add fpucw.
28147         * modules/printf-frexpl (Depends-on): Likewise.
28148         * modules/fprintf-posix (Depends-on): Likewise.
28149         * modules/snprintf-posix (Depends-on): Likewise.
28150         * modules/sprintf-posix (Depends-on): Likewise.
28151         * modules/vasnprintf-posix (Depends-on): Likewise.
28152         * modules/vasprintf-posix (Depends-on): Likewise.
28153         * modules/vfprintf-posix (Depends-on): Likewise.
28154         * modules/vsnprintf-posix (Depends-on): Likewise.
28155         * modules/vsprintf-posix (Depends-on): Likewise.
28156         * modules/frexpl-tests (Depends-on): Likewise.
28157         * modules/printf-frexpl-tests (Depends-on): Likewise.
28158
28159 2007-03-24  Bruno Haible  <bruno@clisp.org>
28160
28161         * lib/float+.h: New file.
28162         * lib/isnan.c: Include float+.h.
28163         (SIZE): New macro.
28164         (FUNC): Compare only SIZE bytes of the value.
28165         * lib/vasnprintf.c: Include float+.h.
28166         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
28167         SIZEOF_LDBL or SIZEOF_DBL bytes.
28168         * modules/isnan-nolibm (Files): Add lib/float+.h.
28169         * modules/isnanl-nolibm (Files): Add lib/float+.h.
28170         * modules/isnanl (Files): Add lib/float+.h.
28171         * modules/vasnprintf (Files): Add lib/float+.h.
28172
28173 2007-03-24  Bruno Haible  <bruno@clisp.org>
28174
28175         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
28176         include isnanl-nolibm.h.
28177
28178 2007-03-24  Bruno Haible  <bruno@clisp.org>
28179
28180         * tests/test-read-file.c (main): Don't produce spurious output for
28181         expected situations. Make the test fail if it encountered unexpected
28182         results.
28183
28184 2007-03-24  Bruno Haible  <bruno@clisp.org>
28185
28186         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
28187         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
28188
28189 2007-03-24  Bruno Haible  <bruno@clisp.org>
28190
28191         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
28192
28193 2007-03-24  Bruno Haible  <bruno@clisp.org>
28194
28195         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
28196         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
28197
28198         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
28199         * modules/utf8-ucs4: Turn into a symbolic link to module
28200         unistr/u8-mbtouc.
28201
28202         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
28203         utf8-ucs4-unsafe.
28204         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
28205         unistr/u8-mbtouc-unsafe.
28206
28207         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
28208         * modules/utf16-ucs4: Turn into a symbolic link to module
28209         unistr/u16-mbtouc.
28210
28211         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
28212         utf16-ucs4-unsafe.
28213         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
28214         unistr/u16-mbtouc-unsafe.
28215
28216         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
28217         * modules/ucs4-utf8: Turn into a symbolic link to module
28218         unistr/u8-ubtomb.
28219
28220         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
28221         * modules/ucs4-utf16: Turn into a symbolic link to module
28222         unistr/u16-ubtomb.
28223
28224 2007-03-24  Bruno Haible  <bruno@clisp.org>
28225
28226         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
28227         Enable the function only if HAVE_INLINE.
28228         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
28229         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28230         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
28231         Enable the function only if HAVE_INLINE.
28232         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
28233         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28234         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
28235         Enable the function only if HAVE_INLINE.
28236         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
28237         Enable the function only if HAVE_INLINE.
28238         * modules/utf8-ucs4: Update.
28239         * modules/utf8-ucs4-unsafe: Update.
28240         * modules/utf16-ucs4: Update.
28241         * modules/utf16-ucs4-unsafe: Update.
28242         * modules/ucs4-utf8: Update.
28243         * modules/ucs4-utf16: Update.
28244
28245 2007-03-24  Bruno Haible  <bruno@clisp.org>
28246
28247         * lib/utf8-ucs4.h: Remove file.
28248         * lib/utf8-ucs4-unsafe.h: Remove file.
28249         * lib/utf16-ucs4.h: Remove file.
28250         * lib/utf16-ucs4-unsafe.h: Remove file.
28251         * lib/ucs4-utf8.h: Remove file.
28252         * lib/ucs4-utf16.h: Remove file.
28253         * lib/unistr.h: Include their previous contents.
28254         * m4/utf-ucs4.m4: Remove file.
28255         * m4/ucs4-utf.m4: Remove file.
28256         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
28257         (Depends-on): Add unistr/base.
28258         (configure.ac): Remove gl_UTF_UCS4.
28259         (Makefile.am): Update.
28260         (Include): Change to unistr.h.
28261         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
28262         (Depends-on): Add unistr/base.
28263         (configure.ac): Remove gl_UTF_UCS4.
28264         (Makefile.am): Update.
28265         (Include): Change to unistr.h.
28266         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
28267         (Depends-on): Add unistr/base.
28268         (configure.ac): Remove gl_UTF_UCS4.
28269         (Makefile.am): Update.
28270         (Include): Change to unistr.h.
28271         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
28272         (Depends-on): Add unistr/base.
28273         (configure.ac): Remove gl_UTF_UCS4.
28274         (Makefile.am): Update.
28275         (Include): Change to unistr.h.
28276         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
28277         (Depends-on): Add unistr/base.
28278         (configure.ac): Remove gl_UCS4_UTF.
28279         (Makefile.am): Update.
28280         (Include): Change to unistr.h.
28281         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
28282         (Depends-on): Add unistr/base.
28283         (configure.ac): Remove gl_UCS4_UTF.
28284         (Makefile.am): Update.
28285         (Include): Change to unistr.h.
28286         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
28287         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
28288         utf8-ucs4-unsafe.h.
28289         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
28290         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
28291         utf16-ucs4-unsafe.h.
28292         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
28293         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
28294         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
28295         * lib/unistr/u8-strchr.c: Likewise.
28296         * lib/unistr/u8-strrchr.c: Likewise.
28297         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
28298         * lib/unistr/u16-strchr.c: Likewise.
28299         * lib/unistr/u16-strrchr.c: Likewise.
28300         * lib/striconveh.c: Update.
28301         * lib/linebreak.c: Update.
28302
28303 2007-03-24  Bruno Haible  <bruno@clisp.org>
28304
28305         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
28306         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
28307
28308 2007-03-22  Bruno Haible  <bruno@clisp.org>
28309
28310         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
28311
28312 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
28313
28314         * MODULES.html.sh (File system functions): New module write-any-file.
28315         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
28316         * m4/write-any-file.m4: New files.
28317
28318 2007-03-23  Eric Blake  <ebb9@byu.net>
28319
28320         * gnulib-tool: Rearrange space-tab sequences, since some editors
28321         like to eat them.
28322
28323 2007-03-23  Eric Blake  <ebb9@byu.net>
28324
28325         * lib/version-etc.c (version_etc_va): Update license wording to
28326         be more concise.  Recommended by Richard Stallman.
28327
28328 2007-03-22  Bruno Haible  <bruno@clisp.org>
28329
28330         * lib/poll.c (MSG_PEEK): New fallback definition.
28331
28332 2007-03-22  Bruno Haible  <bruno@clisp.org>
28333
28334         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
28335         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
28336         (main): Update.
28337         Fixes a compilation error on BeOS.
28338
28339 2007-03-22  Bruno Haible  <bruno@clisp.org>
28340
28341         * modules/frexpl-tests: New file.
28342         * tests/test-frexpl.c: New file.
28343
28344         * modules/frexpl: New file.
28345         * m4/frexpl.m4: New file.
28346         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
28347         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
28348         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
28349         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
28350         (Depends-on): Add frexpl. Remove isnanl-nolibm.
28351         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
28352
28353 2007-03-22  Bruno Haible  <bruno@clisp.org>
28354
28355         * lib/frexpl.c: Share code with lib/frexp.c.
28356         * modules/mathl (Files): Add lib/frexp.c.
28357         (Depends-on): Add isnanl-nolibm.
28358
28359 2007-03-22  Bruno Haible  <bruno@clisp.org>
28360
28361         * modules/printf-frexp (Files): Add m4/frexp.m4.
28362         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
28363         only if the found frexp function actually works.
28364
28365 2007-03-22  Bruno Haible  <bruno@clisp.org>
28366
28367         * lib/frexp.c: Remove older implementation that uses divisions.
28368
28369 2007-03-21  Bruno Haible  <bruno@clisp.org>
28370
28371         * modules/frexp-tests: New file.
28372         * tests/test-frexp.c: New file.
28373
28374         * modules/frexp: New file.
28375         * lib/frexp.c: New file.
28376         * m4/frexp.m4: New file.
28377         * lib/math_.h (frexp): New declaration.
28378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
28379         REPLACE_FREXP.
28380         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
28381
28382 2007-03-21  Bruno Haible  <bruno@clisp.org>
28383
28384         * modules/isnanl-tests: New file.
28385         * tests/test-isnanl.c: New file.
28386
28387         * modules/isnanl: New file.
28388         * lib/isnanl.h: New file.
28389         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
28390         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
28391         gl_FUNC_ISNANL_WORKS.
28392         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
28393         New macros.
28394
28395 2007-03-21  Bruno Haible  <bruno@clisp.org>
28396
28397         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
28398         lib/isnanl.h.
28399         (Include): Update.
28400         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
28401         * lib/vasnprintf.c: Update.
28402         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
28403         tests/test-isnanl.h, remove tests/test-isnanl.c.
28404         (Makefile.am): Update.
28405         * tests/test-isnanl-nolibm.c: New file.
28406         * tests/test-isnanl.h: New file.
28407         * tests/test-isnanl.c: Remove file.
28408
28409 2007-03-21  Jim Meyering  <jim@meyering.net>
28410
28411         When trying to open ".", treat ESTALE like EACCES.
28412         * lib/savewd.c (savewd_save): Resort to forking not just upon
28413         failure with EACCES, but also when errno is ESTALE.
28414
28415 2007-03-20  Bruno Haible  <bruno@clisp.org>
28416
28417         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
28418         Needed on AIX 5.1. Reported by Matthew Woehlke.
28419
28420 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28421
28422         Suggestions by Bruno Haible:
28423         * lib/acl-internal.h: Include "gettext.h" rather than rolling
28424         our own.
28425         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
28426         * modules/acl (Depends-on): Add gettext.
28427
28428 2007-03-19  Bruno Haible  <bruno@clisp.org>
28429
28430         * modules/iconvme: Remove file.
28431         * lib/iconvme.h: Remove file.
28432         * lib/iconvme.c: Remove file.
28433         * m4/iconvme.m4: Remove file.
28434
28435 2007-03-19  Bruno Haible  <bruno@clisp.org>
28436
28437         * doc/relocatable-maint.texi: Break long shell script line.
28438         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
28439
28440 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28441
28442         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
28443         handle file_has_acl.
28444         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
28445         * lib/acl.c: Move header inclusions and related macro defns into
28446         lib/acl-internal.h.
28447         (S_ISLNK): Remove defn, since that's now done for us.
28448         (file_has_acl): Move to lib/file-has-acl.c.
28449         Call acl_trivial if available.  This is the crucial part of the fix.
28450         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
28451         shared within the library.  Rewrite a bit, partly to make it compatible
28452         with the GNU coding style.
28453         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
28454         Remove unnecessary double-quotes.
28455         Don't test for acl_to_text; the build will catch that.
28456         Replace acl_entries if it doesn't exist and it is needed.
28457         Check for -lsec and acl_trivial (as used on Solaris 10).
28458         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
28459         lib/file-has-acl.c.
28460         (Depends-on): Add sys_stat, for S_ISLNK.
28461
28462 2007-03-19  Ben Pfaff  <blp@gnu.org>
28463
28464         * doc/gnulib.texi: Fix typos.
28465         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
28466
28467 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
28468
28469         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
28470         If size is zero here, buf must be zero.
28471
28472 2007-03-19  Simon Josefsson  <simon@josefsson.org>
28473
28474         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
28475         <bruno@clisp.org>.
28476
28477 2007-03-18  Bruno Haible  <bruno@clisp.org>
28478
28479         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
28480         Suggested by Eric Blake.
28481
28482 2007-03-18  Ben Pfaff  <blp@gnu.org>
28483
28484         * doc/relocatable.texi: Recommend using as prefix a directory
28485         that does not exist and will never be created.  Based on
28486         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
28487         and others.
28488
28489 2007-03-17  Bruno Haible  <bruno@clisp.org>
28490
28491         * lib/fchownat.c: Include lchown.h.
28492
28493 2007-03-17  Bruno Haible  <bruno@clisp.org>
28494
28495         Fix endless loop when the given allocated size was > INT_MAX.
28496         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
28497         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
28498         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
28499         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
28500         * lib/sprintf.c (sprintf): Likewise.
28501
28502 2007-03-17  Bruno Haible  <bruno@clisp.org>
28503
28504         * tests/test-argp-2.sh (func_compare): Output a context diff.
28505
28506 2007-03-17  Bruno Haible  <bruno@clisp.org>
28507
28508         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
28509         locale's decimal-point character.
28510
28511 2007-03-17  Bruno Haible  <bruno@clisp.org>
28512
28513         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
28514         before comparing it. Needed because on some platforms (e.g. x86) a
28515         'long double' occupies less bytes than sizeof (long double).
28516
28517 2007-03-17  Bruno Haible  <bruno@clisp.org>
28518
28519         * tests/test-crc.c (main): Make printf statements 64-bit clean.
28520         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
28521         * tests/test-getaddrinfo.c (simple): Likewise.
28522         * tests/test-read-file.c (main): Likewise.
28523
28524 2007-03-17  Bruno Haible  <bruno@clisp.org>
28525
28526         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
28527
28528 2007-03-17  Bruno Haible  <bruno@clisp.org>
28529
28530         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
28531         unused variable.
28532
28533 2007-03-17  Bruno Haible  <bruno@clisp.org>
28534
28535         * tests/test-c-strcasecmp.c: Include c-strcase.h.
28536         * tests/test-c-strncasecmp.c: Likewise.
28537
28538 2007-03-17  Bruno Haible  <bruno@clisp.org>
28539
28540         * modules/stdlib (Depends-on): Add unistd.
28541         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
28542         Needed for MacOS X 10.3.
28543
28544 2007-03-17  Bruno Haible  <bruno@clisp.org>
28545
28546         * lib/unistr/u-strdup.h: Include <stdlib.h>.
28547
28548 2007-03-17  Bruno Haible  <bruno@clisp.org>
28549
28550         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
28551
28552 2007-03-17  Bruno Haible  <bruno@clisp.org>
28553
28554         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
28555         to reflect files copied from gnulib (with or without modifications).
28556         Suggested by Jim Meyering.
28557
28558 2007-03-17  Eric Blake  <ebb9@byu.net>
28559
28560         * NEWS: Document stdlib change from 2007-02-18.
28561
28562 2007-03-17  Jim Meyering  <jim@meyering.net>
28563
28564         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
28565         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
28566         someone uses a name containing shell meta-characters.
28567         Reported by Alfred M. Szmidt.
28568
28569         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
28570
28571 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
28572
28573         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
28574         and copy gettext configuration files only if configure.ac contains
28575         a use of AM_GNU_GETTEXT_VERSION.
28576
28577 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
28578
28579         * build-aux/bootstrap (gnulib_name): New variable.
28580         (gnulib_tool_options): Use it.
28581
28582 2007-03-13  Simon Josefsson  <simon@josefsson.org>
28583
28584         * tests/test-des.c: Use new namespace.
28585
28586 2007-03-15  Bruno Haible  <bruno@clisp.org>
28587
28588         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
28589         Reported by James Youngman <jay@gnu.org>.
28590
28591 2007-03-15  Bruno Haible  <bruno@clisp.org>
28592
28593         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
28594         declared prototype. Needed with cc on OSF/1 5.1.
28595
28596 2007-03-15  Bruno Haible  <bruno@clisp.org>
28597
28598         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
28599         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
28600         (struct gl_list_implementation): Add dispose_fn argument to the
28601         'create_empty', 'create' methods.
28602         (struct gl_list_impl_base): Add field 'dispose_fn'.
28603         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
28604         argument.
28605         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
28606         dispose_fn argument.
28607         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
28608         dispose_fn on the dropped values.
28609         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
28610         dispose_fn argument.
28611         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
28612         dropped values.
28613         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
28614         (gl_tree_remove_node): Call dispose_fn on the dropped value.
28615         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
28616         (gl_tree_remove_node): Call dispose_fn on the dropped value.
28617         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
28618         argument.
28619         (gl_tree_list_free): Call dispose_fn on the dropped values.
28620         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
28621         the dropped values.
28622         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
28623         Add dispose_fn argument.
28624         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
28625         Call dispose_fn on the dropped values.
28626         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
28627         Add dispose_fn argument.
28628         (gl_sublist_create): Initialize the 'dispose_fn' field.
28629         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
28630         * tests/test-array_list.c (main): Update.
28631         * tests/test-carray_list.c (main): Update.
28632         * tests/test-avltree_list.c (main): Update.
28633         * tests/test-rbtree_list.c (main): Update.
28634         * tests/test-avltreehash_list.c (main): Update.
28635         * tests/test-rbtreehash_list.c (main): Update.
28636         * tests/test-linked_list.c (main): Update.
28637         * tests/test-linkedhash_list.c (main): Update.
28638         * tests/test-array_oset.c (main): Update.
28639
28640 2007-03-15  Bruno Haible  <bruno@clisp.org>
28641
28642         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
28643         (gl_oset_create_empty): Add dispose_fn argument.
28644         (struct gl_oset_implementation): Add dispose_fn argument to
28645         'create_empty' method.
28646         (struct gl_oset_impl_base): Add dispose_fn field.
28647         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
28648         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
28649         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
28650         values.
28651         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
28652         (gl_tree_oset_free): Call dispose_fn on the dropped values.
28653         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
28654         dropped value.
28655         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
28656         dropped value.
28657         * tests/test-array_oset.c (main): Update.
28658         * tests/test-avltree_oset.c (main): Update.
28659         * tests/test-rbtree_oset.c (main): Update.
28660         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
28661
28662 2007-03-13  Bruno Haible  <bruno@clisp.org>
28663
28664         * tests/test-stdbool.c (i): Update after last patch.
28665
28666 2007-03-12  Bruno Haible  <bruno@clisp.org>
28667
28668         * lib/quotearg.c: Include <wctype.h> early, before the definition of
28669         the iswprint macro. Needed on Solaris 2.5.1.
28670
28671 2007-03-12  Bruno Haible  <bruno@clisp.org>
28672
28673         * tests/test-printf-frexp.c (main): Declare x as volatile.
28674
28675 2007-03-12  Simon Josefsson  <simon@josefsson.org>
28676
28677         * doc/gnulib.texi (Build robot for gnulib): New section.
28678
28679 2007-03-12  Jim Meyering  <jim@meyering.net>
28680
28681         * build-aux/bootstrap: New file.
28682         * build-aux/bootstrap.conf: New file, from coreutils.
28683
28684 2007-03-11  Bruno Haible  <bruno@clisp.org>
28685
28686         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
28687
28688 2007-03-12  Simon Josefsson  <simon@josefsson.org>
28689
28690         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
28691         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
28692         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
28693
28694 2007-03-11  Bruno Haible  <bruno@clisp.org>
28695
28696         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
28697         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
28698
28699 2007-03-11  Bruno Haible  <bruno@clisp.org>
28700
28701         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
28702         formula. Needed for SunPRO C 5.0.
28703
28704 2007-03-11  Bruno Haible  <bruno@clisp.org>
28705
28706         * modules/long-options (Depends-on): Add getopt.
28707
28708 2007-03-11  Bruno Haible  <bruno@clisp.org>
28709
28710         * modules/modechange (Depends-on): Add stdbool.
28711
28712 2007-03-11  Bruno Haible  <bruno@clisp.org>
28713
28714         * modules/i-ring (Depends-on): Add stdbool.
28715
28716 2007-03-11  Bruno Haible  <bruno@clisp.org>
28717
28718         * modules/gc-des (Depends-on): Add stdbool.
28719
28720 2007-03-11  Bruno Haible  <bruno@clisp.org>
28721
28722         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
28723
28724 2007-03-11  Bruno Haible  <bruno@clisp.org>
28725
28726         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
28727
28728 2007-03-11  Bruno Haible  <bruno@clisp.org>
28729
28730         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
28731
28732 2007-03-11  Bruno Haible  <bruno@clisp.org>
28733
28734         * lib/vasnprintf.c (sprintf): Undefine.
28735
28736 2007-03-11  Bruno Haible  <bruno@clisp.org>
28737
28738         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
28739         initializers in SunPRO C and Compaq C compilers.
28740
28741 2007-03-11  Bruno Haible  <bruno@clisp.org>
28742
28743         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
28744         decrementing code ANSI C compliant.
28745
28746 2007-03-11  Bruno Haible  <bruno@clisp.org>
28747
28748         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
28749         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
28750
28751 2007-03-11  Bruno Haible  <bruno@clisp.org>
28752
28753         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
28754         <stdbool.h> substitute doesn't pass.
28755
28756 2007-03-11  Bruno Haible  <bruno@clisp.org>
28757
28758         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
28759
28760 2007-03-11  Bruno Haible  <bruno@clisp.org>
28761
28762         * gnulib-tool (func_create_megatestdir): Create also an autobuild
28763         script, for submission to autobuild.josefsson.org.
28764
28765 2007-03-10  Bruno Haible  <bruno@clisp.org>
28766
28767         * modules/canonicalize-lgpl-tests: New file.
28768         * tests/test-canonicalize-lgpl.sh: New file.
28769         * tests/test-canonicalize-lgpl.c: New file.
28770
28771         * modules/c-strcase-tests: New file.
28772         * tests/test-c-strcase.sh: New file.
28773         * tests/test-c-strcasecmp.c: New file.
28774         * tests/test-c-strncasecmp.c: New file.
28775
28776         * modules/atexit-tests: New file.
28777         * tests/test-atexit.sh: New file.
28778         * tests/test-atexit.c: New file.
28779
28780 2007-03-10  Bruno Haible  <bruno@clisp.org>
28781
28782         * tests/test-binary-io.sh: Use temporary filenames that are not so
28783         likely to clash with those of other tests (in a parallel make).
28784         * tests/test-binary-io.c: Likewise.
28785
28786 2007-03-10  Bruno Haible  <bruno@clisp.org>
28787
28788         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
28789         fallback; use #error instead.
28790         Suggested by Simon Josefsson.
28791
28792 2007-03-10  Bruno Haible  <bruno@clisp.org>
28793
28794         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
28795         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
28796         first and the last.
28797
28798 2007-03-10  Bruno Haible  <bruno@clisp.org>
28799
28800         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
28801
28802 2007-03-10  Bruno Haible  <bruno@clisp.org>
28803
28804         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
28805         "make distcheck".
28806         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
28807         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
28808         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
28809
28810 2007-03-10  Bruno Haible  <bruno@clisp.org>
28811
28812         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
28813         variable.
28814         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
28815         variable.
28816
28817 2007-03-09  Eric Blake  <ebb9@byu.net>
28818         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
28819
28820         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
28821         types are not being provided by gnulib.
28822         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
28823         types are supported.
28824
28825 2007-03-10  Bruno Haible  <bruno@clisp.org>
28826
28827         * lib/stdio_.h (__attribute__): New macro.
28828         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
28829         vsprintf): Specify __attribute__ __format__ for GCC.
28830         Suggested by Eric Blake.
28831
28832 2007-03-09  Bruno Haible  <bruno@clisp.org>
28833
28834         * modules/printf-posix-tests: New file.
28835         * tests/test-printf-posix.sh: New file.
28836         * tests/test-printf-posix.c: New file.
28837
28838         * modules/printf-posix: New file.
28839         * lib/printf.c: New file.
28840         * m4/printf-posix-rpl.m4: New file.
28841         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
28842         REPLACE_PRINTF.
28843         * lib/stdio_.h (printf): New declaration.
28844         (format, __format__, ____printf____, ____scanf____, ____strftime____,
28845         ____strfmon____): New macros.
28846         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
28847         REPLACE_PRINTF.
28848
28849 2007-03-09  Bruno Haible  <bruno@clisp.org>
28850
28851         * tests/test-vasnprintf-posix2.sh: New file.
28852         * tests/test-vasnprintf-posix2.c: New file.
28853         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
28854         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
28855         (Makefile.am): Activate test-vasnprintf-posix2.sh.
28856
28857         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
28858         a locale dependent decimal point, rather than always '.'.
28859
28860 2007-03-09  Eric Blake  <ebb9@byu.net>
28861
28862         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
28863         spite of platforms like Tandem/NSK that define it to -1.
28864
28865 2007-03-08  Bruno Haible  <bruno@clisp.org>
28866
28867         * modules/vprintf-posix-tests: New file.
28868         * tests/test-vprintf-posix.sh: New file.
28869         * tests/test-vprintf-posix.c: New file.
28870         * tests/test-printf-posix.h: New file.
28871
28872         * modules/vprintf-posix: New file.
28873         * lib/vprintf.c: New file.
28874         * m4/vprintf-posix.m4: New file.
28875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
28876         REPLACE_VPRINTF.
28877         * lib/stdio_.h (vprintf): New declaration.
28878         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
28879         REPLACE_VPRINTF.
28880
28881 2007-03-08  Bruno Haible  <bruno@clisp.org>
28882
28883         * modules/fprintf-posix-tests: New file.
28884         * tests/test-fprintf-posix.sh: New file.
28885         * tests/test-fprintf-posix.c: New file.
28886
28887         * modules/fprintf-posix: New file.
28888         * lib/fprintf.c: New file.
28889         * m4/fprintf-posix.m4: New file.
28890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
28891         REPLACE_FPRINTF.
28892         * lib/stdio_.h (fprintf): New declaration.
28893         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
28894         REPLACE_FPRINTF.
28895
28896 2007-03-08  Bruno Haible  <bruno@clisp.org>
28897
28898         * modules/vfprintf-posix-tests: New file.
28899         * tests/test-vfprintf-posix.sh: New file.
28900         * tests/test-vfprintf-posix.c: New file.
28901         * tests/test-fprintf-posix.h: New file.
28902         * tests/test-fprintf-posix.out: New file.
28903
28904         * modules/vfprintf-posix: New file.
28905         * lib/vfprintf.c: New file.
28906         * m4/vfprintf-posix.m4: New file.
28907         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
28908         REPLACE_VFPRINTF.
28909         * lib/stdio_.h (vfprintf): New declaration.
28910         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
28911         REPLACE_VFPRINTF.
28912
28913 2007-03-08  Bruno Haible  <bruno@clisp.org>
28914
28915         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
28916
28917 2007-03-08  Bruno Haible  <bruno@clisp.org>
28918
28919         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
28920         instead of 'expr' invocations.
28921         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28922         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28923         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28924         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28925         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28926         Suggested by Paul Eggert.
28927
28928 2007-03-08  Bruno Haible  <bruno@clisp.org>
28929
28930         * modules/fseterr-tests: New file.
28931         * tests/test-fseterr.c: New file.
28932
28933         * modules/fseterr: New file.
28934         * lib/fseterr.h: New file.
28935         * lib/fseterr.c: New file.
28936
28937 2007-03-08  Bruno Haible  <bruno@clisp.org>
28938
28939         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
28940         * lib/getopt_.h: Likewise.
28941         * lib/mbswidth.h: Likewise.
28942         * lib/setenv.h: Likewise.
28943         * lib/vasnprintf.h: Likewise.
28944         * lib/vasprintf.h: Likewise.
28945         * lib/verror.h: Likewise.
28946         * lib/xsetenv.h: Likewise.
28947         * lib/xvasprintf.h: Likewise.
28948
28949 2007-03-08  Jim Meyering  <jim@meyering.net>
28950
28951         * users.txt: Add parted.
28952
28953         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
28954
28955 2007-03-07  Bruno Haible  <bruno@clisp.org>
28956
28957         * m4/printf.m4: Make the shell script snippets copy&pastable.
28958
28959 2007-03-02  Bruno Haible  <bruno@clisp.org>
28960
28961         * lib/netinet_in_.h: New file.
28962         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
28963         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
28964         * modules/netinet_in (Files): Add lib/netinet_in_.h.
28965         (Depends-on): Add absolute-header.
28966         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
28967         into netinet/in.h.
28968
28969 2007-03-03  Bruno Haible  <bruno@clisp.org>
28970
28971         * lib/sys_select_.h: New file.
28972         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
28973         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
28974         * modules/sys_select (Files): Add lib/sys_select_.h.
28975         (Depends-on): Add absolute-header.
28976         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
28977         into sys/select.h.
28978
28979 2007-03-02  Bruno Haible  <bruno@clisp.org>
28980
28981         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
28982         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
28983         values.
28984         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
28985         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
28986         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
28987         * modules/sys_socket (Depends-on): Add absolute-header.
28988         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
28989         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
28990         (Include): Remove requirement of inclusion of <sys/types.h>.
28991
28992 2007-03-02  Bruno Haible  <bruno@clisp.org>
28993
28994         * lib/byteswap_.h (bswap_32): Fix formula.
28995
28996 2007-03-06  Bruno Haible  <bruno@clisp.org>
28997
28998         * modules/sprintf-posix-tests: New file.
28999         * tests/test-sprintf-posix.c: New file.
29000
29001         * modules/sprintf-posix: New file.
29002         * lib/sprintf.c: New file.
29003         * m4/sprintf-posix.m4: New file.
29004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
29005         REPLACE_SPRINTF.
29006         * lib/stdio_.h (sprintf): New declaration.
29007         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
29008         REPLACE_SPRINTF.
29009
29010 2007-03-06  Bruno Haible  <bruno@clisp.org>
29011
29012         * modules/vsprintf-posix-tests: New file.
29013         * tests/test-vsprintf-posix.c: New file.
29014         * tests/test-sprintf-posix.h: New file.
29015
29016         * modules/vsprintf-posix: New file.
29017         * lib/vsprintf.c: New file.
29018         * m4/vsprintf-posix.m4: New file.
29019         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
29020         REPLACE_VSPRINTF.
29021         * lib/stdio_.h (vsprintf): New declaration.
29022         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
29023         REPLACE_VSPRINTF.
29024
29025 2007-03-06  Bruno Haible  <bruno@clisp.org>
29026
29027         * modules/vsnprintf (Depend-on): Remove minmax.
29028
29029 2007-03-06  Bruno Haible  <bruno@clisp.org>
29030
29031         * modules/snprintf-posix-tests: New file.
29032         * tests/test-snprintf-posix.c: New file.
29033
29034         * modules/snprintf-posix: New file.
29035         * m4/snprintf-posix.m4: New file.
29036         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
29037         gl_FUNC_SNPRINTF.
29038         (gl_FUNC_SNPRINTF): Invoke it.
29039         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
29040         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
29041         is set.
29042         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
29043
29044 2007-03-06  Bruno Haible  <bruno@clisp.org>
29045
29046         * modules/vsnprintf-posix-tests: New file.
29047         * tests/test-vsnprintf-posix.c: New file.
29048         * tests/test-snprintf-posix.h: New file.
29049
29050         * modules/vsnprintf-posix: New file.
29051         * m4/vsnprintf-posix.m4: New file.
29052         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
29053         gl_FUNC_VSNPRINTF.
29054         (gl_FUNC_VSNPRINTF): Invoke it.
29055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
29056         * lib/stdio_.h (vsnprintf): Define as a replacement if
29057         REPLACE_VSNPRINTF is set.
29058         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
29059
29060 2007-03-06  Bruno Haible  <bruno@clisp.org>
29061
29062         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
29063         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
29064
29065 2007-03-06  Bruno Haible  <bruno@clisp.org>
29066
29067         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
29068         (asinl): Declare also if HAVE_DECL_ASINL is set.
29069         (atanl): Declare also if HAVE_DECL_ATANL is set.
29070         (ceill): Declare also if HAVE_DECL_CEILL is set.
29071         (cosl): Declare also if HAVE_DECL_COSL is set.
29072         (expl): Declare also if HAVE_DECL_EXPL is set.
29073         (floorl): Declare also if HAVE_DECL_FLOORL is set.
29074         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
29075         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
29076         (logl): Declare also if HAVE_DECL_LOGL is set.
29077         (sinl): Declare also if HAVE_DECL_SINL is set.
29078         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
29079         (tanl): Declare also if HAVE_DECL_TANL is set.
29080         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
29081         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
29082         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
29083         declaration of frexpl, ldexpl.
29084         * modules/printf-frexpl (Depends-on): Add math.
29085         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
29086
29087 2007-03-05  Bruno Haible  <bruno@clisp.org>
29088
29089         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
29090         frexpl and ldexpl are declared.
29091         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
29092
29093 2007-03-05  Bruno Haible  <bruno@clisp.org>
29094
29095         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
29096         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
29097
29098 2007-03-05  Bruno Haible  <bruno@clisp.org>
29099
29100         * lib/stdio_.h: Include <stddef.h>.
29101
29102 2007-03-05  Bruno Haible  <bruno@clisp.org>
29103
29104         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
29105
29106 2007-03-05  Bruno Haible  <bruno@clisp.org>
29107
29108         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
29109         NetBSD 4, from Ralf Wildenhues.
29110
29111 2007-03-04  Bruno Haible  <bruno@clisp.org>
29112
29113         * lib/vasprintf.h: Update #if logic for the case when the functions
29114         exist but are overridden.
29115
29116 2007-03-04  Bruno Haible  <bruno@clisp.org>
29117
29118         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
29119         implementations: glibc-2.4 and MacOS X 10.3.
29120         * tests/test-vasnprintf-posix.c (test_function): Test also the case
29121         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
29122         * tests/test-vasprintf-posix.c (test_function): Likewise.
29123
29124 2007-03-04  Bruno Haible  <bruno@clisp.org>
29125
29126         * modules/vasprintf-posix-tests: New file.
29127         * tests/test-vasprintf-posix.c: New file.
29128
29129         * modules/vasprintf-posix: New file.
29130         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
29131         defined.
29132         * m4/vasprintf-posix.m4: New file.
29133         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
29134         gl_FUNC_VASPRINTF.
29135         (gl_FUNC_VASPRINTF): Invoke it.
29136         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
29137         here.
29138         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
29139
29140 2007-03-04  Bruno Haible  <bruno@clisp.org>
29141
29142         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
29143         REPLACE_GETTIMEOFDAY.
29144         * modules/sys_time (Makefile.am): Likewise.
29145         * m4/sys_time_h.m4: Likewise.
29146         * m4/gettimeofday.m4: Likewise.
29147
29148 2007-03-04  Bruno Haible  <bruno@clisp.org>
29149
29150         * modules/vasnprintf-posix-tests: New file.
29151         * tests/test-vasnprintf-posix.c: New file.
29152
29153         * modules/vasnprintf-posix: New file.
29154         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
29155         printf-frexpl.h.
29156         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
29157         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
29158         REPLACE_VASNPRINTF is defined.
29159         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
29160         gl_FUNC_VASNPRINTF.
29161         (gl_FUNC_VASNPRINTF): Invoke it.
29162         * m4/vasnprintf-posix.m4: New file.
29163         * m4/printf.m4: New file.
29164
29165 2007-03-04  Bruno Haible  <bruno@clisp.org>
29166
29167         Compile progreloc.c only if --enable-relocatable is specified.
29168         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
29169         if --enable-relocatable was specified.
29170         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
29171         lib_SOURCES.
29172
29173 2007-03-04  Jim Meyering  <jim@meyering.net>
29174
29175         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
29176         Use it consistently, rather than enumerating errno constants.
29177
29178 2007-03-04  Bruno Haible  <bruno@clisp.org>
29179
29180         * modules/xvasprintf-tests: New file.
29181         * tests/test-xvasprintf.c: New file.
29182
29183         * modules/vasprintf-tests: New file.
29184         * tests/test-vasprintf.c: New file.
29185
29186         * modules/vasnprintf-tests: New file.
29187         * tests/test-vasnprintf.c: New file.
29188
29189         * modules/vsnprintf-tests: New file.
29190         * tests/test-vsnprintf.c: New file.
29191
29192         * modules/snprintf-tests: New file.
29193         * tests/test-snprintf.c: New file.
29194
29195 2007-03-04  Bruno Haible  <bruno@clisp.org>
29196
29197         Compile relocatable.c only if --enable-relocatable is specified.
29198         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
29199         gl_RELOCATABLE_LIBRARY.
29200         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
29201         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
29202         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
29203         gl_RELOCATABLE_LIBRARY.
29204         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
29205         (Makefile.am): Remove lib_SOURCES.
29206         * modules/relocatable-lib-lgpl (configure.ac): Invoke
29207         gl_RELOCATABLE_LIBRARY.
29208         (Makefile.am): Remove lib_SOURCES.
29209         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
29210         always.
29211         * modules/relocatable-prog-wrapper (configure.ac): Invoke
29212         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
29213
29214 2007-03-04  Bruno Haible  <bruno@clisp.org>
29215
29216         * modules/argmatch-tests: New file.
29217         * tests/test-argmatch.c: New file.
29218
29219         * tests/test-allocsa.c (main): Halve the number of loop runs.
29220
29221         * modules/alloca-opt-tests: New file.
29222         * tests/test-alloca-opt.c: New file.
29223
29224 2007-03-04  Jim Meyering  <jim@meyering.net>
29225
29226         Work around difference between Linux ACLs and Solaris 10 ZFS.
29227         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
29228         for EINVAL.
29229
29230 2007-03-03  Bruno Haible  <bruno@clisp.org>
29231
29232         * modules/relocatable-prog (Depends-on): Add back progreloc's
29233         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
29234
29235 2007-03-03  Bruno Haible  <bruno@clisp.org>
29236
29237         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
29238         * modules/relocatable-lib: New file.
29239
29240 2007-03-03  Bruno Haible  <bruno@clisp.org>
29241
29242         * modules/relocatable-prog: Renamed from modules/relocatable.
29243         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
29244
29245 2007-03-03  Bruno Haible  <bruno@clisp.org>
29246
29247         * modules/relocatable-script (Files): Add doc/relocatable.texi,
29248         m4/relocatable-lib.m4.
29249         (Depends-on): Remove 'relocatable'.
29250         (configure.ac): Add gl_RELOCATABLE_NOP.
29251
29252 2007-03-03  Bruno Haible  <bruno@clisp.org>
29253
29254         * modules/relocatable-prog-wrapper: New file.
29255         * modules/relocatable (Depends-on): Add it. Remove all other
29256         dependencies except progname.
29257         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
29258
29259         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
29260         (gl_FUNC_STRERROR): Nop.
29261         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
29262
29263         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
29264         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
29265
29266         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
29267         (gl_FUNC_READLINK): Update.
29268
29269         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
29270
29271 2007-03-03  Bruno Haible  <bruno@clisp.org>
29272
29273         * lib/xreadlink.c: Include <unistd.h> unconditionally.
29274         * modules/xreadlink (Depends-on): Add unistd.
29275         * modules/xreadlink-with-size (Depends-on): Likewise.
29276
29277 2007-03-03  Bruno Haible  <bruno@clisp.org>
29278
29279         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
29280         extracted from gt_FUNC_SETENV.
29281         (gt_FUNC_SETENV): Remove macro.
29282         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
29283         remove gt_FUNC_SETENV.
29284
29285 2007-03-03  Bruno Haible  <bruno@clisp.org>
29286
29287         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
29288         ENABLE_RELOCATABLE here.
29289         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
29290
29291 2007-03-03  Bruno Haible  <bruno@clisp.org>
29292
29293         * modules/rbtreehash-list-tests (Depends-on): Add progname.
29294         * tests/test-rbtreehash_list.c: Include progname.h.
29295         (main): Call set_program_name.
29296
29297         * modules/rbtree-oset-tests (Depends-on): Add progname.
29298         * tests/test-rbtree_oset.c: Include progname.h.
29299         (main): Call set_program_name.
29300
29301         * modules/rbtree-list-tests (Depends-on): Add progname.
29302         * tests/test-rbtree_list.c: Include progname.h.
29303         (main): Call set_program_name.
29304
29305         * modules/linked-list-tests (Depends-on): Add progname.
29306         * tests/test-linked_list.c: Include progname.h.
29307         (main): Call set_program_name.
29308
29309 2007-03-03  Bruno Haible  <bruno@clisp.org>
29310
29311         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
29312         All uses of __restrict changed to _Restrict_.
29313         * lib/glob_.h (__restrict): Remove macro.
29314
29315 2007-03-02  Bruno Haible  <bruno@clisp.org>
29316
29317         * modules/gettext (configure.ac): Require gettext infrastructure
29318         from version 0.16.1.
29319
29320 2007-03-02  Bruno Haible  <bruno@clisp.org>
29321
29322         * modules/linkedhash-list-tests (Depends-on): Add progname.
29323         * tests/test-linkedhash_list.c: Include progname.h.
29324         (main): Call set_program_name.
29325
29326         * modules/carray-list-tests (Depends-on): Add progname.
29327         * tests/test-carray_list.c: Include progname.h.
29328         (main): Call set_program_name.
29329
29330         * modules/avltreehash-list-tests (Depends-on): Add progname.
29331         * tests/test-avltreehash_list.c: Include progname.h.
29332         (main): Call set_program_name.
29333
29334         * modules/avltree-oset-tests (Depends-on): Add progname.
29335         * tests/test-avltree_oset.c: Include progname.h.
29336         (main): Call set_program_name.
29337
29338         * modules/avltree-list-tests (Depends-on): Add progname.
29339         * tests/test-avltree_list.c: Include progname.h.
29340         (main): Call set_program_name.
29341
29342         * modules/array-oset-tests (Depends-on): Add progname.
29343         * tests/test-array_oset.c: Include progname.h.
29344         (main): Call set_program_name.
29345
29346         * modules/array-list-tests (Depends-on): Add progname.
29347         * tests/test-array_list.c: Include progname.h.
29348         (main): Call set_program_name.
29349
29350         * modules/argp-tests (Depends-on): Add progname.
29351         * tests/test-argp.c: Include argp.h first. Include progname.h.
29352         (main): Call set_program_name.
29353
29354 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
29355
29356         * doc/gnulib-tool.texi (Initial import): Reword description of
29357         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
29358         limited effect even if defined after the first system include.
29359
29360 2007-03-01  Bruno Haible  <bruno@clisp.org>
29361
29362         * build-aux/config.libpath: Update to libtool-1.5.22.
29363         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29364
29365 2007-03-01  Bruno Haible  <bruno@clisp.org>
29366
29367         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
29368         foo_CFLAGS.
29369         Reported by Ralf Wildenhues.
29370
29371 2007-03-01  Bruno Haible  <bruno@clisp.org>
29372
29373         * build-aux/install-reloc: Remove object files left over by some
29374         compilers.
29375         Reported by Ralf Wildenhues.
29376
29377 2007-03-01  Bruno Haible  <bruno@clisp.org>
29378
29379         * build-aux/install-reloc: Break long lines.
29380
29381 2007-03-01  Bruno Haible  <bruno@clisp.org>
29382
29383         * doc/relocatable.texi: Document that it may not work on OpenBSD.
29384         Reported by Ralf Wildenhues.
29385
29386 2007-03-01  Bruno Haible  <bruno@clisp.org>
29387
29388         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
29389         include ordering constraints.
29390
29391 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
29392
29393         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
29394         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
29395         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
29396         as another example.
29397         * lib/time_.h: Fix misspelling.
29398         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
29399         Require gl_HEADER_TIME_H_DEFAULTS.
29400         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
29401         * m4/time_r.m4 (gl_TIME_R): Likewise.
29402         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
29403
29404 2007-03-01  Bruno Haible  <bruno@clisp.org>
29405
29406         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
29407         * m4/utimens.m4 (gl_UTIMENS): Likewise.
29408
29409 2007-03-01  Jim Meyering  <jim@meyering.net>
29410
29411         * modules/xreadlink (Maintainer): Add my name.
29412         * modules/xreadlink-with-size (Depends-on): Alphabetize.
29413
29414 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
29415             Bruno Haible  <bruno@clisp.org>
29416
29417         * build-aux/install-reloc: Compile also c-ctype.c.
29418         * build-aux/relocatable.sh.in: New file.
29419         * doc/relocatable.texi: New file.
29420         * doc/relocatable-maint.texi: New file.
29421         * doc/gnulib.texi: Include relocatable-maint.texi.
29422         * lib/progreloc.c: Include unistd.h unconditionally.
29423         * lib/relocwrapper.c: Include unistd.h unconditionally.
29424         Include c-ctype.h.
29425         (add_dotbin): Use c_tolower.
29426         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
29427         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
29428         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
29429         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
29430         to m4/relocatable-lib.m4.
29431         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
29432         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
29433         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
29434         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
29435         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
29436         * modules/relocatable: New file.
29437         * modules/relocatable-lib: New file.
29438         * modules/relocatable-script: New file.
29439
29440 2007-02-28  Bruno Haible  <bruno@clisp.org>
29441
29442         Import --enable-relocatable infrastructure.
29443         * build-aux/config.libpath: New file, from GNU gettext.
29444         * build-aux/install-reloc: New file, from GNU gettext.
29445         * build-aux/reloc-ldflags: New file, from GNU gettext.
29446         * lib/relocatable.h: New file, from GNU gettext.
29447         * lib/relocatable.c: New file, from GNU gettext.
29448         * lib/relocwrapper.c: New file, from GNU gettext.
29449         * m4/relocatable.m4: New file, from GNU gettext.
29450
29451 2007-02-28  Bruno Haible  <bruno@clisp.org>
29452
29453         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
29454
29455         * modules/xreadlink: New file, from GNU gettext with modifications.
29456         * lib/xreadlink.c: New file, from GNU gettext.
29457         * lib/xreadlink.h: Add comments.
29458         (xreadlink): New declaration.
29459
29460         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
29461         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
29462         lib/xreadlink-with-size.c.
29463         (configure.ac): Remove gl_XREADLINK invocation.
29464         (Makefile.am): Augment lib_SOURCES.
29465         * m4/xreadlink.m4: Remove file.
29466         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
29467         (xreadlink_with_size): Renamed from xreadink.
29468         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
29469         * modules/canonicalize (Depends-on): Replace xreadlink with
29470         xreadlink-with-size.
29471         * lib/canonicalize.c (canonicalize_filename_mode): Update.
29472
29473 2007-02-25  Jim Meyering  <jim@meyering.net>
29474
29475         * build-aux/announce-gen: When complaining about excess arguments,
29476         list them.
29477
29478 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
29479
29480         * README: Document signed integer overflow situation more
29481         accurately.
29482
29483 2007-02-25  Bruno Haible  <bruno@clisp.org>
29484
29485         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
29486         'a' or 'A' conversion.
29487
29488 2007-02-25  Bruno Haible  <bruno@clisp.org>
29489
29490         * modules/filename: Renamed from modules/pathname.
29491         (Files): Replace lib/pathname.h with lib/filename.h. Replace
29492         lib/concatpath.c with lib/concat-filename.c.
29493         (Makefile.am): Update.
29494         (Include): Replace pathname.h with filename.h.
29495         * lib/filename.h: Renamed from lib/pathname.h.
29496         (concatenated_filename): Renamed from concatenated_pathname.
29497         * lib/concat-filename.c: Renamed from lib/concatpath.c.
29498         (concatenated_filename): Renamed from concatenated_pathname.
29499         * lib/findprog.c: Include filename.h instead of pathname.h.
29500         (find_in_path): Update.
29501         * lib/javacomp.c: Include filename.h instead of pathname.h.
29502         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
29503         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
29504         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
29505         is_oldgcj_14_13_usable, is_javac_usable): Update.
29506         * lib/javaexec.c: Include filename.h instead of pathname.h.
29507         (execute_java_class): Update.
29508         * modules/findprog: Update.
29509         * modules/javacomp: Update.
29510         * modules/javaexec: Update.
29511         * MODULES.html.sh (File system functions): Add 'filename', remove
29512         'pathname'.
29513
29514 2007-02-25  Bruno Haible  <bruno@clisp.org>
29515
29516         * modules/printf-frexpl-tests: New file.
29517         * tests/test-printf-frexpl.c: New file.
29518
29519         * modules/printf-frexpl: New file.
29520         * lib/printf-frexpl.h: New file.
29521         * lib/printf-frexpl.c: New file.
29522         * m4/printf-frexpl.m4: New file.
29523
29524 2007-02-25  Bruno Haible  <bruno@clisp.org>
29525
29526         * modules/printf-frexp-tests: New file.
29527         * tests/test-printf-frexp.c: New file.
29528
29529         * modules/printf-frexp: New file.
29530         * lib/printf-frexp.h: New file.
29531         * lib/printf-frexp.c: New file.
29532         * m4/printf-frexp.m4: New file.
29533
29534 2007-02-25  Bruno Haible  <bruno@clisp.org>
29535
29536         Assume automake >= 1.10 for the tests.
29537         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
29538         * modules/arctwo-tests: Likewise.
29539         * modules/argp-tests: Likewise.
29540         * modules/avltree-list-tests: Likewise.
29541         * modules/avltree-oset-tests: Likewise.
29542         * modules/avltreehash-list-tests: Likewise.
29543         * modules/carray-list-tests: Likewise.
29544         * modules/crc-tests: Likewise.
29545         * modules/des-tests: Likewise.
29546         * modules/gc-arcfour-tests: Likewise.
29547         * modules/gc-arctwo-tests: Likewise.
29548         * modules/gc-des-tests: Likewise.
29549         * modules/gc-hmac-md5-tests: Likewise.
29550         * modules/gc-hmac-sha1-tests: Likewise.
29551         * modules/gc-md2-tests: Likewise.
29552         * modules/gc-md4-tests: Likewise.
29553         * modules/gc-md5-tests: Likewise.
29554         * modules/gc-pbkdf2-sha1-tests: Likewise.
29555         * modules/gc-rijndael-tests: Likewise.
29556         * modules/gc-sha1-tests: Likewise.
29557         * modules/gc-tests: Likewise.
29558         * modules/getaddrinfo-tests: Likewise.
29559         * modules/hmac-md5-tests: Likewise.
29560         * modules/hmac-sha1-tests: Likewise.
29561         * modules/linked-list-tests: Likewise.
29562         * modules/linkedhash-list-tests: Likewise.
29563         * modules/lock-tests: Likewise.
29564         * modules/md2-tests: Likewise.
29565         * modules/md4-tests: Likewise.
29566         * modules/md5-tests: Likewise.
29567         * modules/rbtree-list-tests: Likewise.
29568         * modules/rbtree-oset-tests: Likewise.
29569         * modules/rbtreehash-list-tests: Likewise.
29570         * modules/read-file-tests: Likewise.
29571         * modules/rijndael-tests: Likewise.
29572         * modules/stdint-tests: Likewise.
29573         * modules/tls-tests: Likewise.
29574
29575 2007-02-24  Bruno Haible  <bruno@clisp.org>
29576
29577         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
29578         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
29579         function; instead check whether isnan with a double argument links.
29580         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
29581         function; instead check whether isnan with a 'long double' argument
29582         links.
29583         Reported by Eric Blake <ebb9@byu.net>.
29584
29585 2007-02-24  Bruno Haible  <bruno@clisp.org>
29586
29587         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
29588         defined.
29589         * lib/isnanl.c: Remove all code. Just include isnan.c.
29590         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
29591
29592 2007-02-25  Jim Meyering  <jim@meyering.net>
29593
29594         Avoid conflicting types for 'unsetenv' on FreeBSD.
29595         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
29596         conflicting with FreeBSD's (5.0 and 6.1) function declaration
29597         in stdlib.h.
29598
29599 2007-02-24  Bruno Haible  <bruno@clisp.org>
29600
29601         * modules/isnanl-nolibm-tests: New file.
29602         * tests/test-isnanl.c: New file.
29603
29604         * modules/isnanl-nolibm: New file.
29605         * lib/isnanl.h: New file.
29606         * lib/isnanl.c: New file.
29607         * m4/isnanl.m4: New file.
29608
29609 2007-02-24  Bruno Haible  <bruno@clisp.org>
29610
29611         * modules/isnan-nolibm-tests: New file.
29612         * tests/test-isnan.c: New file.
29613
29614         * modules/isnan-nolibm: New file.
29615         * lib/isnan.h: New file.
29616         * lib/isnan.c: New file.
29617         * m4/isnan.m4: New file.
29618
29619 2007-02-24  Bruno Haible  <bruno@clisp.org>
29620
29621         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
29622         assume that an exponent fits in 20 bits.
29623
29624 2007-02-24  Jim Meyering  <jim@meyering.net>
29625
29626         * m4/regex.m4: Update the description of the configure-time option,
29627         --without-included-regex, to state accurately what the defaults are,
29628         and perhaps to give people an idea why using this option is risky.
29629
29630 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
29631
29632         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
29633         loops on small arguments.  This attempts to avoid the problem
29634         Bruno Haible reported for AIX 4.3.2 in
29635         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
29636
29637 2007-02-23  Bruno Haible  <bruno@clisp.org>
29638
29639         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
29640         Needed for help2man.
29641
29642 2007-02-23  Karl Berry  <karl@gnu.org>
29643
29644         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
29645         exists, foo.h should be cvs-ignored, not committed.
29646
29647 2007-02-23  Eric Blake  <ebb9@byu.net>
29648
29649         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
29650         * lib/stat-time.h (includes): Likewise.
29651         * lib/utimecmp.c (includes): Likewise.
29652         * lib/utimens.h (includes): Likewise.
29653         * lib/getdate.y (includes): Also include "timespec.h" for use
29654         internal to the module.
29655         * modules/utimens (Depends-on): Revert yesterday's patch.
29656         * modules/nanosleep (Depends-on): Add missing dependency.
29657
29658 2007-02-22  Bruno Haible  <bruno@clisp.org>
29659
29660         * lib/glob.c: Don't include getlogin_r.h.
29661
29662 2007-02-22  Jim Meyering  <jim@meyering.net>
29663
29664         * modules/utimens (Depends-on): Add timespec, required for
29665         utimens.h's inclusion of timespec.h.
29666
29667 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
29668
29669         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
29670         long unreadable paths in GNU/Linux.  Problem reported by Andreas
29671         Schwab in
29672         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
29673         I'll try to think of a better way to fix the Solaris problem.
29674
29675         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
29676         like glibc; on Solaris 10, it fails with errno == EINVAL.
29677         POSIX says the behavior is unspecified if the first argument is NULL,
29678         so play it safe and never pass NULL to the system getcwd.
29679
29680 2007-02-21  Jim Meyering  <jim@meyering.net>
29681
29682         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
29683         of gettimeofday.  It would conflict with the one now always
29684         provided via sys_time_.h.  Reported by Matthew Woehlke, as
29685         an IRIX 6.5 build failure.
29686
29687 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
29688
29689         Minor fixups to port to Solaris 10 with Sun C 5.8.
29690         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
29691         * modules/getcwd (Depends-on): Add dirfd.
29692         * lib/putenv.c (putenv): #undef it.
29693         (rpl_putenv): New decl.
29694         (malloc, free): Include <stdlib.h> rather than prototyping separately.
29695
29696 2007-02-20  Bruno Haible  <bruno@clisp.org>
29697
29698         * modules/stdio-tests: New file.
29699         * tests/test-stdio.c: New file.
29700
29701         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
29702         (Depends-on): Add stdio.
29703         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29704         (Include): Use <stdio.h> instead of vsnprintf.h.
29705         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
29706         HAVE_DECL_VSNPRINTF.
29707         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
29708
29709         * modules/snprintf (Files): Remove lib/snprintf.h.
29710         (Depends-on): Add stdio.
29711         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29712         (Include): Use <stdio.h> instead of snprintf.h.
29713         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
29714         HAVE_DECL_SNPRINTF.
29715         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
29716         * lib/getaddrinfo.c: Likewise.
29717
29718         * modules/stdio: New file.
29719         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
29720         * lib/snprintf.h: Remove file.
29721         * lib/vsnprintf.h: Remove file.
29722         * lib/.cppi-disable: Remove snprintf.h.
29723         * m4/stdio_h.m4: New file.
29724         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
29725
29726 2007-02-20  Jim Meyering  <jim@meyering.net>
29727
29728         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
29729         used by e.g., mingw.  From Bruno Haible.
29730
29731 2007-02-19  Bruno Haible  <bruno@clisp.org>
29732
29733         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
29734         warnings.
29735         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29736
29737 2007-02-19  Bruno Haible  <bruno@clisp.org>
29738
29739         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
29740         from mingw users.
29741
29742 2007-02-19  Bruno Haible  <bruno@clisp.org>
29743
29744         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
29745         warnings.
29746         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
29747
29748 2007-02-19  Jim Meyering  <jim@meyering.net>
29749
29750         Don't use FD after a successful "fdopendir (fd)".
29751         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
29752         Reset it by calling dirfd on the just-obtained DIR*.
29753
29754         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
29755         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
29756
29757 2007-02-18  Bruno Haible  <bruno@clisp.org>
29758
29759         * lib/readlink.c: Include <unistd.h>.
29760         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
29761         HAVE_READLINK.
29762         * modules/readlink (Depends-on): Add unistd.
29763         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29764         (Include): Add <unistd.h>.
29765
29766         * lib/getlogin_r.h: Remove file.
29767         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
29768         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
29769         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
29770         HAVE_DECL_GETLOGIN_R.
29771         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
29772         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29773         (Include): Use <unistd.h> instead of getlogin_r.h.
29774
29775         * lib/getcwd.h: Remove file.
29776         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
29777         * lib/xgetcwd.c: Likewise.
29778         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
29779         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
29780         * modules/getcwd (Files): Remove lib/getcwd.h.
29781         (Depends-on): Add unistd.
29782         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29783         (Include): Use <unistd.h> instad of getcwd.h.
29784
29785         * lib/ftruncate.c: Include <unistd.h> first.
29786         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
29787         Set HAVE_FTRUNCATE.
29788         * modules/ftruncate (Depends-on): Add unistd.
29789         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29790
29791         * lib/fchdir.c: Include <unistd.h> first.
29792         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
29793         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
29794         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
29795         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29796         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
29797
29798         * lib/dup2.c: Include <unistd.h> first.
29799         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
29800         HAVE_DUP2.
29801         * modules/dup2 (Depends-on): Add unistd.
29802         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29803
29804         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
29805         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
29806         REPLACE_CHOWN. Don't define chown as a macro here.
29807         * modules/chown (Depends-on): Add unistd.
29808         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
29809
29810         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
29811         Add definition for GL_LINK_WARNING.
29812         (chown, dup2): New declarations.
29813         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
29814         link warning.
29815         (ftruncate): New declaration.
29816         (getcwd): New declaration, taken from old getcwd.h.
29817         (getlogin_r): New declaration, taken from old getlogin_r.h.
29818         (readlink): New declaration.
29819         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
29820         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
29821         (gl_PREREQ_UNISTD): Remove macro.
29822         (gl_UNISTD_MODULE_INDICATOR): New macro.
29823         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
29824         many new variables. Don't set UNISTD_H.
29825         * modules/unistd (Description): Change.
29826         (Depends-on): Add link-warning.
29827         (configure.ac): Update.
29828         (Makefile.am): Create unistd.h always. Substitute many new variables
29829         into it.
29830
29831 2007-02-18  Bruno Haible  <bruno@clisp.org>
29832
29833         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
29834         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
29835         HAVE_GETSUBOPT.
29836         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
29837         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
29838         * lib/getsubopt.h: Remove file.
29839         * modules/getsubopt (Files): Remove lib/getsubopt.h.
29840         (Depends-on): Add stdlib.
29841         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29842         (Includes): Use <stdlib.h> instead of getsubopt.h.
29843         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
29844         Set HAVE_GETSUBOPT.
29845         * lib/getsubopt.c: Don't include getsubopt.h.
29846
29847 2007-02-18  Bruno Haible  <bruno@clisp.org>
29848
29849         * modules/fchdir (Depends-on): Add dup2.
29850
29851 2007-02-18  Bruno Haible  <bruno@clisp.org>
29852
29853         * lib/stdlib_.h: Handle glibc's special invocation convention
29854         specially.
29855
29856 2007-02-18  Bruno Haible  <bruno@clisp.org>
29857
29858         * modules/stdlib-tests: New file.
29859         * tests/test-stdlib.c: New file.
29860
29861         * modules/mkstemp (Files): Remove lib/mkstemp.h.
29862         (Depends-on): Add stdlib.
29863         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29864         (Includes): Use <stdlib.h> instead of mkstemp.h.
29865         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
29866         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
29867         * lib/mkstemp.c: Don't include mkstemp.h.
29868         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
29869         * lib/stdlib--.h: Don't include mkstemp.h.
29870
29871         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
29872         (Depends-on): Add stdlib.
29873         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29874         (Includes): Use <stdlib.h> instead of mkdtemp.h.
29875         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
29876         HAVE_MKDTEMP.
29877         * lib/mkdtemp.c: Don't include mkdtemp.h.
29878         * lib/clean-temp.c: Don't include mkdtemp.h.
29879
29880         * modules/exit (Files): Remove lib/exit.h.
29881         (Depends-on): Add stdlib.
29882         (Makefile.am): Remove lib_SOURCES.
29883         (Include): Use <stdlib.h> instead of exit.h.
29884         * lib/argmatch.c: Don't include exit.h.
29885         * lib/execute.c: Likewise.
29886         * lib/pagealign_alloc.c: Likewise.
29887         * lib/pipe.c: Likewise.
29888         * lib/wait-process.c: Likewise.
29889         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
29890         * lib/exitfail.c: Likewise.
29891         * lib/savewd.c: Likewise.
29892         * lib/xsetenv.c: Likewise.
29893
29894         * modules/stdlib: New file.
29895         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
29896         and extra comments about mkstemp().
29897         * lib/exit.h: Remove file.
29898         * lib/mkdtemp.h: Remove file.
29899         * lib/mkstemp.h: Remove file.
29900         * m4/stdlib_h.m4: New file.
29901         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
29902
29903 2007-02-18  Bruno Haible  <bruno@clisp.org>
29904
29905         * modules/math-tests: New file.
29906         * tests/test-math.c: New file.
29907
29908         * modules/math: New file.
29909         * modules/mathl (Files): Remove lib/mathl.h.
29910         (Depends-on): Add math.
29911         (Makefile.am): Don't mention mathl.h.
29912         (Include): Use <math.h> instead of mathl.h.
29913         * lib/math_.h: New file.
29914         * lib/mathl.h: Remove file.
29915         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
29916         mathl.h.
29917         * lib/asinl.c: Likewise.
29918         * lib/atanl.c: Likewise.
29919         * lib/ceill.c: Likewise.
29920         * lib/cosl.c: Likewise.
29921         * lib/expl.c: Likewise.
29922         * lib/floorl.c: Likewise.
29923         * lib/frexpl.c: Likewise.
29924         * lib/ldexpl.c: Likewise.
29925         * lib/logl.c: Likewise.
29926         * lib/sincosl.c: Likewise.
29927         * lib/sinl.c: Likewise.
29928         * lib/sqrtl.c: Likewise.
29929         * lib/tanl.c: Likewise.
29930         * lib/trigl.c: Likewise.
29931         * m4/math_h.m4: New file.
29932         * MODULES.html.sh (Mathematics): Add math.
29933
29934 2007-02-17  Bruno Haible  <bruno@clisp.org>
29935
29936         * modules/wctype-tests: New file.
29937         * tests/test-wctype.c: New file.
29938
29939         * modules/wchar-tests: New file.
29940         * tests/test-wchar.c: New file.
29941
29942         * modules/unistd-tests: New file.
29943         * tests/test-unistd.c: New file.
29944
29945         * modules/time-tests: New file.
29946         * tests/test-time.c: New file.
29947
29948         * modules/sysexits-tests: New file.
29949         * tests/test-sysexits.c: New file.
29950
29951         * modules/sys_time-tests: New file.
29952         * tests/test-sys_time.c: New file.
29953
29954         * modules/sys_stat-tests: New file.
29955         * tests/test-sys_stat.c: New file.
29956
29957         * modules/sys_socket-tests: New file.
29958         * tests/test-sys_socket.c: New file.
29959
29960         * modules/sys_select-tests: New file.
29961         * tests/test-sys_select.c: New file.
29962
29963         * modules/string-tests: New file.
29964         * tests/test-string.c: New file.
29965
29966         * modules/stdbool-tests: New file.
29967         * tests/test-stdbool.c: New file.
29968
29969         * modules/netinet_in-tests: New file.
29970         * tests/test-netinet_in.c: New file.
29971
29972         * modules/inttypes-tests: New file.
29973         * tests/test-inttypes.c: New file.
29974
29975         * modules/fcntl-tests: New file.
29976         * tests/test-fcntl.c: New file.
29977
29978         * modules/byteswap-tests: New file.
29979         * tests/test-byteswap.c: New file.
29980
29981         * modules/arpa_inet-tests: New file.
29982         * tests/test-arpa_inet.c: New file.
29983
29984 2007-02-17  Bruno Haible  <bruno@clisp.org>
29985
29986         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
29987         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
29988         if the corresponding module is not enabled. Emit link warnings if
29989         the function is used nevertheless.
29990         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
29991         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
29992         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
29993         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
29994         * modules/inttypes (Depends-on): Add link-warning.
29995         (Makefile.am): Copy the contents of build-aux/link-warning.h into
29996         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
29997         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
29998         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
29999         * modules/imaxdiv (configure.ac): Likewise.
30000         * modules/strtoimax (configure.ac): Likewise.
30001         * modules/strtoumax (configure.ac): Likewise.
30002
30003 2007-02-17  Bruno Haible  <bruno@clisp.org>
30004
30005         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
30006         gl_STRING_MODULE_INDICATOR_DEFAULTS.
30007         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
30008         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
30009
30010 2007-02-17  Bruno Haible  <bruno@clisp.org>
30011
30012         * modules/link-warning: New file.
30013         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
30014         * lib/string_.h (GL_LINK_WARNING): Remove definition.
30015         * modules/string (Depends-on): Add link-warning.
30016         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30017         string.h.
30018         * MODULES.html.sh (Support for building libraries and executables): Add
30019         link-warning.
30020
30021 2007-02-17  Bruno Haible  <bruno@clisp.org>
30022
30023         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
30024         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
30025         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
30026         long lines.
30027
30028 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
30029             Bruno Haible  <bruno@clisp.org>
30030
30031         * modules/tmpfile: New file.
30032         * lib/tmpfile.c: New file.
30033         * m4/tmpfile.m4: New file.
30034         * MODULES.html.sh (func_all_modules): New section "Input/output".
30035
30036 2007-02-15  Bruno Haible  <bruno@clisp.org>
30037
30038         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
30039         (supports_delete_on_close): New function.
30040         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
30041
30042 2007-02-14  Bruno Haible  <bruno@clisp.org>
30043
30044         * modules/mbspcasecmp-tests: New file.
30045         * tests/test-mbspcasecmp.sh: New file.
30046         * tests/test-mbspcasecmp.c: New file.
30047
30048         New module mbspcasecmp.
30049         * modules/mbspcasecmp: New file.
30050         * lib/mbspcasecmp.c: New file.
30051         * lib/string_.h (strncasecmp): Change warning message.
30052         (mbspcasecmp): New declaration.
30053         * m4/mbspcasecmp.m4: New file.
30054         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30055         GNULIB_MBSPCASECMP.
30056         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
30057         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
30058
30059 2007-02-14  Bruno Haible  <bruno@clisp.org>
30060
30061         * modules/mbsncasecmp-tests: New file.
30062         * tests/test-mbsncasecmp.sh: New file.
30063         * tests/test-mbsncasecmp.c: New file.
30064
30065         New module mbsncasecmp.
30066         * modules/mbsncasecmp: New file.
30067         * lib/mbsncasecmp.c: New file.
30068         * lib/string_.h (mbsncasecmp): New declaration.
30069         * m4/mbsncasecmp.m4: New file.
30070         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30071         GNULIB_MBSNCASECMP.
30072         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
30073         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
30074
30075 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
30076
30077         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
30078         Verify that it doesn't overlap with our flags.
30079         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
30080         do not have the desired effect in multibyte locales; instead, use
30081         mbscasecmp.
30082         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
30083         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
30084         we don't require GNU fnmatch ourselves (if our users require it, they
30085         should do so explicitly).
30086
30087         Fix regex code so it doesn't rely on strcasecmp.
30088         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
30089         Otherwise, include gnulib's langinfo.h.
30090         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
30091         undesirable behavior in non-C locales.  Instead, rely on localecharset.
30092         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
30093         * modules/regex (FILES): Remove m4/codeset.m4.
30094         (Depends-on): Add localcharset.  Remove strcase.
30095
30096 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30097
30098         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
30099         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
30100
30101 2007-02-13  Bruno Haible  <bruno@clisp.org>
30102
30103         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
30104         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30105
30106 2007-02-12  Bruno Haible  <bruno@clisp.org>
30107
30108         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30109         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
30110         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
30111         time warning rather than a link error.
30112
30113 2007-02-12  Bruno Haible  <bruno@clisp.org>
30114
30115         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
30116         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30117         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30118
30119 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30120
30121         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
30122         args, not 2.
30123
30124 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30125
30126         New module 'time', so that apps can include <time.h> as per
30127         POSIX and GNU instead of separate include files like time_r.h
30128         and timegm.h.  This implementation tries out a simpler approach
30129         for replacing decls in standard include files (as compared to
30130         the string module), somewhat as an experiment.
30131
30132         * config/srclist.txt: Comment out mktime.c for now.
30133         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
30134         since it doesn't apply any more.  Use generic wording instead.
30135         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
30136         'time'.
30137         * lib/time_.h, m4/time_h.m4, modules/time: New files.
30138         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
30139         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
30140         Don't include <sys/types.h>; no longer needed since we assume C89.
30141         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
30142         * lib/strftime.c: Likewise.
30143         * lib/time_r.c: Likewise.
30144         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
30145         * lib/nanosleep.c: Include <time.h> first, to check interface.
30146         * lib/strptime.c: Likewise.
30147         * lib/time_r.c: Likewise.
30148         * lib/timegm.c: Likewise.
30149         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
30150         needed.
30151         * lib/timegm.c: Don't include timegm.h; no longer needed.
30152         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
30153         time.h now handles any problems in that area.
30154         (struct timespec, nanosleep): Remove; time.h now arranges for these.
30155         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
30156         that time.h defines struct timespec.
30157         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
30158         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
30159         handles that.
30160         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
30161         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
30162         needed.  Set REPLACE_LOCALTIME.
30163         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
30164         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
30165         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
30166         nanosleep; time_h.m4 now does that.  Don't require
30167         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
30168         module handles this now.
30169         * modules/getdate (Depends-on): Remove timespec.  Add time.
30170         * modules/nanosleep (Depends-on): Likewise.
30171         * modules/stat-time (Depends-on): Likewise.
30172         * modules/nanosleep (Include): Include time.h, not timespec.h.
30173         * modules/strptime (Files): Remove lib/strptime.h.
30174         (Depends-on): Add extensions, time.
30175         (Include): Include time.h, not strptime.h.
30176         * modules/time_r (Files): Remove lib/time_r.h.
30177         (Depends-on): Add time.
30178         (Include): Include time.h, not time_r.h.
30179         * modules/timegm: Likewise.
30180         * modules/timespec (Description): Now does timespec-related decls
30181         of our own, instead of struct timespec itself.
30182         (Depends-on): Add time; remove extensions.
30183         (Maintainer): Add self.
30184         * modules/utimecmp (Depends-on): Add time; remove timespec.
30185         * modules/utimens (Depends-on): Likewise.
30186         * modules/xnanosleep (Depends-on): Likewise.
30187
30188 2007-02-11  Bruno Haible  <bruno@clisp.org>
30189
30190         * lib/c-strstr.c: Include allocsa.h.
30191         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30192         * lib/c-strcasestr.c: Include allocsa.h.
30193         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30194         * lib/strcasestr.c: Include allocsa.h.
30195         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30196         * lib/mbsstr.c: Include allocsa.h.
30197         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30198         allocsa/freesa instead of malloc/free.
30199         * lib/mbscasestr.c: Include allocsa.h.
30200         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30201         allocsa/freesa instead of malloc/free.
30202         * modules/c-strstr (Depends-on): Add allocsa.
30203         * modules/c-strcasestr (Depends-on): Likewise.
30204         * modules/strcasestr (Depends-on): Likewise.
30205         * modules/mbsstr (Depends-on): Likewise.
30206         * modules/mbscasestr (Depends-on): Likewise.
30207
30208 2007-02-11  Bruno Haible  <bruno@clisp.org>
30209
30210         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
30211
30212         * modules/mbsspn-tests: New file.
30213         * tests/test-mbsspn.sh: New file.
30214         * tests/test-mbsspn.c: New file.
30215
30216 2007-02-11  Bruno Haible  <bruno@clisp.org>
30217
30218         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
30219
30220         * modules/mbspbrk-tests: New file.
30221         * tests/test-mbspbrk.sh: New file.
30222         * tests/test-mbspbrk.c: New file.
30223
30224 2007-02-11  Bruno Haible  <bruno@clisp.org>
30225
30226         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
30227         unneeded cast.
30228
30229         * modules/mbscspn-tests: New file.
30230         * tests/test-mbscspn.sh: New file.
30231         * tests/test-mbscspn.c: New file.
30232
30233 2007-02-11  Bruno Haible  <bruno@clisp.org>
30234
30235         * modules/mbscasecmp-tests: New file.
30236         * tests/test-mbscasecmp.sh: New file.
30237         * tests/test-mbscasecmp.c: New file.
30238
30239 2007-02-11  Bruno Haible  <bruno@clisp.org>
30240
30241         Ensure O(n) worst-case complexity of mbscasestr.
30242         * lib/mbscasestr.c: Include stdbool.h.
30243         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30244         functions.
30245         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
30246         the bookkeeping indicates that it's worth it.
30247         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
30248
30249         * modules/mbscasestr-tests: New file.
30250         * tests/test-mbscasestr1.c: New file.
30251         * tests/test-mbscasestr2.sh: New file.
30252         * tests/test-mbscasestr2.c: New file.
30253         * tests/test-mbscasestr3.sh: New file.
30254         * tests/test-mbscasestr3.c: New file.
30255         * tests/test-mbscasestr4.sh: New file.
30256         * tests/test-mbscasestr4.c: New file.
30257         * m4/locale-tr.m4: New file.
30258
30259 2007-02-11  Bruno Haible  <bruno@clisp.org>
30260
30261         Ensure O(n) worst-case complexity of mbsstr.
30262         * lib/mbsstr.c: Include stdbool.h.
30263         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30264         functions.
30265         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
30266         bookkeeping indicates that it's worth it.
30267         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
30268
30269         * modules/mbsstr-tests: New file.
30270         * tests/test-mbsstr1.c: New file.
30271         * tests/test-mbsstr2.sh: New file.
30272         * tests/test-mbsstr2.c: New file.
30273         * tests/test-mbsstr3.sh: New file.
30274         * tests/test-mbsstr3.c: New file.
30275         * m4/locale-fr.m4: New file.
30276
30277 2007-02-11  Bruno Haible  <bruno@clisp.org>
30278
30279         * lib/mbsrchr.c (mbsrchr): Fix bug.
30280
30281         * modules/mbsrchr-tests: New file.
30282         * tests/test-mbsrchr.sh: New file.
30283         * tests/test-mbsrchr.c: New file.
30284
30285 2007-02-11  Bruno Haible  <bruno@clisp.org>
30286
30287         * lib/mbschr.c (mbschr): Fix bug.
30288
30289         * modules/mbschr-tests: New file.
30290         * tests/test-mbschr.sh: New file.
30291         * tests/test-mbschr.c: New file.
30292         * m4/locale-zh.m4: New file.
30293
30294 2007-02-11  Bruno Haible  <bruno@clisp.org>
30295
30296         Support for copying multibyte string iterators.
30297         * lib/mbiter.h: Include <string.h>.
30298         (mbiter_multi_copy): New function.
30299         (mbi_copy): New macro.
30300         * lib/mbuiter.h: Include <string.h>.
30301         (mbuiter_multi_copy): New function.
30302         (mbui_copy): New macro.
30303
30304 2007-02-11  Bruno Haible  <bruno@clisp.org>
30305
30306         New module mbslen.
30307         * modules/mbslen: New file.
30308         * lib/mbslen.c: New file.
30309         * lib/string_.h (mbslen): New declaration.
30310         * m4/mbslen.m4: New file.
30311         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30312         GNULIB_MBSLEN.
30313         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
30314         * MODULES.html.sh (Internationalization functions): Add mbslen.
30315
30316 2007-02-11  Bruno Haible  <bruno@clisp.org>
30317
30318         Ensure O(n) worst-case complexity of strcasestr substitute.
30319         * lib/strcasestr.c: Include stdbool.h.
30320         (knuth_morris_pratt): New function.
30321         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30322         bookkeeping indicates that it's worth it.
30323         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
30324
30325         * modules/strcasestr-tests: New file.
30326         * tests/test-strcasestr.c: New file.
30327
30328 2007-02-11  Bruno Haible  <bruno@clisp.org>
30329
30330         Ensure O(n) worst-case complexity of c_strcasestr.
30331         * lib/c-strcasestr.c: Include stdbool.h, string.h.
30332         (knuth_morris_pratt): New function.
30333         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
30334         the bookkeeping indicates that it's worth it.
30335         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
30336
30337         * modules/c-strcasestr-tests: New file.
30338         * tests/test-c-strcasestr.c: New file.
30339
30340 2007-02-11  Bruno Haible  <bruno@clisp.org>
30341
30342         Ensure O(n) worst-case complexity of c_strstr.
30343         * lib/c-strstr.c: Include stdbool.h, string.h.
30344         (knuth_morris_pratt): New function.
30345         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
30346         bookkeeping indicates that it's worth it.
30347         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
30348
30349         * lib/c-strstr.c: Complete rewrite for maintainability.
30350
30351         * modules/c-strstr-tests: New file.
30352         * tests/test-c-strstr.c: New file.
30353
30354 2007-02-11  Bruno Haible  <bruno@clisp.org>
30355
30356         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
30357         5.2.1 and earlier, whereby \055 was treated just like the range
30358         delimiter '-'.
30359         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
30360
30361 2007-02-08  Bruno Haible  <bruno@clisp.org>
30362
30363         * modules/regex (Depends-on): Add stdbool.
30364         Reported by Dalibor Topic <robilad@kaffe.org>.
30365
30366 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
30367
30368         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
30369         Prefer returning from main to exiting from it.
30370         Remove unnecessary parens after sizeof.
30371
30372 2007-02-05  Bruno Haible  <bruno@clisp.org>
30373
30374         New module mbssep.
30375         * modules/mbssep: New file.
30376         * lib/mbssep.c: New file.
30377         * lib/string_.h (strsep): Add a conditional link warning.
30378         (mbssep): New declaration.
30379         * m4/mbssep.m4: New file.
30380         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30381         GNULIB_MBSSEP.
30382         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
30383         * MODULES.html.sh (Internationalization functions): Add mbssep.
30384
30385 2007-02-05  Bruno Haible  <bruno@clisp.org>
30386
30387         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
30388         Optimize search in case of 1 delimiter.
30389
30390 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
30391
30392         * lib/acl.h: Include sys/types.h before sys/acl.h.
30393
30394 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
30395
30396         Merge upstream fix for glibc bugzilla #3957:
30397
30398         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
30399
30400         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
30401         bit for RE_HAT_LISTS_NOT_NEWLINE.
30402         (build_charclass_op): Remove bogus comment.
30403
30404 2007-02-05  Simon Josefsson  <simon@josefsson.org>
30405
30406         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
30407
30408 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
30409
30410         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
30411         * lib/memmem.c [!defined _LIBC]: Include config.h.
30412
30413 2007-02-04  Bruno Haible  <bruno@clisp.org>
30414
30415         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
30416         warning message.
30417
30418 2007-02-04  Bruno Haible  <bruno@clisp.org>
30419
30420         New module mbstok_r.
30421         * modules/mbstok_r: New file.
30422         * lib/mbstok_r.c: New file.
30423         * lib/string_.h (strtok_r): Change argument names to match the
30424         comments. Add a conditional link warning.
30425         (mbstok_r): New declaration.
30426         * m4/mbstok_r.m4: New file.
30427         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30428         GNULIB_MBSTOK_R.
30429         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
30430         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
30431
30432 2007-02-04  Bruno Haible  <bruno@clisp.org>
30433
30434         New module mbsspn.
30435         * modules/mbsspn: New file.
30436         * lib/mbsspn.c: New file.
30437         * lib/string_.h (strspn): Add a conditional link warning.
30438         (mbsspn): New declaration.
30439         * m4/mbsspn.m4: New file.
30440         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30441         GNULIB_MBSSPN.
30442         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
30443         * MODULES.html.sh (Internationalization functions): Add mbsspn.
30444
30445 2007-02-04  Bruno Haible  <bruno@clisp.org>
30446
30447         New module mbspbrk.
30448         * modules/mbspbrk: New file.
30449         * lib/mbspbrk.c: New file.
30450         * lib/string_.h (strpbrk): Add a conditional link warning.
30451         (mbspbrk): New declaration.
30452         * m4/mbspbrk.m4: New file.
30453         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30454         GNULIB_MBSPBRK.
30455         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
30456         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
30457
30458 2007-02-04  Bruno Haible  <bruno@clisp.org>
30459
30460         New module mbscspn.
30461         * modules/mbscspn: New file.
30462         * lib/mbscspn.c: New file.
30463         * lib/string_.h (strcspn): Add a conditional link warning.
30464         (mbscspn): New declaration.
30465         * m4/mbscspn.m4: New file.
30466         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30467         GNULIB_MBSCSPN.
30468         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
30469         * MODULES.html.sh (Internationalization functions): Add mbscspn.
30470
30471 2007-02-04  Bruno Haible  <bruno@clisp.org>
30472
30473         New module mbscasestr, reduced goal of strcasestr.
30474         * modules/mbscasestr: New file.
30475         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
30476         (mbscasestr): Renamed from strcasestr.
30477         * lib/strcasestr.c: Don't include mbuiter.h.
30478         (strcasestr): Remove support for multibyte locales.
30479         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
30480         Change the conditional link warning.
30481         (mbscasestr): New declaration.
30482         * m4/mbscasestr.m4: New file.
30483         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
30484         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
30485         REPLACE_STRCASESTR.
30486         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
30487         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30488         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
30489         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
30490         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
30491         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
30492         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
30493         (Depends-on): Remove mbuiter.
30494         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
30495
30496 2007-02-04  Bruno Haible  <bruno@clisp.org>
30497
30498         Simplify handling of strncasecmp.
30499         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
30500         the conditional link warning.
30501         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30502         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
30503         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
30504         * modules/strcase (configure.ac): Don't invoke
30505         gl_STRING_MODULE_INDICATOR.
30506         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
30507
30508 2007-02-04  Bruno Haible  <bruno@clisp.org>
30509
30510         New module mbscasecmp, reduced goal of strcasecmp.
30511         * modules/mbscasecmp: New file.
30512         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
30513         (mbscasecmp): Renamed from strcasecmp.
30514         * lib/strcasecmp.c: Don't include mbuiter.h.
30515         (strcasecmp): Remove support for multibyte locales.
30516         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
30517         Change the conditional link warning.
30518         (mbscasecmp): New declaration.
30519         * m4/mbscasecmp.m4: New file.
30520         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
30521         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
30522         REPLACE_STRCASECMP.
30523         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
30524         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30525         GNULIB_MBSCASECMP.
30526         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
30527         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
30528         * modules/strcase (Files): Remove m4/mbrtowc.m4.
30529         (Depends-on): Remove mbuiter.
30530         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
30531
30532 2007-02-04  Bruno Haible  <bruno@clisp.org>
30533
30534         New module mbsstr. Remove module strstr.
30535         * modules/mbsstr: New file.
30536         * modules/strstr: Remove file.
30537         * lib/mbsstr.c: Renamed from lib/strstr.c.
30538         (mbsstr): Renamed from strstr.
30539         * lib/string_.h (strstr): Remove declaration. Change the conditional
30540         link warning.
30541         (mbsstr): New declaration.
30542         * m4/mbsstr.m4: New file.
30543         * m4/strstr.m4: Remove file.
30544         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
30545         REPLACE_STRSTR.
30546         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
30547         Don't initialize GNULIB_STRSTR.
30548         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
30549         substitute GNULIB_STRSTR and REPLACE_STRSTR.
30550         * MODULES.html.sh (Internationalization functions): Add mbsstr.
30551         (Support for systems lacking ANSI C 89): Remove strstr.
30552
30553 2007-02-04  Bruno Haible  <bruno@clisp.org>
30554
30555         New module mbsrchr.
30556         * modules/mbsrchr: New file.
30557         * lib/mbsrchr.c: New file.
30558         * lib/string_.h (strrchr): Add a conditional link warning.
30559         (mbsrchr): New declaration.
30560         * m4/mbsrchr.m4: New file.
30561         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30562         GNULIB_MBSRCHR.
30563         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
30564         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
30565
30566 2007-02-04  Bruno Haible  <bruno@clisp.org>
30567
30568         New module mbschr.
30569         * modules/mbschr: New file.
30570         * lib/mbschr.c: New file.
30571         * lib/string_.h (strchr): Add a conditional link warning.
30572         (mbschr): New declaration.
30573         * m4/mbschr.m4: New file.
30574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30575         GNULIB_MBSCHR.
30576         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
30577         * MODULES.html.sh (Internationalization functions): Add mbschr.
30578
30579 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
30580
30581         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
30582
30583         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
30584
30585 2007-02-04  Bruno Haible  <bruno@clisp.org>
30586
30587         New module description section 'configure.ac-early'.
30588         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
30589         (func_get_autoconf_early_snippet): New function.
30590         (func_import, func_create_testdir): Use it. Remove special cases for
30591         modules 'extensions' and 'lock'.
30592         * modules/extensions (configure.ac-early): Require
30593         gl_USE_SYSTEM_EXTENSIONS.
30594         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
30595
30596 2007-02-04  Bruno Haible  <bruno@clisp.org>
30597
30598         Make use of gcj-4.3's -fsource and -ftarget option.
30599         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
30600         and if so try the options -fsource and -ftarget.
30601         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
30602         source_version, ftarget_option, target_version arguments.
30603         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
30604         (is_envjavac_oldgcj_14_14_usable): Renamed from
30605         is_envjavac_gcj_14_14_usable.
30606         (is_envjavac_oldgcj_14_13_usable): Renamed from
30607         is_envjavac_gcj_14_13_usable.
30608         (is_gcj_present): Update.
30609         (is_gcj_43, is_gcj43_usable): New functions.
30610         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
30611         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
30612         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
30613         try the options -fsource and -ftarget.
30614
30615 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
30616
30617         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
30618         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
30619         larger value.
30620
30621 2007-02-03  Jim Meyering  <jim@meyering.net>
30622
30623         Give tools a better chance to allocate space for very large buffers.
30624         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
30625
30626         Make pwd and readlink work also when run with an unreadable parent dir
30627         on systems with openat support.
30628         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
30629         provided getcwd function, even when we have openat support.
30630         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
30631
30632 2007-02-02  Bruno Haible  <bruno@clisp.org>
30633
30634         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30635         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
30636         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
30637         portability problems if one of these functions is only used on specific
30638         platforms.
30639         Reported by Paul Eggert.
30640
30641 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
30642
30643         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
30644         is causing more trouble than it's curing.
30645         * lib/regex_internal.h (__mempcpy): Remove.
30646         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
30647         (and make the code a tad smaller to boot).
30648         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
30649
30650 2007-02-02  Jim Meyering  <jim@meyering.net>
30651
30652         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
30653         section, not in the Makefile.am: one.
30654
30655 2007-02-02  Eric Blake  <ebb9@byu.net>
30656
30657         * lib/strchrnul.c: Always include config.h first.
30658
30659         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
30660         gnulib strstr is not necessary here.
30661
30662 2007-02-02  Simon Josefsson  <simon@josefsson.org>
30663
30664         * m4/socklen.m4: Fix typo.
30665
30666 2007-02-02  Eric Blake  <ebb9@byu.net>
30667
30668         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
30669         * modules/netinet_in (Makefile.am): Likewise.
30670
30671 2007-02-01  Bruno Haible  <bruno@clisp.org>
30672
30673         * lib/string_.h (GL_LINK_WARNING): New macro.
30674         (strcasecmp, strstr, strcasestr): If provided by the system,
30675         conditionally define as a macro that leads to a warning instead of to
30676         an error.
30677         (strncasecmp): Conditionally define as a macro that leads to a warning.
30678
30679 2007-02-01  Karl Berry  <karl@gnu.org>
30680
30681         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
30682
30683 2007-02-01  Bruno Haible  <bruno@clisp.org>
30684
30685         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
30686         renamings.
30687
30688 2007-02-01  Eric Blake  <ebb9@byu.net>
30689
30690         * modules/regex (Depends-on): Revert dependence on mempcpy.
30691         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
30692         module's definition of mempcpy.
30693         Reported by Paul Eggert.
30694
30695 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
30696
30697         * lib/string_.h: If the gnulib module XYZ is not present, undefine
30698         the symbol XYZ before redefining it.  This fixes a problem with
30699         programs that don't use XYZ, when compiled on systems that define
30700         XYZ to something else.
30701
30702 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
30703
30704         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
30705         occurs when "mkdir -m foo" creates a setgid directory that is (1)
30706         writeable to group or other and (2) is intended to have a special
30707         mode bit that is set or cleared.  In such a case, the directory
30708         should be neither group- nor other-writeable until the special
30709         mode bits are right.
30710
30711 2007-01-31  Eric Blake  <ebb9@byu.net>
30712
30713         * modules/mountlist (Depends-on): Add strstr.
30714
30715         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
30716         bug.
30717         * modules/string (Makefile.am): Remove redundant replacement.
30718         * modules/regex (Depends-on): Add mempcpy.
30719
30720 2007-01-31  Bruno Haible  <bruno@clisp.org>
30721
30722         New module description field 'Link'.
30723         * gnulib-tool (func_usage): Document --extract-link-directive.
30724         (sed_extract_prog): Recognize 'Link' directive.
30725         (func_get_link_directive): New function.
30726         (func_import): Show summary of link directives.
30727         Handle --extract-link-directive option.
30728         * modules/acl (Link): New section.
30729         * modules/clock-time (Link): New section.
30730         * modules/euidaccess (Link): New section.
30731         * modules/gettext (Link): New section.
30732         * modules/iconv (Link): New section.
30733         * modules/lock (Link): New section.
30734         * modules/nanosleep (Link): New section.
30735         * modules/readline (Link): New section.
30736
30737 2007-01-27  Bruno Haible  <bruno@clisp.org>
30738
30739         Enforce the use of gnulib modules for unportable <string.h> functions.
30740         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
30741         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
30742         (gl_HEADER_STRING_H_BODY): Require it.
30743         * lib/string_.h: If the gnulib module XYZ is not present, redefine
30744         the symbol XYZ to one that gives a link error.
30745         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
30746         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
30747         * modules/mempcpy (configure.ac): Likewise.
30748         * modules/memrchr (configure.ac): Likewise.
30749         * modules/stpcpy (configure.ac): Likewise.
30750         * modules/stpncpy (configure.ac): Likewise.
30751         * modules/strcase (configure.ac): Likewise.
30752         * modules/strcasestr (configure.ac): Likewise.
30753         * modules/strchrnul (configure.ac): Likewise.
30754         * modules/strdup (configure.ac): Likewise.
30755         * modules/strndup (configure.ac): Likewise.
30756         * modules/strnlen (configure.ac): Likewise.
30757         * modules/strpbrk (configure.ac): Likewise.
30758         * modules/strsep (configure.ac): Likewise.
30759         * modules/strstr (configure.ac): Likewise.
30760         * modules/strtok_r (configure.ac): Likewise.
30761
30762 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
30763
30764         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
30765
30766 2007-01-30  Jim Meyering  <jim@meyering.net>
30767
30768         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
30769
30770 2007-01-29  Bruno Haible  <bruno@clisp.org>
30771
30772         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
30773         * lib/execute.c: Likewise.
30774         * lib/pipe.c: Likewise.
30775         * lib/printf-args.h: Likewise.
30776         * lib/printf-args.c: Likewise.
30777         * lib/printf-parse.c: Likewise.
30778         * lib/vasnprintf.c: Likewise.
30779
30780 2007-01-29  Eric Blake  <ebb9@byu.net>
30781
30782         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
30783         declaration.
30784
30785 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
30786
30787         * lib/strptime.h (strptime): Use 'restrict' for args where
30788         POSIX requires this.
30789         * lib/strptime.c (strptime): Likewise.
30790         Change license notice from LGPL to GPL, since gnulib-tool will
30791         change this as needed.
30792         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
30793         defined.
30794         Include "strptime.h" first, to check interface.
30795         Do not #undef _LIBC and _NL_CURRENT.
30796         Do not include <stdlib.h>; no longer needed.
30797         Include "time_r.h" and declare ptime_locale_status
30798         only if _LIBC is not defined.
30799         (__P): Remove unused macro.
30800         (match_string): Bring back glibc version, but use it only if _LIBC
30801         is defined.
30802         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
30803         Remove unnecessary assertion and abort() call.
30804         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
30805         * m4/strptime.m4: Fix serial number comment.
30806         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
30807         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
30808         (Depends-on): Add time_r.
30809
30810 2007-01-29  Bruno Haible  <bruno@clisp.org>
30811
30812         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30813         strptime.
30814         * modules/strptime (Depends-on): Add stdbool.
30815         * lib/strptime.h: Include <time.h> always. Add comments.
30816
30817 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
30818
30819         * modules/strptime: New file.
30820         * lib/strptime.h: New file.
30821         * lib/strptime.c: New file.
30822         * m4/strptime.m4: New file.
30823
30824 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
30825
30826         * MODULES.html.sh: New module mpsort.
30827         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
30828
30829         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
30830         a circularity problem with HP-UX ia64 reported by Bob Proulx in
30831         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
30832         All uses changed.
30833         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
30834         All uses changed.
30835         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
30836         to _Restrict_.
30837         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
30838         the parameter matches the prototype.
30839
30840 2007-01-28  Jim Meyering  <jim@meyering.net>
30841
30842         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
30843         sys/time.h here, reverting that part of the previous patch:
30844         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
30845
30846 2007-01-28  Bruno Haible  <bruno@clisp.org>
30847
30848         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
30849         value of $(SYS_TIME_H).
30850         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
30851         remove it conditionally, too. [added by Jim Meyering]
30852         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
30853         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
30854         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
30855         GETTIMEOFDAY_REPLACEMENT to 1.
30856
30857 2007-01-28  Bruno Haible  <bruno@clisp.org>
30858
30859         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
30860         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
30861         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
30862         Set UNISTD_H instead of UNISTD_H2.
30863         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
30864
30865 2007-01-28  Bruno Haible  <bruno@clisp.org>
30866
30867         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
30868         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
30869
30870 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30871
30872         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
30873         (func_create_testdir): Ensure C locale for `grep' and `tr'
30874         character ranges.
30875         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
30876         ACLOCAL_AMFLAGS parsing state machine.
30877
30878 2007-01-27  Bruno Haible  <bruno@clisp.org>
30879
30880         * modules/unistr/base: Update.
30881
30882 2007-01-27  Bruno Haible  <bruno@clisp.org>
30883
30884         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
30885         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
30886         * modules/unistr/u32-mbtouc-unsafe: Renamed from
30887         modules/unistr/u32-mbtouc.
30888         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
30889         * lib/unistr.h: Update.
30890         * lib/linebreak.c: Update.
30891         * modules/unistr/u32-mbtouc: Renamed from
30892         modules/unistr/u32-mbtouc-safe.
30893         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
30894         * lib/unistr.h: Update.
30895         * lib/unistr/u32-to-u8.c: Update.
30896         * lib/unistr/u32-to-u16.c: Update.
30897
30898 2007-01-27  Bruno Haible  <bruno@clisp.org>
30899
30900         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
30901         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
30902         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
30903         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
30904         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
30905         * modules/unistr/u16-mbtouc-unsafe: Renamed from
30906         modules/unistr/u16-mbtouc.
30907         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
30908         * lib/unistr.h: Update.
30909         * lib/linebreak.c: Update.
30910         * modules/linebreak: Update.
30911         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
30912         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
30913         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
30914         * modules/unistr/u16-mbtouc: Renamed from
30915         modules/unistr/u16-mbtouc-safe.
30916         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
30917         * lib/unistr.h: Update.
30918         * lib/unistr/u16-to-u8.c: Update.
30919         * modules/unistr/u16-to-u8: Update.
30920         * lib/unistr/u16-to-u32.c: Update.
30921         * modules/unistr/u16-to-u32: Update.
30922
30923 2007-01-27  Bruno Haible  <bruno@clisp.org>
30924
30925         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
30926         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
30927         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
30928         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
30929         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
30930         * modules/unistr/u8-mbtouc-unsafe: Renamed from
30931         modules/unistr/u8-mbtouc.
30932         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
30933         * lib/unistr.h: Update.
30934         * lib/striconveh.c: Update.
30935         * modules/striconveh: Update.
30936         * lib/linebreak.c: Update.
30937         * modules/linebreak: Update.
30938         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
30939         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
30940         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
30941         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
30942         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
30943         * lib/unistr.h: Update.
30944         * lib/striconveh.c: Update.
30945         * modules/striconveh: Update.
30946         * lib/unistr/u8-to-u16.c: Update.
30947         * modules/unistr/u8-to-u16: Update.
30948         * lib/unistr/u8-to-u32.c: Update.
30949         * modules/unistr/u8-to-u32: Update.
30950
30951 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30952
30953         Sync from Libtool.
30954         * lib/argz.c: Do not include strings.h nor memory.h, include
30955         string.h unconditionally.  Patch by Simon Josefsson.
30956
30957 2007-01-27  Bruno Haible  <bruno@clisp.org>
30958
30959         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
30960         from gl_HEADER_STRING_H_BODY.
30961         (gl_HEADER_STRING_H_BODY): Require it.
30962         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
30963         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
30964         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
30965         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
30966         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30967         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
30968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30969         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
30970         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
30971         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
30972         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
30973         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
30974         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
30975         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30976         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
30977
30978 2007-01-27  Bruno Haible  <bruno@clisp.org>
30979
30980         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
30981         check_PROGRAMS into noinst_PROGRAMS.
30982         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
30983         check_PROGRAMS in this case.
30984         (func_import): Set for_test to false.
30985         (func_create_testdir): Set for_test to true.
30986
30987 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
30988             Bruno Haible  <bruno@clisp.org>
30989
30990         * modules/strcasestr (Files): Remove lib/strcasestr.h.
30991         (Depends-on): Add string.
30992         (Includes): Use <string.h> instead of strcasestr.h.
30993         * modules/string (Makefile.am): Also substitute the value of
30994         REPLACE_STRCASESTR.
30995         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
30996         assume strcasestr is declared in <string.h> not <strings.h>. Also
30997         set REPLACE_STRCASESTR.
30998         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
30999         REPLACE_STRCASESTR.
31000         * lib/strcasestr.h: Remove file.
31001         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
31002         * lib/string_.h (strcasestr): New declaration.
31003
31004 2007-01-27  Bruno Haible  <bruno@clisp.org>
31005
31006         * lib/string_.h: Use 'extern'.
31007
31008 2007-01-27  Jim Meyering  <jim@meyering.net>
31009
31010         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
31011         of set-but-not-used local, "q".
31012
31013         * lib/mempcpy.c: Include <config.h> before <string.h>.
31014         This fixes a compilation error on HP-UX, due to the system's
31015         "restrict"-using mempcpy prototype.
31016
31017 2007-01-26  Bruno Haible  <bruno@clisp.org>
31018
31019         Small optimization.
31020         * lib/javacomp.c: Include c-strstr.h.
31021          (is_envjavac_gcj): Use c_strstr instead of strstr.
31022         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
31023
31024 2007-01-26  Bruno Haible  <bruno@clisp.org>
31025
31026         * MODULES.html.sh (Unicode string functions): Add the new modules.
31027
31028         * modules/uniconv/u32-strconv-to-locale: New file.
31029         * lib/uniconv/u32-strconv-to-locale.c: New file.
31030
31031         * modules/uniconv/u16-strconv-to-locale: New file.
31032         * lib/uniconv/u16-strconv-to-locale.c: New file.
31033
31034         * modules/uniconv/u8-strconv-to-locale: New file.
31035         * lib/uniconv/u8-strconv-to-locale.c: New file.
31036
31037         * modules/uniconv/u32-strconv-from-locale: New file.
31038         * lib/uniconv/u32-strconv-from-locale.c: New file.
31039
31040         * modules/uniconv/u16-strconv-from-locale: New file.
31041         * lib/uniconv/u16-strconv-from-locale.c: New file.
31042
31043         * modules/uniconv/u8-strconv-from-locale: New file.
31044         * lib/uniconv/u8-strconv-from-locale.c: New file.
31045
31046         * modules/uniconv/u32-strconv-to-enc: New file.
31047         * lib/uniconv/u32-strconv-to-enc.c: New file.
31048         * modules/uniconv/u32-strconv-to-enc-tests: New file.
31049         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
31050
31051         * modules/uniconv/u16-strconv-to-enc: New file.
31052         * lib/uniconv/u16-strconv-to-enc.c: New file.
31053         * lib/uniconv/u-strconv-to-enc.h: New file.
31054         * modules/uniconv/u16-strconv-to-enc-tests: New file.
31055         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
31056
31057         * modules/uniconv/u8-strconv-to-enc: New file.
31058         * lib/uniconv/u8-strconv-to-enc.c: New file.
31059         * modules/uniconv/u8-strconv-to-enc-tests: New file.
31060         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
31061
31062         * modules/uniconv/u32-strconv-from-enc: New file.
31063         * lib/uniconv/u32-strconv-from-enc.c: New file.
31064         * modules/uniconv/u32-strconv-from-enc-tests: New file.
31065         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
31066
31067         * modules/uniconv/u16-strconv-from-enc: New file.
31068         * lib/uniconv/u16-strconv-from-enc.c: New file.
31069         * modules/uniconv/u16-strconv-from-enc-tests: New file.
31070         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
31071
31072         * modules/uniconv/u8-strconv-from-enc: New file.
31073         * lib/uniconv/u8-strconv-from-enc.c: New file.
31074         * lib/uniconv/u-strconv-from-enc.h: New file.
31075         * modules/uniconv/u8-strconv-from-enc-tests: New file.
31076         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
31077
31078         * modules/uniconv/u32-conv-from-enc: New file.
31079         * lib/uniconv/u32-conv-from-enc.c: New file.
31080         * modules/uniconv/u32-conv-from-enc-tests: New file.
31081         * tests/uniconv/test-u32-conv-from-enc.c: New file.
31082
31083         * modules/uniconv/u16-conv-from-enc: New file.
31084         * lib/uniconv/u16-conv-from-enc.c: New file.
31085         * lib/uniconv/u-conv-from-enc.h: New file.
31086         * modules/uniconv/u16-conv-from-enc-tests: New file.
31087         * tests/uniconv/test-u16-conv-from-enc.c: New file.
31088
31089         * modules/uniconv/u8-conv-from-enc: New file.
31090         * lib/uniconv/u8-conv-from-enc.c: New file.
31091         * modules/uniconv/u8-conv-from-enc-tests: New file.
31092         * tests/uniconv/test-u8-conv-from-enc.c: New file.
31093
31094         * modules/uniconv/base: New file.
31095         * lib/uniconv.h: New file.
31096
31097 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
31098
31099         * doc/gnulib-tool.texi (Initial import): Update to match current
31100         behavior with strdup module.
31101         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
31102         * lib/memmem.h: Remove; all uses removed.  This is now done
31103         by <string.h>.
31104         * lib/mempcpy.h: Likewise.
31105         * lib/memrchr.h: Likewise.
31106         * lib/stpcpy.h: Likewise.
31107         * lib/stpncpy.h: Likewise.
31108         * lib/strcase.h: Likewise.
31109         * lib/strchrnul.h: Likewise.
31110         * lib/strdup.h: Likewise.
31111         * lib/strndup.h: Likewise.
31112         * lib/strnlen.h: Likewise.
31113         * lib/strpbrk.h: Likewise.
31114         * lib/strsep.h: Likewise.
31115         * lib/strstr.h: Likewise.
31116         * lib/strtok_r.h: Likewise.
31117         * lib/string_.h: New file.
31118         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
31119         Rely on <string.h> instead.
31120         * lib/canon-host.c: Likewise.
31121         * lib/chdir-long.c: Likewise.
31122         * lib/concatpath.c: Likewise.
31123         * lib/exclude.c: Likewise.
31124         * lib/fchdir.c: Likewise.
31125         * lib/getaddrinfo.c: Likewise.
31126         * lib/getcwd.c: Likewise.
31127         * lib/getsubopt.c: Likewise.
31128         * lib/glob.c: Likewise.
31129         * lib/hard-locale.c: Likewise.
31130         * lib/iconvme.c: Likewise.
31131         * lib/javacomp.c: Likewise.
31132         * lib/mempcpy.c: Likewise.
31133         * lib/memrchr.c: Likewise.
31134         * lib/regex_internal.h: Likewise.
31135         * lib/stpncpy.c: Likewise.
31136         * lib/strcasecmp.c: Likewise.
31137         * lib/strchrnul.c: Likewise.
31138         * lib/strdup.c: Likewise.
31139         * lib/striconv.c: Likewise.
31140         * lib/striconveh.c: Likewise.
31141         * lib/striconveha.c: Likewise.
31142         * lib/strncasecmp.c: Likewise.
31143         * lib/strndup.c: Likewise.
31144         * lib/strnlen.c: Likewise.
31145         * lib/strsep.c: Likewise.
31146         * lib/strstr.c: Likewise.
31147         * lib/strtok_r.c: Likewise.
31148         * lib/userspec.c: Likewise.
31149         * lib/w32spawn.h: Likewise.
31150         * lib/xstrndup.c: Likewise.
31151         * lib/mountlist.c (strstr): Remove decl.
31152         * m4/string_h.m4: New file.
31153         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
31154         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
31155         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
31156         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
31157         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
31158         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
31159         Set REPLACE_STRCASECMP if necessary.
31160         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
31161         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
31162         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
31163         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
31164         HAVE_DECL_STRDUP if necessary.
31165         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
31166         since gl_FUNC_STRNDUP does that now.
31167         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
31168         Check for decl here...
31169         (gl_PREREQ_STRNLEN): ... not here.
31170         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
31171         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
31172         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
31173         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
31174         necessary.
31175         * modules/string: New file.
31176         * modules/memmem (Files): Remove special-purpose include file.
31177         (Depends-on): Add string.
31178         (Include): Include <string.h>, not the removed file.
31179         * modules/mempcpy: Likewise.
31180         * modules/memrchr: Likewise.
31181         * modules/stpcpy: Likewise.
31182         * modules/stpncpy: Likewise.
31183         * modules/strcase: Likewise.
31184         * modules/strchrnul: Likewise.
31185         * modules/strdup: Likewise.
31186         * modules/strndup: Likewise.
31187         * modules/strnlen: Likewise.
31188         * modules/strpbrk: Likewise.
31189         * modules/strsep: Likewise.
31190         * modules/strstr: Likewise.
31191         * modules/strtok_r: Likewise.
31192         * tests/test-dirname.c: Don't include "strdup.h", since
31193         <string.h> now suffices.
31194         * tests/test-memmem.c: Don't include "memmem.h", since
31195         <string.h> now suffices.
31196
31197 2007-01-25  Bruno Haible  <bruno@clisp.org>
31198
31199         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
31200         *resultp is 0.
31201
31202         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
31203         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
31204         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
31205         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
31206
31207         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
31208         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
31209         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
31210         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
31211         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
31212         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
31213
31214 2007-01-24  Bruno Haible  <bruno@clisp.org>
31215
31216         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
31217         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
31218         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
31219         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
31220         gl_FUNC_FTS_CORE.
31221         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
31222         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
31223         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31224         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
31225         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
31226         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
31227         gl_FUNC_FCHOWNAT.
31228         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
31229         gl_FUNC_STRFTIME.
31230         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
31231         Reported by Ralf Wildenhues.
31232
31233 2007-01-24  Bruno Haible  <bruno@clisp.org>
31234
31235         Drop AC_REQUIRE calls that are redundant with the module dependencies.
31236         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
31237         gl_GETADDRINFO.
31238         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
31239         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
31240         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
31241
31242 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
31243
31244         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
31245         Don't use 'exit'; just return from 'main'.
31246         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
31247
31248         * lib/fnmatch_.h: Readjust white space and comments to match
31249         glibc, to avoid spurious diffs.
31250
31251 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31252
31253         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
31254         2004-12-01 change by Jakub Jelinek, since this code won't compile
31255         if !LIBC.  Problem reported by Bob Proulx.
31256
31257 2007-01-23  Bruno Haible  <bruno@clisp.org>
31258
31259         * lib/striconveh.c: Include c-strcaseeq.h.
31260         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
31261         * modules/striconveh (Depends-on): Add c-strcaseeq.
31262
31263 2007-01-23  Bruno Haible  <bruno@clisp.org>
31264
31265         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
31266
31267         * modules/c-strcaseeq: New file.
31268         * lib/c-strcaseeq.h: New file.
31269
31270         * modules/streq: New file.
31271         * lib/streq.h: New file.
31272
31273 2007-01-23  Bruno Haible  <bruno@clisp.org>
31274
31275         * modules/striconveha-tests: New file.
31276         * tests/test-striconveha.c: New file.
31277
31278         * lib/striconveha.h: Include <stdbool.h>.
31279         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
31280         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
31281         (mem_iconveha_notranslit): Renamed from mem_iconveha.
31282         (mem_iconveha): New function.
31283         (str_iconveha_notranslit): Renamed from str_iconveha.
31284         (str_iconveha): New function.
31285         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
31286         c-strcase.
31287
31288 2007-01-23  Bruno Haible  <bruno@clisp.org>
31289
31290         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
31291         encodings without forgiving before trying any encoding with handler.
31292         (str_iconveha): Try all encodings without forgiving before trying any
31293         encoding with handler.
31294
31295 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31296
31297         Import the following changes from libc.
31298
31299         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
31300
31301         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
31302
31303         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
31304
31305         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
31306         normal_bracket label.
31307
31308         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
31309
31310         [BZ #361]
31311         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
31312         to normal_bracket after fetching the next character.
31313
31314 2007-01-22  Bruno Haible  <bruno@clisp.org>
31315
31316         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
31317         argument.
31318         * lib/striconveh.c (iconv_carefully_1): New function.
31319         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
31320         argument.
31321         (str_cd_iconveh): Update.
31322         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
31323         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
31324         * tests/test-striconveh.c (MAGIC): New macro.
31325         (new_offsets): New function.
31326         (main): Test call with and without offsets.
31327
31328 2007-01-22  Bruno Haible  <bruno@clisp.org>
31329
31330         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
31331         * modules/sys_select (Makefile.am): Likewise.
31332         * modules/sys_socket (Makefile.am): Likewise.
31333         * modules/sys_time (Makefile.am): Likewise.
31334
31335 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
31336
31337         * modules/gettimeofday (License): Change from GPL to LGPL, since
31338         gettimeofday is a library function.
31339
31340 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31341
31342         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
31343
31344 2007-01-21  Bruno Haible  <bruno@clisp.org>
31345
31346         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
31347
31348 2007-01-21  Bruno Haible  <bruno@clisp.org>
31349
31350         * modules/striconveha: New file.
31351         * lib/striconveha.h: New file.
31352         * lib/striconveha.c: New file.
31353         * MODULES.html.sh (Internationalization functions): Add striconveha.
31354         * lib/striconv.c (str_iconv): Optimize the case of an empty input
31355         string.
31356         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
31357
31358 2007-01-21  Bruno Haible  <bruno@clisp.org>
31359
31360         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
31361         * lib/striconveh.c (str_iconveh): Likewise.
31362
31363 2007-01-21  Bruno Haible  <bruno@clisp.org>
31364
31365         * lib/striconveh.h (mem_iconveh): New declaration.
31366         * lib/striconveh.c (mem_iconveh): New function.
31367         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
31368
31369 2007-01-21  Bruno Haible  <bruno@clisp.org>
31370
31371         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
31372
31373         * lib/striconveh.h (mem_cd_iconveh): Change specification.
31374         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
31375         original result buffer.
31376         (str_cd_iconveh): Update.
31377         * tests/test-striconveh.c (main): Update.
31378
31379         * lib/striconv.h (mem_cd_iconv): Change specification.
31380         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
31381         result buffer.
31382         (str_cd_iconv): Update.
31383         * tests/test-striconv.c (main): Update.
31384
31385 2007-01-21  Bruno Haible  <bruno@clisp.org>
31386
31387         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
31388
31389 2007-01-20  Jim Meyering  <jim@meyering.net>
31390
31391         * lib/userspec.c (parse_with_separator): If a user or group string
31392         starts with "+", skip the corresponding name-to-ID look-up, since
31393         such a look-up must fail: user and group names may not include "+".
31394
31395 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
31396
31397         * lib/poll.c: Include sys/time.h and time.h unconditionally,
31398         since we now assume the sys_time module.
31399         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
31400         check for sys/time.h; no longer needed.
31401         * modules/poll (Depends-on): Depend on sys_time.
31402
31403 2007-01-18  Bruno Haible  <bruno@clisp.org>
31404
31405         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
31406         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
31407
31408         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
31409         gettimeofday.
31410
31411         * tests/test-gettimeofday.c: Include <time.h>.
31412         (dummy): Remove variable.
31413
31414         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
31415         gl_HEADER_SYS_TIME_H.
31416         (gl_HEADER_SYS_TIME_H): New macro.
31417
31418         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
31419         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31420         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
31421         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
31422         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31423         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
31424         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
31425         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31426         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
31427         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
31428         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31429
31430         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
31431         last change; it caused a compilation error when cross-compiling to
31432         Cygwin.
31433
31434 2007-01-18  Jim Meyering  <jim@meyering.net>
31435
31436         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
31437         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
31438         than the race-prone "test -d sys || mkdir sys".
31439         (configure.ac): Use AC_PROG_MKDIR_P.
31440         * modules/sys_select: Likewise.
31441         * modules/sys_socket: Likewise.
31442         * modules/sys_time: Likewise.
31443
31444 2007-01-18  Eric Blake  <ebb9@byu.net>
31445
31446         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
31447         replace gettimeofday.
31448         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
31449         name, to avoid infinite recursion.
31450
31451 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
31452
31453         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
31454         module sys_time.
31455         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
31456         assume timespec.h defines struct timeval.
31457         * lib/settime.c: Likewise.
31458         * lib/utimens.c: Likewise.
31459         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
31460         since we now assume the gettimeofday module.
31461         * lib/tempname.c (__gen_tempname): Likewise.
31462         * lib/gettimeofday.h: Remove.
31463         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
31464         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
31465         Include <time.h>, for 'time()'.
31466         (localtime_buffer_addr): Also use this workaround if
31467         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
31468         to simplify the uses.  All uses changed.
31469         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
31470         that #undef is inside {}, and 'const' follows type name consistently.
31471         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
31472         (gettimeofday): Do not use the maximum possible value for
31473         tv->tv_usec, since that might break usages other than ls.c.
31474         Instead, we'll leave ls.c alone.  This undoes today's patch
31475         by Bruno.  Add a compile-time warning for 1s-clock resolution;
31476         we've never observed the problem but might as well keep the
31477         canary.
31478         * lib/nanosleep.c: Include timespec.h first, for interface check.
31479         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
31480         now assume the sys_time module.
31481         * lib/tempname.c: Likewise.
31482         * lib/timespec.h: Likewise.
31483         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
31484         needed.
31485         * lib/strftime.c: Likewise.
31486         * lib/timespec.h: Likewise.
31487         * lib/posixtm.c: Include posixtm.h first, for interface check.
31488         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
31489         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
31490         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
31491         * lib/sys_time_.h: New file.
31492         * lib/timespec.h (struct timespec): Use long int, not long.
31493         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
31494         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
31495         Remove obsolescent call to AC_HEADER_TIME.
31496         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
31497         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
31498         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
31499         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
31500         Likewise.
31501         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
31502         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
31503         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
31504         into the sys_time module.  Check for gettimeofday just once.
31505         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
31506         for gettimeofday signature to just check the signature.  Merely
31507         compile it, since linking doesn't test signature.  Improve test for
31508         whether gettimeofday.o is actually needed.
31509         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
31510         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
31511         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
31512         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31513         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
31514         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
31515         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
31516         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
31517         than worrying about sys/time.h.
31518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
31519         Don't bother worrying about TIME_WITH_SYS_TIME.
31520         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
31521         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
31522         * m4/sys_time_h.m4: New file.
31523         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
31524         Don't include sys/time.h.  Return from main rather than exiting.
31525         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
31526         all uses changed.
31527         * modules/gethrxtime (Depends-on): Add sys_time.
31528         * modules/gettime (Depends-on): Likewise.
31529         * modules/gettimeofday (Depends-on): Likewise.
31530         * modules/nanosleep (Depends-on): Likewise.
31531         * modules/settime (Depends-on): Likewise.
31532         * modules/tempname (Depends-on): Likewise.
31533         * modules/utimens (Depends-on): Likewise.
31534         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
31535         (Include:) Change back to <sys/time.h>.
31536         (Maintainer:) Add self.
31537         * modules/sys_time: New file.
31538         * modules/tempname (Depends-on): Add gettimeofday.
31539         * tests/test-gettimeofday.c: Include <sys/time.h>
31540         rather than gettimeofday.h.
31541
31542 2007-01-17  Bruno Haible  <bruno@clisp.org>
31543
31544         * gnulib-tool (func_get_license): Revert last patch. Instead, let
31545         the license default to GPL.
31546         (func_create_testdir): Don't complain if a module is LGPL and its
31547         tests module depends on GPLed modules.
31548
31549 2007-01-17  Bruno Haible  <bruno@clisp.org>
31550
31551         * lib/gettimeofday.c (gettimeofday): Add code for the case
31552         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
31553         maximum possible value for tv->tv_usec, rather than the minimum one.
31554
31555 2005-10-08  Martin Lambers  <marlam@marlam.de>
31556 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
31557 2007-01-16  Bruno Haible  <bruno@clisp.org>
31558
31559         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
31560         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
31561         gl_FUNC_GETTIMEOFDAY.
31562         (Include): Add gettimeofday.h.
31563         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
31564         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
31565         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
31566         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
31567         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
31568         * lib/gettimeofday.h: New file.
31569         * lib/gettimeofday.c: Include <sys/timeb.h>.
31570         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
31571         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
31572         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
31573         fall back on time().
31574
31575         * tests/test-gettimeofday.c: New file.
31576         * modules/gettimeofday-tests: New file.
31577
31578 2007-01-16  Eric Blake  <ebb9@byu.net>
31579
31580         * modules/fnmatch (Depends-on): Depend on wchar.
31581         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
31582         * m4/fnmatch.m4: Likewise.
31583         * modules/mbchar (Makefile.am): Assume <wchar.h>.
31584         * m4/mbchar.m4: Likewise.
31585         * modules/mbswidth (Depends-on): Depend on wchar.
31586         * lib/mbswidth.c: Assume <wchar.h>.
31587         * m4/mbswidth.m4: Likewise.
31588         * modules/quotearg (Depends-on): Depend on wchar.
31589         * lib/quotearg.c: Assume <wchar.h>.
31590         * m4/quotearg.m4: Likewise.
31591         * modules/regex (Depends-on): Depend on wchar.
31592         * lib/regex_internal.h: Assume <wchar.h>.
31593         * m4/regex.m4: Likewise.
31594         * modules/stdint (Depends-on): Depend on wchar.
31595         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
31596         * m4/stdint.m4: Likewise.
31597         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
31598         * modules/strftime (Depends-on): Depend on wchar.
31599         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
31600         * modules/strtol (Depends-on): Depend on wchar.
31601         * lib/strtol.c: Assume <wchar.h>.
31602         * modules/wcwidth (Depends-on): Depend on wchar.
31603         * lib/wcwidth.h: Assume <wchar.h>.
31604         * m4/wcwidth.m4: Likewise.
31605
31606 2007-01-16  Bruno Haible  <bruno@clisp.org>
31607
31608         * modules/csharpexec-script: New, created from...
31609         * modules/csharpexec: ... this.
31610
31611 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
31612
31613         * modules/javaexec-script: New, created from...
31614         * modules/javaexec: ... this.
31615
31616 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31617
31618         * modules/poll (Dependencies): Add sys_select.
31619
31620 2007-01-15  Jim Meyering  <jim@meyering.net>
31621
31622         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
31623         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
31624         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
31625         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
31626
31627 2007-01-15  Bruno Haible  <bruno@clisp.org>
31628
31629         * modules/striconveh: New file.
31630         * lib/striconveh.h: New file.
31631         * lib/striconveh.c: New file.
31632         * MODULES.html.sh (Internationalization functions): Add striconveh.
31633
31634         * modules/striconveh-tests: New file.
31635         * tests/test-striconveh.c: New file.
31636
31637 2007-01-15  Bruno Haible  <bruno@clisp.org>
31638
31639         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
31640         not from GNU libiconv or GNU libc.
31641
31642 2007-01-15  Bruno Haible  <bruno@clisp.org>
31643
31644         * doc/gnulib-intro.texi (Copyright): Explain the different license
31645         terms for module descriptions, autoconf macros, tests, documentation.
31646
31647 2007-01-14  Bruno Haible  <bruno@clisp.org>
31648
31649         * modules/striconv-tests: New file.
31650         * tests/test-striconv.c: New file.
31651
31652 2007-01-14  Bruno Haible  <bruno@clisp.org>
31653
31654         * modules/iconv-tests: New file.
31655         * tests/test-iconv.c: New file.
31656
31657 2007-01-14  Bruno Haible  <bruno@clisp.org>
31658
31659         * gnulib-tool (func_get_license): For test modules, use the license of
31660         the main module.
31661
31662 2007-01-14  Bruno Haible  <bruno@clisp.org>
31663
31664         * modules/iconv (Include): Clarify that <iconv.h> can only be included
31665         if iconv is found to exist.
31666
31667 2007-01-14  Bruno Haible  <bruno@clisp.org>
31668
31669         * modules/c-ctype-tests: New file.
31670         * tests/test-c-ctype.c: New file.
31671
31672 2007-01-14  Bruno Haible  <bruno@clisp.org>
31673
31674         * modules/binary-io-tests: New file.
31675         * tests/test-binary-io.sh: New file.
31676         * tests/test-binary-io.c: New file.
31677
31678 2007-01-14  Bruno Haible  <bruno@clisp.org>
31679
31680         * modules/array-oset-tests: New file.
31681         * tests/test-array_oset.c: New file.
31682
31683 2007-01-14  Bruno Haible  <bruno@clisp.org>
31684
31685         * modules/array-list-tests: New file.
31686         * tests/test-array_list.c: New file.
31687
31688 2007-01-14  Bruno Haible  <bruno@clisp.org>
31689
31690         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
31691         and make.
31692         Reported by Simon Josefsson in
31693         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
31694
31695 2007-01-14  Bruno Haible  <bruno@clisp.org>
31696
31697         * modules/allocsa-tests: New file.
31698         * tests/test-allocsa.c: New file.
31699
31700 2007-01-14  Bruno Haible  <bruno@clisp.org>
31701
31702         * modules/fchdir (Depends-on): Add absolute-header.
31703         * modules/unistd (Depends-on): Likewise.
31704
31705 2006-12-30  Bruno Haible  <bruno@clisp.org>
31706
31707         * modules/fchdir: New file.
31708         * modules/unistd (Files): Add lib/unistd_.h.
31709         (Makefile.am): Generate unistd.h from unistd_.h.
31710         * lib/fchdir.c: New file.
31711         * lib/dirent_.h: New file.
31712         * lib/unistd_.h: New file.
31713         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
31714         * m4/fchdir.m4: New file.
31715         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
31716         (gl_HEADER_UNISTD): Invoke it.
31717         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
31718         function.
31719         * lib/backupfile.c (opendir, closedir): Undefine.
31720         * lib/chown.c (open, close): Undefine.
31721         * lib/clean-temp.c (open, close): Undefine.
31722         * lib/copy-file.c (open, close): Undefine.
31723         * lib/execute.c (open, close): Undefine.
31724         * lib/fsusage.c (open, close): Undefine.
31725         * lib/gc-gnulib.c (open, close): Undefine.
31726         * lib/getcwd.c (opendir, closedir): Undefine.
31727         * lib/glob.c (opendir, closedir): Undefine.
31728         * lib/javacomp.c (open, close): Undefine.
31729         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
31730         * lib/openat-proc.c (open, close): Undefine.
31731         * lib/pagealign_alloc.c (open, close): Undefine.
31732         * lib/pipe.c (open, close): Undefine.
31733         * lib/progreloc.c (open, close): Undefine.
31734         * lib/savedir.c (opendir, closedir): Undefine.
31735         * lib/utime.c (open, close): Undefine.
31736         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
31737
31738 2007-01-10  Bruno Haible  <bruno@clisp.org>
31739
31740         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
31741
31742 2007-01-12  Eric Blake  <ebb9@byu.net>
31743
31744         Provide a robust <wchar.h>.  Further simplifications are now
31745         possible in other modules, but not included here.
31746         * modules/wchar: New module.
31747         * m4/wchar.m4: New file.
31748         * lib/wchar_.h: Likewise.
31749         * modules/mbchar (Depends-on): Depend on wchar, as the first use
31750         of the new module.
31751         * MODULES.html.sh (Extended multibyte and wide character utilities):
31752         New section.
31753
31754 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
31755
31756         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
31757         to a reasonable default for memory allocation.
31758         (xreadlink): Don't allocate a huge buffer, to work around a buggy
31759         file system that reports garbage st_size values for symlinks.
31760         Problem reported by Liyang Hu.
31761
31762 2007-01-11  Simon Josefsson  <simon@josefsson.org>
31763
31764         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
31765         Emacs .#* auto-save files).
31766
31767 2007-01-11  Bruno Haible  <bruno@clisp.org>
31768
31769         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
31770         directory.
31771
31772 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
31773
31774         Use @...@ consistently in lib/wctype_.h.
31775         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
31776         on it being set to 1 or 0.
31777         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
31778         go back to AC_SUBSTing it.
31779         * modules/wctype (Makefile.am): Undo previous change.
31780
31781 2007-01-10  Eric Blake  <ebb9@byu.net>
31782
31783         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
31784         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
31785         * modules/wctype (Makefile.am): Likewise.
31786         Reported by Chris McGuire.
31787
31788 2007-01-10  Jim Meyering  <jim@meyering.net>
31789
31790         fts.c: a small readability/maintainability improvement
31791         * lib/fts.c (fts_read): Make this code slightly more readable and
31792         maintainable by hoisting the "sp->fts_cur = p" assignments to
31793         immediately follow the statements that set P.  Derived from
31794         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
31795
31796 2007-01-10  Eric Blake  <ebb9@byu.net>
31797
31798         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
31799         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
31800         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31801         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31802         Reported by Chris McGuire.
31803
31804 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31805
31806         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
31807         in sed script.
31808
31809 2007-01-09  Bruno Haible  <bruno@clisp.org>
31810
31811         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
31812         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
31813         variables.
31814         (func_module): Use them.
31815
31816 2007-01-09  Bruno Haible  <bruno@clisp.org>
31817
31818         * modules/unistr/base: New file.
31819         * lib/unistr.h: New file.
31820
31821         * modules/unistr/u8-to-u16: New file.
31822         * lib/unistr/u8-to-u16.c: New file.
31823
31824         * modules/unistr/u8-to-u32: New file.
31825         * lib/unistr/u8-to-u32.c: New file.
31826
31827         * modules/unistr/u16-to-u8: New file.
31828         * lib/unistr/u16-to-u8.c: New file.
31829
31830         * modules/unistr/u16-to-u32: New file.
31831         * lib/unistr/u16-to-u32.c: New file.
31832
31833         * modules/unistr/u32-to-u8: New file.
31834         * lib/unistr/u32-to-u8.c: New file.
31835
31836         * modules/unistr/u32-to-u16: New file.
31837         * lib/unistr/u32-to-u16.c: New file.
31838
31839         * modules/unistr/u8-check: New file.
31840         * modules/unistr/u16-check: New file.
31841         * modules/unistr/u32-check: New file.
31842         * lib/unistr/u8-check.c: New file.
31843         * lib/unistr/u16-check.c: New file.
31844         * lib/unistr/u32-check.c: New file.
31845
31846         * modules/unistr/u8-chr: New file.
31847         * modules/unistr/u16-chr: New file.
31848         * modules/unistr/u32-chr: New file.
31849         * lib/unistr/u8-chr.c: New file.
31850         * lib/unistr/u16-chr.c: New file.
31851         * lib/unistr/u32-chr.c: New file.
31852
31853         * modules/unistr/u8-cmp: New file.
31854         * modules/unistr/u16-cmp: New file.
31855         * modules/unistr/u32-cmp: New file.
31856         * lib/unistr/u8-cmp.c: New file.
31857         * lib/unistr/u16-cmp.c: New file.
31858         * lib/unistr/u32-cmp.c: New file.
31859
31860         * modules/unistr/u8-cpy: New file.
31861         * modules/unistr/u16-cpy: New file.
31862         * modules/unistr/u32-cpy: New file.
31863         * lib/unistr/u8-cpy.c: New file.
31864         * lib/unistr/u16-cpy.c: New file.
31865         * lib/unistr/u32-cpy.c: New file.
31866         * lib/unistr/u-cpy.h: New file.
31867
31868         * modules/unistr/u8-cpy-alloc: New file.
31869         * modules/unistr/u16-cpy-alloc: New file.
31870         * modules/unistr/u32-cpy-alloc: New file.
31871         * lib/unistr/u8-cpy-alloc.c: New file.
31872         * lib/unistr/u16-cpy-alloc.c: New file.
31873         * lib/unistr/u32-cpy-alloc.c: New file.
31874         * lib/unistr/u-cpy-alloc.h: New file.
31875
31876         * modules/unistr/u8-endswith: New file.
31877         * modules/unistr/u16-endswith: New file.
31878         * modules/unistr/u32-endswith: New file.
31879         * lib/unistr/u8-endswith.c: New file.
31880         * lib/unistr/u16-endswith.c: New file.
31881         * lib/unistr/u32-endswith.c: New file.
31882         * lib/unistr/u-endswith.h: New file.
31883
31884         * modules/unistr/u8-mblen: New file.
31885         * modules/unistr/u16-mblen: New file.
31886         * modules/unistr/u32-mblen: New file.
31887         * lib/unistr/u8-mblen.c: New file.
31888         * lib/unistr/u16-mblen.c: New file.
31889         * lib/unistr/u32-mblen.c: New file.
31890
31891         * modules/unistr/u8-mbtouc: New file.
31892         * modules/unistr/u16-mbtouc: New file.
31893         * modules/unistr/u32-mbtouc: New file.
31894         * lib/unistr/u8-mbtouc.c: New file.
31895         * lib/unistr/u16-mbtouc.c: New file.
31896         * lib/unistr/u32-mbtouc.c: New file.
31897
31898         * modules/unistr/u8-mbtouc-safe: New file.
31899         * modules/unistr/u16-mbtouc-safe: New file.
31900         * modules/unistr/u32-mbtouc-safe: New file.
31901         * lib/unistr/u8-mbtouc-safe.c: New file.
31902         * lib/unistr/u16-mbtouc-safe.c: New file.
31903         * lib/unistr/u32-mbtouc-safe.c: New file.
31904
31905         * modules/unistr/u8-move: New file.
31906         * modules/unistr/u16-move: New file.
31907         * modules/unistr/u32-move: New file.
31908         * lib/unistr/u8-move.c: New file.
31909         * lib/unistr/u16-move.c: New file.
31910         * lib/unistr/u32-move.c: New file.
31911         * lib/unistr/u-move.h: New file.
31912
31913         * modules/unistr/u8-next: New file.
31914         * modules/unistr/u16-next: New file.
31915         * modules/unistr/u32-next: New file.
31916         * lib/unistr/u8-next.c: New file.
31917         * lib/unistr/u16-next.c: New file.
31918         * lib/unistr/u32-next.c: New file.
31919
31920         * modules/unistr/u8-prev: New file.
31921         * modules/unistr/u16-prev: New file.
31922         * modules/unistr/u32-prev: New file.
31923         * lib/unistr/u8-prev.c: New file.
31924         * lib/unistr/u16-prev.c: New file.
31925         * lib/unistr/u32-prev.c: New file.
31926
31927         * modules/unistr/u8-set: New file.
31928         * modules/unistr/u16-set: New file.
31929         * modules/unistr/u32-set: New file.
31930         * lib/unistr/u8-set.c: New file.
31931         * lib/unistr/u16-set.c: New file.
31932         * lib/unistr/u32-set.c: New file.
31933         * lib/unistr/u-set.h: New file.
31934
31935         * modules/unistr/u8-startswith: New file.
31936         * modules/unistr/u16-startswith: New file.
31937         * modules/unistr/u32-startswith: New file.
31938         * lib/unistr/u8-startswith.c: New file.
31939         * lib/unistr/u16-startswith.c: New file.
31940         * lib/unistr/u32-startswith.c: New file.
31941         * lib/unistr/u-startswith.h: New file.
31942
31943         * modules/unistr/u8-stpcpy: New file.
31944         * modules/unistr/u16-stpcpy: New file.
31945         * modules/unistr/u32-stpcpy: New file.
31946         * lib/unistr/u8-stpcpy.c: New file.
31947         * lib/unistr/u16-stpcpy.c: New file.
31948         * lib/unistr/u32-stpcpy.c: New file.
31949         * lib/unistr/u-stpcpy.h: New file.
31950
31951         * modules/unistr/u8-stpncpy: New file.
31952         * modules/unistr/u16-stpncpy: New file.
31953         * modules/unistr/u32-stpncpy: New file.
31954         * lib/unistr/u8-stpncpy.c: New file.
31955         * lib/unistr/u16-stpncpy.c: New file.
31956         * lib/unistr/u32-stpncpy.c: New file.
31957         * lib/unistr/u-stpncpy.h: New file.
31958
31959         * modules/unistr/u8-strcat: New file.
31960         * modules/unistr/u16-strcat: New file.
31961         * modules/unistr/u32-strcat: New file.
31962         * lib/unistr/u8-strcat.c: New file.
31963         * lib/unistr/u16-strcat.c: New file.
31964         * lib/unistr/u32-strcat.c: New file.
31965         * lib/unistr/u-strcat.h: New file.
31966
31967         * modules/unistr/u8-strchr: New file.
31968         * modules/unistr/u16-strchr: New file.
31969         * modules/unistr/u32-strchr: New file.
31970         * lib/unistr/u8-strchr.c: New file.
31971         * lib/unistr/u16-strchr.c: New file.
31972         * lib/unistr/u32-strchr.c: New file.
31973
31974         * modules/unistr/u8-strcmp: New file.
31975         * modules/unistr/u16-strcmp: New file.
31976         * modules/unistr/u32-strcmp: New file.
31977         * lib/unistr/u8-strcmp.c: New file.
31978         * lib/unistr/u16-strcmp.c: New file.
31979         * lib/unistr/u32-strcmp.c: New file.
31980
31981         * modules/unistr/u8-strcpy: New file.
31982         * modules/unistr/u16-strcpy: New file.
31983         * modules/unistr/u32-strcpy: New file.
31984         * lib/unistr/u8-strcpy.c: New file.
31985         * lib/unistr/u16-strcpy.c: New file.
31986         * lib/unistr/u32-strcpy.c: New file.
31987         * lib/unistr/u-strcpy.h: New file.
31988
31989         * modules/unistr/u8-strcspn: New file.
31990         * modules/unistr/u16-strcspn: New file.
31991         * modules/unistr/u32-strcspn: New file.
31992         * lib/unistr/u8-strcspn.c: New file.
31993         * lib/unistr/u16-strcspn.c: New file.
31994         * lib/unistr/u32-strcspn.c: New file.
31995         * lib/unistr/u-strcspn.h: New file.
31996
31997         * modules/unistr/u8-strdup: New file.
31998         * modules/unistr/u16-strdup: New file.
31999         * modules/unistr/u32-strdup: New file.
32000         * lib/unistr/u8-strdup.c: New file.
32001         * lib/unistr/u16-strdup.c: New file.
32002         * lib/unistr/u32-strdup.c: New file.
32003         * lib/unistr/u-strdup.h: New file.
32004
32005         * modules/unistr/u8-strlen: New file.
32006         * modules/unistr/u16-strlen: New file.
32007         * modules/unistr/u32-strlen: New file.
32008         * lib/unistr/u8-strlen.c: New file.
32009         * lib/unistr/u16-strlen.c: New file.
32010         * lib/unistr/u32-strlen.c: New file.
32011         * lib/unistr/u-strlen.h: New file.
32012
32013         * modules/unistr/u8-strmblen: New file.
32014         * modules/unistr/u16-strmblen: New file.
32015         * modules/unistr/u32-strmblen: New file.
32016         * lib/unistr/u8-strmblen.c: New file.
32017         * lib/unistr/u16-strmblen.c: New file.
32018         * lib/unistr/u32-strmblen.c: New file.
32019
32020         * modules/unistr/u8-strmbtouc: New file.
32021         * modules/unistr/u16-strmbtouc: New file.
32022         * modules/unistr/u32-strmbtouc: New file.
32023         * lib/unistr/u8-strmbtouc.c: New file.
32024         * lib/unistr/u16-strmbtouc.c: New file.
32025         * lib/unistr/u32-strmbtouc.c: New file.
32026
32027         * modules/unistr/u8-strncat: New file.
32028         * modules/unistr/u16-strncat: New file.
32029         * modules/unistr/u32-strncat: New file.
32030         * lib/unistr/u8-strncat.c: New file.
32031         * lib/unistr/u16-strncat.c: New file.
32032         * lib/unistr/u32-strncat.c: New file.
32033         * lib/unistr/u-strncat.h: New file.
32034
32035         * modules/unistr/u8-strncmp: New file.
32036         * modules/unistr/u16-strncmp: New file.
32037         * modules/unistr/u32-strncmp: New file.
32038         * lib/unistr/u8-strncmp.c: New file.
32039         * lib/unistr/u16-strncmp.c: New file.
32040         * lib/unistr/u32-strncmp.c: New file.
32041
32042         * modules/unistr/u8-strncpy: New file.
32043         * modules/unistr/u16-strncpy: New file.
32044         * modules/unistr/u32-strncpy: New file.
32045         * lib/unistr/u8-strncpy.c: New file.
32046         * lib/unistr/u16-strncpy.c: New file.
32047         * lib/unistr/u32-strncpy.c: New file.
32048         * lib/unistr/u-strncpy.h: New file.
32049
32050         * modules/unistr/u8-strnlen: New file.
32051         * modules/unistr/u16-strnlen: New file.
32052         * modules/unistr/u32-strnlen: New file.
32053         * lib/unistr/u8-strnlen.c: New file.
32054         * lib/unistr/u16-strnlen.c: New file.
32055         * lib/unistr/u32-strnlen.c: New file.
32056         * lib/unistr/u-strnlen.h: New file.
32057
32058         * modules/unistr/u8-strpbrk: New file.
32059         * modules/unistr/u16-strpbrk: New file.
32060         * modules/unistr/u32-strpbrk: New file.
32061         * lib/unistr/u8-strpbrk.c: New file.
32062         * lib/unistr/u16-strpbrk.c: New file.
32063         * lib/unistr/u32-strpbrk.c: New file.
32064         * lib/unistr/u-strpbrk.h: New file.
32065
32066         * modules/unistr/u8-strrchr: New file.
32067         * modules/unistr/u16-strrchr: New file.
32068         * modules/unistr/u32-strrchr: New file.
32069         * lib/unistr/u8-strrchr.c: New file.
32070         * lib/unistr/u16-strrchr.c: New file.
32071         * lib/unistr/u32-strrchr.c: New file.
32072
32073         * modules/unistr/u8-strspn: New file.
32074         * modules/unistr/u16-strspn: New file.
32075         * modules/unistr/u32-strspn: New file.
32076         * lib/unistr/u8-strspn.c: New file.
32077         * lib/unistr/u16-strspn.c: New file.
32078         * lib/unistr/u32-strspn.c: New file.
32079         * lib/unistr/u-strspn.h: New file.
32080
32081         * modules/unistr/u8-strstr: New file.
32082         * modules/unistr/u16-strstr: New file.
32083         * modules/unistr/u32-strstr: New file.
32084         * lib/unistr/u8-strstr.c: New file.
32085         * lib/unistr/u16-strstr.c: New file.
32086         * lib/unistr/u32-strstr.c: New file.
32087         * lib/unistr/u-strstr.h: New file.
32088
32089         * modules/unistr/u8-strtok: New file.
32090         * modules/unistr/u16-strtok: New file.
32091         * modules/unistr/u32-strtok: New file.
32092         * lib/unistr/u8-strtok.c: New file.
32093         * lib/unistr/u16-strtok.c: New file.
32094         * lib/unistr/u32-strtok.c: New file.
32095         * lib/unistr/u-strtok.h: New file.
32096
32097         * modules/unistr/u8-uctomb: New file.
32098         * modules/unistr/u16-uctomb: New file.
32099         * modules/unistr/u32-uctomb: New file.
32100         * lib/unistr/u8-uctomb.c: New file.
32101         * lib/unistr/u16-uctomb.c: New file.
32102         * lib/unistr/u32-uctomb.c: New file.
32103
32104         * MODULES.html.sh (Unicode string functions): Add the new modules.
32105
32106 2007-01-08  Bruno Haible  <bruno@clisp.org>
32107
32108         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
32109         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
32110         subdirectories.
32111
32112 2007-01-08  Karl Berry  <karl@gnu.org>
32113
32114         * doc/error.texi: mention that main() fns must set program_name
32115         when progname is used.
32116
32117 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
32118
32119         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
32120         WCTYPE_H is empty, for the benefit of builds from non-distclean
32121         directories.  Problem reported by Eric Blake in
32122         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
32123
32124 2007-01-08  Bruno Haible  <bruno@clisp.org>
32125
32126         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
32127         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
32128         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
32129         PROVIDE_CANONICALIZE_FILENAME_MODE.
32130         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
32131
32132 2007-01-08  Bruno Haible  <bruno@clisp.org>
32133
32134         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
32135         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
32136         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
32137         * lib/fts.c: Likewise.
32138         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
32139
32140 2006-12-25  Bruno Haible  <bruno@clisp.org>
32141
32142         * modules/utf8-ucs4-safe: New file.
32143         * lib/utf8-ucs4-safe.h: New file.
32144         * lib/unistr/utf8-ucs4-safe.c: New file.
32145
32146         * modules/utf16-ucs4-safe: New file.
32147         * lib/utf16-ucs4-safe.h: New file.
32148         * lib/unistr/utf16-ucs4-safe.c: New file.
32149
32150         * MODULES.html.sh (Unicode string functions): Add the new modules.
32151
32152 2007-01-08  Bruno Haible  <bruno@clisp.org>
32153
32154         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
32155         (Depends-on): Add unitypes.
32156         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32157         (u8_mbtouc_aux): Move out to separate file.
32158         (u8_mbtouc): Use ucs4_t, uint8_t types.
32159         * lib/unistr/utf8-ucs4.c: New file.
32160
32161         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
32162         (Depends-on): Add unitypes.
32163         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32164         (u16_mbtouc_aux): Move out to separate file.
32165         (u16_mbtouc): Use ucs4_t, uint16_t types.
32166         * lib/unistr/utf16-ucs4.c: New file.
32167
32168         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
32169         (Depends-on): Add unitypes.
32170         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
32171         (u8_uctomb_aux): Move out to separate file.
32172         (u8_uctomb): Use ucs4_t, uint8_t types.
32173         * lib/unistr/ucs4-utf8.c: New file.
32174
32175         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
32176         (Depends-on): Add unitypes.
32177         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
32178         (u16_uctomb_aux): Move out to separate file.
32179         (u16_uctomb): Use ucs4_t, uint16_t types.
32180         * lib/unistr/ucs4-utf16.c: New file.
32181
32182 2006-12-25  Bruno Haible  <bruno@clisp.org>
32183
32184         * modules/unitypes: New file.
32185         * lib/unitypes.h: New file.
32186         * MODULES.html.sh (func_all_modules): New section "Unicode string
32187         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
32188         this section. Add unitypes.
32189
32190 2007-01-08  Bruno Haible  <bruno@clisp.org>
32191
32192         Avoid variable names that conflict with those from libtool.
32193         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
32194         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
32195         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
32196         library_names_spec to acl_library_names_spec, hardcode_* to
32197         acl_hardcode_*.
32198         Reported by Ralf Wildenhues.
32199
32200 2007-01-08  Bruno Haible  <bruno@clisp.org>
32201
32202         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
32203         definition.
32204         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
32205         definition.
32206         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
32207         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
32208         definition.
32209         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
32210         definition.
32211         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
32212         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
32213         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
32214         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
32215         definition.
32216         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
32217         definition.
32218         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
32219         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
32220         GC_USE_<algorithm>.
32221         * lib/gc-libgcrypt.c: Likewise.
32222         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
32223         * modules/gc-arctwo (configure.ac): Likewise.
32224         * modules/gc-des (configure.ac): Likewise.
32225         * modules/gc-hmac-md5 (configure.ac): Likewise.
32226         * modules/gc-hmac-sha1 (configure.ac): Likewise.
32227         * modules/gc-md2 (configure.ac): Likewise.
32228         * modules/gc-md4 (configure.ac): Likewise.
32229         * modules/gc-md5 (configure.ac): Likewise.
32230         * modules/gc-random (configure.ac): Likewise.
32231         * modules/gc-rijndael (configure.ac): Likewise.
32232         * modules/gc-sha1 (configure.ac): Likewise.
32233
32234 2007-01-08  Bruno Haible  <bruno@clisp.org>
32235
32236         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
32237         macro definition.
32238         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
32239         definition.
32240         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
32241         definition.
32242         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
32243         * modules/fcntl-safer (configure.ac): Likewise.
32244         * modules/fopen-safer (configure.ac): Likewise.
32245         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
32246         GNULIB_FWRITEERROR macro definition.
32247
32248 2007-01-08  Bruno Haible  <bruno@clisp.org>
32249
32250         * m4/gnulib-common.m4: New file.
32251         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
32252         (func_get_filelist): Add m4/gnulib-common.m4.
32253
32254 2007-01-08  Bruno Haible  <bruno@clisp.org>
32255
32256         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
32257         command.
32258
32259 2007-01-08  Jim Meyering  <jim@meyering.net>
32260
32261         Use a more robust test for a "can't happen" condition.
32262         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
32263         narrowed the st_size value.  Presuming the "can't happen" condition
32264         is true, that narrowing could conceivably convert an invalid st_size
32265         value into a valid one.  Instead, use a change based on Matthew
32266         Woehlke's original patch.
32267
32268         Slight readability improvement: use an assert-like macro
32269         in place of literal "abort ()" uses.
32270         * lib/fts.c (fts_assert): Define.
32271         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
32272         Use this macro instead of a bare 'abort'.
32273
32274 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
32275
32276         Don't worry about using IRIX 5.3's wctype.h broken definitions;
32277         simply work around them.
32278         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
32279         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
32280         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
32281         declaring.
32282         Don't bother to define as macros, since the standard doesn't require it.
32283         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
32284         longer worry about IRIX 5.3.
32285         (HAVE_WCTYPE_CTMP_BUG): Remove.
32286
32287 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
32288
32289         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
32290         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
32291         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
32292         Problems reported by Georg Schwarz for IRIX 5.3.
32293
32294         * gnulib-tool (autoconf_minversion): Take the maximum version number
32295         found, not the minimum.  Problem reported by James Youngman.
32296
32297 2007-01-03  Karl Berry  <karl@gnu.org>
32298
32299         * doc/error.texi: new file, explaining interaction with progname.
32300         * doc/gnulib.texi: include it.  Update copyright.
32301
32302 2007-01-03  Simon Josefsson  <simon@josefsson.org>
32303
32304         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
32305         AC_CANONICAL_HOST, to improve autobuild outputs.
32306
32307 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
32308             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
32309
32310         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
32311         sockets, server sockets, and other file descriptors.  Count errors
32312         to compute the return value.  Reorder the code a bit to be easier
32313         to follow.  Don't set event bits that were not requested (except
32314         POLLERR and POLLHUP).
32315
32316 2007-01-01  Bruno Haible  <bruno@clisp.org>
32317
32318         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
32319
32320 2007-01-03  Jim Meyering  <jim@meyering.net>
32321
32322         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
32323
32324 2007-01-02  Bruno Haible  <bruno@clisp.org>
32325
32326         * modules/settime (Include): Require timespec.h.
32327         * modules/nanosleep (Include): Likewise.
32328
32329 2007-01-01  Bruno Haible  <bruno@clisp.org>
32330
32331         * gnulib-tool (func_emit_copyright_notice): Bump year.
32332         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
32333
32334 2007-01-01  Bruno Haible  <bruno@clisp.org>
32335
32336         Improve support for OpenBSD.
32337         * build-aux/config.rpath (libname_spec): Export.
32338         (library_names_spec): New variable. Export.
32339         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
32340         library_names_spec from the config.rpath output. Locate shared library
32341         through the name pattern in library_names_spec.
32342
32343 2007-01-01  Eric Blake  <ebb9@byu.net>
32344
32345         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
32346
32347 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
32348
32349         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
32350         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
32351         assume the C locale, and avoid an "eval" that could cause trouble.
32352         Problem with SORT reported by Bob Proulx.
32353
32354         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
32355         Define.  Trivial patch from Henning Nielsen Lund, originally
32356         sent to bug-grep@gnu.org today.
32357
32358 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
32359
32360         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
32361         struct stat.  Problem reported by Henning Nielsen Lund.
32362         * lib/acl.c: Include acl.h first, to check interface.  Don't
32363         bother to include sys/types.h and sys/stat.h again.
32364
32365 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
32366
32367         Import the following change from libc; problem reported by
32368         Sven Verdoolaege.
32369
32370         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
32371
32372         [BZ #1373]
32373         * lib/argp.h: Remove __NTH for __argp_usage inline function.
32374
32375 2006-12-28  Jim Meyering  <jim@meyering.net>
32376
32377         * build-aux/announce-gen: Do not assume that the package
32378         builds any of tar.gz, tar.bz2, and .xdelta files.
32379         Suggestion from Simon Josefsson.
32380
32381 2006-12-28  Simon Josefsson  <simon@josefsson.org>
32382
32383         * modules/announce-gen: New file.
32384
32385 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
32386
32387         * lib/mbchar.h: Just include <wctype.h>; the wctype module
32388         handles its gotchas now.
32389         * lib/mbswidth.c: Likewise.
32390         * lib/wcwidth.h: Likewise.
32391         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
32392         and iswcntrl; the wctype module does this stuff now.
32393         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32394         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32395         * modules/mbchar (Depends-on): Add wctype.
32396         * modules/mbswidth (Depends-on): Likewise.
32397         * modules/wcwidth (Depends-on): Likewise.
32398
32399 2006-12-27  Eric Blake  <ebb9@byu.net>
32400
32401         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
32402         module uses more than what <wctype.h> is required to provide.
32403
32404 2006-12-26  Eric Blake  <ebb9@byu.net>
32405
32406         * gnulib-tool (sed_extract_prog): Avoid space-tab.
32407
32408 2006-12-26  Eric Blake  <ebb9@byu.net>
32409
32410         * modules/absolute-header: New module.
32411         * modules/fcntl (Depends-on): Depend on it.
32412         * modules/inttypes (Depends-on): Likewise.
32413         * modules/stdint (Depends-on): Likewise.
32414         * modules/sys_stat (Depends-on): Likewise.
32415         * modules/wctype (Depends-on): Likewise.
32416         * MODULES.html.sh (Support for building libraries and
32417         executables): Document it.
32418
32419 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
32420
32421         * gnulib-tool (SED): Remove, undoing previous change.
32422         The problem was that it broke coreutils on Solaris, because
32423         "sed --posix" leaked into a makefile.
32424         (sed): New alias, if 'alias' and GNU sed.
32425
32426 2006-12-24  Jim Meyering  <jim@meyering.net>
32427
32428         Work around an fchownat bug in glibc-2.4:
32429         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
32430         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
32431         in spite of the -P option.
32432         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
32433         New macros.
32434         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
32435         * modules/openat (Files): Add lib/fchownat.c.
32436         * lib/openat.c (fchownat): Don't define here.  Move to...
32437         * lib/fchownat.c: ...this new file.
32438
32439 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
32440
32441         Fix bug reported by Bruno Haible in
32442         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
32443         where quotearg.c didn't compile on Mac OS X 10.2 because it
32444         lacks <wchar.h> and wint_t.
32445         * lib/wctype_.h (__wctype_wint_t): New type.
32446         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
32447         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
32448         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
32449         Arg is now of type __wctype_wint_t, not wint_t.
32450         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
32451         substitute HAVE_WINT_T.
32452         * modules/wctype (Files): Add m4/wint_t.m4.
32453         (wctype.h): Substitute HAVE_WINT_T.
32454
32455 2006-12-23  Bruno Haible  <bruno@clisp.org>
32456
32457         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
32458
32459 2006-12-23  Bruno Haible  <bruno@clisp.org>
32460
32461         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
32462         S_ISLNK.
32463         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
32464         mingw.
32465
32466 2006-12-22  Bruno Haible  <bruno@clisp.org>
32467
32468         * lib/copy-file.c: Include acl.h.
32469         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
32470         Close the file descriptors only after being done with copy_acl.
32471         * modules/copy-file (Depends-on): Add acl.
32472
32473 2006-12-22  Bruno Haible  <bruno@clisp.org>
32474
32475         * gnulib-tool (SED): New variable.
32476         Use $SED instead of sed everywhere.
32477
32478 2006-12-22  Bruno Haible  <bruno@clisp.org>
32479
32480         * modules/no-c++: New file.
32481         * m4/no-c++.m4: New file.
32482         * MODULES.html.sh (Support for building libraries and executables):
32483         Add no-c++.
32484
32485 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
32486
32487         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
32488         Include <limits.h>, and use its INT_MAX to rewrite the
32489         j loop so that it does not overflow 'int'.  Problem reported by
32490         Ralf Wildenhues in
32491         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
32492         Play it safe by shifting left by 1 rather than multiplying by 2,
32493         as GCC is less likely to optimize this away when the value
32494         is signed (when it assumes overflow leads to undefined behavior).
32495         Also, don't assume time_t uses two's complement.
32496
32497 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
32498
32499         * MODULES.html.sh: New module wctype.
32500         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
32501         * lib/fnmatch.c: Don't bother to include <wchar.h> before
32502         <wctype.h>, since the new wctype module should fix this.
32503         * lib/quotearg.c: Include <wctype.h> unconditionally, since
32504         the wctype module should arrange for it.
32505         * lib/regex_internal.h: Likewise.
32506         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
32507         since the wctype module should handle this now.
32508         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
32509         * modules/fnmatch (Depends-on): Add wctype.
32510         * modules/quotearg (Depends-on): Likewise.
32511         * modules/regex (Depends-on): Likewise.
32512
32513 2006-12-19  Bruno Haible  <bruno@clisp.org>
32514
32515         * lib/strdup.h [C++]: Wrap definitions in extern "C".
32516         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
32517
32518 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32519
32520         * modules/savewd (Depends-on): Fix dependency on fcntl.
32521
32522 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32523
32524         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
32525         conforms to C99, rather than relying on the user's environment
32526         setting of STDINT_H.
32527
32528 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32529         and Eric Blake  <ebb9@byu.net>
32530
32531         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
32532         This is more consistent with the other defines here.
32533         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
32534         Port to z/OS.  Problem reported by Paul Gilmartin.
32535         Change local vars to use gl_ prefix rather than ac_.
32536         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
32537         with other defines.
32538         * modules/double-slash-root: New module.
32539         * modules/dirname (Files): Remove m4/double-slash-root.m4.
32540         (Depends-on): Add double-slash-root.
32541         * MODULES.html.sh (File system functions): Mention new module.
32542
32543 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
32544
32545         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
32546         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
32547         This is for the benefit of gzip, which doesn't do i18n.
32548
32549 2006-12-12  Jim Meyering  <jim@meyering.net>
32550
32551         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
32552         Reported by Andreas Schwab <schwab@suse.de>.
32553
32554 2006-12-12  Bruno Haible  <bruno@clisp.org>
32555
32556         Merge these changes.
32557         2006-09-05  Bruno Haible  <bruno@clisp.org>
32558         * lib/iconvme.c (iconv_string): No need to save and restore errno when
32559         iconv_alloc succeeded.
32560         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
32561         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
32562         test for " && dest " at the end - dest is always != NULL there. Call
32563         iconv with 4xNULL arguments initially, to reset the state. Call iconv
32564         with 2xNULL arguments, also to flush the state storage. Handle the
32565         IRIX iconv behaviour. Realloc the final result, to throw away unused
32566         memory.
32567
32568 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
32569
32570         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
32571         and fchmodat unconditionally, since glibc 2.4 has them.
32572         Problem reported by Arkadiusz Miskiewicz.
32573
32574 2006-12-10  Bruno Haible  <bruno@clisp.org>
32575
32576         * gnulib-tool (func_import): Show the include files only for those
32577         modules that are copied and specified.
32578         Reported by Karl Berry.
32579
32580 2006-12-08  Jim Meyering  <jim@meyering.net>
32581
32582         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
32583         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
32584
32585         * build-aux/announce-gen: Add two new options, both optional:
32586         --bootstrap-tools=TOOL_LIST
32587               a comma-separated list of tools, e.g.,
32588               autoconf,automake,bison,gnulib
32589         --gnulib-snapshot-date=DATE
32590               if gnulib is in the bootstrap tool list,
32591               then report this as the snapshot date.
32592               If not specified, use the current date/time.
32593               If you specify a date here, be sure it's UTC.
32594
32595 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32596
32597         * tests/test-argp-2.sh: Fix test to match actual output.
32598         (func_compare): Fix sed script to be portable.
32599
32600 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
32601
32602         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
32603         workaround for this case.  It is not autoconfigured now; offhand
32604         it's hard to see how to autoconfigure it.
32605
32606 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
32607
32608         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
32609         a directory that is about to be chowned.  Such a directory's
32610         initial file permissions should permit the owner only and this
32611         should not be changed until after the chown, since the group and
32612         other bits would be incorrect if they granted permission before
32613         the chown.
32614
32615         Fix porting problem for iswctype reported by Georg Schwarz in:
32616         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
32617         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
32618         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
32619         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
32620         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32621
32622 2006-12-03  Jim Meyering  <jim@meyering.net>
32623
32624         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
32625         p->fts_statp may not yet be defined.
32626         (fts_read): Instead, set it in the caller, once p->fts_statp is
32627         sure to be defined, and corresponds to a top-level directory.
32628         This bug made du -x fail.  Here's the coreutils test case:
32629         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
32630         Reported by Mike Frysinger.
32631
32632 2006-12-01  Jim Meyering  <jim@meyering.net>
32633
32634         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
32635         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
32636         Reported by Simon Josefsson.
32637
32638 2006-11-30  Jim Meyering  <jim@meyering.net>
32639
32640         * m4/warning.m4: Use the all-permissive copyright notice
32641         recommended by RMS (rather than LGPL).
32642         * m4/vararrays.m4: Likewise.
32643         * m4/flexmember.m4: Likewise.
32644
32645 2006-11-29  Bruno Haible  <bruno@clisp.org>
32646
32647         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
32648         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
32649         using +=.
32650         Reported by Simon Josefsson <simon@josefsson.org>.
32651
32652 2006-11-28  James Youngman <jay@gnu.org>
32653
32654         * README: Advise users that they might find the bug-gnulib@gnu.org
32655         and autotools-announce@gnu.org mailing lists useful.
32656
32657 2006-11-28  Bruno Haible  <bruno@clisp.org>
32658
32659         * m4/ptrdiff_max.m4: Remove file.
32660
32661 2006-11-21  Bruno Haible  <bruno@clisp.org>
32662
32663         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
32664         _AC_COMPUTE_INT.
32665         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32666         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
32667         _AC_COMPUTE_INT.
32668         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32669         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
32670         _AC_COMPUTE_INT.
32671         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32672
32673 2006-11-28  Jim Meyering  <jim@meyering.net>
32674
32675         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
32676         warning from "gcc -Wshadow" about shadowing the builtin.
32677
32678 2006-11-27  Bruno Haible  <bruno@clisp.org>
32679
32680         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
32681         _AC_COMPUTE_INT.
32682         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
32683
32684 2006-11-27  Bruno Haible  <bruno@clisp.org>
32685             Paul Eggert  <eggert@cs.ucla.edu>
32686
32687         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
32688
32689 2006-11-26  Bruno Haible  <bruno@clisp.org>
32690
32691         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
32692         noinst_LTLIBRARIES.
32693
32694 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
32695             Bruno Haible  <bruno@clisp.org>
32696
32697         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
32698         if compiling with "gcc -ansi".
32699
32700 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
32701
32702         Fix some incompatibilities with gcc -ansi -pedantic.
32703         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
32704         if compiling pedantically with GCC, unless it's C99 or later.
32705         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
32706         it mishandles gcc -ansi -pedantic as well.
32707         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
32708         if gcc -pedantic.
32709         * lib/regexec.c (check_node_accept_bytes): Don't use auto
32710         initializers for struct if -pedantic, unless it's C99 or later.
32711
32712 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
32713
32714         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
32715         Don't close an fd more than once. Identical atimes indicate
32716         success, not failure.
32717
32718 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
32719
32720         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
32721
32722 2006-11-23  Jim Meyering  <jim@meyering.net>
32723
32724         * build-aux/announce-gen: New file.  From coreutils.
32725
32726 2006-11-22  Jim Meyering  <jim@meyering.net>
32727
32728         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
32729         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
32730         (fts_read): Use a temporary to narrow the overused st_size member
32731         before using it in a switch statement.  Reported by Matthew Woehlke.
32732
32733         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
32734         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
32735
32736 2006-11-20  Bruno Haible  <bruno@clisp.org>
32737
32738         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
32739         changequote instead of pairs of brackets.
32740         Reported by Andreas Schwab <schwab@suse.de>.
32741
32742 2006-11-21  Jim Meyering  <jim@meyering.net>
32743
32744         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
32745         so as to remain compatible with older compilers.
32746         Patch from Michael Deutschmann.
32747
32748 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32749
32750         * MODULES.html.sh (File system functions): Add openat.
32751
32752         * lib/openat.h (rpl_fstatat): New macro, if
32753         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
32754         (fstatat): Define to rpl_fstatat under the same conditions,
32755         unless COMPILING_FSTATAT.
32756         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
32757         seems to have the bug.
32758         * lib/fstatat.c: New file.
32759         * modules/openat (Files): Add it.
32760
32761 2006-11-20  Bruno Haible  <bruno@clisp.org>
32762
32763         * Makefile: New file.
32764
32765 2006-11-20  Jim Meyering  <jim@meyering.net>
32766
32767         The beginnings of syntax-related checks for gnulib.
32768         * lib/Makefile: New file.
32769         * lib/t-idcache: New script.  Ensure that the two halves of
32770         idcache.c stay in sync.
32771
32772         * lib/idcache.c: Adjust comments in user- and group- portions to
32773         be more accurate, and to be consistent with one another.
32774
32775 2006-11-20  Jim Meyering  <jim@meyering.net>
32776
32777         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
32778         continue using the flexible array member (thus, this module performs
32779         half as many malloc calls), with the addition that...
32780         (getgroup, getuser): Consistently record a non-match via an empty
32781         "name" string, and map an empty string match to a NULL return value.
32782         * modules/idcache (Depends-on): Re-add flexmember.
32783
32784         * lib/idcache.c (getuser): Remove all uses of the register keyword.
32785         (getuidbyname, getgroup, getgidbyname): Likewise.
32786
32787         Use cleaner syntax: NULL rather than 0.
32788         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
32789
32790 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
32791
32792         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
32793         It mishandled the case where the group was missing.
32794         Problem reported by Greg Schafer.
32795         * modules/idcache: Likewise.
32796
32797 2006-11-18  Jim Meyering  <jim@meyering.net>
32798
32799         * check-module (%exempt_header): Add exception for some
32800         conditionally-included headers.
32801
32802         * modules/i-ring (Depends-on): Add verify.
32803         (License): Change to LGPL.
32804
32805 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
32806
32807         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
32808         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
32809         and inttostr.h.  Use snprintf rather than uinttostr, so that
32810         LGPLed code doesn't depend on GPLed.
32811
32812 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
32813
32814         * modules/inline (License): Change from GPL to LGPL.
32815
32816 2006-11-17  Jim Meyering  <jim@meyering.net>
32817
32818         * modules/d-type (License): Switch to LGPL.
32819
32820 2006-11-15  Bruno Haible  <bruno@clisp.org>
32821
32822         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
32823
32824 2006-11-15  Eric Blake  <ebb9@byu.net>
32825
32826         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
32827         the module dependency.
32828
32829 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32830             Bruno Haible  <bruno@clisp.org>
32831
32832         * gnulib-tool (func_create_testdir): Add license consistency check.
32833
32834 2006-11-15  Eric Blake  <ebb9@byu.net>
32835
32836         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
32837         random "(cached)" in configure output.
32838
32839 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32840
32841         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
32842         test for conforming inttypes.h is both announced and cached.
32843
32844         * MODULES.html.sh (seen_modules, seen_files): New variables.
32845         (func_module): Rewrite to use a few less gnulib-tool and sed
32846         invocations.  Avoid a couple of quadratic algorithms for ...
32847         (missed_modules, missed_files): ... these, with ...
32848         (func_append, func_tmpdir): ... these new functions, from
32849         gnulib-tool.  Analogously, install traps for cleanup.
32850
32851         * tests/test-gc.c (main): Remove unused variables.
32852         * tests/test-read-file.c: Include stdlib.h, for 'free'.
32853
32854 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
32855
32856         * modules/inttostr (License): Change to LGPL.
32857
32858 2006-11-14  Eric Blake  <ebb9@byu.net>
32859
32860         * modules/tempname (License): Change to LGPL.
32861
32862 2006-11-14  Eric Blake  <ebb9@byu.net>
32863
32864         * doc/functions.texi (Function Portability): *printf functions on
32865         Cygwin now understand all POSIX size specifiers.
32866
32867 2006-11-14  Bruno Haible  <bruno@clisp.org>
32868
32869         * modules/c-ctype (License): Change to LGPL.
32870
32871 2006-11-12  Bruno Haible  <bruno@clisp.org>
32872
32873         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32874         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
32875         for GNOME libraries, for which the include files are installed in
32876         subdirectories of $prefix/include.
32877
32878 2006-11-12  Bruno Haible  <bruno@clisp.org>
32879
32880         * m4/lib-link.m4: Require at least autoconf-2.54.
32881         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
32882         name to underscores for the --with option.
32883
32884 2006-11-13  Bruno Haible  <bruno@clisp.org>
32885
32886         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
32887         the tests directory.
32888         Reported by Ralf Wildenhues.
32889
32890 2006-11-13  Bruno Haible  <bruno@clisp.org>
32891
32892         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
32893         (func_emit_initmacro_end): Undo the override here.
32894         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
32895         Works around the famous automake error in coreutils.
32896
32897 2006-11-13  Eric Blake  <ebb9@byu.net>
32898
32899         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
32900         element, not its node.
32901
32902 2006-11-12  Bruno Haible  <bruno@clisp.org>
32903
32904         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
32905         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
32906
32907 2006-11-12  Bruno Haible  <bruno@clisp.org>
32908
32909         * gnulib-tool: New option --local-symlink.
32910         (func_usage): Document it.
32911         (lsymbolic): New variable.
32912         (func_import, func_create_testdir): If --symlink was not specified,
32913         test whether --local-symlink was specified and the file comes from
32914         the local_gnulib_dir.
32915
32916 2006-11-12  Bruno Haible  <bruno@clisp.org>
32917
32918         * gnulib-tool (func_ln): New function.
32919         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
32920
32921 2006-11-12  Bruno Haible  <bruno@clisp.org>
32922
32923         Finish support for source files in subdirectories.
32924         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
32925         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
32926         AUTOMAKE_OPTIONS.
32927         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
32928
32929 2006-11-12  Bruno Haible  <bruno@clisp.org>
32930
32931         * gnulib-tool (func_get_automake_snippet): Synthesize also an
32932         EXTRA_lib_SOURCES augmentation.
32933         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
32934
32935 2006-11-12  Jim Meyering  <jim@meyering.net>
32936
32937         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
32938         file descriptors.  This also averts a failure on systems with
32939         native openat support when a traversed directory lacks "x" access.
32940         * lib/fts_.h: Include "i-ring.h"
32941         (struct FTS) [fts_fd_ring]: New member.
32942         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
32943         (FCHDIR): Add parentheses.
32944         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
32945         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
32946         When descending, rather than simply closing the previous
32947         fts_cwd_fd value, push that file descriptor onto the ring.
32948         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
32949         (fts_open): Initialize the new fd_ring member.
32950         (fts_close): Clear the ring.
32951         (fts_safe_changedir): When possible, use our new fd_ring to skip
32952         the diropen and fstat and dev/ino comparison that would normally
32953         accompany a virtual `chdir ("..")'.
32954
32955         * modules/fts (Depends-on): Add i-ring.
32956         * modules/i-ring: New module.
32957         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
32958         * m4/i-ring.m4: New file.
32959
32960 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32961
32962         * gnulib-tool (func_create_testdir): Fix replacement of
32963         `build-aux' in configure.ac.  Run autotools in gltests
32964         subdirectory.
32965         (func_create_testdir, func_create_megatestdir, test): There is
32966         no need for '--force' in most autotool invocations in a new
32967         tree.  Actually fail the whole test if any of the tools, or the
32968         configure or make stages fail.
32969
32970         Sync from Automake.
32971         * build-aux/gnupload: Revert last change.  Add pointer to upload
32972         instructions of the GNU Maintenance Instructions.
32973         Suggestion by Karl Berry.
32974
32975 2006-11-10  Jim Meyering  <jim@meyering.net>
32976
32977         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
32978
32979 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
32980
32981         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
32982         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
32983         (bind_textdomain_codeset) [! ENABLE_NLS]:
32984         Evaluate all the arguments.  That way, callers get compatible behavior
32985         if the arguments have side effects.  Also, it avoids some GCC
32986         diagnostics in some cases; Joel E. Denny reported problems when Bison
32987         was configured with --enable-gcc-warnigs.
32988
32989 2006-11-10  Jim Meyering  <jim@meyering.net>
32990
32991         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
32992         relevant options in CFLAGS (like -O, -fno-inline) are taken into
32993         account.
32994
32995 2006-11-10  Jim Meyering  <jim@meyering.net>
32996
32997         * modules/inline: New file/module.
32998         * modules/xalloc (Files): Remove m4/inline.m4.
32999         (Depends-on): Add inline, instead.
33000         * modules/oset: Likewise.
33001         * modules/list: Likewise.
33002
33003 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33004
33005         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
33006         Problem reported by Matthew Woehlke.
33007
33008 2006-11-09  Bruno Haible  <bruno@clisp.org>
33009
33010         * lib/tempname.c (gen_tempname): Remove variant that invokes
33011         __gen_tempname.
33012         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
33013         __gen_tempname.
33014
33015 2006-11-08  Bruno Haible  <bruno@clisp.org>
33016
33017         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
33018         to 'yes' instead of 'cross-compiling'.
33019
33020 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33021
33022         * lib/quotearg.h (quotearg_free): New decl.
33023         * lib/quotearg.c (quotearg_free): New function.
33024         (slot0, nslots, slotvec0, slotvec):
33025         Now file-scope so that quotearg_free can get at them.
33026
33027 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33028
33029         Sync from Automake.
33030         * build-aux/gnupload: Add missing 'gnu' to example URL.
33031         Report by Karl Berry.
33032
33033 2006-11-08  Bruno Haible  <bruno@clisp.org>
33034
33035         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
33036         Suggested by Paul Eggert.
33037
33038 2006-11-08  Jim Meyering  <jim@meyering.net>
33039
33040         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
33041         It's already included if !_LIBC.
33042         (fts_safe_changedir): Add a comment.
33043
33044 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33045
33046         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
33047         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
33048         Matthew Woehlke.
33049
33050         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
33051         definitions up, to avoid colliding with change below.
33052         (static_inline) [HAVE_INLINE]: New macro.
33053         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
33054         Provide extern decls when !HAVE_INLINE.  Do not define unless
33055         static_inline is defined, either by us or by xmalloc.c.  Use
33056         static_inline rather than static inline.
33057         (XCALLOC): Optimize sizeof(T) = 1 case.
33058         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
33059
33060 2006-11-07  Bruno Haible  <bruno@clisp.org>
33061
33062         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
33063         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
33064         AC_C_INLINE.
33065         * modules/xalloc (Files): Add m4/inline.m4.
33066
33067 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33068
33069         * README: Fix typo.
33070         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
33071         (Miscellanous Notes): ...from this.
33072
33073 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33074
33075         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
33076         Mention that offsetof should be used instead of sizeof.
33077         From Bruno Haible.
33078
33079 2006-11-07  Bruno Haible  <bruno@clisp.org>
33080
33081         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
33082
33083 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33084
33085         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33086         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
33087         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33088         (gl_tree_add_before, gl_tree_add_after):
33089         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
33090         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
33091         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33092         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
33093         (gl_linked_add_after, gl_linked_add_at): Likewise.
33094         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
33095         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33096         (gl_tree_add_before, gl_tree_add_after): Likewise.
33097         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
33098         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
33099         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33100
33101 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33102
33103         * lib/gl_oset.h: Use C comment style, not C++ comment style.
33104
33105 2006-11-06  Bruno Haible  <bruno@clisp.org>
33106
33107         * m4/inline.m4: New file.
33108         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
33109         * modules/list (Files): Add m4/inline.m4.
33110         * modules/oset (Files): Likewise.
33111
33112 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33113
33114         * lib/idcache.c: Include <stddef.h>, for offsetof.
33115         (struct userid.name): Change from char * to a flexible array member.
33116         All uses changed.
33117         * modules/idcache (Depends-on): Add flexmember.
33118
33119         * MODULES.html.sh (Core language properties): New module flexmember.
33120         * modules/flexmember, m4/flexmember.m4: New files.
33121
33122         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
33123         inline functions that are identical with the old xnmalloc_inline,
33124         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
33125         that we can avoid some unnecessary integer multiplications and
33126         divisions in the common case where the element size is known at
33127         compile time.
33128         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
33129         needed.
33130         (xnboundedmalloc): Remove.
33131         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
33132         arguments, for consistency with rest of this header.
33133         (xcharalloc): Rewrite using XNMALLOC.
33134         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
33135         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
33136         versions have been moved to lib/xalloc.h and renamed to be the
33137         non-*_inline versions.
33138         (xmalloc, xrealloc): Implement without reference to the xnmalloc
33139         and xnrealloc functions, since those functions are now inline and
33140         now call us.
33141         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
33142         renaming described above.
33143         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
33144         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
33145         captures the dependency in AC_C_INLINE.
33146
33147         New module canonicalize-lgpl, proposed by Charles Wilson in
33148         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
33149         with a few small changes afterwards.
33150         * MODULES.html.sh (File system functions): New module
33151         canonicalize-lgpl.
33152         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
33153         and canonicalize_file_name.
33154         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
33155         * modules/canonicalize-lgpl: New files.
33156
33157 2006-11-05  Bruno Haible  <bruno@clisp.org>
33158
33159         * gnulib-tool (func_import, func_create_testdir): Create directories
33160         also for files in subdirectories of lib/.
33161
33162 2006-11-05  Bruno Haible  <bruno@clisp.org>
33163
33164         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
33165         ANSI C compliant.
33166
33167 2006-11-03  Bruno Haible  <bruno@clisp.org>
33168
33169         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33170         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
33171         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
33172         (xnboundedmalloc): New inline function.
33173         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
33174         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
33175         xmalloc.
33176         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
33177         xmalloc.
33178         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
33179         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
33180         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
33181         xmalloc.
33182         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33183         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
33184         xmalloc.
33185         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
33186         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33187         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
33188         xmalloc.
33189         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33190         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
33191         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33192         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
33193         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
33194         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
33195         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
33196
33197 2006-11-03  Bruno Haible  <bruno@clisp.org>
33198
33199         * lib/c-ctype.h [C++]: Define functions without name mangling.
33200         * lib/fwriteerror.h [C++]: Likewise.
33201         * lib/gcd.h [C++]: Likewise.
33202         * lib/linebreak.h [C++]: Likewise.
33203
33204 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33205
33206         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
33207         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
33208         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
33209         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
33210         Check for functions and headers just once.
33211         Check for declaration of canonicalize_file_name.
33212         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
33213
33214 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33215
33216         * gnulib-tool (func_import): Fix typo in actioncmd.
33217
33218 2006-11-02  Bruno Haible  <bruno@clisp.org>
33219
33220         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
33221         newline sequence in the Makefile.am snippet as a space, like "make"
33222         does.
33223         Reported by Roger Persson <perrog@gmail.com>.
33224
33225 2006-11-01  Bruno Haible  <bruno@clisp.org>
33226
33227         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
33228         already declared in <string.h>.
33229         * lib/strcase.h (strncasecmp): Don't declare it if yes.
33230
33231 2006-11-01  Bruno Haible  <bruno@clisp.org>
33232
33233         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
33234         * lib/strcase.h: Include <string.h>.
33235         (strcasecmp): Define to rpl_strcasecmp here.
33236
33237 2006-11-01  Bruno Haible  <bruno@clisp.org>
33238
33239         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
33240
33241 2006-11-01  Eric Blake  <ebb9@byu.net>
33242
33243         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
33244
33245         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
33246
33247 2006-10-29  Bruno Haible  <bruno@clisp.org>
33248
33249         Make it compile in C++ mode.
33250         * lib/full-write.c (full_rw): Add a cast.
33251
33252 2006-11-01  Bruno Haible  <bruno@clisp.org>
33253
33254         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
33255         be POSIX compliant.
33256         Reported by Roger Persson <perrog@gmail.com>.
33257
33258 2006-11-01  Eric Blake  <ebb9@byu.net>
33259
33260         * lib/getopt_.h: Fix comments.
33261
33262 2006-10-31  Eric Blake  <ebb9@byu.net>
33263
33264         * modules/tmpdir (Depends-on): Add sys_stat.
33265         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
33266         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
33267         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
33268         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
33269         tempname.
33270
33271 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33272
33273         Avoid some C++ diagnostics reported by Bruno Haible.
33274         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
33275         xmalloc.
33276         (quotearg_alloc): Use xcharalloc rather than xmalloc.
33277         (struct slotvec): Move to top level.
33278         (quotearg_n_options): Rewrite to avoid xmalloc.
33279         * lib/xalloc.h (xcharalloc): New function.
33280         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
33281         [defined __cplusplus]: Add function template that provides result
33282         type propagation.  This part of the change is from Bruno Haible.
33283
33284 2006-10-29  Bruno Haible  <bruno@clisp.org>
33285
33286         Make it compile in C++ mode.
33287         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
33288         * lib/strnlen1.c (strnlen1): Cast memchr result.
33289         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
33290         * lib/clean-temp.c (string_equals, string_hash): Add casts.
33291         (create_temp_dir): Rename local variable 'template'.
33292         (compile_csharp_using_sscli): Add cast.
33293         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
33294         * lib/findprog.c (find_in_path): Likewise.
33295         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
33296         * lib/wait-process.c (register_slave_subprocess): Likewise.
33297
33298 2006-10-22  Bruno Haible  <bruno@clisp.org>
33299
33300         * modules/tsearch: New file.
33301         * lib/tsearch.h: New file.
33302         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
33303         * m4/tsearch.m4: New file.
33304         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
33305
33306 2006-10-29  Eric Blake  <ebb9@byu.net>
33307
33308         * lib/arcfour.c: Assume config.h.
33309         * lib/arctwo.c: Likewise.
33310         * lib/base64.c: Likewise.
33311         * lib/check-version.c: Likewise.
33312         * lib/crc.c: Likewise.
33313         * lib/des.c: Likewise.
33314         * lib/gc-gnulib.c: Likewise.
33315         * lib/gc-libgcrypt.c: Likewise.
33316         * lib/gc-pbkdf2-sha1.c: Likewise.
33317         * lib/getaddrinfo.c: Likewise.
33318         * lib/getdelim.c: Likewise.
33319         * lib/getline.c: Likewise.
33320         * lib/hmac-md5.c: Likewise.
33321         * lib/hmac-sha1.c: Likewise.
33322         * lib/iconvme.c: Likewise.
33323         * lib/md2.c: Likewise.
33324         * lib/md4.c: Likewise.
33325         * lib/memxor.c: Likewise.
33326         * lib/read-file.c: Likewise.
33327         * lib/readline.c: Likewise.
33328         * lib/rijndael-alg-fst.c: Likewise.
33329         * lib/rijndael-api-fst.c: Likewise.
33330         * lib/xgetdomainname.c: Likewise.
33331
33332 2006-10-28  Eric Blake  <ebb9@byu.net>
33333
33334         * lib/xstrndup.c: Assume config.h.
33335
33336 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
33337
33338         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
33339         stat-macros.h is now for our own macros, whereas stat_h is for
33340         macros in the <sys/stat.h> name space.
33341         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
33342         (STAT_MACROS_H): Remove.
33343         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
33344         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
33345         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
33346         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
33347         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
33348         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
33349         Move these macros to ...
33350         * lib/stat_.h: here.  Don't include stat-macros.h.
33351         * lib/canonicalize.c: Don't include stat-macros.h.
33352         * lib/chown.c: Likewise.
33353         * lib/euidaccess.c: Likewise.
33354         * lib/file-type.c: Likewise.
33355         * lib/filemode.c: Likewise.
33356         * lib/glob.c: Likewise.
33357         * lib/isapipe.c: Likewise.
33358         * lib/lchown.c: Likewise.
33359         * lib/lstat.c: Likewise.
33360         * lib/mkdir-p.c: Likewise.
33361         * lib/rmdir.c: Likewise.
33362         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
33363         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
33364         unless mkdir isn't declared, to speed up 'configure'.
33365         Always create sys/stat.h, since it's unlikely any real sys/stat.h
33366         would define all the S_* symbols.
33367         * modules/canonicalize (Depends-on):
33368         Depend on sys_stat, not stat-macros.
33369         * modules/chown: Likewise.
33370         * modules/euidaccess: Likewise.
33371         * modules/filemode: Likewise.
33372         * modules/file-type: Likewise.
33373         * modules/glob: Likewise.
33374         * modules/isapipe: Likewise.
33375         * modules/lchown: Likewise.
33376         * modules/lstat: Likewise.
33377         * modules/mkancesdirs: Likewise.
33378         * modules/rmdir: Likewise.
33379         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
33380         * modules/modechange: Likewise.
33381         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
33382         (configure.ac): Remove gl_STAT_MACROS.
33383         * modules/sys_stat (Depends-on): Remove stat-macros.
33384
33385 2006-10-27  Bruno Haible  <bruno@clisp.org>
33386
33387         * m4/signed.m4: Remove file.
33388         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
33389         invocation.
33390         * modules/vasnprintf (Files): Remove m4/signed.m4.
33391
33392 2006-10-27  Bruno Haible  <bruno@clisp.org>
33393
33394         Update to GNU gettext 0.16.
33395         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
33396         m4/inttypes-h.m4, m4/signed.m4.
33397         * m4/gettext.m4: Update to GNU gettext 0.16.
33398         * m4/intl.m4: New file, from GNU gettext.
33399         * m4/intldir.m4: New file, from GNU gettext.
33400         * config/srclist.txt: Update
33401
33402 2006-10-27  Eric Blake  <ebb9@byu.net>
33403
33404         * MODULES.html.sh: Document tempname.
33405         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
33406         dependencies.
33407         (Files): Move lib/tempname.c...
33408         * modules/tempname: ...to this new module.
33409         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
33410         (gl_PREREQ_TEMPNAME): Move...
33411         * m4/tempname.m4: ...to this new file.
33412         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
33413         * modules/sys_stat (Depends-on): Add stat-macros.
33414         * lib/stat_.h (includes): Pick up stat macros.
33415         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
33416         if stat macros are broken.
33417         * lib/tempname.c (includes): No need to include "stat-macros.h".
33418         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
33419         (direxists, __path_search) [!_LIBC]: Don't compile these in
33420         gnulib; the tmpdir module covers that.
33421         * lib/tempname.h: New file.
33422
33423 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
33424
33425         * COPYING: Explain how gnulib-tool converts licence headers.
33426         Almost all wording by Eric Blake.
33427
33428 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
33429
33430         * lib/mbchar.h (is_basic_table): Make read-only.
33431         * lib/mbchar.c (is_basic_table): Likewise.
33432         Reported by John Darrington.
33433
33434 2006-10-25  Bruno Haible  <bruno@clisp.org>
33435
33436         * lib/progname.h (set_program_name): Undefine before defining.
33437
33438 2006-10-25  Bruno Haible  <bruno@clisp.org>
33439
33440         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
33441         false for non-gcc C++ compilers.
33442         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33443
33444 2006-10-24  Bruno Haible  <bruno@clisp.org>
33445
33446         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
33447         iconv implementations like Irix iconv.
33448
33449 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33450
33451         * modules/vararrays: New file.
33452         * m4/vararrays.m4: New file, taken from diffutils.
33453         * MODULES.html.sh: New module vararrays.
33454
33455 2006-10-24  Karl Berry  <karl@gnu.org>
33456
33457         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
33458         Don't call GNU Unix.
33459
33460 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33461
33462         * users.txt: Add Libtool.
33463
33464         Sync from Libtool:
33465
33466         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33467
33468         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
33469         to gnulib's policy of including config.h unconditionally.
33470
33471 2006-10-24  Bruno Haible  <bruno@clisp.org>
33472
33473         * modules/wcwidth (Files): Add m4/wint_t.m4.
33474         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
33475         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
33476
33477 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33478
33479         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
33480         to pacify GCC with some -W flags enabled.  Problem reported by
33481         Bruno Haible.
33482
33483 2006-10-24  Jim Meyering  <jim@meyering.net>
33484
33485         * MODULES.html.sh: Remove uinttostr.  It's not a module.
33486         Reported by Karl Berry.
33487
33488 2006-10-23  Bruno Haible  <bruno@clisp.org>
33489
33490         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
33491
33492 2006-10-24  Bruno Haible  <bruno@clisp.org>
33493
33494         * lib/gl_list.h: Use C comment style, not C++ comment style.
33495
33496 2006-10-23  Eric Blake  <ebb9@byu.net>
33497
33498         * lib/getaddrinfo.c (includes): Add missing include.
33499
33500 2006-10-23  Bruno Haible  <bruno@clisp.org>
33501             Paul Eggert  <eggert@cs.ucla.edu>
33502
33503         Ability to rename obstack_free.
33504         * lib/obstack.h (__obstack_free): New macro. Declare instead of
33505         obstack_free.
33506         (obstack_free): Invoke the __obstack_free macro.
33507         * lib/obstack.c (obstack_free): Use __obstack_free macro.
33508
33509 2006-10-23  Bruno Haible  <bruno@clisp.org>
33510             Paul Eggert  <eggert@cs.ucla.edu>
33511
33512         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
33513         __argc, __argv from the declaration. (They are defined as macros on
33514         mingw.)
33515
33516 2006-10-22  Bruno Haible  <bruno@clisp.org>
33517
33518         * doc/gnulib-intro.texi: New file.
33519         * doc/gnulib.texi: Include it.
33520
33521 2006-10-21  Bruno Haible  <bruno@clisp.org>
33522
33523         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
33524         "Introduction", "Miscellanous Notes", "Particular Modules".
33525
33526 2006-10-21  Bruno Haible  <bruno@clisp.org>
33527
33528         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33529         Change mostlyclean-local rule to avoid sh syntax error from bash
33530         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
33531
33532 2006-10-23  Jim Meyering  <jim@meyering.net>
33533
33534         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
33535         in place of snprintf.
33536
33537         * modules/inttostr (Files): Add lib/uinttostr.c.
33538         * lib/uinttostr.c (inttostr): New file/function.
33539         * lib/inttostr.h (uinttostr): Declare.
33540         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
33541         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
33542         Add uinttostr.
33543         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
33544
33545 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
33546
33547         * lib/canonicalize.c (ELOOP): Define if not already defined.
33548         Problem reported by Bruno Haible in
33549         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
33550
33551 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
33552
33553         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
33554         Problem reported by Perry Smith and Ville Laurikari.
33555
33556         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
33557         uses.
33558
33559 2006-10-19  Bruno Haible  <bruno@clisp.org>
33560
33561         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
33562         for mingw.
33563
33564 2006-10-19  Bruno Haible  <bruno@clisp.org>
33565
33566         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
33567         Needed for mingw.
33568
33569 2006-10-19  Bruno Haible  <bruno@clisp.org>
33570
33571         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
33572
33573 2006-10-19  Bruno Haible  <bruno@clisp.org>
33574
33575         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
33576         it.
33577
33578 2006-10-19  Bruno Haible  <bruno@clisp.org>
33579
33580         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
33581         invocation.
33582
33583 2006-10-19  Bruno Haible  <bruno@clisp.org>
33584
33585         * gnulib-tool (func_create_testdir): Don't include ftruncate and
33586         mountlist by default.
33587
33588 2006-10-16  Bruno Haible  <bruno@clisp.org>
33589
33590         * lib/c-strstr.c: Include c-strstr.h.
33591
33592 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33593
33594         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
33595         in a slash.
33596
33597 2006-10-18  Bruno Haible  <bruno@clisp.org>
33598
33599         * lib/lock.h [C++]: Wrap definitions in extern "C".
33600
33601 2006-10-18  Bruno Haible  <bruno@clisp.org>
33602
33603         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
33604         gl_LIBOBJS list.
33605
33606 2006-10-18  Bruno Haible  <bruno@clisp.org>
33607
33608         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
33609
33610 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
33611
33612         * lib/xstrtol.h: Include gettext.h.
33613         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
33614         Problem reported by Eric Blake.
33615         * modules/xstrtol (Depends-on): Add gettext-h.
33616
33617 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
33618
33619         * lib/strftime.c (advance): New macro.
33620         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
33621         incomplete type, so you can't add 0 to it.  Problem and patch
33622         reported by Eelco Dolstra for dietlibc.
33623
33624 2006-10-18  Jim Meyering  <jim@meyering.net>
33625
33626         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
33627         type for a local, and rename it: s/up/user_proc/.
33628
33629 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
33630
33631         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
33632         READ_UTMP_USER_PROCESS.
33633         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
33634
33635 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
33636
33637         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
33638         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
33639
33640 2006-10-17  Eric Blake  <ebb9@byu.net>
33641
33642         * lib/sigprocmask.c (sigprocmask): Fix typo.
33643
33644         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
33645
33646         * modules/clean-temp (Makefile.am): Don't add to make output...
33647         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
33648         config.h.
33649
33650 2006-10-17  Bruno Haible  <bruno@clisp.org>
33651
33652         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
33653         differently if DEFAULT_TEXT_DOMAIN is set.
33654
33655 2006-10-16  Bruno Haible  <bruno@clisp.org>
33656
33657         * lib/clean-temp.c: Include fwriteerror.h.
33658
33659 2006-10-16  Bruno Haible  <bruno@clisp.org>
33660
33661         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
33662
33663 2006-10-16  Bruno Haible  <bruno@clisp.org>
33664
33665         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
33666         * lib/sigprocmask.h: Include <sys/types.h>.
33667         (sigset_t): Use the system's definition if present.
33668
33669 2006-10-17  Eric Blake  <ebb9@byu.net>
33670
33671         * lib/xvasprintf.c (includes): Assume config.h.
33672         * lib/xasprintf.c (includes): Likewise.
33673
33674 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33675
33676         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
33677         at least as wide as intmax_t.
33678
33679 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
33680
33681         (Imported from Automake.)
33682         * build-aux/gnupload: Update to version 1.1 of directive file.
33683
33684 2006-10-16  Eric Blake  <ebb9@byu.net>
33685
33686         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
33687         match Automake 1.10a.
33688
33689 2006-10-14  Bruno Haible  <bruno@clisp.org>
33690
33691         * modules/sigprocmask: New file.
33692         * lib/sigprocmask.h: New file.
33693         * lib/sigprocmask.c: New file.
33694         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
33695         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
33696         request sigprocmask.o.
33697         (gl_PREREQ_SIGPROCMASK): New macro.
33698         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
33699         (Depends-on): Add sigprocmask.
33700         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
33701         gt_SIGNALBLOCKING. Test for 'raise' only once.
33702         * lib/fatal-signal.c: Include sigprocmask.h.
33703         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
33704         unblock_fatal_signals): Define always.
33705         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33706         sigprocmask.
33707
33708 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
33709
33710         Sync from Automake.
33711         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
33712         which incorrectly sets the mode of an existing destination
33713         directory.  In some cases the unpatched install-sh could do the
33714         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
33715         system.  We hope this is rare in practice, but it's clearly worth
33716         fixing.  Problem reported by Alex Unleashed in
33717         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
33718         Also, don't bother to check for -m bugs unless we're using -m;
33719         suggested by Stepan Kasal.
33720
33721 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33722
33723         Sync from Automake.
33724         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
33725         `-c' flag, so they appear at the same position as in %FASTDEP%
33726         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
33727         which ignores unknown options only after the first non-option.
33728         Bug report against M4 by Nelson H. F. Beebe.
33729
33730 2006-10-13  Jim Meyering  <jim@meyering.net>
33731
33732         Fix a bug in yesterday's change.
33733         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
33734         p->fts_statp->st_dev would be used uninitialized.
33735         Ensures that we always call fts_stat on the very first entry.
33736         Miklos Szeredi reported that find -xdev stopped working.
33737
33738 2006-10-12  Bruno Haible  <bruno@clisp.org>
33739
33740         * gnulib-tool (func_get_automake_snippet): Append an automatically
33741         computed EXTRA_DIST augmentation.
33742         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
33743         * modules/alloca-opt (Makefile.am): Likewise.
33744         * modules/allocsa (Makefile.am): Likewise.
33745         * modules/arcfour (Makefile.am): Likewise.
33746         * modules/arctwo (Makefile.am): Likewise.
33747         * modules/argmatch (Makefile.am): Likewise.
33748         * modules/argz (Makefile.am): Likewise.
33749         * modules/atexit (Makefile.am): Likewise.
33750         * modules/backupfile (Makefile.am): Likewise.
33751         * modules/byteswap (Makefile.am): Likewise.
33752         * modules/c-strtod (Makefile.am): Likewise.
33753         * modules/c-strtold (Makefile.am): Likewise.
33754         * modules/calloc (Makefile.am): Likewise.
33755         * modules/canon-host (Makefile.am): Likewise.
33756         * modules/canonicalize (Makefile.am): Likewise.
33757         * modules/chdir-long (Makefile.am): Likewise.
33758         * modules/chdir-safer (Makefile.am): Likewise.
33759         * modules/check-version (Makefile.am): Likewise.
33760         * modules/chown (Makefile.am): Likewise.
33761         * modules/cloexec (Makefile.am): Likewise.
33762         * modules/close-stream (Makefile.am): Likewise.
33763         * modules/closeout (Makefile.am): Likewise.
33764         * modules/crc (Makefile.am): Likewise.
33765         * modules/csharpexec (Makefile.am): Likewise.
33766         * modules/cycle-check (Makefile.am): Likewise.
33767         * modules/des (Makefile.am): Likewise.
33768         * modules/dev-ino (Makefile.am): Likewise.
33769         * modules/dirfd (Makefile.am): Likewise.
33770         * modules/dirname (Makefile.am): Likewise.
33771         * modules/dup2 (Makefile.am): Likewise.
33772         * modules/eealloc (Makefile.am): Likewise.
33773         * modules/error (Makefile.am): Likewise.
33774         * modules/euidaccess (Makefile.am): Likewise.
33775         * modules/exclude (Makefile.am): Likewise.
33776         * modules/exitfail (Makefile.am): Likewise.
33777         * modules/fcntl-safer (Makefile.am): Likewise.
33778         * modules/fcntl (Makefile.am): Likewise.
33779         * modules/file-type (Makefile.am): Likewise.
33780         * modules/fileblocks (Makefile.am): Likewise.
33781         * modules/filemode (Makefile.am): Likewise.
33782         * modules/filenamecat (Makefile.am): Likewise.
33783         * modules/fnmatch (Makefile.am): Likewise.
33784         * modules/fopen-safer (Makefile.am): Likewise.
33785         * modules/fpending (Makefile.am): Likewise.
33786         * modules/fprintftime (Makefile.am): Likewise.
33787         * modules/free (Makefile.am): Likewise.
33788         * modules/fsusage (Makefile.am): Likewise.
33789         * modules/ftruncate (Makefile.am): Likewise.
33790         * modules/fts (Makefile.am): Likewise.
33791         * modules/gc-arcfour (Makefile.am): Likewise.
33792         * modules/gc-des (Makefile.am): Likewise.
33793         * modules/gc-hmac-md5 (Makefile.am): Likewise.
33794         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
33795         * modules/gc-md4 (Makefile.am): Likewise.
33796         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
33797         * modules/gc-sha1 (Makefile.am): Likewise.
33798         * modules/gc (Makefile.am): Likewise.
33799         * modules/getaddrinfo (Makefile.am): Likewise.
33800         * modules/getcwd (Makefile.am): Likewise.
33801         * modules/getdelim (Makefile.am): Likewise.
33802         * modules/getdomainname (Makefile.am): Likewise.
33803         * modules/getgroups (Makefile.am): Likewise.
33804         * modules/gethostname (Makefile.am): Likewise.
33805         * modules/gethrxtime (Makefile.am): Likewise.
33806         * modules/getline (Makefile.am): Likewise.
33807         * modules/getloadavg (Makefile.am): Likewise.
33808         * modules/getlogin_r (Makefile.am): Likewise.
33809         * modules/getndelim2 (Makefile.am): Likewise.
33810         * modules/getopt (Makefile.am): Likewise.
33811         * modules/getpagesize (Makefile.am): Likewise.
33812         * modules/getpass-gnu (Makefile.am): Likewise.
33813         * modules/getpass (Makefile.am): Likewise.
33814         * modules/getsubopt (Makefile.am): Likewise.
33815         * modules/gettime (Makefile.am): Likewise.
33816         * modules/gettimeofday (Makefile.am): Likewise.
33817         * modules/getugroups (Makefile.am): Likewise.
33818         * modules/getusershell (Makefile.am): Likewise.
33819         * modules/glob (Makefile.am): Likewise.
33820         * modules/group-member (Makefile.am): Likewise.
33821         * modules/hard-locale (Makefile.am): Likewise.
33822         * modules/hash (Makefile.am): Likewise.
33823         * modules/hmac-md5 (Makefile.am): Likewise.
33824         * modules/hmac-sha1 (Makefile.am): Likewise.
33825         * modules/human (Makefile.am): Likewise.
33826         * modules/idcache (Makefile.am): Likewise.
33827         * modules/imaxabs (Makefile.am): Likewise.
33828         * modules/imaxdiv (Makefile.am): Likewise.
33829         * modules/inet_ntop (Makefile.am): Likewise.
33830         * modules/inet_pton (Makefile.am): Likewise.
33831         * modules/intprops (Makefile.am): Likewise.
33832         * modules/inttostr (Makefile.am): Likewise.
33833         * modules/inttypes (Makefile.am): Likewise.
33834         * modules/isapipe (Makefile.am): Likewise.
33835         * modules/javaversion (Makefile.am): Likewise.
33836         * modules/lchmod (Makefile.am): Likewise.
33837         * modules/lchown (Makefile.am): Likewise.
33838         * modules/localcharset (Makefile.am): Likewise.
33839         * modules/long-options (Makefile.am): Likewise.
33840         * modules/lstat (Makefile.am): Likewise.
33841         * modules/malloc (Makefile.am): Likewise.
33842         * modules/mathl (Makefile.am): Likewise.
33843         * modules/mbchar (Makefile.am): Likewise.
33844         * modules/md2 (Makefile.am): Likewise.
33845         * modules/md4 (Makefile.am): Likewise.
33846         * modules/md5 (Makefile.am): Likewise.
33847         * modules/memcasecmp (Makefile.am): Likewise.
33848         * modules/memchr (Makefile.am): Likewise.
33849         * modules/memcmp (Makefile.am): Likewise.
33850         * modules/memcoll (Makefile.am): Likewise.
33851         * modules/memcpy (Makefile.am): Likewise.
33852         * modules/memmem (Makefile.am): Likewise.
33853         * modules/memmove (Makefile.am): Likewise.
33854         * modules/mempcpy (Makefile.am): Likewise.
33855         * modules/memrchr (Makefile.am): Likewise.
33856         * modules/memset (Makefile.am): Likewise.
33857         * modules/memxor (Makefile.am): Likewise.
33858         * modules/mkancesdirs (Makefile.am): Likewise.
33859         * modules/mkdir-p (Makefile.am): Likewise.
33860         * modules/mkdir (Makefile.am): Likewise.
33861         * modules/mkdtemp (Makefile.am): Likewise.
33862         * modules/mkstemp (Makefile.am): Likewise.
33863         * modules/mktime (Makefile.am): Likewise.
33864         * modules/modechange (Makefile.am): Likewise.
33865         * modules/mountlist (Makefile.am): Likewise.
33866         * modules/nanosleep (Makefile.am): Likewise.
33867         * modules/obstack (Makefile.am): Likewise.
33868         * modules/openat (Makefile.am): Likewise.
33869         * modules/pagealign_alloc (Makefile.am): Likewise.
33870         * modules/pathmax (Makefile.am): Likewise.
33871         * modules/physmem (Makefile.am): Likewise.
33872         * modules/poll (Makefile.am): Likewise.
33873         * modules/posixtm (Makefile.am): Likewise.
33874         * modules/posixver (Makefile.am): Likewise.
33875         * modules/putenv (Makefile.am): Likewise.
33876         * modules/quote (Makefile.am): Likewise.
33877         * modules/quotearg (Makefile.am): Likewise.
33878         * modules/raise (Makefile.am): Likewise.
33879         * modules/read-file (Makefile.am): Likewise.
33880         * modules/readline (Makefile.am): Likewise.
33881         * modules/readlink (Makefile.am): Likewise.
33882         * modules/readtokens (Makefile.am): Likewise.
33883         * modules/readutmp (Makefile.am): Likewise.
33884         * modules/realloc (Makefile.am): Likewise.
33885         * modules/regex (Makefile.am): Likewise.
33886         * modules/rename-dest-slash (Makefile.am): Likewise.
33887         * modules/rename (Makefile.am): Likewise.
33888         * modules/rijndael (Makefile.am): Likewise.
33889         * modules/rmdir (Makefile.am): Likewise.
33890         * modules/rpmatch (Makefile.am): Likewise.
33891         * modules/safe-read (Makefile.am): Likewise.
33892         * modules/safe-write (Makefile.am): Likewise.
33893         * modules/same-inode (Makefile.am): Likewise.
33894         * modules/same (Makefile.am): Likewise.
33895         * modules/save-cwd (Makefile.am): Likewise.
33896         * modules/savedir (Makefile.am): Likewise.
33897         * modules/setenv (Makefile.am): Likewise.
33898         * modules/settime (Makefile.am): Likewise.
33899         * modules/sha1 (Makefile.am): Likewise.
33900         * modules/sig2str (Makefile.am): Likewise.
33901         * modules/snprintf (Makefile.am): Likewise.
33902         * modules/stat-macros (Makefile.am): Likewise.
33903         * modules/stat-time (Makefile.am): Likewise.
33904         * modules/stdbool (Makefile.am): Likewise.
33905         * modules/stdint (Makefile.am): Likewise.
33906         * modules/stdlib-safer (Makefile.am): Likewise.
33907         * modules/stpcpy (Makefile.am): Likewise.
33908         * modules/stpncpy (Makefile.am): Likewise.
33909         * modules/strcase (Makefile.am): Likewise.
33910         * modules/strcasestr (Makefile.am): Likewise.
33911         * modules/strchrnul (Makefile.am): Likewise.
33912         * modules/strcspn (Makefile.am): Likewise.
33913         * modules/strdup (Makefile.am): Likewise.
33914         * modules/strerror (Makefile.am): Likewise.
33915         * modules/strftime (Makefile.am): Likewise.
33916         * modules/strndup (Makefile.am): Likewise.
33917         * modules/strnlen (Makefile.am): Likewise.
33918         * modules/strpbrk (Makefile.am): Likewise.
33919         * modules/strsep (Makefile.am): Likewise.
33920         * modules/strstr (Makefile.am): Likewise.
33921         * modules/strtod (Makefile.am): Likewise.
33922         * modules/strtoimax (Makefile.am): Likewise.
33923         * modules/strtok_r (Makefile.am): Likewise.
33924         * modules/strtol (Makefile.am): Likewise.
33925         * modules/strtoll (Makefile.am): Likewise.
33926         * modules/strtoul (Makefile.am): Likewise.
33927         * modules/strtoull (Makefile.am): Likewise.
33928         * modules/strtoumax (Makefile.am): Likewise.
33929         * modules/strverscmp (Makefile.am): Likewise.
33930         * modules/sys_socket (Makefile.am): Likewise.
33931         * modules/sys_stat (Makefile.am): Likewise.
33932         * modules/sysexits (Makefile.am): Likewise.
33933         * modules/time_r (Makefile.am): Likewise.
33934         * modules/timegm (Makefile.am): Likewise.
33935         * modules/timespec (Makefile.am): Likewise.
33936         * modules/tmpfile-safer (Makefile.am): Likewise.
33937         * modules/trim (Makefile.am): Likewise.
33938         * modules/unistd-safer (Makefile.am): Likewise.
33939         * modules/unlinkdir (Makefile.am): Likewise.
33940         * modules/unlocked-io (Makefile.am): Likewise.
33941         * modules/userspec (Makefile.am): Likewise.
33942         * modules/utime (Makefile.am): Likewise.
33943         * modules/utimecmp (Makefile.am): Likewise.
33944         * modules/utimens (Makefile.am): Likewise.
33945         * modules/vasnprintf (Makefile.am): Likewise.
33946         * modules/vasprintf (Makefile.am): Likewise.
33947         * modules/vsnprintf (Makefile.am): Likewise.
33948         * modules/xalloc (Makefile.am): Likewise.
33949         * modules/xgetcwd (Makefile.am): Likewise.
33950         * modules/xnanosleep (Makefile.am): Likewise.
33951         * modules/xreadlink (Makefile.am): Likewise.
33952         * modules/xstrtod (Makefile.am): Likewise.
33953         * modules/xstrtol (Makefile.am): Likewise.
33954         * modules/xstrtold (Makefile.am): Likewise.
33955         * modules/yesno (Makefile.am): Likewise.
33956         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
33957
33958 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33959
33960         * modules/error (Makefile.am): Distribute files through
33961         EXTRA_DIST, not lib_SOURCES.
33962
33963 2006-10-12  Eric Blake  <ebb9@byu.net>
33964
33965         * modules/error (Makefile.am): Distribute files in /lib.
33966         * modules/obstack (Makefile.am): Likewise.
33967
33968 2006-10-12  Bruno Haible  <bruno@clisp.org>
33969
33970         * modules/acl (Makefile.am): Distribute all files in lib/ through
33971         EXTRA_DIST.
33972         * modules/arcfour (Makefile.am): Likewise.
33973         * modules/arctwo (Makefile.am): Likewise.
33974         * modules/argmatch (Makefile.am): Likewise.
33975         * modules/argz (Makefile.am): Likewise.
33976         * modules/atexit (Makefile.am): Likewise.
33977         * modules/backupfile (Makefile.am): Likewise.
33978         * modules/c-strtod (Makefile.am): Likewise.
33979         * modules/c-strtold (Makefile.am): Likewise.
33980         * modules/calloc (Makefile.am): Likewise.
33981         * modules/canon-host (Makefile.am): Likewise.
33982         * modules/canonicalize (Makefile.am): Likewise.
33983         * modules/chdir-long (Makefile.am): Likewise.
33984         * modules/chdir-safer (Makefile.am): Likewise.
33985         * modules/check-version (Makefile.am): Likewise.
33986         * modules/chown (Makefile.am): Likewise.
33987         * modules/cloexec (Makefile.am): Likewise.
33988         * modules/close-stream (Makefile.am): Likewise.
33989         * modules/closeout (Makefile.am): Likewise.
33990         * modules/crc (Makefile.am): Likewise.
33991         * modules/cycle-check (Makefile.am): Likewise.
33992         * modules/des (Makefile.am): Likewise.
33993         * modules/dirfd (Makefile.am): Likewise.
33994         * modules/dirname (Makefile.am): Likewise.
33995         * modules/dup2 (Makefile.am): Likewise.
33996         * modules/euidaccess (Makefile.am): Likewise.
33997         * modules/exclude (Makefile.am): Likewise.
33998         * modules/exitfail (Makefile.am): Likewise.
33999         * modules/fcntl-safer (Makefile.am): Likewise.
34000         * modules/file-type (Makefile.am): Likewise.
34001         * modules/fileblocks (Makefile.am): Likewise.
34002         * modules/filemode (Makefile.am): Likewise.
34003         * modules/filenamecat (Makefile.am): Likewise.
34004         * modules/fnmatch (Makefile.am): Likewise.
34005         * modules/fopen-safer (Makefile.am): Likewise.
34006         * modules/fpending (Makefile.am): Likewise.
34007         * modules/fprintftime (Makefile.am): Likewise.
34008         * modules/free (Makefile.am): Likewise.
34009         * modules/fsusage (Makefile.am): Likewise.
34010         * modules/ftruncate (Makefile.am): Likewise.
34011         * modules/fts (Makefile.am): Likewise.
34012         * modules/gc (Makefile.am): Likewise.
34013         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34014         * modules/getaddrinfo (Makefile.am): Likewise.
34015         * modules/getcwd (Makefile.am): Likewise.
34016         * modules/getdelim (Makefile.am): Likewise.
34017         * modules/getdomainname (Makefile.am): Likewise.
34018         * modules/getgroups (Makefile.am): Likewise.
34019         * modules/gethostname (Makefile.am): Likewise.
34020         * modules/gethrxtime (Makefile.am): Likewise.
34021         * modules/getline (Makefile.am): Likewise.
34022         * modules/getloadavg (Makefile.am): Likewise.
34023         * modules/getlogin_r (Makefile.am): Likewise.
34024         * modules/getopt (Makefile.am): Likewise.
34025         * modules/getpass (Makefile.am): Likewise.
34026         * modules/getpass-gnu (Makefile.am): Likewise.
34027         * modules/getsubopt (Makefile.am): Likewise.
34028         * modules/gettime (Makefile.am): Likewise.
34029         * modules/gettimeofday (Makefile.am): Likewise.
34030         * modules/getugroups (Makefile.am): Likewise.
34031         * modules/getusershell (Makefile.am): Likewise.
34032         * modules/glob (Makefile.am): Likewise.
34033         * modules/group-member (Makefile.am): Likewise.
34034         * modules/hard-locale (Makefile.am): Likewise.
34035         * modules/hash (Makefile.am): Likewise.
34036         * modules/hmac-md5 (Makefile.am): Likewise.
34037         * modules/hmac-sha1 (Makefile.am): Likewise.
34038         * modules/human (Makefile.am): Likewise.
34039         * modules/idcache (Makefile.am): Likewise.
34040         * modules/imaxabs (Makefile.am): Likewise.
34041         * modules/imaxdiv (Makefile.am): Likewise.
34042         * modules/inet_ntop (Makefile.am): Likewise.
34043         * modules/inet_pton (Makefile.am): Likewise.
34044         * modules/inttostr (Makefile.am): Likewise.
34045         * modules/isapipe (Makefile.am): Likewise.
34046         * modules/lchown (Makefile.am): Likewise.
34047         * modules/long-options (Makefile.am): Likewise.
34048         * modules/lstat (Makefile.am): Likewise.
34049         * modules/malloc (Makefile.am): Likewise.
34050         * modules/mathl (Makefile.am): Likewise.
34051         * modules/mbchar (Makefile.am): Likewise.
34052         * modules/md2 (Makefile.am): Likewise.
34053         * modules/md4 (Makefile.am): Likewise.
34054         * modules/md5 (Makefile.am): Likewise.
34055         * modules/memcasecmp (Makefile.am): Likewise.
34056         * modules/memchr (Makefile.am): Likewise.
34057         * modules/memcmp (Makefile.am): Likewise.
34058         * modules/memcoll (Makefile.am): Likewise.
34059         * modules/memcpy (Makefile.am): Likewise.
34060         * modules/memmem (Makefile.am): Likewise.
34061         * modules/memmove (Makefile.am): Likewise.
34062         * modules/mempcpy (Makefile.am): Likewise.
34063         * modules/memrchr (Makefile.am): Likewise.
34064         * modules/memset (Makefile.am): Likewise.
34065         * modules/memxor (Makefile.am): Likewise.
34066         * modules/mkancesdirs (Makefile.am): Likewise.
34067         * modules/mkdir (Makefile.am): Likewise.
34068         * modules/mkdir-p (Makefile.am): Likewise.
34069         * modules/mkdtemp (Makefile.am): Likewise.
34070         * modules/mkstemp (Makefile.am): Likewise.
34071         * modules/mktime (Makefile.am): Likewise.
34072         * modules/modechange (Makefile.am): Likewise.
34073         * modules/mountlist (Makefile.am): Likewise.
34074         * modules/nanosleep (Makefile.am): Likewise.
34075         * modules/openat (Makefile.am): Likewise.
34076         * modules/pagealign_alloc (Makefile.am): Likewise.
34077         * modules/physmem (Makefile.am): Likewise.
34078         * modules/poll (Makefile.am): Likewise.
34079         * modules/posixtm (Makefile.am): Likewise.
34080         * modules/posixver (Makefile.am): Likewise.
34081         * modules/putenv (Makefile.am): Likewise.
34082         * modules/quote (Makefile.am): Likewise.
34083         * modules/quotearg (Makefile.am): Likewise.
34084         * modules/raise (Makefile.am): Likewise.
34085         * modules/read-file (Makefile.am): Likewise.
34086         * modules/readline (Makefile.am): Likewise.
34087         * modules/readlink (Makefile.am): Likewise.
34088         * modules/readtokens (Makefile.am): Likewise.
34089         * modules/readutmp (Makefile.am): Likewise.
34090         * modules/realloc (Makefile.am): Likewise.
34091         * modules/regex (Makefile.am): Likewise.
34092         * modules/rename (Makefile.am): Likewise.
34093         * modules/rename-dest-slash (Makefile.am): Likewise.
34094         * modules/rijndael (Makefile.am): Likewise.
34095         * modules/rmdir (Makefile.am): Likewise.
34096         * modules/rpmatch (Makefile.am): Likewise.
34097         * modules/safe-read (Makefile.am): Likewise.
34098         * modules/safe-write (Makefile.am): Likewise.
34099         * modules/same (Makefile.am): Likewise.
34100         * modules/save-cwd (Makefile.am): Likewise.
34101         * modules/savedir (Makefile.am): Likewise.
34102         * modules/setenv (Makefile.am): Likewise.
34103         * modules/settime (Makefile.am): Likewise.
34104         * modules/sha1 (Makefile.am): Likewise.
34105         * modules/sig2str (Makefile.am): Likewise.
34106         * modules/snprintf (Makefile.am): Likewise.
34107         * modules/stdlib-safer (Makefile.am): Likewise.
34108         * modules/stpcpy (Makefile.am): Likewise.
34109         * modules/stpncpy (Makefile.am): Likewise.
34110         * modules/strcase (Makefile.am): Likewise.
34111         * modules/strcasestr (Makefile.am): Likewise.
34112         * modules/strchrnul (Makefile.am): Likewise.
34113         * modules/strcspn (Makefile.am): Likewise.
34114         * modules/strdup (Makefile.am): Likewise.
34115         * modules/strerror (Makefile.am): Likewise.
34116         * modules/strftime (Makefile.am): Likewise.
34117         * modules/strndup (Makefile.am): Likewise.
34118         * modules/strnlen (Makefile.am): Likewise.
34119         * modules/strpbrk (Makefile.am): Likewise.
34120         * modules/strsep (Makefile.am): Likewise.
34121         * modules/strstr (Makefile.am): Likewise.
34122         * modules/strtod (Makefile.am): Likewise.
34123         * modules/strtoimax (Makefile.am): Likewise.
34124         * modules/strtok_r (Makefile.am): Likewise.
34125         * modules/strtol (Makefile.am): Likewise.
34126         * modules/strtoll (Makefile.am): Likewise.
34127         * modules/strtoul (Makefile.am): Likewise.
34128         * modules/strtoull (Makefile.am): Likewise.
34129         * modules/strtoumax (Makefile.am): Likewise.
34130         * modules/strverscmp (Makefile.am): Likewise.
34131         * modules/time_r (Makefile.am): Likewise.
34132         * modules/timegm (Makefile.am): Likewise.
34133         * modules/tmpfile-safer (Makefile.am): Likewise.
34134         * modules/unistd-safer (Makefile.am): Likewise.
34135         * modules/unlinkdir (Makefile.am): Likewise.
34136         * modules/userspec (Makefile.am): Likewise.
34137         * modules/utime (Makefile.am): Likewise.
34138         * modules/utimecmp (Makefile.am): Likewise.
34139         * modules/utimens (Makefile.am): Likewise.
34140         * modules/vasnprintf (Makefile.am): Likewise.
34141         * modules/vasprintf (Makefile.am): Likewise.
34142         * modules/vsnprintf (Makefile.am): Likewise.
34143         * modules/xalloc (Makefile.am): Likewise.
34144         * modules/xgetcwd (Makefile.am): Likewise.
34145         * modules/xnanosleep (Makefile.am): Likewise.
34146         * modules/xreadlink (Makefile.am): Likewise.
34147         * modules/xstrtod (Makefile.am): Likewise.
34148         * modules/xstrtol (Makefile.am): Likewise.
34149         * modules/xstrtold (Makefile.am): Likewise.
34150         * modules/yesno (Makefile.am): Likewise.
34151
34152 2006-10-12  Jim Meyering  <jim@meyering.net>
34153
34154         * m4/getloadavg.m4: Revert the change below.
34155
34156         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
34157         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
34158         fail with a symlink, which is what coreutils' ./bootstrap now
34159         creates by default.
34160
34161 2006-10-12  Bruno Haible  <bruno@clisp.org>
34162
34163         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
34164         mingw.
34165         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
34166         MSVC and mingw explicitly.
34167
34168 2006-10-11  Simon Josefsson  <jas@extundo.com>
34169             Bruno Haible  <bruno@clisp.org>
34170
34171         Add support for multiple gnulib-tool invocations in the scope of a
34172         single configure.ac file.
34173         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
34174         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
34175         with the same contents as the _LIBADD variable.
34176         (func_emit_initmacro_start, func_emit_initmacro_end,
34177         func_emit_initmacro_done): New functions.
34178         (func_import, func_create_testdir): Invoke them. Allow the identifiers
34179         gl_LIBOBJS and gl_LTLIBOBJS.
34180
34181 2006-10-11  Bruno Haible  <bruno@clisp.org>
34182
34183         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
34184         (func_create_testdir): Don't create po/Makefile.am, don't invoke
34185         autoreconf. Instead, invoke autopoint explicitly but move back the
34186         *.m4 files from gnulib.
34187
34188 2006-10-11  Bruno Haible  <bruno@clisp.org>
34189
34190         * gnulib-tool (func_usage): Make module names after --create-testdir
34191         optional.
34192         (func_create_testdir): If no module was specified, use nearly all
34193         modules.
34194
34195 2006-10-12  Jim Meyering  <jim@meyering.net>
34196
34197         Big performance improvement for fts-based tools that use FTS_NOSTAT.
34198         Avoid spurious inode-mismatch problems on non-POSIX file systems.
34199         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
34200         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
34201         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
34202         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
34203         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
34204         (fts_set_stat_required): New function.
34205         (fts_open): Defer the calls to fts_stat, if possible or requested.
34206         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
34207         into fts_stat itself.
34208         (fts_read): Perform any required (deferred) fts_stat call.
34209         (fts_build): Likewise, for the directory we're about to open and read.
34210         In the readdir loop, carefully decide whether each entry will require
34211         an eventual call to fts_stat, using dirent.d_type info if available.
34212         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
34213         a command line argument into this function.  Update all callers.
34214         Map a return value of FTS_DOT to FTS_D for a command line argument.
34215         * modules/fts (Depends-on): Add d-type.  Alphabetize.
34216         Thanks to Miklos Szeredi for his tenacity and for the initial
34217         bug report about "find" failing on a FUSE-based file system.
34218
34219         * lib/fts.c (fts_open): Use consistent indentation.
34220
34221 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34222
34223         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
34224         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
34225         reported by Jim Meyering.  All uses of cache variables renamed
34226         to match Autoconf's.
34227         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
34228         the other one.
34229
34230         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
34231         Fix misspelling in diagnostic.
34232
34233 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34234
34235         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
34236         defined.  Problem reported by Matthew Woehlke.
34237
34238         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
34239         Add support for Tandem NonStop R series.
34240         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
34241         Use new macro.
34242
34243         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
34244         (has_trailing_slash): Omit size arg; all callers changed.
34245         Omit 'inline', since it doesn't help performance and we'd
34246         need to configure it.
34247         Don't count //, ///, etc. as having a trailing slash.
34248         As a side effect, this removes a C99ism reported by Matthew Woehlke.
34249         (rpl_rename_dest_slash): On failure, use rename's errno rather
34250         than (in some cases) an incorrect or junk errno.
34251         Simplify code by removing need to compute length; this does
34252         cause it to make two passes instead of one over the file name,
34253         but it's worth it.
34254
34255         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
34256         change, since Autoconf's version may no longer be appropriate now
34257         that we are using CVS Autoconf's version.  Add support for Tandem.
34258
34259 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34260             Bruno Haible  <bruno@clisp.org>
34261
34262         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
34263         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
34264         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
34265         gl_AC_TYPE_LONG_LONG.
34266
34267         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
34268         instead of HAVE_LONG_LONG.
34269         * lib/printf-args.c (printf_fetchargs): Likewise.
34270         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
34271         * lib/vasnprintf.c (VASNPRINTF): Likewise.
34272         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
34273         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
34274         gl_AC_TYPE_LONG_LONG.
34275
34276 2006-10-11  Bruno Haible  <bruno@clisp.org>
34277
34278         * m4/longlong.m4: Add comments.
34279         * m4/ulonglong.m4: Likewise.
34280
34281 2006-10-10  Bruno Haible  <bruno@clisp.org>
34282
34283         Make it possible to #define stpcpy, strdup to aliases.
34284         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
34285         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
34286
34287 2006-10-10  Bruno Haible  <bruno@clisp.org>
34288
34289         Make it possible to #define gcd to an alias.
34290         * lib/gcd.c: Include config.h.
34291
34292 2006-10-10  Bruno Haible  <bruno@clisp.org>
34293
34294         Make it possible to #define c_isascii to an alias.
34295         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
34296         defined. Undefine the macros before defining them, to avoid gcc
34297         warnings.
34298         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
34299         define NO_C_CTYPE_MACROS early.
34300
34301 2006-10-10  Bruno Haible  <bruno@clisp.org>
34302
34303         Make it possible to #define set_program_name to an alias.
34304         * lib/progname.c: Don't undefine set_program_name; instead, undefine
34305         ENABLE_RELOCATABLE early.
34306
34307 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34308
34309         Port to Tandem NSK OSS, which has 64-bit signed int but at most
34310         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
34311         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
34312         More generally, don't assume that 64-bit signed int is available
34313         if unsigned int is, and vice versa.
34314         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
34315         unsigned symbols, not on their signed counterparts.
34316         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
34317         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
34318         (UINT64_C, UINTMAX_C):
34319         Likewise.
34320         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
34321         unsigned counterparts.
34322         (Have_long_long, Unsigned): New macros.
34323         (Int): Renamed from INT.
34324         (strtoimax): Use the new macros.
34325         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
34326         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
34327         * modules/inttypes (inttypes.h): Substitute
34328         HAVE_UNSIGNED_LONG_LONG_INT.
34329         * modules/stdint (stdint.h): Likewise.
34330         (Files): Add m4/ulonglong.m4.
34331
34332 2006-10-10  Bruno Haible  <bruno@clisp.org>
34333
34334         Fix a gcc -Wshadow warning.
34335         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
34336         to 'bucket'.
34337         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
34338         gl_linked_indexof_from_to): Likewise.
34339         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
34340         Likewise.
34341         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
34342         Likewise.
34343         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
34344         Reported by Eric Blake.
34345
34346 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34347
34348         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
34349         for NetBSD.  Problem reported by Bruno Haible.
34350
34351 2006-10-09  Jim Meyering  <jim@meyering.net>
34352
34353         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
34354         Patch from Bruno Haible.
34355
34356 2006-10-09  Jim Meyering  <jim@meyering.net>
34357
34358         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
34359         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
34360         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
34361
34362 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34363
34364         Don't include <config.h> twice; this doesn't work in some cases,
34365         e.g., when config.h has "#define intmax_t long long int" and
34366         we include <config.h>, <inttypes.h>, <config.h> in that order.
34367         Problem reported by Matthew Woehlke in:
34368         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
34369         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
34370         * lib/fts-cycle.c: Don't include config.h.
34371         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
34372         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
34373         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
34374         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
34375         inttypes.h.
34376         * lib/xstrtoumax.c: Likewise.
34377         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
34378         __strtol and the like, so that this module is more like its siblings.
34379         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
34380         Remove; no longer needed now that we assume gnulib inttypes.h.
34381
34382 2006-10-08  Bruno Haible  <bruno@clisp.org>
34383
34384         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
34385         option.
34386
34387 2006-10-07  Jim Meyering  <jim@meyering.net>
34388
34389         * modules/inttypes (inttypes.h): Revert what seems to have been
34390         an inadvertent part of today's change: use "|", not "/" in the
34391         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
34392
34393 2006-10-07  Bruno Haible  <bruno@clisp.org>
34394
34395         * modules/sublist: New file.
34396
34397 2006-10-07  Bruno Haible  <bruno@clisp.org>
34398
34399         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
34400         * modules/argz (argz.h): Likewise.
34401         * modules/arpa_inet (arpa/inet.h): Likewise.
34402         * modules/byteswap (byteswap.h): Likewise.
34403         * modules/configmake (configmake.h): Likewise.
34404         * modules/fcntl (fcntl.h): Likewise.
34405         * modules/fnmatch (fnmatch.h): Likewise.
34406         * modules/getopt (getopt.h): Likewise.
34407         * modules/glob (glob.h): Likewise.
34408         * modules/inttypes (inttypes.h): Likewise.
34409         * modules/netinet_in (netinet/in.h): Likewise.
34410         * modules/poll (poll.h): Likewise.
34411         * modules/stdbool (stdbool.h): Likewise.
34412         * modules/stdint (stdint.h): Likewise.
34413         * modules/sys_select (sys/select.h): Likewise.
34414         * modules/sys_socket (sys/socket.h): Likewise.
34415         * modules/sys_stat (sys/stat.h): Likewise.
34416         * modules/sysexits (sysexits.h): Likewise.
34417         * modules/unistd (unistd.h): Likewise.
34418         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34419         Add a "DO NOT EDIT" comment to the generated file.
34420         (func_import): Likewise for gnulib-comp.m4.
34421
34422 2006-10-07  Bruno Haible  <bruno@clisp.org>
34423
34424         * lib/gl_sublist.h: New file.
34425         * lib/gl_sublist.c: New file.
34426
34427 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34428
34429         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
34430         name (relative to the original working directory) and the file
34431         name component (relative to the temporary working directory).  All
34432         callers changed.
34433         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
34434         * lib/mkdir-p.c (make_dir_parents): Likewise.
34435         * lib/mkdir-p.h (make_dir_parents): Likewise.
34436
34437 2006-10-06  Eric Blake  <ebb9@byu.net>
34438
34439         Define several macros for use by the clean-temp module.
34440         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
34441         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
34442         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
34443
34444         * lib/clean-temp.h (close_stream_temp): New declaration.
34445         * lib/clean-temp.c (includes): Pull in headers according to what
34446         other modules are in use.
34447         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
34448
34449 2006-10-06  Bruno Haible  <bruno@clisp.org>
34450
34451         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
34452         instead of fopen, fwriteerror.
34453
34454 2006-10-06  Bruno Haible  <bruno@clisp.org>
34455
34456         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
34457         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
34458         int.
34459         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
34460         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
34461         Return an error indicator.
34462         Suggested by Eric Blake.
34463
34464 2006-10-06  Bruno Haible  <bruno@clisp.org>
34465
34466         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
34467         Reported by Eric Blake.
34468
34469 2006-10-06  Bruno Haible  <bruno@clisp.org>
34470
34471         * modules/closeout (Description): Mention stderr too.
34472
34473 2006-10-06  Bruno Haible  <bruno@clisp.org>
34474         and Paul Eggert  <eggert@cs.ucla.edu>
34475
34476         * lib/closeout.c (close_stdout): Also close stderr.
34477         * lib/closeout.h: Update comment.
34478
34479 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
34480
34481         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
34482         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
34483         * lib/dirchownmod.c: Include lchown.h.
34484         * lib/lchown.c: Don't include files that lchown.h now includes.
34485         Don't declare chown, since lchown.h now does that.
34486         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
34487         (lchown): Define to rpl_chown if lchown is declared but
34488         does not exist.  Declare using a prototype if lchown is not
34489         declared.  Add a copyright notice.
34490         * lib/mkstemp.h: Include <unistd.h>.
34491         * lib/openat.c: Include lchown.h.
34492
34493         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
34494         we now test for that separately.
34495         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
34496         rather than O_NOFOLLOW, when testing whether it's possible to
34497         avoid a race condition reliably.
34498         * lib/savewd.c (savewd_chdir): Likewise.
34499
34500         Remove macros that are no longer needed now that stdint.h is
34501         reliable.
34502         * lib/fsusage.c (UINTMAX_MAX): Remove.
34503         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
34504         * lib/utimecmp.c (SIZE_MAX): Remove.
34505
34506         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
34507
34508         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
34509         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
34510         O_NOATIME works.
34511
34512 2006-10-05  Bruno Haible  <bruno@clisp.org>
34513
34514         * lib/gl_list.h (gl_sortedlist_search_from_to,
34515         gl_sortedlist_indexof_from_to): New declarations.
34516         (gl_list_implementation): New fields sortedlist_search_from_to,
34517         sortedlist_indexof_from_to.
34518         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
34519         inline functions.
34520         * lib/gl_list.c (gl_sortedlist_search_from_to,
34521         gl_sortedlist_indexof_from_to): New functions.
34522         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
34523         function.
34524         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
34525         (gl_array_sortedlist_search_from_to): New function.
34526         (gl_array_list_implementation): Update.
34527         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
34528         function.
34529         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
34530         (gl_carray_sortedlist_search_from_to): New function.
34531         (gl_carray_list_implementation): Update.
34532         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
34533         gl_linked_sortedlist_indexof_from_to): New functions.
34534         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
34535         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
34536         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
34537         gl_tree_sortedlist_indexof_from_to): New functions.
34538         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
34539         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
34540         Update.
34541         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
34542         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
34543         Update.
34544
34545 2006-10-05  Bruno Haible  <bruno@clisp.org>
34546
34547         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
34548         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
34549         (struct gl_list_implementation): Add fields search_from_to,
34550         indexof_from_to. Remove fields search, indexof.
34551         (gl_list_search): Use the search_from_to method.
34552         (gl_list_search_from, gl_list_search_from_to): New functions.
34553         (gl_list_indexof): Use the indexof_from_to method.
34554         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
34555         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
34556         (gl_list_search_from, gl_list_search_from_to): New functions.
34557         (gl_list_indexof): Use the indexof_from_to method.
34558         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
34559         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
34560         gl_array_indexof. Add start_index, end_index arguments.
34561         (gl_array_search_from_to): Renamed from gl_array_search. Add
34562         start_index, end_index arguments.
34563         (gl_array_remove, gl_array_list_implementation): Update.
34564         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
34565         gl_carray_indexof. Add start_index, end_index arguments.
34566         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
34567         start_index, end_index arguments.
34568         (gl_carray_remove, gl_carray_list_implementation): Update.
34569         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
34570         gl_linked_search. Add start_index, end_index arguments.
34571         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
34572         start_index, end_index arguments.
34573         (gl_linked_remove): Update.
34574         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
34575         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
34576         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
34577         field to 'size_t'.
34578         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
34579         gl_tree_search. Add start_index, end_index arguments.
34580         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
34581         start_index, end_index arguments.
34582         (gl_tree_remove): Update.
34583         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
34584         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
34585         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
34586         function.
34587         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
34588         gl_tree_search. Add start_index, end_index arguments.
34589         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
34590         start_index, end_index arguments.
34591         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
34592         Update.
34593         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
34594
34595 2006-10-05  Bruno Haible  <bruno@clisp.org>
34596
34597         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
34598
34599         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
34600         fwriteerror_temp): New declarations.
34601         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
34602         (descriptors): New variable.
34603         (cleanup): First, close the descriptors.
34604         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
34605         fclose_temp, fwriteerror_temp): New functions.
34606
34607 2006-10-04  Jim Meyering  <jim@meyering.net>
34608
34609         * lib/fts.c (fts_open): Tiny comment change.
34610
34611 2006-10-04  Bruno Haible  <bruno@clisp.org>
34612
34613         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
34614         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
34615         gl_LOCK_BODY.
34616         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
34617         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
34618         gl_LOCK_EARLY_BODY.
34619         (gl_LOCK): Require gl_LOCK_BODY.
34620
34621 2006-10-04  Bruno Haible  <bruno@clisp.org>
34622
34623         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
34624         (gl_oset_search_atleast): New declaration.
34625         (struct gl_oset_implementation): Add field 'search_atleast'.
34626         (gl_oset_search_atleast): New inline function.
34627         * lib/gl_oset.c (gl_oset_search_atleast): New function.
34628         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
34629         (gl_array_oset_implementation): Update.
34630         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
34631         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
34632         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
34633
34634 2006-10-04  Bruno Haible  <bruno@clisp.org>
34635
34636         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
34637
34638 2006-10-03  Bruno Haible  <bruno@clisp.org>
34639
34640         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
34641         from gl_avltreehash_list_implementation.
34642
34643 2006-10-03  Bruno Haible  <bruno@clisp.org>
34644
34645         * lib/gl_oset.c (gl_oset_add): Fix return type.
34646
34647 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
34648
34649         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
34650
34651 2006-10-02  Eric Blake  <ebb9@byu.net>
34652
34653         * modules/strnlen (Depends-on): Add extensions.
34654
34655 2006-10-02  Eric Blake  <ebb9@byu.net>
34656
34657         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
34658         definition in 2.60+.
34659
34660 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
34661
34662         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
34663         checks.
34664
34665 2006-10-02  Bruno Haible  <bruno@clisp.org>
34666
34667         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
34668         to the AUTOMAKE_OPTIONS.
34669         Reported by Jim Meyering.
34670
34671 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
34672
34673         Work around bug in Solaris 10 /proc file system:
34674         /proc/self/fd/NNN/.. isn't the parent directory of
34675         the directory whose file descriptor is NNN.  This needs to
34676         be worked around at run time, not compile time, since a
34677         program might be built on Solaris 8, where things work, and
34678         run on Solaris 10.
34679         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
34680         to use the following interface instead:
34681         (OPENAT_BUFFER_SIZE): New macro.
34682         (openat_proc_name): New function.
34683         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
34684         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
34685         Likewise.
34686         * lib/openat-proc.c: New file.
34687         * modules/openat (Files): Add lib/openat-proc.c.
34688         (Depends-on): Add same-inode, stdbool.
34689         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
34690
34691 2006-09-29  Bruno Haible  <bruno@clisp.org>
34692
34693         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
34694         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
34695         argument. Set stdout_closed before testing for ferror, not after.
34696         (fwriteerror, fwriteerror_no_ebadf): New functions.
34697
34698 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34699
34700         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
34701
34702 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
34703
34704         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
34705         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
34706
34707 2006-09-28  Jim Meyering  <jim@meyering.net>
34708
34709         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
34710         Include <unistd.h>.
34711
34712 2006-09-28  Bruno Haible  <bruno@clisp.org>
34713
34714         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
34715         * modules/linkedhash-list (Depends-on): Likewise.
34716         * modules/rbtreehash-list (Depends-on): Likewise.
34717
34718 2006-09-28  Bruno Haible  <bruno@clisp.org>
34719
34720         * lib/strndup.h: Simplify the redefinition of strndup.
34721         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
34722         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
34723
34724 2006-09-28  Bruno Haible  <bruno@clisp.org>
34725
34726         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
34727         * lib/gl_linkedhash_list.c: Likewise.
34728         * lib/gl_rbtreehash_list.c: Likewise.
34729
34730 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
34731
34732         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
34733         getaddrinfo.
34734
34735         * lib/__fpending.h: Don't include <stdio_ext.h> unless
34736         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
34737         it causes <stdio_ext.h> to cause a compile-time error.
34738         Problem reported by Nelson H. F. Beebe.
34739         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
34740         of HAVE_DECL___PENDING.
34741
34742         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
34743         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
34744         declaration.
34745
34746 2006-09-27  Jim Meyering  <jim@meyering.net>
34747
34748         This file could end up with a definition for a function
34749         named __strndup, rather than rpl_strndup on a system with
34750         incomplete weak_alias support.
34751         * lib/strndup.c (strndup): Rename from __strndup.
34752         Remove #defines that used to map __strndup to strndup.
34753         Don't use K&R prototypes.
34754         Remove LIBC-related code, since this file is not sync'd with glibc.
34755         * lib/strndup.h: Revamp, accordingly.
34756         * m4/strndup.m4: Modernize.
34757
34758 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
34759
34760         * modules/savewd (Depends-on): Add 'raise'.
34761         * lib/savewd.c: Include <signal.h>, for 'raise'.
34762
34763 2006-09-26  Jim Meyering  <jim@meyering.net>
34764
34765         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
34766         when we detect Darwin 8.7.0's acl_get_file bug.
34767         Rearrange to perform the new (below) run-test while $LIBS
34768         contains any acl-related library.  Set USE_ACL at the end.
34769         (gl_ACL_GET_FILE): New function.
34770
34771 2006-09-26  Eric Blake  <ebb9@byu.net>
34772
34773         * lib/verror.c: Include <config.h> unconditionally.
34774
34775 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
34776
34777         * modules/clock-time (Maintainer): Add self.
34778         * modules/getlogin_r (Depends-on): Add extensions.
34779
34780 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34781
34782         * modules/clock-time: New module.
34783         * modules/nanosleep (Depends-on): Add clock-time.
34784         * modules/gethrxtime (Depends-on): Likewise.
34785         * modules/gettime (Depends-on): Likewise.
34786         * modules/settime (Depends-on): Likewise.
34787
34788         * modules/fts-lgpl: Depend on openat.
34789         * modules/mkancesdirs: Depend on savewd.
34790         * modules/mkdir-p: Likewise.
34791
34792 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34793
34794         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
34795
34796         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
34797         `gl_have_arbitrary_file_name_length_limit' to
34798         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
34799         actually works between configure runs.
34800
34801 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34802             Bruno Haible  <bruno@clisp.org>
34803
34804         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
34805
34806 2006-09-25  Jim Meyering  <jim@meyering.net>
34807
34808         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
34809         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
34810
34811 2006-09-25  Eric Blake  <ebb9@byu.net>
34812
34813         * gnulib-tool (func_import, func_create_testdir): Fix typos in
34814         exec's in 2006-09-18 patch when shuffling fds.
34815
34816 2006-09-25  Bruno Haible  <bruno@clisp.org>
34817
34818         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
34819         Reported by Jim Meyering.
34820
34821 2006-09-24  Jim Meyering  <jim@meyering.net>
34822
34823         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
34824         compare a pointer against a literal "0".  That caused failures with
34825         at least HP-UX's hpcc.
34826
34827 2006-09-22  Simon Josefsson  <jas@extundo.com>
34828
34829         * modules/gc-sha1:
34830         * modules/gc-md4:
34831         * modules/gc-hmac-sha1:
34832         * modules/gc-hmac-md5:
34833         * modules/gc-des:
34834         * modules/gc-arcfour: Distribute more files.
34835
34836 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34837
34838         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
34839         (gl_linked_iterator_from_to): Initialize struct completely.
34840         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
34841         (gl_tree_iterator_from_to): Likewise
34842         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
34843         * lib/gl_array_list.c [lint] (gl_array_iterator)
34844         (gl_array_iterator_from_to): Likewise.
34845         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
34846         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
34847         (gl_carray_iterator_from_to): Likewise.
34848
34849         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
34850         * lib/md4.c (md4_process_block): Remove unused variable.
34851         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
34852         parentheses for clarity.
34853
34854 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34855
34856         * modules/bison-i18n (Depends-on): Add gettext.
34857
34858 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34859
34860         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
34861         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
34862         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
34863         also add missing comma that caused broken test.
34864         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
34865         stdlib.h, for `abort'.
34866         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
34867         variables.
34868         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
34869         include unistd.h if present, for `rmdir'.
34870         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
34871         variables.
34872         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
34873         in the process include standard headers for prototypes.
34874         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
34875         gets declared on GNU/Linux.
34876         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
34877         unistd.h, for `rmdir'.
34878         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
34879
34880         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
34881         always true.
34882         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
34883
34884         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
34885
34886 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34887
34888         * gnulib-tool (func_version): Create output all at once.  This
34889         may help avoid triggering unnecessary SIGPIPEs, and at any
34890         rate it doesn't hurt.
34891
34892 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34893             Bruno Haible  <bruno@clisp.org>
34894
34895         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
34896         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
34897         * m4/signed.m4 (bh_C_SIGNED): Likewise.
34898
34899         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
34900         (gl_FUNC_VASPRINTF): Invoke it.
34901
34902 2006-09-22  Bruno Haible  <bruno@clisp.org>
34903
34904         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
34905         getloadavg.c as first argument.
34906
34907 2006-09-22  Bruno Haible  <bruno@clisp.org>
34908
34909         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
34910         at the beginning of the gl_INIT macro.
34911         * modules/getloadavg (configure.ac): Pass $gl_source_base to
34912         gl_GETLOADAVG.
34913
34914 2006-09-22  Bruno Haible  <bruno@clisp.org>
34915
34916         * gnulib-tool (func_create_megatestdir): Don't include the config-h
34917         module.
34918         Suggested by Ralf Wildenhues.
34919
34920 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
34921
34922         Import this patch from libc:
34923
34924         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
34925
34926         * lib/regex_internal.c (re_string_reconstruct): Handle
34927         offset < pstr->valid_raw_len && pstr->offsets_needed case.
34928         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
34929         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
34930         re_string_context_at.
34931
34932         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
34933         now requires it.
34934         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
34935         gl_REGEX now does it for us.
34936         (gl_REGEX): Add test taken from
34937         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
34938
34939         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
34940         Check that large offsets work.  Modernize Autoconf usages.
34941         Prefer "yes" to mean a good thing rather than a bad.
34942         Don't put "#define mkstemp" in config.h, as this might interfere
34943         with standard system headers that "#define mkstemp mkstemp64".
34944
34945         * modules/mkstemp (Depends-on): Add extensions, so that
34946         mkstemp is visible on some platforms.
34947         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
34948         (Include): Change to "mkstemp.h" from <stdlib.h>.
34949         (Files): Add mkstemp.h.
34950
34951         * lib/mkstemp.h: New file, since some standard headers
34952         #define mkstemp.
34953         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
34954         Include "mkstemp.h".
34955         Make the _LIBC code resemble glibc original more,
34956         e.g., use K&R style.
34957         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
34958         (mkstemp): Remove, since mkstemp.h does this for us.
34959         * lib/stdlib--.h: Include mkstemp.h.
34960
34961         Import this patch from libc:
34962
34963         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
34964
34965         * lib/tempname.c (__gen_tempname): Change attempts_min
34966         into a macro.  Use preprocessor to decide how to initialize
34967         attempts [Coverity CID 67].
34968
34969 2006-09-20  Bruno Haible  <bruno@clisp.org>
34970
34971         * lib/mkdtemp.c: Import from libc.
34972         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
34973                 * sysdeps/posix/tempname.c (__gen_tempname): Change
34974                 attempts_min into a macro.  Use preprocessor to decide how to
34975                 initialize attempts [Coverity CID 67].
34976         2001-11-27  Paul Eggert  <eggert@twinsun.com>
34977                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
34978                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
34979
34980 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34981
34982         * gnulib-tool (func_exit): New function, to allow to pass the
34983         exit status portably through the trap.  Use everywhere.
34984         (--help, --version): Signal a write error.
34985         (trap): catch SIGPIPE, for write errors.
34986         Exit at the end of the trap, with the correct exit status.
34987
34988 2006-09-19  Karl Berry  <karl@gnu.org>
34989
34990         * doc/gnulib.texi: note about the license texinfo files.
34991
34992 2006-09-19  Eric Blake  <ebb9@byu.net>
34993
34994         * gnulib-tool: Avoid space-tab.
34995
34996 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
34997
34998         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
34999         that prevented coreutils 6.1 from building.  Problem reported
35000         by Petter Reinholdtsen.
35001
35002 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35003
35004         * gnulib-tool (avoidlist): Fix typo that broke options like
35005         --avoid=lock that are used by coreutils bootstrap.
35006
35007 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
35008
35009         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
35010         more systematically.
35011
35012 2006-09-18  Jim Meyering  <jim@meyering.net>
35013
35014         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
35015
35016 2006-09-18  Bruno Haible  <bruno@clisp.org>
35017
35018         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
35019
35020 2006-09-18  Bruno Haible  <bruno@clisp.org>
35021
35022         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
35023         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
35024         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
35025         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
35026         * m4/gettext.m4: Require autoconf >= 2.52.
35027         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
35028         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
35029         of gl_cv_header_inttypes_h.
35030
35031 2006-09-18  Bruno Haible  <bruno@clisp.org>
35032
35033         * lib/javaversion.c: Include configmake.h.
35034
35035 2006-09-18  Bruno Haible  <bruno@clisp.org>
35036
35037         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
35038         avoid that the while loops be executed in a subshell.
35039
35040 2006-09-18  Bruno Haible  <bruno@clisp.org>
35041
35042         * MODULES.html.sh (func_module): Break long lines.
35043         Suggested by Bruce Korb <bkorb@gnu.org>.
35044
35045 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35046
35047         Speed up by a factor of 1.12.
35048         * gnulib-tool (nl): New variable.
35049         (func_import): Rewrite include directive extraction to only read each
35050         directive once.
35051
35052 2006-09-17  Bruno Haible  <bruno@clisp.org>
35053
35054         * modules/javaversion (Makefile.am): Remove DEFS setting.
35055         (Depends-on): Add configmake, for PKGDATADIR definition.
35056
35057 2006-09-17  Bruno Haible  <bruno@clisp.org>
35058
35059         * gnulib-tool (func_create_testdir): Rewrite all files at once.
35060
35061 2006-09-17  Bruno Haible  <bruno@clisp.org>
35062
35063         * gnulib-tool (func_append): New function, stolen from libtool.m4.
35064         (func_modules_transitive_closure, func_modules_add_dummy,
35065         func_modules_to_filelist, func_import, func_create_testdir,
35066         func_create_megatestdir, ...): Use it wherever possible.
35067         Suggested by Ralf Wildenhues.
35068
35069 2006-09-16  Karl Berry  <karl@gnu.org>
35070
35071         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
35072         to avoid sectioning errors.
35073         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
35074         [ifinfo]: blank line after @center-ed titles.
35075         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
35076         Spell FSF address consistently with others.
35077         (These changes approved by rms.)
35078
35079 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35080
35081         Speed up by a factor of 1.61.
35082         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
35083         already checked module names again.
35084
35085 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35086
35087         Speed up by a factor of 1.13.
35088         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
35089         for new_files, and the input to func_add_or_update.
35090
35091 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35092
35093         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
35094         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
35095
35096 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35097
35098         * modules/mkancesdirs (Depends-on): Add fcntl.
35099         * modules/savewd: New file.
35100         * MODULES.html.sh (File system functions): Add savewd.
35101
35102         * modules/configmake (Makefile.am): Add support for the
35103         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
35104
35105 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35106
35107         * m4/savewd.m4: New file.
35108
35109 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35110
35111         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
35112         (dirchownmod): New arg FD.  All callers changed.
35113         Use FD rather than opening the directory ourself, as opening is
35114         now the caller's responsibility.
35115         * lib/dirchownmod.h: Likewise.
35116         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
35117         hosts that require <sys/types.h> before <sys/stat.h>.  Include
35118         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
35119         (test_dir): Remove.
35120         (mkancesdirs): Return length of prefix of FILE that has already
35121         been made, or -2 if there is a child doing the work.  Redo
35122         algorithm so that it is O(N) rather than O(N**2).  Optimize away
35123         ".", and treat ".." specially since it might stray back into
35124         already-created areas.  Use a subprocess if necessary.  New arg
35125         WD; all users changed.  MAKE_DIR function should now return 1
35126         if it creates a directory that is not readable.  Return -2 if
35127         a child process is spun off.
35128         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
35129         Adjust signature to match code.
35130         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
35131         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
35132         all users changed.
35133         * lib/savewd.c, lib/savewd.h: New files.
35134
35135 2006-09-15  Jim Meyering  <jim@meyering.net>
35136
35137         * modules/rename-dest-slash: New module.
35138         * MODULES.html.sh (posix_compat): Add it here.
35139
35140         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
35141
35142 2006-09-15  Jim Meyering  <jim@meyering.net>
35143
35144         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
35145         file.
35146
35147         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
35148
35149 2006-09-15  Jim Meyering  <jim@meyering.net>
35150
35151         * lib/rename-dest-slash.c (has_trailing_slash): Use
35152         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
35153         (rpl_rename_dest_slash): Perform the cheaper trailing slash
35154         test before testing whether SRC is a directory.
35155         Suggestions from Bruno Haible.
35156
35157         Avoid a warning about an unused variable.
35158         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
35159         into the #ifdef block where it's used.
35160
35161         * lib/rename-dest-slash.c: New file.
35162
35163 2006-09-14  Bruno Haible  <bruno@clisp.org>
35164
35165         * lib/allocsa.c: Include <config.h> unconditionally.
35166         * lib/asnprintf.c: Likewise.
35167         * lib/asprintf.c: Likewise.
35168         * lib/c-strcasecmp.c: Likewise.
35169         * lib/c-strcasestr.c: Likewise.
35170         * lib/c-strncasecmp.c: Likewise.
35171         * lib/c-strstr.c: Likewise.
35172         * lib/classpath.c: Likewise.
35173         * lib/clean-temp.c: Likewise.
35174         * lib/concatpath.c: Likewise.
35175         * lib/copy-file.c: Likewise.
35176         * lib/csharpcomp.c: Likewise.
35177         * lib/csharpexec.c: Likewise.
35178         * lib/execute.c: Likewise.
35179         * lib/fatal-signal.c: Likewise.
35180         * lib/findprog.c: Likewise.
35181         * lib/fwriteerror.c: Likewise.
35182         * lib/gl_array_list.c: Likewise.
35183         * lib/gl_array_oset.c: Likewise.
35184         * lib/gl_avltree_list.c: Likewise.
35185         * lib/gl_avltree_oset.c: Likewise.
35186         * lib/gl_avltreehash_list.c: Likewise.
35187         * lib/gl_carray_list.c: Likewise.
35188         * lib/gl_linked_list.c: Likewise.
35189         * lib/gl_linkedhash_list.c: Likewise.
35190         * lib/gl_list.c: Likewise.
35191         * lib/gl_oset.c: Likewise.
35192         * lib/gl_rbtree_list.c: Likewise.
35193         * lib/gl_rbtree_oset.c: Likewise.
35194         * lib/gl_rbtreehash_list.c: Likewise.
35195         * lib/imaxabs.c: Likewise.
35196         * lib/imaxdiv.c: Likewise.
35197         * lib/javacomp.c: Likewise.
35198         * lib/javaexec.c: Likewise.
35199         * lib/javaversion.c: Likewise.
35200         * lib/linebreak.c: Likewise.
35201         * lib/localcharset.c: Likewise.
35202         * lib/lock.c: Likewise.
35203         * lib/mbchar.c: Likewise.
35204         * lib/mbswidth.c: Likewise.
35205         * lib/mkdtemp.c: Likewise.
35206         * lib/pipe.c: Likewise.
35207         * lib/printf-args.c: Likewise.
35208         * lib/printf-parse.c: Likewise.
35209         * lib/progname.c: Likewise.
35210         * lib/progreloc.c: Likewise.
35211         * lib/readlink.c: Likewise.
35212         * lib/sh-quote.c: Likewise.
35213         * lib/stpcpy.c: Likewise.
35214         * lib/stpncpy.c: Likewise.
35215         * lib/strcasecmp.c: Likewise.
35216         * lib/strcasestr.c: Likewise.
35217         * lib/strcspn.c: Likewise.
35218         * lib/striconv.c: Likewise.
35219         * lib/strncasecmp.c: Likewise.
35220         * lib/strnlen1.c: Likewise.
35221         * lib/strstr.c: Likewise.
35222         * lib/strtok_r.c: Likewise.
35223         * lib/tls.c: Likewise.
35224         * lib/tmpdir.c: Likewise.
35225         * lib/unicodeio.c: Likewise.
35226         * lib/unsetenv.c: Likewise.
35227         * lib/vasnprintf.c: Likewise.
35228         * lib/vasprintf.c: Likewise.
35229         * lib/wait-process.c: Likewise.
35230         * lib/xallocsa.c: Likewise.
35231         * lib/xsetenv.c: Likewise.
35232         * lib/xstriconv.c: Likewise.
35233
35234 2006-09-13  Simon Josefsson  <jas@extundo.com>
35235
35236         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
35237         that internally, suggested by Ralf Wildenhues
35238         <Ralf.Wildenhues@gmx.de>.
35239
35240 2006-09-13  Simon Josefsson  <jas@extundo.com>
35241
35242         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
35243         @LIBOBJS@.
35244         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35245
35246 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
35247
35248         * lib/_fpending.c: Include <config.h> unconditionally, since we no
35249         longer worry about uses that don't define HAVE_CONFIG_H.
35250         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
35251         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
35252         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
35253         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
35254         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
35255         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
35256         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
35257         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
35258         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
35259         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
35260         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
35261         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
35262         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
35263         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
35264         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
35265         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
35266         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
35267         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
35268         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
35269         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
35270         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
35271         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
35272         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
35273         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
35274         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
35275         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
35276         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
35277         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
35278         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
35279         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
35280         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
35281         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
35282         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
35283         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
35284         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
35285         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
35286         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
35287         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
35288         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
35289         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
35290         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
35291         Likewise.
35292
35293 2006-09-13  Eric Blake  <ebb9@byu.net>
35294
35295         * lib/getopt.c: Fix typo in last commit.
35296
35297 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35298
35299         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
35300         dgettext.
35301
35302 2006-09-12  Jim Meyering  <jim@meyering.net>
35303
35304         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
35305         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
35306         Reported by Nelson H. F. Beebe.
35307
35308 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
35309
35310         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
35311         program_invocation_name and program_invocation_short_name are
35312         initialized.
35313         * lib/argp-namefrob.h: Move declarations of program_invocation_name
35314         and program_invocation_short_name to argp.h, so they are visible
35315         to user programs.
35316         * lib/argp.h: Likewise
35317
35318 2006-09-10  Bruno Haible  <bruno@clisp.org>
35319
35320         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
35321         m4/inttypes_h.m4, m4/uintmax_t.m4.
35322
35323 2006-09-10  Bruno Haible  <bruno@clisp.org>
35324
35325         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
35326         gl_AC_TYPE_UINTMAX_T.
35327
35328 2006-09-10  Bruno Haible  <bruno@clisp.org>
35329
35330         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
35331
35332 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
35333
35334         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
35335         convention.  Text proposed by Bruno Haible.
35336         (struct argp_option): Document the use of N_() wrappers.
35337
35338         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
35339         '\v', and translate the two parts separately, instead of feeding
35340         the whole string to gettext.  This allows to exclude
35341         '\v' from the strings visible to the translator by writing doc
35342         strings as N_("..") "\v" N_("..").
35343
35344 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
35345
35346         * config/srclist.txt: Undo latest change; the bug was fixed.
35347
35348 2006-09-09  Bruno Haible  <bruno@clisp.org>
35349
35350         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
35351         assignments if building a library without libtool.
35352         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
35353         in func_emit_lib_Makefile_am.
35354         (func_import): When building a static library libfoo.a, arrange to
35355         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
35356         (func_create_testdir): Likewise.
35357         * modules/gc (configure.ac, Makefile.am): If building statically,
35358         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
35359         * modules/iconvme (configure.ac, Makefile.am): Likewise.
35360         * modules/striconv (configure.ac, Makefile.am): Likewise.
35361         Based on a suggestion by Ralf Wildenhues.
35362
35363 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35364
35365         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
35366         Check for unistd.h too, since Autoconf doesn't assume POSIX.
35367         Also:
35368
35369         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35370         Add year_2050_test to catch glibc bug 2821
35371         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
35372
35373         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
35374         Prefer #ifdef to #if.
35375
35376         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
35377         Return from 'main' instead of calling 'exit'.
35378
35379 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35380
35381         * lib/mktime.c (guess_time_tm): Fix bug where mktime
35382         returned the maximum time_t value rather than (time_t) -1.
35383         Problem originally reported by William Bardwell
35384         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
35385
35386         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
35387         Moved to here ...
35388         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
35389         ... from here.
35390
35391 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
35392
35393         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
35394         2821 is fixed.
35395
35396 2006-09-08  Jim Meyering  <jim@meyering.net>
35397
35398         Don't make generated files read-only.  That would bother too many
35399         people.  However, do retain the ability to work when targets are
35400         read-only: remove the destination and temporary files before writing
35401         them (when generated via sed or echo), or by using the -f option for
35402         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
35403         * modules/alloca-opt, modules/argz, modules/arpa_inet:
35404         * modules/byteswap, modules/configmake, modules/fcntl:
35405         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
35406         * modules/localcharset, modules/netinet_in, modules/poll:
35407         * modules/stdbool, modules/stdint, modules/sys_select:
35408         * modules/sys_socket, modules/sys_stat, modules/sysexits:
35409
35410 2006-09-08  Jim Meyering  <jim@meyering.net>
35411
35412         Avoid new build failure on FreeBSD 6.0.
35413         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
35414         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
35415         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
35416
35417 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35418
35419         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
35420
35421 2006-09-07  Jim Meyering  <jim@meyering.net>
35422
35423         Fix global typo in last change: use chmod u-w, not chmod u-x.
35424         Spotted by Paul Eggert and Bruce Korb.
35425         * modules/alloca-opt, modules/argz, modules/arpa_inet:
35426         * modules/byteswap, modules/configmake, modules/fcntl:
35427         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
35428         * modules/localcharset, modules/netinet_in, modules/poll:
35429         * modules/stdbool, modules/stdint, modules/sys_select:
35430         * modules/sys_socket, modules/sys_stat, modules/sysexits:
35431
35432 2006-09-06  Jim Meyering  <jim@meyering.net>
35433
35434         Make generated files be read-only.
35435         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
35436         Ensure that each generated file is now read-only.
35437         * modules/argz: Likewise.
35438         * modules/arpa_inet: Likewise.
35439         * modules/byteswap: Likewise.
35440         * modules/configmake: Likewise.
35441         * modules/fcntl: Likewise.
35442         * modules/fnmatch: Likewise.
35443         * modules/getopt: Likewise.
35444         * modules/glob: Likewise.
35445         * modules/inttypes: Likewise.
35446         * modules/netinet_in: Likewise.
35447         * modules/poll: Likewise.
35448         * modules/stdbool: Likewise.
35449         * modules/stdint: Likewise.
35450         * modules/sys_select: Likewise.
35451         * modules/sys_socket: Likewise.
35452         * modules/sys_stat: Likewise.
35453         * modules/sysexits: Likewise.
35454         * modules/localcharset: Same as above, but continue using temporary
35455         file named "t-$@" (why different?) rather than the "$@-t" used
35456         everywhere else.
35457
35458         * modules/sysexits (Makefile.am): Replace literal occurrences
35459         of "sysexit.h" more readable, and more consistent, "$@".
35460
35461 2006-09-06  Bruno Haible  <bruno@clisp.org>
35462
35463         * modules/striconv: New file.
35464         * modules/xstriconv: New file.
35465         * MODULES.html.sh (Internationalization functions): Add striconv,
35466         xstriconv.
35467
35468 2006-09-06  Bruno Haible  <bruno@clisp.org>
35469
35470         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
35471         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
35472         not using libtool correctly.
35473
35474 2006-09-06  Bruno Haible  <bruno@clisp.org>
35475
35476         * lib/striconv.h: New file.
35477         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
35478         iconvstring.c.
35479         * lib/xstriconv.h: New file.
35480         * lib/xstriconv.c: New file.
35481
35482 2006-09-06  Bruno Haible  <bruno@clisp.org>
35483
35484         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
35485         lib_..._LDFLAGS.
35486
35487 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35488
35489         * lib/argz_.h: Sync from Libtool.
35490
35491         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
35492                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
35493
35494         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
35495
35496 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
35497
35498         * modules/trim: New file.
35499
35500 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
35501
35502         * lib/trim.h: New file.
35503         * lib/trim.c: New file.
35504
35505 2006-09-05  Bruno Haible  <bruno@clisp.org>
35506
35507         * MODULES.html.sh (String handling): Add trim.
35508
35509 2006-09-04  Karl Berry  <karl@gnu.org>
35510
35511         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
35512         until next release.
35513
35514 2006-09-03  Bruno Haible  <bruno@clisp.org>
35515
35516         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
35517         correctly.
35518
35519 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35520
35521         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
35522         not gl_GETLOADAVG.  Omit unneeded semicolons.
35523         Problems reported by Ralf Wildenhues in
35524         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
35525         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
35526         at the end, which is the usual gnulib style.
35527
35528         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
35529         of doing all the work ourselves.
35530         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
35531         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
35532
35533 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35534
35535         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
35536         Problem reported by Ralf Wildenhues in
35537         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
35538
35539         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
35540         HAVE_STRUCT_STATFS_F_FSTYPENAME.
35541
35542 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
35543
35544         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
35545         yesterday's patch by changing test -n to test -z.
35546
35547 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35548
35549         * modules/getloadavg (Files): Add m4/getloadavg.m4.
35550         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
35551         the former is now obsolescent.
35552
35553         * modules/chdir-long (Depends-on): Add fcntl.
35554
35555 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35556
35557         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
35558         obsolescent, and programs should use gnulib instead.
35559         * m4/getloadavg.m4: New file, with contents taken from Autoconf
35560         but with prefixes changed.
35561
35562 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
35563
35564         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
35565         or stdbool.h, because they might not exist while configuring.
35566
35567         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
35568         Don't include unistd.h or limits.h; not needed, since chdir-long.h
35569         does that for us.
35570         (O_DIRECTORY): Remove.
35571
35572 2006-08-31  Eric Blake  <ebb9@byu.net>
35573
35574         * gnulib-tool: Don't let emacs change spaces to TAB.
35575
35576 2006-08-31  Bruno Haible  <bruno@clisp.org>
35577
35578         * gnulib-tool: When calling func_import more than once, do it in a
35579         subshell.
35580         Reported by Eric Blake <ebb9@byu.net>.
35581
35582 2006-08-31  Bruno Haible  <bruno@clisp.org>
35583
35584         * gnulib-tool (nl): Remove variable.
35585         (sed_transform_lib_file): Use more robust test for config-h module.
35586         (func_import): Fix typo in 2006-08-25 patch.
35587
35588 2006-08-31  Bruno Haible  <bruno@clisp.org>
35589
35590         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
35591         specified, augment Makefile.am variables instead of assigning them.
35592
35593 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35594
35595         Work around a bug in both the Linux and SunOS 64-bit kernels:
35596         nanosleep mishandles sleeps for longer than 2**31 seconds.
35597         Problem reported by Frank v Waveren in
35598         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
35599         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
35600         Check for nanosleep bug.
35601         (LIB_NANOSLEEP): Append clock_gettime library if needed.
35602
35603 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35604
35605         Work around a bug in both the Linux and SunOS 64-bit kernels:
35606         nanosleep mishandles sleeps for longer than 2**31 seconds.
35607         Problem reported by Frank v Waveren in
35608         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
35609         * lib/nanosleep.c (BILLION): New constant.
35610         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
35611         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
35612         implementation.
35613
35614 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35615
35616         * modules/nanosleep (Depends-on): Add gettime.
35617
35618 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
35619         and Simon Josefsson  <jas@extundo.com>
35620         and Oskar Liljeblad  <oskar@osk.mine.nu>
35621
35622         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
35623         * gnulib-tool (func_import): New license type 'unmodifiable license
35624         text'.
35625         * modules/fdl: Use it.  Longer description.
35626         * module/gpl, module/lgpl: New files.
35627
35628 2006-08-30  Jim Meyering  <jim@meyering.net>
35629
35630         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
35631         shadowing the parameter.
35632
35633 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35634
35635         Sync from Libtool:
35636
35637         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35638
35639         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
35640         sharing with gnulib.  Report by Eric Blake.
35641
35642 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35643
35644         * modules/isapipe: New file.
35645         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
35646
35647 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35648
35649         * modules/configmake (Makefile.am): Add a comment, and omit
35650         the CONFIGMAKE_ prefix from generated macro names.  Suggested
35651         by Bruno Haible.
35652
35653 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35654
35655         * m4/isapipe.m4: New file.
35656
35657 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
35658
35659         * lib/isapipe.c, lib/isapipe.h: New files.
35660
35661 2006-08-29  Jim Meyering  <jim@meyering.net>
35662
35663         * modules/configmake (Makefile.am): Make configmake.h depend on
35664         Makefile.  Otherwise, a stale configmake.h could hang around.
35665
35666 2006-08-29  Eric Blake  <ebb9@byu.net>
35667
35668         * lib/error.c (error_at_line, print_errno_message): Match libc, after
35669         resolution of upstream bug 3044.
35670
35671 2006-08-29  Bruno Haible  <bruno@clisp.org>
35672
35673         * modules/localcharset (Depends-on): Add configmake.
35674         (Makefile.am): Remove setting of LIBDIR through DEFS.
35675
35676 2006-08-29  Bruno Haible  <bruno@clisp.org>
35677
35678         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
35679         defined.
35680
35681 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35682
35683         * modules/fcntl: New file.
35684         * modules/chdir-safer (Depends-on): Add fcntl.
35685         * modules/fts: Likewise.
35686         * modules/mkdir-p: Likewise.
35687
35688         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
35689         This undoes the most recent change, since we're now addressing the
35690         problem in a different way.
35691
35692         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
35693         into output, since the output might be called Makefile.am even
35694         if $makefile_name is something different.
35695         (func_import): Use $makefile_am rather than
35696         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
35697         empty.
35698
35699         * modules/inttypes (Files): Add m4/inttypes-h.m4.
35700
35701 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35702
35703         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
35704         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
35705         recent change to stdint.m4, since we're now addressing the problem in a
35706         different way.
35707
35708 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35709
35710         * m4/fcntl_h.m4: New file.
35711
35712 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
35713
35714         * lib/fcntl_.h: New file.
35715         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
35716         the fcntl module.
35717         * lib/dirchownmod.c: Likewise.
35718         * lib/fts.c: Likewise.
35719
35720         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
35721         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
35722         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
35723         just before including <inttypes.h>, to avoid circular inclusion.
35724
35725 2006-08-28  Jim Meyering  <jim@meyering.net>
35726
35727         * doc/visibility.texi: Actually read and correct the grammar of the
35728         sentence affected by yesterday's change.
35729
35730 2006-08-28  Eric Blake  <ebb9@byu.net>
35731
35732         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
35733         needs wrapper.
35734
35735 2006-08-28  Eric Blake  <ebb9@byu.net>
35736
35737         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
35738
35739 2006-08-28  Eric Blake  <ebb9@byu.net>
35740
35741         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
35742
35743 2006-08-28  Bruno Haible  <bruno@clisp.org>
35744
35745         * modules/c-strstr: New file, from GNU gettext.
35746         * MODULES.html.sh (String handling): Add c-strstr.
35747
35748 2006-08-28  Bruno Haible  <bruno@clisp.org>
35749
35750         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
35751         macros.
35752         Reported by Eric Blake.
35753
35754 2006-08-28  Bruno Haible  <bruno@clisp.org>
35755
35756         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
35757         (VASNPRINTF): Return a string of length > INT_MAX without failing.
35758         * lib/vasprintf.c: Include errno.h, limits.h.
35759         (EOVERFLOW): New fallback definition.
35760         (vasprintf): Test here whether the string length is > INT_MAX.
35761         * lib/vsnprintf.c: Include errno.h, limits.h.
35762         (EOVERFLOW): New fallback definition.
35763         (vsnprintf): Fix bug when generated string was too long for the buffer.
35764         Test here whether the string length is > INT_MAX.
35765
35766 2006-08-28  Bruno Haible  <bruno@clisp.org>
35767
35768         * lib/inttypes_.h (SCNX*): Remove definitions.
35769         Reported by Eric Blake.
35770
35771 2006-08-28  Bruno Haible  <bruno@clisp.org>
35772
35773         * lib/c-strstr.h: New file, from GNU gettext.
35774         * lib/c-strstr.c: New file, from GNU gettext.
35775
35776 2006-08-28  Bruno Haible  <bruno@clisp.org>
35777
35778         * gnulib-tool: Reorder some statements.
35779
35780 2006-08-28  Bruno Haible  <bruno@clisp.org>
35781
35782         * gnulib-tool: New option --makefile-name.
35783         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
35784         $makefile_name.
35785         (func_import): Write $makefile_name to the cache file, and read it from
35786         there unless explicitly specified. Use $makefile_name as file name
35787         instead of Makefile.am. Adjust the recommendations accordingly.
35788
35789 2006-08-28  Bruno Haible  <bruno@clisp.org>
35790
35791         * gnulib-tool (func_verify_module): Check against misapplying patch.
35792
35793 2006-08-28  Bruno Haible  <bruno@clisp.org>
35794
35795         * gnulib-tool (func_relativize, func_relconcat): New functions.
35796         Give an error if --local-dir is given with --update.
35797         Remove trailing slashes from $local_gnulib_dir.
35798         (func_import): Store the relativized $local_gnulib_dir in
35799         gnulib-cache.m4, and read it from there if not specified explicitly.
35800
35801 2006-08-28  Bruno Haible  <bruno@clisp.org>
35802
35803         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
35804         is the current directory. Respect also $local_gnulib_dir.
35805
35806 2006-08-28  Bruno Haible  <bruno@clisp.org>
35807             Simon Josefsson  <jas@extundo.com>
35808
35809         BeOS portability.
35810         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
35811
35812 2006-08-27  Jim Meyering  <jim@meyering.net>
35813
35814         * doc/visibility.texi: Remove duplicate word: "pointer".
35815
35816 2006-08-26  Bruno Haible  <bruno@clisp.org>
35817
35818         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
35819         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
35820         (Makefile.am): Create inttypes.h from inttypes_.h.
35821         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
35822
35823         * modules/imaxabs: New file.
35824
35825         * modules/imaxdiv: New file.
35826
35827 2006-08-26  Bruno Haible  <bruno@clisp.org>
35828
35829         * m4/inttypes.m4: New file.
35830         * m4/_inttypes_h.m4: Remove file.
35831         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
35832         PRI_MACROS_BROKEN.
35833         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
35834
35835         * m4/imaxabs.m4: New file.
35836
35837         * m4/imaxdiv.m4: New file.
35838
35839 2006-08-26  Bruno Haible  <bruno@clisp.org>
35840
35841         * lib/inttypes_.h: New file.
35842         * lib/inttypes.h: Remove file.
35843         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
35844
35845         * lib/imaxabs.c: New file.
35846
35847         * lib/imaxdiv.c: New file.
35848
35849 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
35850
35851         New config-h module, so that "make" output needn't be cluttered
35852         by -DHAVE_CONFIG_H.
35853         * MODULES.html.sh (Support for building libraries and executables):
35854         Add config-h.
35855         * modules/config-h: New file.
35856         * gnulib-tool (nl, sed_transform_lib_file): New vars.
35857         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
35858         the config-h module is used.
35859
35860         New configmake module, so that "make" output needn't be cluttered
35861         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
35862         * MODULES.html.sh (Support for building libraries and executables):
35863         Add configmake.
35864         * modules/configmake: New file.
35865
35866 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
35867
35868         * m4/config-h.m4: New file.
35869
35870 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
35871
35872         * config/srclist.txt: Add elisp-comp.
35873
35874 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
35875
35876         * MODULES.html.sh (Support for building libraries and executables):
35877         Add elisp-comp.
35878         * build-aux/elisp-comp: New file.
35879         * modules/elisp-comp: New file.
35880
35881 2006-08-24  Bruno Haible  <bruno@clisp.org>
35882
35883         * gnulib-tool (func_create_testdir): Use non-default values of
35884         sourcebase and m4base.
35885
35886 2006-08-24  Bruno Haible  <bruno@clisp.org>
35887
35888         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
35889         HTML structure.
35890
35891 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
35892
35893         * modules/openat (Depends-on): Add lchown.
35894
35895 2006-08-23  Bruno Haible  <bruno@clisp.org>
35896
35897         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
35898         of gl_LOCK_EARLY instead of gl_LOCK.
35899
35900 2006-08-23  Bruno Haible  <bruno@clisp.org>
35901
35902         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
35903         on OSF/1 to no.
35904         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
35905
35906 2006-08-23  Bruno Haible  <bruno@clisp.org>
35907
35908         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
35909         as unusable.
35910
35911         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
35912         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
35913         (gl_LOCK): New macro.
35914
35915 2006-08-22  Simon Josefsson  <jas@extundo.com>
35916
35917         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
35918         to md5 module.
35919
35920 2006-08-22  Simon Josefsson  <jas@extundo.com>
35921
35922         * MODULES.html.sh: Add "Support for maintaining and release
35923         projects".
35924
35925         * build-aux/gnupload: New file, from coreutils.
35926
35927 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
35928
35929         Avoid the need for AC_LIBSOURCES in m4 macros.
35930         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
35931         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
35932         * modules/check-version (EXTRA_DIST): Add check-version.h.
35933         * modules/crc (EXTRA_DIST): Add crc.h.
35934         * modules/des (EXTRA_DIST): Add des.h.
35935         * modules/gc (EXTRA_DIST): Add gc.h.
35936         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
35937         * modules/getline (EXTRA_DIST): Add getline.h.
35938         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
35939         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
35940         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
35941         * modules/md2 (EXTRA_DIST): Add md2.h.
35942         * modules/md4 (EXTRA_DIST): Add md4.h.
35943         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
35944         * modules/read-file (EXTRA_DIST): Add read-file.h.
35945         * modules/readline (EXTRA_DIST): Add readline.h.
35946         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
35947         rijndael-api-fst.h.
35948
35949 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
35950
35951         * m4/rijndael.m4 (gl_ARCFOUR):
35952         * m4/arctwo.m4 (gl_ARCTWO):
35953         * m4/check-version.m4 (gl_CHECK_VERSION):
35954         * m4/crc.m4 (gl_CRC):
35955         * m4/des.m4 (gl_DES):
35956         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
35957         * m4/gc.m4 (gl_GC):
35958         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
35959         * m4/getline.m4 (gl_FUNC_GETLINE):
35960         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
35961         * m4/hmac-md5.m4 (gl_HMAC_MD5):
35962         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
35963         * m4/md2.m4 (gl_MD2):
35964         * m4/md4.m4 (gl_MD4):
35965         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
35966         * m4/read-file.m4 (gl_FUNC_READ_FILE):
35967         * m4/readline.m4 (gl_FUNC_READLINE):
35968         * m4/rijndael.m4 (gl_RIJNDAEL):
35969         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
35970         to get the necessary .h files and whatnot.
35971
35972 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
35973
35974         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
35975         gnulib rather than the other way around.
35976         * config/srclistvars.sh (COREUTILS): Remove.
35977
35978 2006-08-22  Jim Meyering  <jim@meyering.net>
35979
35980         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
35981
35982         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
35983
35984 2006-08-22  Eric Blake  <ebb9@byu.net>
35985
35986         * modules/regexprops-generic: New file.
35987         * MODULES.html.sh (Support for building documentation): List it.
35988
35989 2006-08-22  Eric Blake  <ebb9@byu.net>
35990
35991         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
35992         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
35993         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
35994         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
35995
35996 2006-08-22  Bruno Haible  <bruno@clisp.org>
35997
35998         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
35999         and lib_LTLIBRARIES like the other lib_* variables.
36000
36001 2006-08-22  Bruno Haible  <bruno@clisp.org>
36002
36003         * build-aux/x-to-1.in: New file, from GNU gettext.
36004
36005 2006-08-22  Bruno Haible  <bruno@clisp.org>
36006
36007         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
36008         <utmpx.h> exists.
36009
36010 2006-08-22  Bruno Haible  <bruno@clisp.org>
36011
36012         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
36013         <utmpx.h> exists.
36014
36015 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36016
36017         BeOS portability.
36018         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
36019         exist.
36020         Problem reported by Bruno Haible.
36021
36022 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36023
36024         Avoid the need for AC_LIBSOURCES in m4 macros.
36025         * modules/acl (EXTRA_DIST): Add acl.h.
36026         * modules/argmatch (Files): Add m4/argmatch.m4.
36027         (configure.ac): Add gl_ARGMATCH.
36028         (EXTRA_DIST): Renamed from lib_SOURCES, for
36029         consistency with the other modules.  Remove argmatch.c.
36030         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
36031         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
36032         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
36033         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
36034         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
36035         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
36036         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
36037         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
36038         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
36039         * modules/closeout (EXTRA_DIST): Add closeout.h.
36040         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
36041         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
36042         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
36043         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
36044         dirname.h; remove basename.c and stripslash.c.
36045         * modules/exclude (EXTRA_DIST): Add exclude.h.
36046         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
36047         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
36048         * modules/file-type (EXTRA_DIST): Add file-type.h.
36049         * modules/filemode (EXTRA_DIST): Add filemode.h.
36050         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
36051         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36052         * modules/fpending (EXTRA_DIST): Add __fpending.h.
36053         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
36054         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
36055         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
36056         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
36057         * modules/getdate (EXTRA_DIST): Add getdate.c.
36058         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
36059         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
36060         * modules/getpass (EXTRA_DIST): Add getpass.h.
36061         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
36062         * modules/group-member (EXTRA_DIST): Add group-member.h.
36063         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
36064         * modules/hash (EXTRA_DIST): Add hash.h.
36065         * modules/human (EXTRA_DIST): Add human.h.
36066         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
36067         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
36068         * modules/lchown (EXTRA_DIST): Add lchown.h.
36069         * modules/long-options (EXTRA_DIST): Add long-options.h.
36070         * modules/lstat (EXTRA_DIST): Add lstat.h.
36071         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
36072         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
36073         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
36074         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
36075         * modules/memxor (EXTRA_DIST): Add memxor.h.
36076         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
36077         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
36078         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
36079         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
36080         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
36081         * modules/physmem (EXTRA_DIST): Add physmem.h.
36082         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
36083         * modules/posixver (EXTRA_DIST): Add posixver.h.
36084         * modules/quote (EXTRA_DIST): Add quote.h.
36085         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
36086         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
36087         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
36088         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
36089         regex_internal.h regexec.c.
36090         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
36091         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
36092         * modules/same (EXTRA_DIST): Add same.h.
36093         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
36094         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
36095         * modules/savedir (EXTRA_DIST): Add savedir.h.
36096         * modules/sha1 (EXTRA_DIST): Add sha1.h.
36097         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
36098         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
36099         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
36100         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
36101         * modules/strdup (EXTRA_DIST): Add strdup.h.
36102         * modules/strftime (EXTRA_DIST): Add strftime.h.
36103         * modules/strndup (EXTRA_DIST): Add strndup.h.
36104         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
36105         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
36106         * modules/time_r (EXTRA_DIST): Add time_r.h.
36107         * modules/timespec (EXTRA_DIST): Add timespec.h.
36108         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36109         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
36110         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
36111         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
36112         * modules/userspec (EXTRA_DIST): Add userspec.h.
36113         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
36114         * modules/utimens (EXTRA_DIST): Add utimens.h.
36115         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
36116         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
36117         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
36118         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
36119         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
36120         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
36121         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
36122         * modules/yesno (EXTRA_DIST): Add yesno.h.
36123
36124 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36125
36126         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
36127
36128         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
36129         * m4/dev-ino.m4, same-inode.m4: Remove.
36130
36131         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
36132         * m4/acl.m4 (AC_FUNC_ACL):
36133         * m4/backupfile.m4 (gl_BACKUPFILE):
36134         * m4/c-strtod.m4 (gl_C99_STRTOLD):
36135         * m4/canon-host.m4 (gl_CANON_HOST):
36136         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36137         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
36138         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
36139         * m4/cloexec.m4 (gl_CLOEXEC):
36140         * m4/close-stream.m4 (gl_CLOSE_STREAM):
36141         * m4/closeout.m4 (gl_CLOSEOUT):
36142         * m4/dirfd.m4 (gl_FUNC_DIRFD):
36143         * m4/dirname.m4 (gl_DIRNAME):
36144         * m4/exclude.m4 (gl_EXCLUDE):
36145         * m4/exitfail.m4 (gl_EXITFAIL):
36146         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
36147         * m4/file-type.m4 (gl_FILE_TYPE):
36148         * m4/filemode.m4 (gl_FILEMODE):
36149         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
36150         * m4/fpending.m4 (gl_FUNC_FPENDING):
36151         * m4/fprintftime.m4 (gl_FPRINTFTIME):
36152         * m4/fts.m4 (gl_FUNC_FTS):
36153         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
36154         * m4/getdate.m4 (gl_GETDATE):
36155         * m4/gethrxtime.m4 (gl_GETHRXTIME):
36156         * m4/getpagesize.m4 (gl_GETPAGESIZE):
36157         * m4/getpass.m4 (gl_FUNC_GETPASS):
36158         * m4/gettime.m4 (gl_GETTIME):
36159         * m4/getugroups.m4 (gl_GETUGROUPS):
36160         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
36161         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
36162         * m4/hard-locale.m4 (gl_HARD_LOCALE):
36163         * m4/hash.m4 (gl_HASH):
36164         * m4/idcache.m4 (gl_IDCACHE):
36165         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
36166         * m4/lchown.m4 (gl_FUNC_LCHOWN):
36167         * m4/long-options.m4 (gl_LONG_OPTIONS):
36168         * m4/lstat.m4 (gl_FUNC_LSTAT):
36169         * m4/md5.m4 (gl_MD5):
36170         * m4/memcasecmp.m4 (gl_MEMCASECMP):
36171         * m4/memcoll.m4 (gl_MEMCOLL):
36172         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
36173         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
36174         * m4/memxor.m4 (gl_MEMXOR):
36175         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
36176         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
36177         * m4/modechange.m4 (gl_MODECHANGE):
36178         * m4/mountlist.m4 (gl_MOUNTLIST):
36179         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36180         * m4/openat.m4 (gl_FUNC_OPENAT):
36181         * m4/pathmax.m4 (gl_PATHMAX):
36182         * m4/physmem.m4 (gl_PHYSMEM):
36183         * m4/posixtm.m4 (gl_POSIXTM):
36184         * m4/posixver.m4 (gl_POSIXVER):
36185         * m4/quote.m4 (gl_QUOTE):
36186         * m4/quotearg.m4 (gl_QUOTEARG):
36187         * m4/readtokens.m4 (gl_READTOKENS):
36188         * m4/readutmp.m4 (gl_READUTMP):
36189         * m4/regex.m4 (gl_REGEX):
36190         * m4/safe-read.m4 (gl_SAFE_READ):
36191         * m4/safe-write.m4 (gl_SAFE_WRITE):
36192         * m4/same.m4 (gl_SAME):
36193         * m4/save-cwd.m4 (gl_SAVE_CWD):
36194         * m4/savedir.m4 (gl_SAVEDIR):
36195         * m4/settime.m4 (gl_SETTIME):
36196         * m4/sha1.m4 (gl_SHA1):
36197         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
36198         * m4/stat-macros.m4 (gl_STAT_MACROS):
36199         * m4/stat-time.m4 (gl_STAT_TIME):
36200         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
36201         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
36202         * m4/strdup.m4 (gl_FUNC_STRDUP):
36203         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
36204         * m4/strndup.m4 (gl_FUNC_STRNDUP):
36205         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
36206         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
36207         * m4/time_r.m4 (gl_TIME_R):
36208         * m4/timespec.m4 (gl_TIMESPEC):
36209         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
36210         * m4/unlinkdir.m4 (gl_UNLINKDIR):
36211         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
36212         * m4/userspec.m4 (gl_USERSPEC):
36213         * m4/utimecmp.m4 (gl_UTIMECMP):
36214         * m4/utimens.m4 (gl_UTIMENS):
36215         * m4/xalloc.m4 (gl_XALLOC):
36216         * m4/xgetcwd.m4 (gl_XGETCWD):
36217         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
36218         * m4/xreadlink.m4 (gl_XREADLINK):
36219         * m4/xstrtod.m4 (gl_XSTRTOD):
36220         * m4/yesno.m4 (gl_YESNO):
36221         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36222         to get the necessary .h files and whatnot.
36223
36224 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
36225             Bruno Haible  <bruno@clisp.org>
36226
36227         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
36228         /bin/sh understanding of '!' conditional negation.
36229
36230 2006-08-21  Jim Meyering  <jim@meyering.net>
36231
36232         * modules/openat (Depends-on): Really alphabetize.
36233
36234         * modules/acl (Depends-on): Add error and quote.
36235
36236         * check-module (find_included_lib_files): Add at-func.c to the
36237         ok-to-include-more-than-once white list.
36238
36239         * modules/openat (Depends-on): Add lstat.  Alphabetize.
36240
36241 2006-08-21  Bruno Haible  <bruno@clisp.org>
36242
36243         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36244         Emit a pkgdata_DATA variable only if some snippets add contents to it.
36245         Reported by Martin Lambers <marlam@marlam.de>.
36246
36247 2006-08-21  Bruno Haible  <bruno@clisp.org>
36248
36249         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
36250         specify an installation location, don't emit a noinst_LIBRARIES or
36251         noinst_LTLIBRARIES assignment.
36252
36253 2006-08-21  Bruno Haible  <bruno@clisp.org>
36254
36255         BeOS portability.
36256         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
36257         BeOS has mbrtowc() but no <wctype.h>.
36258
36259 2006-08-21  Bruno Haible  <bruno@clisp.org>
36260
36261         BeOS portability.
36262         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
36263         exist.
36264
36265 2006-08-21  Bruno Haible  <bruno@clisp.org>
36266
36267         BeOS portability.
36268         * lib/mbchar.h: Include <wctype.h> only if it exists.
36269
36270 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36271
36272         Remove files that are no longer needed by their respective modules.
36273         * m4/obstack.m4: Remove.
36274         * m4/strerror_r.m4: Remove.
36275         * m4/uint32_t.m4: Remove.
36276         * m4/uintptr_t.m4: Remove.
36277         * m4/ullong_max.m4: Remove.
36278         * m4/xstrtoimax.m4: Remove.
36279         * m4/xstrtoumax.m4: Remove.
36280
36281         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
36282         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
36283         dependencies now capture this.
36284
36285         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36286         Do not use AC_LIBSOURCES, since gnulib modules now do this.
36287         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
36288         * m4/human.m4 (gl_HUMAN): Likewise.
36289         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
36290         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
36291
36292         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
36293
36294         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
36295         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
36296         stdint.
36297         * m4/human.m4 (gl_HUMAN): Likewise.
36298         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
36299         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
36300         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36301         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36302         * m4/xstrtol (gl_XSTRTOL): Likewise.
36303
36304         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
36305         AC_TYPE_LONG_LONG_INT.
36306         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
36307         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
36308         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
36309         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
36310
36311         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
36312         on stdbool.
36313
36314         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
36315         (gl_PREREQ_XSTRTOUL): Remove.
36316
36317         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
36318
36319         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
36320         mode.
36321
36322 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36323
36324         Add and change modules to make it easier for coreutils to use
36325         gnulib-tool.
36326         * modules/backupfile (Files): Remove m4/d-ino.m4.
36327         (Depends-on): Add d-ino.
36328         * modules/cycle-check (Depends-on): Add stdint.
36329         (lib_SOURCES): Add cycle-check.h.
36330         * modules/d-ino: New module.
36331         * modules/d-type: New module.
36332         * modules/error (Files): Remove m4/strerror_r.m4.
36333         * modules/filemode (Files): Add m4/st_dm_mode.m4.
36334         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
36335         m4/inttypes_h.m4, m4/uintmax_t.m4.
36336         (Depends-on): Add stdint.
36337         (lib_SOURCES): Add fsusage.h.
36338         * modules/getcwd (Files): Remove d-ino.m4.
36339         (Depends-on): Add d-ino.
36340         * modules/getndelim2 (Depends-on): Add stdint.
36341         * modules/glob (Files): Remove m4/d-type.m4.
36342         (Depends-on): Add d-type.
36343         * modules/host-os: New module.
36344         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
36345         m4/inttypes_h.m4, m4/uintmax_t.m4.
36346         * Depends-on: Add stdint.
36347         (lib_SOURCES): Add human.h.
36348         * modules/inttostr (Files): Remove m4/intmax_t.m4,
36349         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
36350         m4/uintmax_t.m4, m4/ulonglong.m4.
36351         (Depends-on): Add stdint.
36352         (EXTRA_DIST): Add inttostr.h.
36353         * modules/lchmod: New module.
36354         * modules/link-follow: New module.
36355         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
36356         (Depends-on): Add lchmod.
36357         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
36358         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
36359         (Depends-on): Add stdint.
36360         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
36361         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
36362         (Depends-on): Add stdint.
36363         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
36364         * modules/perl: New module.
36365         * modules/regex (Depends-on): Add stdint.
36366         * modules/rmdir-errno: New module.
36367         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
36368         m4/intmax_t.m4.
36369         (Depends-on): Add stdint.
36370         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
36371         m4/uintmax_t.m4.
36372         (Depends-on): Add stdint.
36373         * modules/unlink-busy: New module.
36374         * modules/utimecmp (Depends-on): Add stdint.
36375         * modules/uptime: New module.
36376         * modules/winsz-ioctl: New module.
36377         * modules/winsz-termios: New module.
36378         * modules/xnanosleep (Depends-on): Add nanosleep.
36379         * modules/ullong_max: Remove.
36380         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
36381         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
36382         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
36383         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
36384         (Depends-on): Add inttypes.
36385         (lib_SOURCES): Add xstrtol.h.
36386         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
36387         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
36388         * MODULES.html.sh: Move 'assert' into the assert section.
36389         Move 'dummy' into the linking section.
36390         Remove ullong_max.
36391         Add section for compatibility checks for POSIX:2001 functions,
36392         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
36393         winsz-ioctl, and winsz-termios into it.
36394         Add lchmod.
36395         Add top-level Misc section and put host-os, perl, and uptime
36396         into it.
36397
36398 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
36399
36400         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
36401         now assume the stdint module.  Do not include inttypes.h.
36402         * lib/fsusage.h: Likewise.
36403         * lib/getndelim2.c: Likewise.
36404         * lib/human.h: Likewise.
36405         * lib/inttostr.h: Likewise.
36406         * lib/obstack.c: Likewise.
36407         * lib/regex_internal.h: Likewise.
36408         * lib/tempname.c: Likewise.
36409         * lib/utimecmp.c: Likewise.
36410         * lib/xstrtol.h: Likewise.
36411
36412         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
36413
36414         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
36415         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
36416         * lib/xtime.h: Likewise.
36417
36418 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36419
36420         * modules/openat (Files): Add lib/fchmodat.c.
36421         Fixes problem reported by Jay Youngman.
36422
36423 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
36424
36425         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
36426         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
36427
36428 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
36429             Bruno Haible  <bruno@clisp.org>
36430
36431         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
36432         and is a script that invokes bison. Tighten the code. Add comments.
36433
36434 2006-08-18  Jim Meyering  <jim@meyering.net>
36435
36436         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
36437         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
36438         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
36439         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
36440
36441 2006-08-18  Bruno Haible  <bruno@clisp.org>
36442
36443         * modules/bison-i18n: New file.
36444         * MODULES.html.sh (Internationalization functions): Add it.
36445
36446 2006-08-18  Bruno Haible  <bruno@clisp.org>
36447
36448         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
36449         sys/statvfs.h. When getmntinfo was found, check its declaration and
36450         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
36451
36452 2006-08-18  Bruno Haible  <bruno@clisp.org>
36453
36454         * m4/bison-i18n.m4: New file, from bison.
36455
36456 2006-08-18  Bruno Haible  <bruno@clisp.org>
36457
36458         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
36459         (ME_DUMMY): Treat "kernfs" as a dummy.
36460         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
36461
36462 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36463
36464         Update from coreutils.
36465
36466         2006-08-15  Jim Meyering  <jim@meyering.net>
36467
36468         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
36469
36470         2006-01-17  Jim Meyering  <jim@meyering.net>
36471
36472         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
36473
36474         2006-01-11  Jim Meyering  <jim@meyering.net>
36475
36476         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
36477         Check for the lchmod function.
36478
36479 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
36480
36481         Update from coreutils.
36482
36483         * lib/__fpending.h: Add copyright notice.
36484         * lib/fprintftime.h: Likewise.
36485         * lib/savedir.c: Use (C) in copyright notice.
36486         * lib/savedir.h: Likewise.
36487
36488         2006-08-15  Jim Meyering  <jim@meyering.net>
36489
36490         * lib/at-func.c: New file, with the logic of all emulated at-functions.
36491         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
36492         in support of the EXPECTED_ERRNO macro.
36493         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
36494         definitions.  Instead, define the appropriate symbols and include
36495         "at-func.c".
36496         * lib/mkdirat.c (mkdirat): Likewise.
36497         * lib/fchmodat.c (fchmodat): Likewise.
36498         (ENOSYS): Remove definition.
36499         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
36500         it.  Don't include "unistd--.h" -- it wasn't ever used.
36501
36502         2006-01-17  Jim Meyering  <jim@meyering.net>
36503
36504         Rewrite fts.c not to change the current working directory,
36505         by using openat, fstatat, fdopendir, etc..
36506
36507         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
36508         (HAVE_OPENAT_SUPPORT): Define.
36509         [_LIBC] (fchdir): Don't undef or define; no longer used.
36510         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
36511         Now, this `function' always succeeds, and consumes its file descriptor
36512         parameter -- so callers must not close such FDs.  Update callers.
36513         (diropen_fd, opendirat, cwd_advance_fd): New functions.
36514         (diropen): Add parameter, SP.  Adjust all callers.
36515         Implement using diropen_fd, rather than open.
36516         (fts_open): Initialize new member, fts_cwd_fd.
36517         Remove fts_rft-setting code.
36518         (fts_close): Close fts_cwd_fd, if necessary.
36519         (__opendir2): Define in terms of opendir or opendirat,
36520         depending on whether the FST_NOCHDIR flag is set.
36521         (fts_build): Since fts_safe_changedir consumes its FD, and since
36522         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
36523         and close the dup'd file descriptor upon failure.
36524         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
36525         (fts_safe_changedir): Tweak semantics to reflect that this function
36526         now calls cwd_advance_fd and hence consumes its FD argument.
36527         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
36528         [struct FTS] (fts_rft): Remove now-unused member.
36529         [struct FTS] (fts_cycle.state): Improve comment.
36530
36531         * lib/openat.c (openat_needs_fchdir): New function.
36532         * lib/openat.h (openat_needs_fchdir): Declare it.
36533
36534 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
36535
36536         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
36537         Problem and fix reported by Pádraig Brady in
36538         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
36539
36540 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36541
36542         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
36543
36544 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36545
36546         * lib/memcoll.c (memcoll): Optimize for the common case where the
36547         arguments are bytewise equal.
36548
36549 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36550
36551         * doc/regexprops-generic.texi: Add a copyright notice.
36552
36553 2006-08-15  Bruno Haible  <bruno@clisp.org>
36554
36555         * modules/tmpdir (License): Change to LGPL.
36556
36557 2006-08-15  Bruno Haible  <bruno@clisp.org>
36558
36559         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
36560         module.
36561
36562 2006-08-14  Simon Josefsson  <jas@extundo.com>
36563
36564         * config/srclist.txt: Add gnupload.
36565
36566 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36567
36568         Change copyright notice from LGPL 2 to GPL 2, since that's the
36569         standard form used in the gnulib repository.
36570         * tests/test-lock.c: Likewise.
36571         * tests/test-stdint.c: Likewise.
36572         * tests/test-tls.c: Likewise.
36573
36574         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
36575         prelude-manager.  User shorter URLs for GNU projects, without '?'.
36576         Add copyright notice.
36577
36578         * check-module: Add copyright notice.  Output a copyright
36579         notice if "--version" is specified.
36580         * modules/COPYING: New file.
36581         * tests/test-getaddrinfo.c: Add copyright notice.
36582         * tests/test-verify.c: Likewise.
36583
36584 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36585
36586         Change copyright notice from LGPL 2 to GPL 2, since that's the
36587         standard form used in the gnulib repository.
36588         * lib/lock.c: LGPL -> GPL.
36589         * lib/lock.h: Likewise.
36590         * lib/strnlen1.c: Likewise.
36591         * lib/strnlen1.h: Likewise.
36592         * lib/tls.c: Likewise.
36593         * lib/tls.h: Likewise.
36594         * lib/tmpdir.c: Likewise.
36595
36596         * lib/TODO: Remove; this belongs only in coreutils.
36597
36598 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36599
36600         Add copyright notices to long-enough files that lack them, since
36601         otherwise the files aren't clearly free.  Use the same notice that
36602         getdate.texi already uses.
36603         * doc/alloca-opt.texi: Add copyright notice.
36604         * doc/alloca.texi: Likewise.
36605         * doc/ctime.texi: Likewise.
36606         * doc/functions.texi: Likewise.
36607         * doc/gcd.texi: Likewise.
36608         * doc/gnulib-tool.texi: Likewise.
36609         * doc/inet_ntoa.texi: Likewise.
36610         * doc/visibility.texi: Likewise.
36611
36612         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
36613         * doc/quote.texi: Add copyright notice.
36614
36615         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
36616         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
36617         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
36618         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
36619         is now obsolete, and give a pointer to the Sun list.
36620         Add copyright notice.
36621
36622 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36623
36624         * config/srclistvars.sh: Add copyright notice.
36625
36626 2006-08-14  Eric Blake  <ebb9@byu.net>
36627
36628         Import the following change from libc:
36629
36630         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
36631
36632         Upstream bug 2997.
36633         * lib/misc/error.c: Add space between program name and message if file
36634         name is missing.
36635
36636 2006-08-12  Karl Berry  <karl@gnu.org>
36637
36638         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
36639         remove, these originate in gnulib now.
36640
36641 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36642
36643         * doc/Makefile (standards.info standards.html standards.dvi):
36644         Also depend on make-stds.texi.
36645
36646 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
36647
36648         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
36649         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
36650
36651         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
36652         in wchar_t.  Problem reported by Eric Blake.
36653
36654         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
36655         LEN is smaller than SIZE.  Suggested by Bruno Haible.
36656         Also, help the compiler to keep LEN in a register.
36657
36658 2006-08-11  Eric Blake  <ebb9@byu.net>
36659
36660         * users.txt: Sort.  Add tar.
36661
36662 2006-08-11  Bruno Haible  <bruno@clisp.org>
36663
36664         * users.txt: New file.
36665
36666 2006-08-11  Bruno Haible  <bruno@clisp.org>
36667
36668         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
36669         before <wchar.h>. Needed for OSF/1 and BSD/OS.
36670
36671 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36672
36673         * modules/snprintf (Depends-on): Remove minmax.
36674         (Maintainer): Add self and Bruno.
36675
36676 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36677
36678         * lib/.cppi-disable: Add snprintf.h, socket_.h.
36679         * lib/snprintf.c: Include <errno.h> and <limits.h>.
36680         (EOVERFLOW): Define if the system does not.
36681         Do not include "minmax.h"; it wasn't used.
36682         (snprintf): Don't assume size_t promotes to an unsigned type.
36683         Fix bug when generated string was too long for the buffer: the
36684         buffer's contents are supposed to be the initial prefix of the
36685         output.  Don't assume vasnprintf returns EOVERFLOW if the size
36686         exceeds INT_MAX; do the check ourselves.
36687
36688         Import the following changes from libc:
36689
36690         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
36691
36692         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
36693         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
36694         set wc to the byte which couldn't be converted.
36695         (re_string_reconstruct): Don't clear valid_raw_len before calling
36696         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
36697         tip_context using re_string_context_at.
36698
36699         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
36700
36701         * lib/posix/regex.h: g++ still cannot handled [restrict].
36702
36703         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
36704
36705         * lib/posix/regex.h: Remove special handling for VMS.
36706
36707 2006-08-10  Jim Meyering  <jim@meyering.net>
36708
36709         * modules/same-inode: New module.
36710         * modules/dev-ino: New module.
36711         * modules/cycle-check: Depend on these modules, rather than simply
36712         including their .h files.
36713         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
36714         required via m4/cycle-check.m4.
36715         * modules/same: Depend on new same-inode module, rather than
36716         including same-inode.h.
36717         * modules/chdir-safer: New file.
36718
36719         * modules/chown (Depends-on): Add stat-macros.
36720
36721 2006-08-10  Jim Meyering  <jim@meyering.net>
36722
36723         * m4/cycle-check.m4: New file.
36724         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
36725         * m4/dev-ino.m4, m4/same-inode.m4: New files.
36726
36727 2006-08-10  Eric Blake  <ebb9@byu.net>
36728
36729         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
36730         in from original proposal.
36731
36732 2006-08-10  Eric Blake  <ebb9@byu.net>
36733         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36734
36735         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
36736         namespace.
36737
36738 2006-08-10  Bruno Haible  <bruno@clisp.org>
36739
36740         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
36741         as well.
36742
36743 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
36744
36745         Sync from coreutils.
36746
36747         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
36748
36749         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
36750         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
36751
36752 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
36753
36754         * modules/restrict: Remove; no longer needed now that we assume
36755         Autoconf 2.59 or later.
36756         * MODULES.html.sh: Remove 'restrict'.
36757         * modules/argp (Depends-on): Remove 'restrict'.
36758         * modules/base64 (Depends-on): Likewise.
36759         * modules/gc (Depends-on): Likewise.
36760         * modules/getaddrinfo (Depends-on): Likewise.
36761         * modules/glob (Depends-on): Likewise.
36762         * modules/inet_ntop (Depends-on): Likewise.
36763         * modules/inet_pton (Depends-on): Likewise.
36764         * modules/memxor (Depends-on): Likewise.
36765         * modules/regex (Depends-on): Likewise.
36766         * modules/strtok_r (Depends-on): Likewise.
36767         * modules/time_r (Depends-on): Likewise.
36768
36769 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
36770
36771         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
36772         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
36773         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
36774         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
36775         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
36776         * m4/memxor.m4 (gl_MEMXOR): Likewise.
36777         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
36778         gl_C_RESTRICT replaced by AC_C_RESTRICT.
36779
36780         Merge from coreutils.
36781         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
36782         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
36783         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
36784         * m4/time_r.m4 (gl_TIME_R): Likewise.
36785
36786 2006-08-09  Karl Berry  <karl@gnu.org>
36787
36788         * config/srclist.txt: no more gettext-tools, per Bruno.
36789
36790 2006-08-08  Eric Blake  <ebb9@byu.net>
36791
36792         * modules/verror: New module.
36793         * MODULES.html.sh: Document it.
36794
36795 2006-08-08  Eric Blake  <ebb9@byu.net>
36796
36797         * lib/verror.h, lib/verror.c: New files.
36798
36799 2006-08-08  Eric Blake  <ebb9@byu.net>
36800
36801         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
36802         verror_at_line output complies with GNU Coding Standards even when
36803         file is NULL.
36804
36805 2006-08-07  Bruno Haible  <bruno@clisp.org>
36806
36807         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
36808         versions of AIX.
36809         Reported by Ralf Wildenhues.
36810
36811 2006-08-07  Bruno Haible  <bruno@clisp.org>
36812
36813         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
36814         in an AC_DEFUN. Needed so that the autoconf snippets can use
36815         AC_REQUIRE.
36816
36817 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36818
36819         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36820         Initialize pkgdata_DATA.
36821         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
36822         overriding it.
36823
36824 2006-08-06  Eric Blake  <ebb9@byu.net>
36825
36826         * lib/error.h: Fold in some upstream changes from glibc.
36827         * lib/error.c: Likewise.
36828
36829 2006-08-04  Bruno Haible  <bruno@clisp.org>
36830
36831         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36832         Make the mostlyclean-local rule depend on mostlyclean-generic.
36833         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
36834
36835 2006-07-31  Bruno Haible  <bruno@clisp.org>
36836
36837         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
36838         <stdlib.h>, <string.h>.
36839
36840 2006-07-30  Bruno Haible  <bruno@clisp.org>
36841
36842         * modules/readlink (License): Change to LGPL.
36843
36844 2006-07-30  Bruno Haible  <bruno@clisp.org>
36845
36846         * modules/javaversion (Makefile.am): Distribute javaversion.java and
36847         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
36848         set PKGDATADIR to point to it.
36849
36850 2006-07-30  Bruno Haible  <bruno@clisp.org>
36851
36852         * modules/csharpexec (configure.ac): Comment out macro invocation.
36853         * modules/javaexec (configure.ac): Likewise.
36854         * modules/javacomp-script (configure.ac): Likewise.
36855
36856         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
36857
36858 2006-07-30  Bruno Haible  <bruno@clisp.org>
36859
36860         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
36861         linked-list.
36862
36863 2006-07-30  Bruno Haible  <bruno@clisp.org>
36864
36865         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
36866
36867 2006-07-30  Bruno Haible  <bruno@clisp.org>
36868
36869         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36870         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
36871         get removed.
36872
36873 2006-07-29  Bruno Haible  <bruno@clisp.org>
36874
36875         Make it possible for gnulib-tool to work with locally modified or
36876         augmented gnulib repositories.
36877         * gnulib-tool (func_usage): Document --local-dir option.
36878         (local_gnulib_dir): New variable.
36879         Handle --local-dir option.
36880         (func_lookup_file): New function.
36881         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
36882         (func_get_description, func_get_filelist, func_get_description,
36883         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
36884         func_get_automake_snippet, func_get_include_directive,
36885         func_get_license, func_get_maintainer): Use func_lookup_file.
36886         (func_import, func_create_testdir): Use func_lookup_file.
36887
36888 2006-07-29  Bruno Haible  <bruno@clisp.org>
36889
36890         * modules/setenv (Depends-on): Add unistd.
36891
36892 2006-07-29  Bruno Haible  <bruno@clisp.org>
36893
36894         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
36895
36896 2006-07-29  Bruno Haible  <bruno@clisp.org>
36897
36898         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
36899
36900 2006-07-29  Bruno Haible  <bruno@clisp.org>
36901
36902         * gnulib-tool (import, update): If there is no Makefile.am, look at
36903         aclocal.m4, instead of bailing out.
36904
36905 2006-07-29  Bruno Haible  <bruno@clisp.org>
36906
36907         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
36908         Categorize the options by when they are useful.
36909
36910 2006-07-29  Bruno Haible  <bruno@clisp.org>
36911
36912         * gnulib-tool (func_usage): Document option --no-libtool.
36913         Handle option --no-libtool.
36914         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
36915         for changed semantics of $libtool variable.
36916         (func_import): Likewise. If libtool is not used, show this through
36917         an option --no-libtool.
36918         (func_create_testdir): Update.
36919
36920 2006-07-29  Bruno Haible  <bruno@clisp.org>
36921
36922         * gnulib-tool (func_import): Extend error message about missing
36923         --doc-base.
36924
36925 2006-07-29  Bruno Haible  <bruno@clisp.org>
36926
36927         * gnulib-tool (func_import): Don't create the $docbase directory if
36928         there is no file to store there.
36929
36930 2006-07-29  Bruno Haible  <bruno@clisp.org>
36931
36932         * gnulib-tool (autoconf_minversion): If a --dir option is given and
36933         relevant, look for configure.ac there, not in the current directory.
36934         Also use a simple search for AC_PREREQ, not "autoconf --trace".
36935
36936 2006-07-29  Bruno Haible  <bruno@clisp.org>
36937
36938         * gnulib-tool (SORT): New variable.
36939         (func_usage): Undocument --assume-autoconf option.
36940         Remove --assume-autoconf option handling.
36941         (autoconf_minversion): Determine from the contents of configure.ac.
36942         (func_import): Remove autoconf_minversion handling.
36943         Suggested by Eric Blake.
36944
36945 2006-07-29  Bruno Haible  <bruno@clisp.org>
36946
36947         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
36948
36949 2006-07-29  Bruno Haible  <bruno@clisp.org>
36950
36951         * config/srclist.txt (*setenv.[ch]): Remove rules.
36952
36953 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36954
36955         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
36956
36957 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36958
36959         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
36960         arpa/inet.h.
36961
36962 2006-07-28  Simon Josefsson  <jas@extundo.com>
36963
36964         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
36965         * modules/inet_pton (Depends-on): Likewise.
36966
36967 2006-07-28  Simon Josefsson  <jas@extundo.com>
36968
36969         * m4/netinet_in_h.m4: New file.
36970
36971 2006-07-28  Simon Josefsson  <jas@extundo.com>
36972
36973         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
36974         #include's.
36975
36976 2006-07-28  Simon Josefsson  <jas@extundo.com>
36977
36978         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
36979         #include's.
36980
36981 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
36982
36983         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
36984         setgid on directories only if they set these bits.
36985         * lib/modechange.h: Remove obsolete comment about masks.
36986
36987 2006-07-28  Eric Blake  <ebb9@byu.net>
36988
36989         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
36990         macro expansion.
36991
36992 2006-07-28  Bruno Haible  <bruno@clisp.org>
36993
36994         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
36995
36996 2006-07-28  Bruno Haible  <bruno@clisp.org>
36997
36998         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
36999
37000 2006-07-28  Bruno Haible  <bruno@clisp.org>
37001
37002         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37003         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37004         Define fallbacks.
37005         Avoids link error on FreeBSD 4.x.
37006         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37007
37008         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
37009         encoding.
37010         * lib/mbswidth.c (iswcntrl): Likewise.
37011
37012 2006-07-27  Bruno Haible  <bruno@clisp.org>
37013
37014         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
37015         test.
37016
37017 2006-07-27  Bruno Haible  <bruno@clisp.org>
37018
37019         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
37020         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
37021         defined.
37022
37023 2006-07-26  Eric Blake  <ebb9@byu.net>
37024
37025         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
37026
37027 2006-07-26  Eric Blake  <ebb9@byu.net>
37028
37029         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
37030         like mingw that lack mkstemp.
37031         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
37032         avoid compilation warning on mingw.
37033
37034 2006-07-26  Bruno Haible  <bruno@clisp.org>
37035
37036         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
37037         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
37038         INT_FAST*_MIN, INTPTR_MIN.
37039
37040 2006-07-25  Bruno Haible  <bruno@clisp.org>
37041
37042         * modules/version-etc (Depends-on): Add stdarg.
37043
37044 2006-07-25  Bruno Haible  <bruno@clisp.org>
37045
37046         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
37047         complex commands.
37048
37049 2006-07-25  Bruno Haible  <bruno@clisp.org>
37050
37051         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
37052         defined in <stdarg.h> or config.h.
37053
37054 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37055
37056         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
37057         (gl_STDIO_SAFER): Remove.
37058
37059 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37060
37061         * MODULES.html.sh (File stream based Input/Output):
37062         Add fopen-safer, tmpfile-safer; remove stdio-safer.
37063         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
37064         * modules/fopen-safer, modules/tmpfile-safer: New files.
37065         * modules/stdio-safer: Remove.
37066
37067 2006-07-24  Bruno Haible  <bruno@clisp.org>
37068
37069         * modules/tmpdir: New file.
37070         * MODULES.html.sh (File system functions): Add it.
37071
37072 2006-07-24  Bruno Haible  <bruno@clisp.org>
37073
37074         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
37075         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
37076
37077 2006-07-24  Bruno Haible  <bruno@clisp.org>
37078
37079         * modules/clean-temp: New file.
37080
37081 2006-07-24  Bruno Haible  <bruno@clisp.org>
37082
37083         * m4/tmpdir.m4: New file, from GNU gettext.
37084
37085 2006-07-24  Bruno Haible  <bruno@clisp.org>
37086
37087         * lib/tmpdir.h: New file, from GNU gettext.
37088         * lib/tmpdir.c: New file, from GNU gettext.
37089
37090 2006-07-24  Bruno Haible  <bruno@clisp.org>
37091
37092         * lib/clean-temp.h: New file, from GNU gettext.
37093         * lib/clean-temp.c: New file, from GNU gettext.
37094
37095 2006-07-23  Eric Blake  <ebb9@byu.net>
37096
37097         * modules/stdio-safer (Files): Add tmpfile-safer.c.
37098         (Depends-on): Add binary-io.
37099
37100 2006-07-23  Eric Blake  <ebb9@byu.net>
37101
37102         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
37103
37104 2006-07-23  Eric Blake  <ebb9@byu.net>
37105
37106         * lib/tmpfile-safer.c: New file.
37107         * lib/stdio-safer.h (fopen_safer): Add prototype.
37108         * lib/stdio--.h (tmpfile): Make safer.
37109
37110 2006-07-23  Bruno Haible  <bruno@clisp.org>
37111
37112         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
37113         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
37114         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
37115         gl_linked_remove_at): Use it.
37116
37117 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37118         and Simon Josefsson <jas@extundo.com>
37119
37120         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
37121
37122         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
37123
37124 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37125
37126         * modules/close-stream: New file.
37127         * modules/closeout (Description): Make it clear that it exits
37128         with a diagnostic on error.
37129         (Depends-on): Add close-stream.  Remove fpending, stdbool.
37130         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
37131
37132 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37133
37134         * m4/close-stream.m4: New file.
37135
37136 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37137
37138         * lib/close-stream.c, lib/close-stream.h: New files.
37139
37140 2006-07-22  Bruno Haible  <bruno@clisp.org>
37141
37142         Merge from GNU gettext 0.15.
37143
37144         2006-05-01  Bruno Haible  <bruno@clisp.org>
37145
37146                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
37147
37148         2006-07-22  Bruno Haible  <bruno@clisp.org>
37149
37150                 * modules/javaversion: New file.
37151                 * MODULES.html.sh (Java): Add javaversion.
37152
37153         2006-03-12  Bruno Haible  <bruno@clisp.org>
37154
37155                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
37156
37157         2005-12-04  Bruno Haible  <bruno@clisp.org>
37158
37159                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
37160                 (untested).
37161
37162         2006-06-21  Bruno Haible  <bruno@clisp.org>
37163
37164                 Avoid warnings from recent versions of mcs.
37165                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
37166                 -o, -L, -r any more. Use options documented since mcs-1.0
37167                 instead. Similarly for -g.
37168
37169         2005-12-04  Bruno Haible  <bruno@clisp.org>
37170
37171                 * build-aux/csharpcomp.sh.in: Suffix for resources is
37172                 .resources, not .resource.
37173
37174         2005-07-09  Bruno Haible  <bruno@clisp.org>
37175
37176                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
37177                 add a .dll suffix.
37178                 Reported by Mark Junker <mjscod@gmx.de>.
37179
37180         2006-07-22  Bruno Haible  <bruno@clisp.org>
37181
37182                 * modules/gettext: Upgrade to gettext-0.15.
37183                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
37184                 m4/visibility.m4.
37185                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
37186
37187 2006-07-22  Bruno Haible  <bruno@clisp.org>
37188
37189         Merge from GNU gettext 0.15.
37190
37191         2006-03-25  Bruno Haible  <bruno@clisp.org>
37192
37193                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
37194
37195         2006-07-21  Bruno Haible  <bruno@clisp.org>
37196
37197                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
37198                 "1.1".
37199
37200         2006-05-09  Bruno Haible  <bruno@clisp.org>
37201
37202                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
37203                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
37204                 for the conftestver execution.
37205
37206         2006-05-01  Bruno Haible  <bruno@clisp.org>
37207
37208                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
37209                 optional target-version argument. Verify that the compiler
37210                 groks source of the specified source-version, or add -source
37211                 option as necessary. Verify that the compiler produces
37212                 bytecode in the specified target-version, or add -target and
37213                 -source options as necessary. Make the result of the test
37214                 available as variable CONF_JAVAC. Also log error output in
37215                 config.log.
37216
37217         2006-03-11  Bruno Haible  <bruno@clisp.org>
37218
37219                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
37220
37221         2006-05-09  Bruno Haible  <bruno@clisp.org>
37222
37223                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
37224                 CLASSPATH_SEPARATOR to a semicolon.
37225
37226         2006-03-12  Bruno Haible  <bruno@clisp.org>
37227
37228                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
37229                 available as variable CONF_JAVA, for subsequent autoconf
37230                 tests. Also log error output in config.log.
37231
37232         2006-07-19  Bruno Haible  <bruno@clisp.org>
37233
37234                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
37235                 that getline works on glibc2 systems. Needed to avoid trouble
37236                 in relocatable.c.
37237                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
37238
37239         2005-12-04  Bruno Haible  <bruno@clisp.org>
37240
37241                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
37242                 launcher (untested).
37243
37244         2005-12-04  Bruno Haible  <bruno@clisp.org>
37245
37246                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
37247
37248         2006-07-22  Bruno Haible  <bruno@clisp.org>
37249
37250                 * gettext.m4: Update from GNU gettext-0.15.
37251                 * nls.m4: Likewise.
37252                 * po.m4: Likewise.
37253                 * inttypes-pri.m4: Likewise.
37254                 * inttypes-h.m4: Renamed from inttypes.m4.
37255                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
37256
37257 2006-07-22  Bruno Haible  <bruno@clisp.org>
37258
37259         Merge from GNU gettext 0.15.
37260
37261         2005-07-05  Bruno Haible  <bruno@clisp.org>
37262
37263                 * printf-args.c (printf_fetchargs): Work around broken
37264                 definition of wint_t on mingw.
37265
37266         2005-02-12  Bruno Haible  <bruno@clisp.org>
37267
37268                 * xallocsa.h: Add extern "C" for C++.
37269
37270         2006-05-17  Bruno Haible  <bruno@clisp.org>
37271
37272                 Cygwin portability.
37273                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
37274
37275         2006-04-30  Bruno Haible  <bruno@clisp.org>
37276
37277                 * progreloc.c: Include <mach-o/dyld.h> if available.
37278                 (find_executable): Use _NSGetExecutablePath when possible.
37279
37280         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
37281
37282                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
37283                 function.
37284
37285         2005-12-29  Bruno Haible  <bruno@clisp.org>
37286
37287                 * progreloc.c (set_program_name_and_installdir): Fix
37288                 compilation error.
37289
37290         2005-12-04  Bruno Haible  <bruno@clisp.org>
37291
37292                 Cygwin portability.
37293                 * progreloc.c: Include <windows.h> also on Cygwin.
37294                 (find_executable): Add support for Cygwin.
37295                 (set_program_name_and_installdir): Handle also platforms with
37296                 nonempty EXEEXT.
37297
37298         2006-07-11  Bruno Haible  <bruno@clisp.org>
37299
37300                 * javacomp.c: Fix a comment.
37301                 Reported by Jim Meyering.
37302
37303         2006-04-30  Bruno Haible  <bruno@clisp.org>
37304
37305                 * javacomp.h (compile_java_class): Add source_version,
37306                 target_version arguments.
37307                 * javacomp.c: Rewritten to choose only a compiler that
37308                 respects the specified source_version and target_version.
37309
37310         2006-06-27  Bruno Haible  <bruno@clisp.org>
37311
37312                 Assume correct S_ISDIR macro.
37313                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
37314
37315         2006-07-22  Bruno Haible  <bruno@clisp.org>
37316
37317                 * javaversion.h: New file, from GNU gettext.
37318                 * javaversion.c: New file, from GNU gettext.
37319                 * javaversion.java: New file, from GNU gettext.
37320                 * javaversion.class: New file, from GNU gettext.
37321
37322         2006-05-17  Bruno Haible  <bruno@clisp.org>
37323
37324                 Cygwin portability.
37325                 * javaexec.c (execute_java_class): Test for jview program
37326                 also on Cygwin.
37327
37328         2006-04-09  Bruno Haible  <bruno@clisp.org>
37329
37330                 * fatal-signal.c: Don't include string.h.
37331                 (at_fatal_signal): Use a copying loop instead of memcpy.
37332
37333         2005-12-04  Bruno Haible  <bruno@clisp.org>
37334
37335                 * csharpexec.c: Add support for 'clix' launcher (untested).
37336                 (execute_csharp_using_sscli): New function.
37337                 (execute_csharp_program): Call it.
37338
37339         2006-06-21  Bruno Haible  <bruno@clisp.org>
37340
37341                 Avoid warnings from recent versions of mcs.
37342                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
37343                 -o, -L, -r any more. Use options documented since mcs-1.0
37344                 instead. Similarly for -g.
37345
37346         2005-07-09  Bruno Haible  <bruno@clisp.org>
37347
37348                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
37349                 add a .dll suffix.
37350                 Reported by Mark Junker <mjscod@gmx.de>.
37351
37352         2006-06-17  Bruno Haible  <bruno@clisp.org>
37353
37354                 * config.charset: Update for NetBSD 3.0.
37355
37356         2006-05-17  Bruno Haible  <bruno@clisp.org>
37357
37358                 Cygwin portability.
37359                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
37360
37361         2006-05-16  Bruno Haible  <bruno@clisp.org>
37362
37363                 * localcharset.c [CYGWIN]: Include <windows.h>.
37364                 (get_charset_aliases): For Cygwin, return the same CPxxx
37365                 aliases list as under WIN32.
37366                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
37367                 the environment variables. Fall back to GetACP().
37368
37369         2006-04-05  Bruno Haible  <bruno@clisp.org>
37370
37371                 * config.charset: Update Juan Manuel Guerrero's address.
37372
37373         2005-02-12  Bruno Haible  <bruno@clisp.org>
37374
37375                 * allocsa.h: Add extern "C" for C++.
37376
37377         2005-02-10  Bruno Haible  <bruno@clisp.org>
37378
37379                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
37380                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
37381
37382         2006-07-22  Bruno Haible  <bruno@clisp.org>
37383
37384                 * gettext.h: Update to GNU gettext-0.15.
37385
37386 2006-07-22  Bruno Haible  <bruno@clisp.org>
37387
37388         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
37389         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
37390         lib-prefix.m4, longdouble.m4, ssize_t.m4.
37391
37392 2006-07-21  Eric Blake  <ebb9@byu.net>
37393
37394         * modules/stdlib-safer: New file.
37395         * MODULES.html.sh (File stream based Input/Output): Add
37396         stdlib-safer.
37397
37398 2006-07-21  Eric Blake  <ebb9@byu.net>
37399
37400         * lib/stdlib-safer.h: New file from coreutils, required by
37401         stdlib--.h.
37402
37403 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37404
37405         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
37406
37407 2006-07-20  Bruno Haible  <bruno@clisp.org>
37408
37409         * gnulib-tool: Recognize new option --assume-autoconf.
37410         (autoconf_minversion): New variable.
37411         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
37412
37413 2006-07-20  Bruno Haible  <bruno@clisp.org>
37414
37415         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
37416
37417 2006-07-19  Derek R. Price  <derek@ximbiot.com>
37418
37419         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
37420         Reindent and repaginate.
37421
37422 2006-07-19  Derek Price  <derek@ximbiot.com>
37423
37424         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
37425         Correct grammar.
37426
37427 2006-07-17  Bruno Haible  <bruno@clisp.org>
37428
37429         * modules/list: New file.
37430         * modules/array-list: New file.
37431         * modules/carray-list, modules/carray-list-tests: New files.
37432         * modules/linked-list, modules/linked-list-tests: New files.
37433         * modules/avltree-list, modules/avltree-list-tests: New files.
37434         * modules/rbtree-list, modules/rbtree-list-tests: New files.
37435         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
37436         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
37437         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
37438         * modules/oset: New file.
37439         * modules/array-oset: New file.
37440         * modules/avltree-oset, modules/avltree-oset-tests: New files.
37441         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
37442         * tests/test-carray_list.c: New file.
37443         * tests/test-linked_list.c: New file.
37444         * tests/test-avltree_list.c: New file.
37445         * tests/test-rbtree_list.c: New file.
37446         * tests/test-linkedhash_list.c: New file.
37447         * tests/test-avltreehash_list.c: New file.
37448         * tests/test-rbtreehash_list.c: New file.
37449         * tests/test-avltree_oset.c: New file.
37450         * tests/test-rbtree_oset.c: New file.
37451         * MODULES.html.sh (Container data structures): New section.
37452
37453 2006-07-17  Bruno Haible  <bruno@clisp.org>
37454
37455         * m4/gl_list.m4: New file.
37456
37457 2006-07-17  Bruno Haible  <bruno@clisp.org>
37458
37459         * lib/gl_list.h: New file.
37460         * lib/gl_list.c: New file.
37461         * lib/gl_array_list.h: New file.
37462         * lib/gl_array_list.c: New file.
37463         * lib/gl_carray_list.h: New file.
37464         * lib/gl_carray_list.c: New file.
37465         * lib/gl_linked_list.h: New file.
37466         * lib/gl_linked_list.c: New file.
37467         * lib/gl_anylinked_list1.h: New file.
37468         * lib/gl_anylinked_list2.h: New file.
37469         * lib/gl_avltree_list.h: New file.
37470         * lib/gl_avltree_list.c: New file.
37471         * lib/gl_anyavltree_list1.h: New file.
37472         * lib/gl_anyavltree_list2.h: New file.
37473         * lib/gl_rbtree_list.h: New file.
37474         * lib/gl_rbtree_list.c: New file.
37475         * lib/gl_anyrbtree_list1.h: New file.
37476         * lib/gl_anyrbtree_list2.h: New file.
37477         * lib/gl_anytree_list1.h: New file.
37478         * lib/gl_anytree_list2.h: New file.
37479         * lib/gl_linkedhash_list.h: New file.
37480         * lib/gl_linkedhash_list.c: New file.
37481         * lib/gl_anyhash_list1.h: New file.
37482         * lib/gl_anyhash_list2.h: New file.
37483         * lib/gl_avltreehash_list.h: New file.
37484         * lib/gl_avltreehash_list.c: New file.
37485         * lib/gl_rbtreehash_list.h: New file.
37486         * lib/gl_rbtreehash_list.c: New file.
37487         * lib/gl_anytreehash_list1.h: New file.
37488         * lib/gl_anytreehash_list2.h: New file.
37489
37490         * lib/gl_oset.h: New file.
37491         * lib/gl_oset.c: New file.
37492         * lib/gl_array_oset.h: New file.
37493         * lib/gl_array_oset.c: New file.
37494         * lib/gl_avltree_oset.h: New file.
37495         * lib/gl_avltree_oset.c: New file.
37496         * lib/gl_rbtree_oset.h: New file.
37497         * lib/gl_rbtree_oset.c: New file.
37498         * lib/gl_anytree_oset.h: New file.
37499
37500 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37501
37502         * m4/mkancesdirs.m4: New file.
37503         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
37504         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
37505         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
37506         it.
37507
37508 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37509
37510         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
37511         * lib/mkancesdirs.h: New files.
37512         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
37513         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
37514         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
37515         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
37516         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
37517         callers changed.  Revamp internals significantly, by not
37518         attempting to create directories that are temporarily more
37519         permissive than the final results.  Do not attempt to use
37520         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
37521         This removes some race conditions, fixes some bugs, and simplifies
37522         things.  Use new dirchownmod function to do owner and mode changes.
37523         * lib/mkdir-p.h: Likewise.
37524         * lib/modechange.c (octal_to_mode): New function.
37525         (struct mode_change): New member mentioned.
37526         (make_node_op_equals): New arg mentioned.  All callers changed.
37527         (mode_compile): Keep track of which mode bits the user has explicitly
37528         mentioned.
37529         (mode_adjust): New arg DIR, so that we implement the X op correctly.
37530         New arg PMODE_BITS, to keep track of which mode bits the user
37531         mentioned; it treats S_ISUID and S_ISGID speciall.
37532         All callers changed.
37533         * lib/modechange.h: Likewise.
37534
37535 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
37536
37537         * MODULES.html.sh: Add mkancestors.
37538         * modules/mkancesdirs: New module.
37539         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
37540         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
37541         The chdir-safer and afs files are now orphans; I'll remove them
37542         unless someone speaks up.
37543         Add lib/dirchownmod.c, lib/dirchownmod.h.
37544         (Depends-on): Remove alloca, chown, save-cwd, dirname.
37545         Add lchown, mkancesdirs.
37546         (Maintainer): Add self.
37547
37548 2006-07-15  Karl Berry  <karl@gnu.org>
37549
37550         * gnulib-tool: help message wording/arrangement.
37551
37552 2006-07-14  Simon Josefsson  <jas@extundo.com>
37553
37554         * doc/gnulib.texi (Libtool and Windows): New section.
37555
37556 2006-07-12  Simon Josefsson  <jas@extundo.com>
37557
37558         * modules/gendocs (License): Fix license, approved by Karl.
37559
37560 2006-07-12  Eric Blake  <ebb9@byu.net>
37561
37562         * MODULES.html.sh: Add gendocs.
37563
37564 2006-07-11  Eric Blake  <ebb9@byu.net>
37565
37566         * modules/fdl: New module, to install doc/fdl.texi.
37567         * MODULES.html.sh: Add new section for documentation modules.
37568         * gnulib-tool: Avoid space-tab.
37569         (--doc-base): New option, to manage files from doc.
37570
37571 2006-07-11  Eric Blake  <ebb9@byu.net>
37572
37573         * m4/absolute-header.m4: Fix comments to match recent change.
37574
37575 2006-07-11  Eric Blake  <ebb9@byu.net>
37576
37577         * gnulib-tool: List --doc-base before --tests-base.
37578
37579 2006-07-11  Derek R. Price  <derek@ximbiot.com>
37580
37581         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
37582
37583 2006-07-11  Bruno Haible  <bruno@clisp.org>
37584
37585         * README: Mention where to put documentation.
37586
37587 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37588
37589         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
37590
37591 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37592
37593         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
37594         to stdint.m4.
37595
37596 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37597
37598         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
37599         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
37600         "no/such/file/stdint.h" when there is no such file, so that
37601         the resulting C code can be parsed by dodgy compilers.
37602         Problems reported by Bob Proulx.
37603
37604 2006-07-10  Derek R. Price  <derek@ximbiot.com>
37605
37606         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
37607         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
37608         macros into the GNU _D_EXACT_NAMLEN.
37609         * lib/savedir.c:  Likewise.
37610         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
37611
37612 2006-07-10  Derek R. Price  <derek@ximbiot.com>
37613         and Paul Eggert  <eggert@cs.ucla.edu>
37614
37615         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
37616         * m4/savedir.m4:
37617         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
37618         macros into the GNU _D_EXACT_NAMLEN.
37619
37620 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37621
37622         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
37623         around the absolute name, to work around a problem with the HP-UX
37624         11.23 native C compiler, reported by Bob Proulx.
37625
37626 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37627
37628         * doc/maintain.texi, make-stds.texi: Sync from
37629         <http://savannah.gnu.org/projects/gnustandards>.
37630
37631 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37632
37633         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
37634
37635 2006-07-09  Jim Meyering  <jim@meyering.net>
37636
37637         * m4/glob.m4: Remove a doubled word in a comment.
37638
37639 2006-07-09  Jim Meyering  <jim@meyering.net>
37640
37641         * lib/argp-pv.c: Remove a doubled word in a comment.
37642         * lib/check-version.c (check_version): Likewise.
37643         * lib/javacomp.c (compile_java_class): Likewise.
37644
37645 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
37646
37647         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
37648         for the benefit of people using Autoconf 2.60.  If you want to
37649         support older Autoconf versions you can copy m4/onceonly_2_57.m4
37650         (or m4/onceonly.m4, if pre-2.57) manually.
37651
37652 2006-07-08  Jim Meyering  <jim@meyering.net>
37653
37654         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
37655         comment.
37656         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
37657         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
37658         comment.
37659
37660 2006-07-08  Jim Meyering  <jim@meyering.net>
37661
37662         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
37663
37664 2006-07-07  Simon Josefsson  <jas@extundo.com>
37665
37666         * tests/test-crc.c: Change expected crc value, the test vector
37667         were probably computed using the old broken crc.c?
37668
37669 2006-07-06  Simon Josefsson  <jas@extundo.com>
37670
37671         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
37672         now the canonical place for the M4 file).
37673
37674         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
37675         from the sys_socket dependency now.
37676
37677         * modules/inet_pton (Files): Ditto.
37678
37679         * modules/inet_ntop (Files): Ditto.
37680
37681 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
37682
37683         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
37684         not gl_PREREQ_GETUSERSHELL.
37685
37686 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37687
37688         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
37689         with only one argument, for Autoconf 2.60.
37690         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
37691         expand to nothing, so add a shell command to avoid syntax error.
37692         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
37693
37694 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37695
37696         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
37697
37698 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37699
37700         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
37701         no longer needed.  Check for isblank decl.
37702         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
37703         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
37704         of existence.
37705
37706 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37707
37708         * lib/getloadavg.c: Use __VMS, not VMS.
37709         * lib/getopt.c: Likewise.
37710         * lib/getpagesize.h: Likewise.
37711         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
37712         and probably does not work.
37713
37714 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37715
37716         * lib/.cppi-disable: Add wcwidth.
37717         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
37718         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
37719         (ISGRAPH): Remove.  All uses changed to isgraph.
37720         (FOLD) [!defined _LIBC]: Remove special case.
37721         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
37722         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
37723         HAVE_ISBLANK.
37724         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
37725         case.
37726
37727 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
37728
37729         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
37730         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
37731         brackets.  Other minor changes to suppress some compiler
37732         warnings.
37733
37734 2006-07-06  Derek R. Price  <derek@ximbiot.com>
37735         and Paul Eggert  <eggert@cs.ucla.edu>
37736
37737         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
37738         of invoking obsolescent AC_HEADER_DIRENT macro.
37739         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
37740         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
37741         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
37742         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
37743         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
37744         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37745         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
37746         * m4/readdir.m4: Remove; no longer needed.
37747
37748 2006-07-06  Derek R. Price  <derek@ximbiot.com>
37749         and Paul Eggert  <eggert@cs.ucla.edu>
37750
37751         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
37752         Don't worry about this obsolete case any more.
37753         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
37754         directories.
37755         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
37756         worry about this obsolete case any more.
37757         * lib/fts.c: Likewise.
37758         * lib/getcwd.c: Likewise.
37759         * lib/glob.h: Likewise.
37760         * lib/savedir.c: Likewise.
37761
37762 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37763
37764         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
37765         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
37766         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
37767         needed.
37768         All uses removed.
37769         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
37770         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
37771         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
37772         needed.
37773         * m4/getdate.m4 (gl_GETDATE): Likewise.
37774         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
37775         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
37776         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
37777         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
37778         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
37779         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
37780         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
37781         needed.
37782
37783 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37784
37785         * lib/memcasecmp.c: Include <limits.h>.
37786         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
37787         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
37788         Don't assume isdigit succeeds only on '0' through '9'.
37789
37790 2006-07-05  Eric Blake  <ebb9@byu.net>
37791
37792         * modules/getaddrinfo (Depends-on): Add snprintf.
37793
37794 2006-07-05  Eric Blake  <ebb9@byu.net>
37795
37796         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
37797         to avoid 'header present but could not be compiled' on cygwin.
37798
37799 2006-07-05  Eric Blake  <ebb9@byu.net>
37800
37801         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
37802         missing from netdb.h.
37803         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
37804
37805 2006-07-05  Derek R. Price  <derek@ximbiot.com>
37806
37807         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
37808         no longer needed.
37809         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
37810         * m4/getdate.m4 (gl_GETDATE): Likewise.
37811         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
37812         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
37813         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
37814         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
37815         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
37816
37817 2006-07-05  Derek R. Price  <derek@ximbiot.com>
37818
37819         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
37820         All uses of is_space replaced by isspace.
37821         * lib/exit.h: Don't talk about STDC_HEADERS.
37822         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
37823         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
37824         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
37825         replaced by isprint etc.
37826         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
37827         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
37828         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
37829         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
37830         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
37831         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
37832
37833 2006-07-05  Bruno Haible  <bruno@clisp.org>
37834
37835         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
37836         the function exists, before testing against AIX.
37837         Reported by Martin Lambers <marlam@marlam.de>.
37838
37839 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37840
37841         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
37842         From Mark D. Baushke.
37843
37844 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37845
37846         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
37847         to the absolute name, not just one, to bypass Sun C 5.8's
37848         "warning: #include of /usr/include/... may be non-portable".
37849
37850 2006-07-04  Eric Blake  <ebb9@byu.net>
37851
37852         * modules/dirname-tests: New test module.
37853         * tests/test-dirname.c: New file, replacing dirname.c
37854         TEST_DIRNAME section that was recently deleted.
37855
37856 2006-07-04  Bruno Haible  <bruno@clisp.org>
37857
37858         Assume ANSI C header files and <ctype.h> functions.
37859         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
37860         (mbsnwidth): Use isprint, iscntrl instead.
37861
37862 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37863
37864         Merge from coreutils.
37865         * MODULES.html.sh: Add xstrtold.
37866         * modules/xstrtold: New file.
37867         * modules/cycle-check (Files): Add lib/same-inode.h.
37868         * modules/dirname (Files): Add m4/double-slash-root.m4.
37869         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
37870         * modules/mkdir-p (Files): Add lib/same-inode.h.
37871         * modules/same (Files): Add lib/same-inode.h.
37872
37873 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37874
37875         * m4/absolute-header.m4: Renamed from full-header-path.m4.
37876         This is to keep the terminology clean; POSIX talks about
37877         "absolute pathnames", not "full pathnames", but the GNU
37878         Coding Standards say to use "path" for something else;
37879         so use "absolute" to keep both sides happy.
37880         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
37881         Set gl_absolute_header, not gl_full_header_path.
37882         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
37883         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
37884         All uses changed.
37885
37886         Merge from coreutils.
37887
37888         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
37889
37890         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
37891         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
37892         want to require the building of c-strtod.o.
37893         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
37894         needs -lm directly.
37895         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
37896
37897         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
37898
37899         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
37900         --as-needed option if available.  Problem reported by Albert Chin in
37901         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
37902         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
37903         cc merely issues a bunch of annoying warnings for --as-needed
37904         (this problem was reported by Bob Proulx).  Also, try linking with
37905         -lm to detect a bug in binutils 2.16 (this problem was reported
37906         by Ralf Wildenhues).
37907
37908         2006-06-18  Jim Meyering  <jim@meyering.net>
37909
37910         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
37911         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
37912         macro.
37913         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
37914         also check for glibc-2.4's abort-inducing bug.
37915
37916         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
37917         Low-probability clean-up should be to use rmdir to get rid of
37918         the just-created directory, not unlink.
37919
37920         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
37921         configure fail, and request a bug report to inform us about it.
37922         Add a comment that, barring reports to the contrary, in 2007 we'll
37923         assume ftruncate is universally available.
37924
37925         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
37926
37927         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
37928
37929         2006-03-12  Jim Meyering  <jim@meyering.net>
37930
37931         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
37932         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
37933         * m4/same.m4 (gl_SAME): Likewise.
37934         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
37935
37936         2006-03-11  Eric Blake  <ebb9@byu.net>
37937
37938         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
37939         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
37940         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
37941         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
37942
37943 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37944
37945         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
37946         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
37947         reported by Mark D. Baushke, one in
37948         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
37949
37950         Merge from coreutils.
37951
37952         * lib/.cppi-disable: Add stdint_.h.
37953         * lib/.cvsignore: Add stdint.h.
37954
37955         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
37956
37957         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
37958         both double and long double versions.
37959         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
37960         * lib/xstrtold.c: New file.
37961         * lib/xstrtod.h (xstrtold): New decl.
37962
37963         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
37964
37965         * lib/filemode.c (setst): Remove.
37966         (strmode): Rewrite to avoid setst.  This makes the code shorter,
37967         (arguably) clearer, and the generated code is a bit smaller on my
37968         Debian GNU/Linux stable x86 host.
37969
37970         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
37971
37972         * lib/filemode.c: Include "filemode.h" first, to test the interface.
37973         Assume that filemode.h includes sys/types.h and sys/stat.h.
37974         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
37975         (ftypelet): Reorder to put common cases first, for efficiency.
37976         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
37977         to do 'M'.
37978         (strmode): Renamed from mode_string, and now stores 12 bytes instead
37979         of 10, for compatibility with FreeBSD.  All callers changed.
37980         (filemodestring): Now stores 12 bytes instead of 10, and sets file
37981         types that can't be deduced solely from st_mode.  First arg is now a
37982         const pointer.
37983         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
37984         (strmode): Renamed from mode_string.
37985         (filemodestring): New decl.
37986         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
37987         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
37988         needed.
37989         (S_ISPORT, S_ISWHT): New macros, if not already defined.
37990
37991         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
37992
37993         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
37994         fsusage.h now does that.  Include fsusage.h first, to test interface.
37995         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
37996         at most one method (the old code could have generated decls that
37997         didn't conform to C89, not that this was ever exercised).
37998         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
37999
38000         2006-03-19  Jim Meyering  <jim@meyering.net>
38001
38002         Work even in a chroot where d_ino values for entries in "/"
38003         don't match the stat.st_ino values for the same names.
38004         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
38005         number, iterate through all entries again, using lstat instead.
38006         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
38007         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
38008
38009         * lib/getcwd.c (__getcwd): Clarify a comment.
38010         Use memcpy in place of a call to strcpy.
38011
38012         2006-03-12  Jim Meyering  <jim@meyering.net>
38013
38014         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
38015         matches that of the current directory (which we're about to chdir ".."
38016         out of), then save the dev-ino of the parent, instead.
38017
38018         * lib/same-inode.h (SAME_INODE): New file/macro.
38019         * lib/chdir-safer.c (SAME_INODE): Remove definition.
38020         Include "same-inode.h", instead.
38021         * lib/same.c: Likewise.
38022         * lib/cycle-check.h: Include "same-inode.h".
38023         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
38024         * lib/cycle-check.c (SAME_INODE): Remove definition.
38025         * lib/root-dev-ino.h: Include "same-inode.h".
38026
38027         2006-03-11  Eric Blake  <ebb9@byu.net>
38028
38029         * lib/same.c (same_name): s/base_name/last_component/
38030         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
38031         * lib/filenamecat.c (file_name_concat): Likewise.
38032
38033         2006-03-11  Eric Blake  <ebb9@byu.net>,
38034                     Paul Eggert  <eggert@cs.ucla.edu>
38035
38036         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
38037         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
38038         drive prefix.
38039         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
38040         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
38041         (last_component): New method.
38042         * lib/dirname.c (dir_len): Determine when drive letters need a
38043         subsequent slash.  Preserve // when it is special.
38044         (dir_name): Don't append dot when drive letter is absolute.
38045         [TEST_DIRNAME]: Move into a full-blown gnulib test.
38046         * lib/basename.c (base_name): New semantics - malloc the result.
38047         Preserve // when it is special.  Preserve relative files that look
38048         like drive letters.
38049         (base_len): Preserve // when it is special.
38050         (last_component): New method, similar to old base_name semantics.
38051         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
38052         base_name.  Strip redundant slashes from ///.
38053
38054 2006-07-03  Jim Meyering  <jim@meyering.net>
38055
38056         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
38057         macro is used before the first cycle_check call.
38058
38059 2006-07-03  Eric Blake  <ebb9@byu.net>
38060
38061         * modules/dirname (Depends-on): Add xstrndup.
38062
38063 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38064
38065         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
38066         test cases, so that config.log is a bit easier to follow.
38067
38068 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38069
38070         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
38071         both are 64 bits, since this seems to be the tradition, and this
38072         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
38073         we ever run into a host that prefers long long to long in this
38074         case, we'll need another configure-time test.  Problem reported by
38075         Jim Meyering.
38076
38077 2006-07-02  Eric Blake  <ebb9@byu.net>
38078
38079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
38080
38081 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38082
38083         * modules/inttypes (Depends-on): No longer depends on stdint.
38084         * modules/stdint (Description): Say more about assumptions.
38085         Say that the fast types might differ.  Say macros are used.
38086         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
38087         (Makefile.am): Revise list of substituted symbols to match
38088         new stdint.m4.
38089         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
38090         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
38091         * tests/test-stdint.c (verify_same_types)
38092         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
38093         the code conforms to C99/C89.
38094         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
38095         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
38096
38097 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38098
38099         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
38100         but fix a bug, by requiring at least 64 bits.
38101         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38102         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
38103         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
38104         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
38105
38106         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
38107         changes.  Make 2.59 a prerequisite.  Check and substitute for
38108         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
38109         inttypes.h.  Do not use special include files; just use the
38110         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
38111         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
38112         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
38113         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
38114         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
38115         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
38116         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
38117         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
38118         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
38119         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
38120         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
38121         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
38122         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
38123         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
38124         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
38125         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
38126         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
38127         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
38128         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
38129         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
38130         WINT_MAX.  Check for C99 conformance more strictly, by detecting
38131         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
38132         not check for things that C99 does not require, e.g., int8_t.  If
38133         a test isn't needed unless <stdint.h> isn't working, and is
38134         unlikely to be needed for any other reason, then don't do it
38135         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
38136         size_t, since we assume C89 freestanding at least.  Do not check
38137         for sig_atomic_t, wchar_t, or wint_t, since the code now does
38138         the right thing even if the types are not defined.  Instead use:
38139         (gl_STDINT_TYPE_PROPERTIES): New macro.
38140         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
38141         testing whether <sys/types.h> clashes, as Autoconf does this for
38142         us now.  All uses removed.
38143         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
38144         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
38145         (gl_CHECK_TYPE_SAME):
38146         Remove; no longer needed.
38147         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
38148         exists, since we'll return 0 anyway in that case.
38149         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
38150
38151 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38152
38153         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
38154         possible collision with system files.
38155         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
38156         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
38157         WCHAR_MIN and WCHAR_MAX in this case.
38158         (<stddef.h>): Do not include; no longer needed.
38159         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
38160         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
38161         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
38162         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
38163         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
38164         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
38165         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
38166         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
38167         !defined(__c99))]: Include in this case too, since it's harmless
38168         now.
38169         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
38170         dangerous to do so.
38171         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
38172         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
38173         (_STDINT_MIN, _STDINT_MAX): New macros.
38174         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
38175         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
38176         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
38177         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
38178         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
38179         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
38180         macros, not typedefs; this simplifies things quite a bit.
38181         Use long int for all types narrower than int64_t.
38182         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
38183         Define in terms of long long int or int64_t or long int,
38184         not int64_t or int32_t.  This saves some compile-time testing.
38185         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
38186         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
38187         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
38188         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
38189         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
38190         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
38191         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
38192         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38193         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
38194         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
38195         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38196         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38197         undef any previous version and define our own version, for
38198         simplicity and consistency with the new macros for types.
38199         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38200         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38201         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
38202         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
38203         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
38204         @WINT_T_SUFFIX@ to keep things simple here.
38205         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
38206         Simplify by assuming typical 8/16/32/64 host, since we're
38207         already doing that elsewhere anyway.
38208         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
38209         and assume long long int is 64 bits if available.  This
38210         speeds up 'configure'.
38211
38212 2006-07-01  Eric Blake  <ebb9@byu.net>
38213
38214         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
38215         Reported by Andreas Buening.
38216
38217 2006-07-01  Eric Blake  <ebb9@byu.net>
38218
38219         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
38220
38221 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38222
38223         * lib/getaddrinfo.c: fixed typo
38224
38225 2006-06-29  Jim Meyering  <jim@meyering.net>
38226
38227         * modules/strftime (Maintainer): Add my name, since with the
38228         FPRINTFTIME changes strftime.c has forked from glibc.
38229
38230 2006-06-29  Eric Blake  <ebb9@byu.net>
38231
38232         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
38233
38234 2006-06-29  Eric Blake  <ebb9@byu.net>
38235
38236         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
38237
38238 2006-06-29  Eric Blake  <ebb9@byu.net>
38239
38240         * lib/stat_.h: New file.
38241
38242 2006-06-29  Eric Blake  <ebb9@byu.net>
38243
38244         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
38245         unused static function.
38246
38247 2006-06-29  Eric Blake  <ebb9@byu.net>
38248
38249         * doc/functions.texi (Function Portability): Document missing lstat
38250         on mingw.
38251
38252 2006-06-29  Eric Blake  <ebb9@byu.net>
38253
38254         * MODULES.html.sh: Add sys_stat.
38255         * modules/sys_stat: New module.
38256         * modules/mkstemp (Depends-on): Add sys_stat.
38257
38258 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38259
38260         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
38261
38262 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38263
38264         * m4/c-bs-a.m4: Removed.
38265
38266 2006-06-29  Derek R. Price  <derek@ximbiot.com>
38267
38268         * lib/strftime.c: Assume strftime() exists.
38269
38270 2006-06-29  Derek Price  <derek@ximbiot.com>
38271
38272         * modules/c-bs-a: Removed - \a is C89.
38273         * MODULES.html.sh: Remove c-bs-a.
38274
38275 2006-06-29  Bruno Haible  <bruno@clisp.org>
38276
38277         * modules/wcwidth (License): Change to LGPL.
38278
38279 2006-06-28  Simon Josefsson  <jas@extundo.com>
38280
38281         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
38282         on _WIN32.
38283
38284         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
38285         getnameinfo.
38286
38287 2006-06-28  Simon Josefsson  <jas@extundo.com>
38288
38289         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
38290
38291 2006-06-28  Simon Josefsson  <jas@extundo.com>
38292
38293         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
38294         functions there.  It will succeed on Windows XP, but on Windows
38295         2000 and (presumably) earlier, it will fail, and use the internal
38296         re-implementation.
38297         (use_win32_p): New function.
38298         (getaddrinfo): Use strtoul on servname, to support numeric ports.
38299         Support AI_NUMERICSERV to disable getservbyname.
38300         (getnameinfo): New function, only supports
38301         NI_NUMERICHOST|NI_NUMERICSERV for now.
38302
38303         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
38304         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
38305         getnameinfo.
38306
38307 2006-06-28  Eric Blake  <ebb9@byu.net>
38308
38309         * modules/wcwidth: New file.
38310         * modules/mbchar (Depends-on): Add wcwidth.
38311         * modules/mbswidth (Depends-on): Add wcwidth.
38312         * MODULES.html.sh: Add wcwidth.
38313
38314 2006-06-28  Eric Blake  <ebb9@byu.net>
38315
38316         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
38317         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
38318
38319 2006-06-28  Eric Blake  <ebb9@byu.net>
38320
38321         * lib/xvasprintf.h: Fix comments.
38322
38323 2006-06-28  Eric Blake  <ebb9@byu.net>
38324
38325         * lib/mbchar.h (wcwidth): Include wcwidth.h.
38326         * lib/mbswidth.c (wcwidth): Move from here...
38327         * lib/wcwidth.h: ...to this new file.
38328
38329 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38330
38331         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
38332
38333         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
38334         it's obsolete.
38335         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
38336
38337 2006-06-28  Derek R. Price  <derek@ximbiot.com>
38338
38339         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
38340         Autoconf 2.60 says this stuff was obsolete.
38341
38342 2006-06-28  Bruno Haible  <bruno@clisp.org>
38343
38344         * modules/wcwidth (Files): Add m4/wchar_t.m4.
38345
38346 2006-06-28  Bruno Haible  <bruno@clisp.org>
38347
38348         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
38349         gt_TYPE_WCHAR_T.
38350
38351 2006-06-28  Bruno Haible  <bruno@clisp.org>
38352
38353         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
38354         declaration for wcwidth.
38355         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
38356
38357 2006-06-28  Bruno Haible  <bruno@clisp.org>
38358
38359         * lib/mkdtemp.c [MINGW]: Include <io.h>.
38360         (mkdir): Define using _mkdir.
38361
38362 2006-06-28  Bruno Haible  <bruno@clisp.org>
38363
38364         * lib/getaddrinfo.h: Fix POSIX URL.
38365         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
38366         _WIN32.
38367         (use_win32_p): Make static.
38368         (getaddrinfo): Reject service name if it is empty or does not consist
38369         solely of decimal digits, or if its value is > 65535.
38370         (getnameinfo): Remove useless casts.
38371
38372 2006-06-27  Simon Josefsson  <jas@extundo.com>
38373
38374         * modules/sys_select: New file, suggested by Bruno Haible, Paul
38375         Eggert and Martin Lambers.
38376
38377 2006-06-27  Simon Josefsson  <jas@extundo.com>
38378
38379         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
38380         Eggert and Martin Lambers.
38381
38382 2006-06-27  Bruno Haible  <bruno@clisp.org>
38383
38384         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
38385         result to 0, not to empty.
38386         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
38387
38388 2006-06-27  Bruno Haible  <bruno@clisp.org>
38389
38390         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
38391
38392 2006-06-26  Simon Josefsson  <jas@extundo.com>
38393
38394         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
38395         present.
38396
38397 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38398
38399         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
38400         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
38401         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
38402
38403 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
38404
38405         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
38406
38407 2006-06-26  Bruno Haible  <bruno@clisp.org>
38408
38409         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
38410
38411 2006-06-26  Bruno Haible  <bruno@clisp.org>
38412
38413         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
38414
38415 2006-06-26  Bruno Haible  <bruno@clisp.org>
38416
38417         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
38418         SGI C compiler in pre-C99 mode.
38419         Suggested by Mark D. Baushke and Larry Jones.
38420
38421 2006-06-26  Bruno Haible  <bruno@clisp.org>
38422
38423         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
38424         WCHAR_MAX.
38425         Reported by Mark D. Baushke and Larry Jones.
38426
38427 2006-06-26  Bruno Haible  <bruno@clisp.org>
38428
38429         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
38430         in pre-C99 mode.
38431         Suggested by Mark D. Baushke and Larry Jones.
38432
38433 2006-06-23  Simon Josefsson  <jas@extundo.com>
38434             Bruno Haible  <bruno@clisp.org>
38435
38436         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
38437         Emit mostlyclean-local rule.
38438         (func_emit_tests_Makefile_am): Likewise.
38439         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
38440
38441 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
38442
38443         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
38444
38445 2006-06-23  Bruno Haible  <bruno@clisp.org>
38446
38447         * tests/test-stdint.c: Update to match ISO C 99 Technical
38448         Corrigendum 1.
38449
38450 2006-06-23  Bruno Haible  <bruno@clisp.org>
38451
38452         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
38453
38454 2006-06-23  Bruno Haible  <bruno@clisp.org>
38455
38456         * lib/stdint_.h: Treat IRIX like OpenBSD.
38457
38458 2006-06-23  Bruno Haible  <bruno@clisp.org>
38459
38460         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
38461         ISO C 99 Technical Corrigendum 1.
38462
38463 2006-06-22  Simon Josefsson  <jas@extundo.com>
38464
38465         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
38466         MinGW.
38467
38468 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38469
38470         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
38471         needed.  Some compiler complained about some of them.  Problem reported
38472         by Larry Jones in
38473         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
38474
38475 2006-06-21  Simon Josefsson  <jas@extundo.com>
38476
38477         * tests/test-getaddrinfo.c: New file.
38478
38479         * modules/getaddrinfo-tests: New file.
38480
38481         * MODULES.html.sh: Add inet_pton.
38482
38483         * modules/inet_pton: New file.
38484
38485 2006-06-21  Simon Josefsson  <jas@extundo.com>
38486
38487         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
38488         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
38489         of using the (limited) gnulib implementation on Windows XP.
38490
38491         * m4/inet_pton.m4: New file.
38492
38493 2006-06-21  Simon Josefsson  <jas@extundo.com>
38494
38495         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
38496         variable.
38497
38498         * lib/socket_.h: Don't define WINVER.
38499
38500         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
38501         slightly modified to work in gnulib.
38502
38503 2006-06-21  Simon Josefsson  <jas@extundo.com>
38504
38505         * doc/gnulib.texi (Windows sockets): Add.
38506
38507 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38508
38509         * lib/read-file.c (fread_file): Start with buffer allocation of
38510         0 bytes rather than 1 byte; this simplifies the code.
38511         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
38512         code to free buffer and save/restore errno.
38513         (internal_read_file): Remove unused local.
38514
38515 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38516
38517         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
38518         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
38519         Problem reported by Denis Excoffier in
38520         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
38521
38522 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38523
38524         * modules/sys_socket, modules/socklen: Include sys/types since
38525         FreeBSD 4.x's sys/socket.h needs it.
38526
38527 2006-06-19  Simon Josefsson  <jas@extundo.com>
38528
38529         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
38530
38531 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38532
38533         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
38534
38535 2006-06-19  Bruno Haible  <bruno@clisp.org>
38536
38537         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
38538         and FULL_PATH_INTTYPES_H in angle brackets.
38539         Reported by Mark D. Baushke <mdb@gnu.org>.
38540
38541 2006-06-17  Eric Blake  <ebb9@byu.net>
38542
38543         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
38544         errno.
38545
38546 2006-06-17  Bruno Haible  <bruno@clisp.org>
38547
38548         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
38549         <sys/inttypes.h>.
38550
38551 2006-06-17  Bruno Haible  <bruno@clisp.org>
38552
38553         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
38554         whether errno is declared. Assume <errno.h> declares errno.
38555
38556 2006-06-17  Bruno Haible  <bruno@clisp.org>
38557
38558         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
38559
38560 2006-06-17  Bruno Haible  <bruno@clisp.org>
38561
38562         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
38563         problem on Solaris 2.5.1.
38564
38565 2006-06-16  Eric Blake  <ebb9@byu.net>
38566
38567         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
38568         * lib/unicodeio.c [!defined errno]: Likewise.
38569         * lib/strtol.c [!defined errno]: Likewise.
38570         * lib/strtod.c [!defined errno]: Likewise.
38571
38572 2006-06-15  Eric Blake  <ebb9@byu.net>
38573
38574         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
38575
38576 2006-06-15  Eric Blake  <ebb9@byu.net>
38577
38578         * config/srclist.txt (ssize_t.m4): Lose sync.
38579
38580 2006-06-15  Bruno Haible  <bruno@clisp.org>
38581
38582         * modules/stdint (Files): Include m4/full-header-path.m4,
38583         m4/size_max.m4, m4/wchar_t.m4.
38584         (Makefile.am): Many more substitutions.
38585         * modules/stdint-tests: New file.
38586         * tests/test-stdint.c: New file.
38587
38588 2006-06-15  Bruno Haible  <bruno@clisp.org>
38589
38590         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
38591         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
38592         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
38593         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
38594         gl_CHECK_TYPE_SAME): New macros.
38595
38596 2006-06-15  Bruno Haible  <bruno@clisp.org>
38597
38598         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
38599
38600 2006-06-15  Bruno Haible  <bruno@clisp.org>
38601
38602         * lib/stdint_.h: Rewritten to be fully auto-configured.
38603         Fixes bug on HP-UX/IA64.
38604
38605 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
38606
38607         * lib/getdate.y (__attribute__): Don't define if already defined.
38608         Problem reported by Larry Jones.
38609         * lib/utimens.c (__attribute__): Likewise.
38610
38611 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
38612
38613         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
38614         reported by Andreas Schwab.
38615
38616 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38617             Bruno Haible  <bruno@clisp.org>
38618
38619         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
38620         check for the declaration of strnlen and a run test that exposes the
38621         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
38622         rpl_strndup.
38623
38624 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38625             Bruno Haible  <bruno@clisp.org>
38626
38627         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
38628
38629 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38630
38631         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
38632         compile test, for Tru64 4.0D.
38633
38634 2006-05-28  Karl Berry  <karl@gnu.org>
38635
38636         * config/srclist.txt (printf-args.c): lose sync.
38637
38638 2006-05-26  Martin Lambers  <marlam@marlam.de>
38639
38640         * lib/getpass.c: Updates the test for the native W32 API, and adds
38641         missing includes, thus fixing compilation warnings.
38642
38643 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
38644
38645         * lib/exclude.c (exclude_fnmatch): New function.
38646         (excluded_file_name): Call exclude_fnmatch.
38647         * lib/exclude.h (excluded_file_name): New prototype
38648
38649 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
38650
38651         * lib/tempname.c (small_open, large_open): New macros.
38652         (__open, __open64) [!_LIBC]: Remove.
38653         (__gen_tempname): Use small_open and large_open instead of __open
38654         and __open64.  This fixes a portability bug on HP-UX 11.11i
38655         reported by Simon Wing-Tang in
38656         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
38657
38658 2006-05-24  Bruno Haible  <bruno@clisp.org>
38659
38660         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
38661         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
38662         Reported by Thorsten Maerz <torte@netztorte.de> via
38663         Aaron Stone <aaron@serendipity.cx>.
38664
38665 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38666
38667         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
38668         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
38669         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
38670         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
38671         not really conditional on the cache.
38672         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
38673
38674 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38675
38676         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
38677         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
38678         (my_usleep): Don't mishandle maximum value.
38679
38680 2006-05-19  Jim Meyering  <jim@meyering.net>
38681
38682         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
38683
38684 2006-05-17  Bruno Haible  <bruno@clisp.org>
38685
38686         Cygwin portability.
38687         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
38688
38689 2006-05-17  Bruno Haible  <bruno@clisp.org>
38690
38691         * lib/stdint_.h: Fix recognition of Cygwin.
38692
38693 2006-05-15  Bruno Haible  <bruno@clisp.org>
38694
38695         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
38696         on libtool patch by Ralf Wildenhues.
38697
38698 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38699
38700         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
38701         test for C99 conformance; (bool) 0.5 is an integer constant
38702         expression, but (bool) -0.5 is not.  Problem reported by Fedor
38703         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
38704
38705 2006-05-11  Simon Josefsson  <jas@extundo.com>
38706
38707         * m4/xvasprintf.m4: Fix obvious typo.
38708
38709 2006-05-11  Jim Meyering  <jim@meyering.net>
38710
38711         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
38712         James Lemley.
38713
38714 2006-05-10  Simon Josefsson  <jas@extundo.com>
38715
38716         * lib/md4.c: Typo fix, update copyright years.
38717         (K1, K2): Don't use L because it turn computations into 64-bit on
38718         64-bit platforms.
38719
38720 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
38721
38722         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
38723         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
38724         unwanted sign propagation, e.g., on hosts with 64-bit int.
38725         There still are some problems with reeelly weird theoretical hosts
38726         (e.g., 33-bit int) but it's not worth worrying about now.
38727         * lib/sha1.c (rol): Likewise.
38728         (K1, K2, K3, K4): Remove unnecessary L suffix.
38729
38730 2006-05-10  Bruno Haible  <bruno@clisp.org>
38731
38732         * lib/des.c: Cast to avoid warnings.
38733
38734 2006-05-09  Bruno Haible  <bruno@clisp.org>
38735
38736         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
38737         (Depends-on): Depend also on xsize, stdarg.
38738         (configure.ac): Add gl_XVASPRINTF.
38739
38740 2006-05-09  Bruno Haible  <bruno@clisp.org>
38741
38742         * m4/xvasprintf.m4: New file.
38743
38744 2006-05-09  Bruno Haible  <bruno@clisp.org>
38745
38746         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
38747         (EOVERFLOW): Define fallback value.
38748         (xstrcat): New function.
38749         (xvasprintf): Recognize the special case of a string concatenation.
38750
38751 2006-05-08  Eric Blake  <ebb9@byu.net>
38752
38753         * gnulib-tool (func_version): Base copyright year on CVS date.
38754         (func_emit_copyright_notice): New function.
38755         (func_emit_lib_Makefile_am): Use it.
38756         (func_emit_tests_Makefile_am): Likewise.
38757         (func_import): Likewise.
38758
38759 2006-05-08  Bruno Haible  <bruno@clisp.org>
38760
38761         * modules/stdarg: New file.
38762         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
38763
38764 2006-05-08  Bruno Haible  <bruno@clisp.org>
38765
38766         * m4/stdarg.m4: New file, from GNU gettext.
38767
38768 2006-05-08  Bruno Haible  <bruno@clisp.org>
38769
38770         * config/srclist.txt (build-aux/config.rpath): different from latest
38771         release.
38772
38773 2006-05-08  Bruno Haible  <bruno@clisp.org>
38774
38775         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
38776
38777 2006-05-05  Jim Meyering  <jim@meyering.net>
38778
38779         * m4/warning.m4: New file, derived from bison's file by the same name.
38780
38781 2006-05-03  Bruno Haible  <bruno@clisp.org>
38782
38783         * lib/stdint_.h: Shorter URL.
38784         * lib/inttypes.h: Likewise.
38785
38786 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38787
38788         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
38789
38790 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38791
38792         * lib/verify.h: Document the internals better.  Most of this change
38793         was written by Bruno Haible.
38794
38795 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38796
38797         * doc/verify.texi: New file, partly based on a proposal by
38798         Bruno Haible.
38799
38800 2006-05-02  Bruno Haible  <bruno@clisp.org>
38801
38802         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
38803         test from here...
38804         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
38805
38806 2006-04-29  Bruno Haible  <bruno@clisp.org>
38807
38808         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
38809         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
38810
38811 2006-04-29  Bruno Haible  <bruno@clisp.org>
38812
38813         * gnulib-tool: Make --update option actually work.
38814
38815 2006-04-29  Bruno Haible  <bruno@clisp.org>
38816
38817         * doc/gcd.texi: New file.
38818         * doc/gnulib.texi: Include it.
38819
38820 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
38821
38822         * lib/getdate.y (get_date): When adding relative date, start with the
38823         initial time, not with the result of the first mktime call.
38824
38825 2006-04-25  Bruno Haible  <bruno@clisp.org>
38826
38827         * gnulib-tool (func_import): Output the include directives in three
38828         blocks, sorted separately.
38829         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38830
38831 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38832
38833         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
38834         to define main with arguments, for C++.  Reported by Eric Blake.
38835         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
38836         Prefer 'int main ()' to 'int main (void)', for C++.
38837         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
38838         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
38839         for 'main', for C99 and C++.
38840
38841 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38842
38843         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
38844         Don't assume that exit status -1 is valid.
38845         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38846         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38847         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
38848         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
38849         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
38850         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
38851         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
38852         functions can be used without declaring them, or that you can
38853         exit with status -1.
38854         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
38855
38856 2006-04-24  Karl Berry  <karl@gnu.org>
38857
38858         * config/srclist.txt (longdouble.m4): sync lost.
38859
38860 2006-04-24  Eric Blake  <ebb9@byu.net>
38861
38862         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
38863
38864 2006-04-24  Bruno Haible  <bruno@clisp.org>
38865
38866         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
38867         poll() implementation in AIX.
38868         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38869
38870 2006-04-24  Bruno Haible  <bruno@clisp.org>
38871
38872         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
38873         assigned exactly once.
38874
38875 2006-04-23  Claudio Fontana  <claudio@gnu.org>
38876             Bruno Haible  <bruno@clisp.org>
38877
38878         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
38879         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
38880         for AM_CPPFLAGS.
38881
38882 2006-04-23  Bruno Haible  <bruno@clisp.org>
38883
38884         * modules/copy-file: Depend on unistd.
38885         * modules/execute: Likewise.
38886         * modules/fatal-signal: Likewise.
38887         * modules/findprog: Likewise.
38888         * modules/mkdtemp : Likewise.
38889         * modules/pipe: Likewise.
38890         * modules/wait-process: Likewise.
38891
38892 2006-04-23  Bruno Haible  <bruno@clisp.org>
38893
38894         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
38895         condition was already detected.
38896         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38897
38898 2006-04-23  Bruno Haible  <bruno@clisp.org>
38899
38900         * lib/copy-file.c: Include <unistd.h> unconditionally.
38901         * lib/execute.c: Likewise.
38902         * lib/fatal-signal.c: Likewise.
38903         * lib/findprog.c: Likewise.
38904         * lib/mkdtemp.c: Likewise.
38905         * lib/pipe.h: Likewise.
38906         * lib/pipe.c: Likewise.
38907         * lib/wait-process.h: Likewise.
38908
38909 2006-04-23  Bruno Haible  <bruno@clisp.org>
38910
38911         * gnulib-tool (func_usage): Fix --import description. Document
38912         --update.
38913         (func_import): Create temporary file in a temporary directory, if
38914         --dry-run is specified. Silence errors from 'grep' when there are no
38915         m4 files in $m4dir.
38916         (func_create_testdir): Silence errors from 'grep' when there are no
38917         m4 files in $m4dir.
38918         Reported by Karl Berry <karl@freefriends.org>.
38919
38920 2006-04-20  Bruno Haible  <bruno@clisp.org>
38921
38922         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
38923         one argument, so that the code will be portable to Autoconf 2.60.
38924         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
38925         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
38926         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
38927
38928 2006-04-19  Derek Price  <derek@ximbiot.com>
38929             Eric Blake  <ebb9@byu.net>
38930
38931         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
38932         rather than "/full/path.h".  Update comment to match.  Shorten &
38933         generalize m4_translit call via AS_TR_CPP.
38934
38935 2006-04-19  Derek Price  <derek@ximbiot.com>
38936             Eric Blake  <ebb9@byu.net>
38937
38938         * lib/inttypes.h: Correct grammar in comment.
38939
38940 2006-04-18  Derek Price  <derek@ximbiot.com>
38941             Paul Eggert  <eggert@cs.ucla.edu>
38942
38943         * modules/inttypes: New file.
38944         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
38945
38946 2006-04-18  Derek Price  <derek@ximbiot.com>
38947             Paul Eggert  <eggert@cs.ucla.edu>
38948
38949         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
38950         New files.
38951
38952 2006-04-18  Derek Price  <derek@ximbiot.com>
38953             Paul Eggert  <eggert@cs.ucla.edu>
38954
38955         * lib/inttypes.h: New file.
38956         * lib/strtoimax.c: Assume <inttypes.h>.
38957
38958 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
38959
38960         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
38961         isn't mounted.  Problem reported by Kir Kolyshkin.
38962
38963 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38964
38965         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
38966         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
38967         Derek R. Price.
38968         * lib/regex.h (RE_DUP_MAX): Update comment to match current
38969         implementation.
38970
38971 2006-04-12  Eric Blake  <ebb9@byu.net>
38972
38973         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
38974         is now done automatically by the corresponding Autoconf macro.
38975
38976 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
38977
38978         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
38979         time_r.h.
38980
38981 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
38982
38983         Merge regex changes from libc, removing some of our
38984         POSIX-conformance changes that were rejected and redoing them in a
38985         less-intrusive way.
38986
38987         * lib/regcomp.c (re_compile_internal, init_dfa):
38988         Length arg is now size_t, not Idx.  All uses changed.
38989         (peek_token): Forward decl now says internal_function.
38990         (__re_error_msgid, __re_error_msgid_idx):
38991         Now static rather than extern with attribute_hidden.
38992         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
38993         For some reason libc prefers K&R style defns for external functions.
38994         (regerror) [!defined _LIBC]: Likewise.
38995         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
38996         (seek_collating_symbol_entry, lookup_collation_sequence_value):
38997         (build_range_exp, build_collating_symbol):
38998         Use K&R-style defn.
38999         (re_compile_fastmap): Use '\0' to memset, not 0.
39000         (utf8_sb_map): Make the calculations more obvious.
39001         (init_dfa, parse_bracket_exp, build_charclass_op):
39002         Call calloc and cast result, as glibc does.
39003         (init_word_char, fetch_token, peek_token, peek_token_bracket):
39004         (build_range_exp, build_collating_symbol):
39005         Now internal functions.
39006
39007         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
39008
39009         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
39010         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
39011         Don't depend on VMS; depend on __VMS instead, for POSIX
39012         namespace cleanness.
39013         (regoff_t): Define to ssize_t, not long int.
39014
39015         Remove the REG_ macros named below.  Instead, make the old names
39016         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
39017         __USE_GNU_REGEX.
39018         (REG_BACKSLASH_ESCAPE_IN_LISTS):
39019         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
39020         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
39021         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
39022         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
39023         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
39024         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
39025         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
39026         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
39027         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
39028         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
39029         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
39030         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
39031         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
39032         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
39033         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
39034         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
39035         (REG_NREGS):
39036         Remove.  All uses replaced by the old RE_* names.
39037         (RE_BACKSLASH_ESCAPE_IN_LISTS):
39038         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
39039         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
39040         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
39041         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
39042         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
39043         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
39044         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
39045         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
39046         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
39047         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
39048         Don't bother having these macros be independent of each others'
39049         values, since they no longer exist in the POSIX name space.
39050
39051         Rename the following member names back to their old names,
39052         unless !__USE_GNU_REGEX.  All uses changed back.
39053         (buffer): Renamed from re_buffer.
39054         (allocated): Renamed from re_allocated.
39055         (used): Renamed from re_used.
39056         (syntax): Renamed from re_syntax.
39057         (fastmap): Renamed from re_fastmap.
39058         (translate): Renamed from re_translate.
39059         (can_be_null): Renamed from re_can_be_null.
39060         (regs_allocated): Renamed from re_regs_allocated.
39061         (fastmap_accurate): Renamed from re_fastmap_accurate.
39062         (no_sub): Renamed from re_no_sub.
39063         (not_bol): Renamed from re_not_bol.
39064         (not_eol): Renamed from re_not_eol.
39065         (newline_anchor): Renamed from re_newline_anchor.
39066         (num_regs): Renamed from rm_num_regs.
39067         (start): Renamed from rm_start.
39068         (end): Renamed from rm_end.
39069
39070         (free_state): Move up a bit.
39071
39072         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
39073         #define to be empty.
39074         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
39075         when that is what is intended.
39076         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
39077         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
39078         (MAX): New macro.
39079         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
39080         All uses changed back to re_malloc, etc.  It's now the caller's
39081         responsibility to check for overflow; all callers changed.
39082         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
39083         (re_x2nrealloc): Remove.
39084         (free_state): Remove decl.
39085
39086         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
39087         (re_set_registers, re_exec):
39088         Use K&R-style defn.
39089
39090         2006-01-31  Roland McGrath  <roland@redhat.com>
39091
39092         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
39093         Reported by Mike Frysinger <vapier@gentoo.org>.
39094
39095         2006-01-15  Andreas Jaeger  <aj@suse.de>
39096
39097         [BZ #1950]
39098         * lib/regex_internal.c (re_string_reconstruct): Adjust for
39099         build_wcs_upper_buffer change.
39100         (build_wcs_upper_buffer): Change return type.
39101
39102         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
39103
39104         * lib/regex_internal.h: Include <stdint.h> if available.
39105
39106         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
39107
39108         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
39109
39110         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
39111
39112         * lib/regcomp.c: Adjust for changed secondary hash function.
39113
39114         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
39115
39116         * lib/regex.h: Pretty printing.
39117         Clean up namespace a bit.
39118
39119         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
39120
39121         * lib/regexec.c (update_cur_sifted_state, check_arrival,
39122         check_arrival_add_next_nodes): Avoid using uninitialized variable.
39123
39124         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
39125                     Ulrich Drepper  <drepper@redhat.com>
39126
39127         [BZ #1302]
39128         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
39129         changed.
39130         (bitset_word_t): Renamed from bitset_word.  All uses changed.
39131
39132         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
39133
39134         [BZ #281]
39135         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
39136         * lib/regcomp.c: Remove unnecessary uses of
39137         unsigned RE_TRANSLATE_TYPE.
39138         * lib/regex_internal.h: Likewise.
39139         * lib/regex_internal.c: Likewise.
39140         * lib/regexec.c: Likewise.
39141         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
39142
39143         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
39144
39145         * lib/regexec.c (find_recover_state): Remove unnecessary
39146         initialization.
39147         (transit_state_bkref): Make DFA a const pointer.
39148         (get_subexp): Likewise.
39149         (check_arrival): Likewise.
39150         (update_cur_sifted_state): Likewise.
39151         (re_search_internal): Likewise.
39152         (prune_impossible_nodes): Likewise.
39153         (acquire_init_state_context): Likewise.
39154         (proceed_next_node): Likewise.
39155         (set_regs): Likewise.
39156         (free_fail_stack_return): Likewise.
39157         (check_arrival_expand_ecl): Mark DFA parameter as const.
39158         (check_arrival_expand_ecl_sub): Likewise.
39159         (check_subexp_limits): Likewise.
39160         (sub_epsilon_src_nodes):  Likewise.
39161         (add_epsilon_src_nodes):  Likewise.
39162         (merge_state_array): Likewise.
39163         (update_regs): Likewise.
39164         (build_trtable): Likewise.
39165         (sift_states_backward): Mark MCTX parameter as const.
39166         (build_sifted_states): Likewise.
39167         (update_cur_sifted_state): Likewise.
39168         (sift_states_mkref): Likewise.
39169         (check_arrival_expand_ecl): Mark eclosure as const.
39170         (check_dst_limits_calc_pos_1): Likewise.
39171         * lib/regex_internal.h (re_match_context_t): Make dfa a const
39172         pointer.
39173
39174         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
39175
39176         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
39177         (transit_state_sb): Likewise.
39178         (transit_state_mb): Likewise.
39179         (sift_states_iter_mb): Likewise.
39180         (check_arrival_add_next_nodes): Likewise.
39181         (check_node_accept_bytes): Change first parameter to pointer-to-const.
39182         [_LIBC] (re_search_2_stub): Use mempcpy.
39183
39184         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
39185         mbrtowc for very simple UTF-8 case.
39186
39187         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
39188         a pointer-to-const.
39189         (re_acquire_state_context): Likewise.
39190         * lib/regex_internal.h: Adjust prototypes.
39191
39192         * lib/regex.c: Prevent using C++ compilers.
39193
39194         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
39195         (re_acquire_state_context): Likewise.
39196
39197 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39198
39199         * modules/regex (Depends-on): Add ssize_t.
39200
39201 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39202
39203         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
39204         translation table.
39205
39206 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39207
39208         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
39209
39210 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
39211             Bruno Haible  <bruno@clisp.org>
39212
39213         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
39214         <sys/types.h> and <inttypes.h>.
39215
39216 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39217
39218         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
39219         `__error_t_defined', so argp.h will not typedef the former.
39220
39221 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39222
39223         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
39224         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
39225         glibc names.  Even if glibc is changed to conform to POSIX, the
39226         traditional names will be available anyway, since regex depends on
39227         the extensions module.  Also, fix a longstanding typo in the
39228         implementation of Spencer ERE test #75 from grep 2.3.  Problems
39229         reported by Emanuele Giaquinta.  Also, change sense of cached
39230         variable, so that the message makes sense.
39231
39232 2006-03-24  Simon Josefsson  <jas@extundo.com>
39233
39234         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
39235         including some doc fixes.
39236         (base64_encode_alloc): Fix +1 bug on allocation failures.
39237
39238 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39239
39240         * lib/base64.c (base64_encode): Do not read past end of array with
39241         unsanitized input on systems with CHAR_BIT > 8.
39242
39243 2006-03-24  Eric Blake  <ebb9@byu.net>
39244
39245         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
39246
39247 2006-03-22  Karl Berry  <karl@gnu.org>
39248
39249         * config/srclist.txt (*setenv.[ch]): get from coreutils.
39250         * config/srclistvars.sh (COREUTILS): new var.
39251
39252 2006-03-17  Jim Meyering  <jim@meyering.net>
39253
39254         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
39255         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
39256
39257 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39258
39259         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
39260         no longer needs it.  Instead, check that regoff_t is as least
39261         as wide as ptrdiff_t.
39262
39263         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
39264         so that our regex.h stays compatible with the installed regex.
39265         This is helpful for installers who configure --without-included-regex.
39266         Problem reported by Emanuele Giaquinta.
39267
39268 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
39269
39270         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
39271         Typedef to long int, not to off_, as POSIX will likely change
39272         in that direction.
39273
39274 2006-03-15  Eric Blake  <ebb9@byu.net>
39275
39276         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
39277
39278 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
39279
39280         * lib/argp-help.c (validate_uparams): Fix typo
39281         * lib/argp-parse.c (argp_default_options): Consistently begin help
39282         messages with a lowercase letter.
39283
39284 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
39285
39286         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
39287         overrun buffers and shouldn't be used (much as gets shouldn't be
39288         used).
39289         * lib/time_r.c (asctime_r, ctime_r): Likewise.
39290
39291 2006-03-08  Simon Josefsson  <jas@extundo.com>
39292
39293         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
39294         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39295
39296 2006-03-08  Simon Josefsson  <jas@extundo.com>
39297
39298         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
39299         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39300
39301 2006-03-08  Simon Josefsson  <jas@extundo.com>
39302
39303         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
39304         signal that configure disabled the device.
39305
39306 2006-03-08  Simon Josefsson  <jas@extundo.com>
39307
39308         * build-aux/maint.mk: Fix refresh-po, to handle no translated
39309         languages.
39310
39311 2006-03-07  Simon Josefsson  <jas@extundo.com>
39312
39313         * modules/getopt (Depends-on): Add unistd.
39314
39315         * modules/unistd: New file.
39316
39317 2006-03-07  Simon Josefsson  <jas@extundo.com>
39318
39319         * modules/gc-random: New file.
39320
39321 2006-03-07  Simon Josefsson  <jas@extundo.com>
39322
39323         * m4/unistd_h.m4: New file.
39324
39325 2006-03-07  Simon Josefsson  <jas@extundo.com>
39326
39327         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
39328         test to be side-effect free by storing the result in the cache
39329         variable gl_cv_lib_readline, and moving the assignment of
39330         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
39331         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39332
39333 2006-03-07  Simon Josefsson  <jas@extundo.com>
39334
39335         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
39336         error on missing devices (the functions will return an error).
39337
39338         * m4/gc.m4: Move random stuff to gc-random.m4
39339
39340 2006-03-07  Simon Josefsson  <jas@extundo.com>
39341
39342         * lib/unistd_.h: New file.
39343
39344 2006-03-07  Simon Josefsson  <jas@extundo.com>
39345
39346         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
39347
39348 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39349
39350         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
39351         Problem reported by Juan Manuel Guerrero.
39352
39353 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39354
39355         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
39356         the unistd module.
39357         * lib/getlogin_r.c: Likewise.
39358         * lib/getlogin_r.h: Likewise.
39359         * lib/glob.c: Likewise.
39360         * lib/pagealign_alloc.c: Likewise.
39361         * lib/unistd_.h: Remove; no longer needed.
39362
39363 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
39364
39365         * MODULES.html.sh (Support for systems lacking POSIX:2001):
39366         Add unistd.
39367         * modules/c-stack (Depends-on): Add unistd.
39368         * modules/getlogin_r: Likewise.
39369         * modules/glob: Likewise.
39370         * modules/pagealign_alloc: Likewise.
39371         * modules/unistd (Files): Remove lib/unistd_.h.
39372         (EXTRA_DIST): Remove.
39373         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
39374         need unistd_.h.
39375         (MOSTLYCLEANFILES): Remove unistd.h-t.
39376
39377 2006-03-03  Simon Josefsson  <jas@extundo.com>
39378
39379         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
39380
39381 2006-03-03  Simon Josefsson  <jas@extundo.com>
39382
39383         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
39384         libidn and bison.
39385
39386 2006-03-03  Simon Josefsson  <jas@extundo.com>
39387
39388         * build-aux/maint.mk: Add indent target.
39389
39390 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
39391
39392         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
39393         our replacement poll.h in any case, to avoid a differing
39394         declaration from a system header.  Seen on AIX.
39395
39396 2006-03-01  Simon Josefsson  <jas@extundo.com>
39397
39398         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
39399         <kasal@ucw.cz>.
39400
39401 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39402
39403         * modules/gettime (Depends-on): Add extensions module.
39404         * modules/nanosleep (Depends-on): Likewise.
39405         * modules/settime (Depends-on): Likewise.
39406
39407 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
39408
39409         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
39410         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
39411         pedantically.
39412         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39413         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
39414
39415         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
39416         not "==".  Reported by Ralf Wildenhues.
39417
39418 2006-03-01  Karl Berry  <karl@gnu.org>
39419
39420         * doc/Copyright/request-*: new files, synced from gnuorg.
39421
39422 2006-03-01  Karl Berry  <karl@gnu.org>
39423
39424         * config/srclist.txt (Copyright/*): new entries.
39425
39426 2006-02-28  Simon Josefsson  <jas@extundo.com>
39427
39428         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
39429
39430 2006-02-27  Simon Josefsson  <jas@extundo.com>
39431
39432         * lib/base64.h: Indent #define's.  From Jim Meyering
39433         <jim@meyering.net>.
39434
39435 2006-02-27  Jim Meyering  <jim@meyering.net>
39436
39437         Revert the change of 2006-02-24, so these files can continue
39438         to be sync'd from gettext.
39439         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
39440         of `config.h'.
39441
39442 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
39443
39444         * modules/intprops: New file.
39445         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
39446         Add intprops.
39447         * modules/getloadavg (Files): Remove lib/intprops.h.
39448         (Depends-on): Add intprops.
39449         * modules/human: Likewise.
39450         * modules/inttostr: Likewise.
39451         * modules/openat: Likewise.
39452         * modules/sig2str: Likewise.
39453         * modules/userspec: Likewise.
39454         * modules/utimecmp: Likewise.
39455         * modules/xnanosleep: Likewise.
39456         * modules/xstrtol: Likewise.
39457
39458 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
39459
39460         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
39461         * modules/lock-tests (TESTS): Use $(EXEEXT).
39462         * modules/tls-tests: Likewise.
39463         * modules/argp-tests: Likewise.
39464         (check_PROGRAMS): New var, replacing...
39465         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
39466
39467 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39468
39469         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
39470         `config.h'.
39471
39472 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
39473
39474         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
39475
39476 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39477
39478         Sync from coreutils.
39479         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
39480         gl_CHDIR_SAFER.
39481
39482 2006-02-22  Jim Meyering  <jim@meyering.net>
39483
39484         Sync from coreutils.
39485         * m4/chdir-safer.m4: New file.
39486
39487 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
39488
39489         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
39490         AT_FDCWD exceeds INT_MAX.
39491         * lib/openat.h (AT_FDCWD): Likewise.
39492
39493 2006-02-17  Eric Blake  <address@hidden>
39494
39495         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
39496
39497 2006-02-16  Simon Josefsson  <jas@extundo.com>
39498
39499         * modules/getaddrinfo (Depends-on): Add sys_socket.
39500
39501 2006-02-15  Simon Josefsson  <jas@extundo.com>
39502
39503         * build-aux/maint.mk: Add dsyntax-check rule.
39504
39505 2006-02-15  Eric Blake  <ebb9@byu.net>
39506
39507         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
39508         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
39509         'present but cannot compile' warnings on cygwin.
39510         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
39511         use ws2tcpip.h if sys/socket.h works.
39512         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
39513         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
39514
39515 2006-02-14  Simon Josefsson  <jas@extundo.com>
39516
39517         * modules/maintainer-makefile (Files): Rename.
39518
39519         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
39520         and (the local) Makefile.cfg to maint-cfg.mk.
39521
39522         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
39523         to the latter.
39524
39525         * modules/maintainer-makefile: New module.
39526
39527         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
39528         severaly stripped to make it possible to build it up from scratch
39529         with reliable tests.
39530
39531         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
39532         fixes to permit overriding the default actions when configure and
39533         makefile are not available.
39534
39535 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
39536
39537         Sync from coreutils.
39538         * modules/lstat (Depends-on): Don't depend on xalloc.
39539         (License): Change from GPL to LGPL, since this is now simply a
39540         replacement for a libc function.
39541
39542 2006-02-14  Jim Meyering  <jim@meyering.net>
39543
39544         Sync from coreutils.
39545
39546         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
39547         failure on deficient systems, and simplify gnulib lgpl dependencies.
39548         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
39549         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
39550
39551         * lib/xalloc-die.c: Remove unused definition of N_.
39552
39553 2006-02-14  Jim Meyering  <jim@meyering.net>
39554
39555         Sync from coreutils.
39556         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
39557         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
39558         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
39559         double-quote uses of that variable, to accommodate the rare case in
39560         which getmntent is available in none of the libraries checked.  This
39561         happens at least on FreeBSD 5.0.
39562
39563 2006-02-13  Simon Josefsson  <jas@extundo.com>
39564
39565         * gnulib-tool (Usage): Fix --import, from
39566         karl@freefriends.org (Karl Berry).
39567
39568 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
39569
39570         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
39571
39572 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
39573
39574         * lib/argp-namefrob.h: Restore changes accidentally lost during the
39575         "autoupdate" on 2005-12-12.
39576
39577 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
39578
39579         * modules/closeout (Depends-on): Remove atexit.
39580
39581 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
39582
39583         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
39584         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
39585
39586 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39587
39588         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
39589         __EXTENSIONS__ if this causes compilation to fail.  Problem
39590         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
39591         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
39592
39593 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
39594
39595         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
39596         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
39597         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
39598         All uses changed.
39599
39600 2006-01-26  Simon Josefsson  <jas@extundo.com>
39601
39602         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
39603         prototype is visible on mingw32.
39604
39605         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
39606         for mingw32.
39607
39608         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
39609         mingw32).
39610
39611 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
39612
39613         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
39614         attempt to open for write; this always fails, at least on POSIX
39615         hosts.  This reinstates the 2006-01-09 change, which was
39616         inadvertently removed.
39617
39618 2006-01-26  Bruno Haible  <bruno@clisp.org>
39619
39620         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
39621         Reported by Paul Eggert.
39622
39623 2006-01-26  Bruno Haible  <bruno@clisp.org>
39624             Paul Eggert  <eggert@cs.ucla.edu>
39625
39626         * lib/stdbool_.h (_Bool)
39627         [(! (defined __cplusplus || defined __BEOS__)
39628           && !defined __GNUC__
39629           && !(defined __HP_cc || defined __xlc__
39630                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
39631                || defined __sgi))]:
39632         #define to signed char in these cases too; this simplifies
39633         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
39634         etc., separately) and makes it more conservative.
39635
39636 2006-01-25  Simon Josefsson  <jas@extundo.com>
39637
39638         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
39639         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
39640         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
39641
39642 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39643
39644         * lib/argp-namefrob.h: Bugfix. Remove stray #
39645
39646 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
39647
39648         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
39649         so that we test the test.
39650         Check for yet another HP-UX cc bug involving *bool |= bool.
39651
39652 2006-01-25  Karl Berry  <karl@gnu.org>
39653
39654         * config/srclist.txt (vasnprintf.c): sync lost.
39655
39656 2006-01-25  Jim Meyering  <jim@meyering.net>
39657
39658         Sync from the stable (b5) branch of coreutils:
39659
39660         * lib/fts.c (fts_children): Don't let close() clobber errno from
39661         failed fchdir().
39662
39663         * lib/fts.c (fts_stat): When following a symlink-to-directory,
39664         don't necessarily interpret stat-fails+lstat-succeeds as indicating
39665         a dangling symlink.  That can also happen at least for ELOOP.
39666         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
39667         FYI, this bug predates the inclusion of fts.c in coreutils.
39668
39669         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
39670         in their own block, so pre-c99 compilers don't object.
39671
39672         Avoid the double-free (first in fts_read, second in fts_close) that
39673         would occur when an `active' directory is made inaccessible (e.g.,
39674         via chmod a-x) during a traversal.
39675         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
39676         before returning.  Reproduce this failure by
39677         mkdir -p a/b; cd a; chmod a-x . b
39678         Reported by Stavros Passas.
39679
39680 2006-01-25  Jim Meyering  <jim@meyering.net>
39681
39682         * lib/fileblocks.c: Remove more useless parentheses.
39683         * lib/readutmp.h: Likewise.
39684
39685 2006-01-25  Bruno Haible  <bruno@clisp.org>
39686
39687         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
39688         warnings.
39689         Reported by Paul Eggert.
39690
39691 2006-01-25  Bruno Haible  <bruno@clisp.org>
39692
39693         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
39694         rid of a trap command. For Solaris sh.
39695         Reported by Mark D. Baushke <mdb@gnu.org>.
39696
39697 2006-01-24  Simon Josefsson  <jas@extundo.com>
39698
39699         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
39700         Bruno.
39701
39702 2006-01-24  Karl Berry  <karl@gnu.org>
39703
39704         * config/srclist.txt (argp-namefrob.h): sync lost.
39705
39706 2006-01-24  Jim Meyering  <jim@meyering.net>
39707
39708         * modules/openat (Files): Add lib/intprops.h.
39709         From Mark D. Baushke.
39710
39711 2006-01-24  Jim Meyering  <jim@meyering.net>
39712
39713         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
39714         Reported by Mark D. Baushke.
39715
39716 2006-01-24  Jim Meyering  <jim@meyering.net>
39717
39718         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
39719
39720 2006-01-24  Bruno Haible  <bruno@clisp.org>
39721
39722         * modules/strnlen (Maintainer): Change from glibc to all.
39723
39724 2006-01-24  Bruno Haible  <bruno@clisp.org>
39725
39726         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
39727         Patch by Paul Eggert.
39728
39729 2006-01-24  Bruno Haible  <bruno@clisp.org>
39730
39731         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
39732         already has it.
39733         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
39734         2005-11-26.
39735
39736         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
39737         'signed char' to avoid problems with the built-in _Bool type.
39738         Reported by Paul Eggert on 2005-11-26.
39739
39740 2006-01-24  Bruno Haible  <bruno@clisp.org>
39741
39742         * gnulib-tool (func_import): Avoid constructing complicated sed
39743         expressions inside backquote.
39744         Report and solution by Mark D. Baushke <mdb@gnu.org>.
39745
39746 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
39747
39748         These changes imported from libc.
39749         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
39750         test and two separate function calls.
39751         * lib/strndup.c (__strndup): Add libc_hidden_def.
39752
39753 2006-01-23  Simon Josefsson  <jas@extundo.com>
39754
39755         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
39756         Remove the test_*_SOURCES variable: automake infers it by default.
39757         * modules/tls-tests: Likewise.
39758
39759 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39760
39761         Work around porting bugs reported by Dieter in
39762         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
39763         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
39764         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
39765         Include "getopt.h" first, to check interface.
39766         (getenv): Declare only if defined HAVE_DECL_GETENV &&
39767         !HAVE_DECL_GETENV.
39768         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
39769         (__strndup): Revert to K&R-style function dfns, the glibc style.
39770         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
39771         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
39772         Include strnlen.h first, to get prototype properly.
39773         (strnlen): Renamed from __strnlen.
39774         Remove weak alias.
39775
39776 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39777
39778         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
39779
39780 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
39781
39782         * config/srclist.txt: Adjust to reflect glibc reorganization.
39783         This affects only comments.
39784
39785 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
39786
39787          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
39788          Reported by Bruce Korb <bkorb@gnu.org>.
39789
39790 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
39791
39792         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
39793         to pacify gcc -Wswitch-default.
39794
39795 2006-01-22  Bruno Haible  <bruno@clisp.org>
39796
39797         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
39798         temporary buffer for sprintf, take into account the precision also
39799         for 'd', 'i', 'u', 'o', 'x', 'X'.
39800
39801 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
39802
39803         * modules/argp-tests: New module
39804         * tests/test-argp.c: New file
39805         * tests/test-argp-2.sh: New file
39806
39807 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
39808
39809         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
39810         (__argp_base_name): Removed
39811         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
39812         typo.
39813         (__argp_base_name): Provide macro definition or extern declaration
39814         depending on the configuration
39815
39816 2006-01-20  Simon Josefsson  <jas@extundo.com>
39817
39818         * modules/inet_ntop (Depends-on): Depend on sys_socket.
39819
39820 2006-01-20  Simon Josefsson  <jas@extundo.com>
39821
39822         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
39823
39824 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
39825
39826         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
39827         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
39828         Suggested by Bruno Haible.
39829
39830 2006-01-20  Karl Berry  <karl@gnu.org>
39831
39832         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
39833         until changes propagate, I guess.
39834
39835 2006-01-19  Simon Josefsson  <jas@extundo.com>
39836
39837         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
39838
39839 2006-01-19  Simon Josefsson  <jas@extundo.com>
39840
39841         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
39842
39843 2006-01-19  Simon Josefsson  <jas@extundo.com>
39844
39845         * gnulib-tool: Set check_PROGRAMS.
39846
39847         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
39848         modules/des-tests, modules/gc-arcfour-tests,
39849         modules/gc-arctwo-tests, modules/gc-des-tests,
39850         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
39851         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
39852         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
39853         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
39854         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
39855         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
39856         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
39857         test_*_SOURCES.
39858
39859 2006-01-18  Simon Josefsson  <jas@extundo.com>
39860
39861         * modules/socklen (Depends-on): Depend on sys_socket.
39862
39863 2006-01-18  Simon Josefsson  <jas@extundo.com>
39864
39865         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
39866         modules/des-tests, modules/gc-arcfour-tests,
39867         modules/gc-arctwo-tests, modules/gc-des-tests,
39868         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
39869         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
39870         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
39871         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
39872         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
39873         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
39874         $(EXEEXT) to automake TESTS variable, for mingw32.
39875
39876 2006-01-17  Simon Josefsson  <jas@extundo.com>
39877
39878         * modules/socklen (Include): Need sys/socket.h.
39879
39880 2006-01-17  Bruno Haible  <bruno@clisp.org>
39881
39882         * modules/ssize_t (Include): Add <sys/types.h>.
39883
39884 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
39885
39886         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
39887         it's not portable and it doesn't work with cross-compiles.
39888         Problem reported by Bruno Haible.  Fix missing-$ typo in
39889         'test "gl_cv_ignore_unused_libraries" ...' that prevented
39890         -zignore from being used with Sun's C compiler.
39891
39892 2006-01-12  Simon Josefsson  <jas@extundo.com>
39893
39894         * lib/base64.c: Fix warning, reported by Bruno Haible
39895         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
39896
39897 2006-01-12  Bruno Haible  <bruno@clisp.org>
39898
39899         * modules/ldd: New file.
39900         * build-aux/ldd.sh.in: New file.
39901         * MODULES.html.sh (Support for building libraries and executables): Add
39902         ldd.
39903
39904 2006-01-12  Bruno Haible  <bruno@clisp.org>
39905
39906         * m4/ldd.m4: New file.
39907
39908 2006-01-12  Bruno Haible  <bruno@clisp.org>
39909
39910         * gnulib-tool (func_import, func_create_testdir): Don't go into an
39911         endless loop while replacing $auxdir with build-aux.
39912
39913 2006-01-11  Simon Josefsson  <jas@extundo.com>
39914
39915         * lib/stdint_.h (SIZE_MAX): Add missing (.
39916
39917 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
39918
39919         Sync from coreutils.
39920         * lib/md5.c: Fix commentary typos.
39921         (alignof, UNALIGNED_P): No need for a GCC-specific version.
39922         * lib/md5.h (__attribute__): Remove; unused.
39923         * lib/sha1.c: Fix commentary to match md5 better.
39924         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
39925         so that we don't need to worry about alignment.  All uses changed.
39926         This merges the 2005-10-28 md5 change into sha1.
39927
39928 2006-01-11  Jim Meyering  <jim@meyering.net>
39929
39930         Sync from coreutils.
39931         * lib/md5.c (OP): Fix spacing.
39932
39933 2006-01-11  Bruno Haible  <bruno@clisp.org>
39934
39935         Ensure automatic ordering between gl_LOCK and gl_ARGP.
39936         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
39937         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
39938
39939 2006-01-11  Bruno Haible  <bruno@clisp.org>
39940
39941         Ensure automatic ordering between gl_LOCK and gl_ARGP.
39942         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
39943         the "early" section as well.
39944
39945 2006-01-11  Bruno Haible  <bruno@clisp.org>
39946
39947         Avoid "ar: no archive members specified" error on MacOS X.
39948         * gnulib-tool (func_modules_add_dummy): New function.
39949         (func_import, func_create_testdir): Invoke it.
39950
39951 2006-01-11  Bruno Haible  <bruno@clisp.org>
39952
39953         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
39954         with $auxdir in AC_CONFIG_FILES statements.
39955
39956 2006-01-11  Bruno Haible  <bruno@clisp.org>
39957
39958         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39959         Initialize also noinst_HEADERS to empty.
39960
39961 2006-01-11  Bruno Haible  <bruno@clisp.org>
39962
39963         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
39964         variables.
39965         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
39966         autoreconf.
39967
39968 2006-01-11  Bruno Haible  <bruno@clisp.org>
39969
39970         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
39971         overridable by the user.
39972         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39973
39974 2006-01-10  Simon Josefsson  <jas@extundo.com>
39975
39976         * modules/sys_socket: New file.
39977
39978 2006-01-10  Simon Josefsson  <jas@extundo.com>
39979
39980         * m4/sys_socket_h.m4: New file.
39981
39982 2006-01-10  Simon Josefsson  <jas@extundo.com>
39983
39984         * lib/socket_.h: New file.
39985
39986 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
39987
39988         * modules/readutmp (Maintainer): Add myself.
39989
39990 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
39991
39992         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
39993         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
39994         People who are still concerned with buggy memcmp implementations
39995         can invoke gl_FUNC_MEMCMP themselves.
39996
39997 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
39998
39999         * lib/regex_internal.h (BITSET_WORD_BITS):
40000         Work around a bug in 64-bit PGC (before version 6.1-2), where the
40001         preprocessor mishandles large unsigned values as if they were signed.
40002         Problem reported by Claudio Fontana in
40003         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
40004
40005 2006-01-10  Jim Meyering  <jim@meyering.net>
40006
40007         Avoid the double-free (first in fts_read, second in fts_close) that
40008         would occur when an `active' directory is made inaccessible (e.g.,
40009         via chmod a-x) during a traversal.
40010         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40011         before returning.  Reproduce this failure by
40012         mkdir -p a/b; cd a; chmod a-x . b
40013         Reported by Stavros Passas.
40014
40015         Sync from coreutils.
40016         * lib/sha1.c: Tweak grammar in a comment.
40017
40018 2006-01-10  Jim Meyering  <jim@meyering.net>
40019
40020         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
40021         Patch by Joerg Sonnenberger.
40022
40023 2006-01-10  Bruno Haible  <bruno@clisp.org>
40024
40025         * modules/readutmp: Depend on module free.
40026         * modules/strtok_r: Depend on module restrict.
40027
40028 2006-01-10  Bruno Haible  <bruno@clisp.org>
40029
40030         * modules/gettext (configure.ac): Add an invocation of
40031         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
40032
40033 2006-01-10  Bruno Haible  <bruno@clisp.org>
40034
40035         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
40036         Reported by Werner Lemberg <wl@gnu.org>.
40037
40038 2006-01-10  Bruno Haible  <bruno@clisp.org>
40039
40040         * lib/localcharset.c: Update from GNU gettext.
40041
40042 2006-01-10  Bruno Haible  <bruno@clisp.org>
40043
40044         * lib/argp.h (__const): Remove macro. Use const instead.
40045         * lib/argp-fmtstream.h (__const): Likewise.
40046         * lib/glob_.h (__const): Remove macro.
40047         * lib/glob-libc.h: Use const instead of __const.
40048
40049 2006-01-10  Bruno Haible  <bruno@clisp.org>
40050
40051         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
40052         variable.
40053         Needed to avoid an automake error regarding the 'gettext' module.
40054
40055 2006-01-09  Simon Josefsson  <jas@extundo.com>
40056
40057         * modules/inet_ntop (Depends-on): Add restrict.
40058
40059 2006-01-09  Simon Josefsson  <jas@extundo.com>
40060
40061         * modules/gc-rijndael-tests (License): Put under LGPL.
40062
40063         * modules/gc-des-tests (License): Likewise.
40064
40065         * modules/gc-arcfour-tests (License): Likewise.
40066
40067         * modules/gc-arctwo-tests (License): Likewise.
40068
40069         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
40070
40071         * modules/gc-hmac-sha1-tests (Files): Likewise.
40072
40073         * modules/gc-hmac-md5-tests (License): Likewise.
40074
40075         * modules/gc-sha1-tests (License): Likewise.
40076
40077         * modules/gc-md5-tests (License): Likewise.
40078
40079         * modules/gc-md4-tests (License): Likewise.
40080
40081         * modules/gc-md2-tests (License): Likewise.
40082
40083         * modules/gc-tests (License): Likewise.
40084
40085         * modules/des-tests (License): Likewise.
40086
40087         * modules/md4-tests (License): Likewise.
40088
40089         * modules/md2-tests (License): Likewise.
40090
40091 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40092
40093         Sync from coreutils:
40094
40095         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
40096         * modules/lib-ignore: New file.
40097         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
40098         chdir-safer.m4, lchmod.m4.
40099         * modules/openat: Add mkdirat.c, openat-priv.h.
40100
40101 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40102
40103         Sync from coreutils.
40104         * m4/lib-ignore.m4: New file.
40105         * m4/lchmod.m4: New file.
40106
40107 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40108
40109         Sync from coreutils.
40110         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
40111         for write access: POSIX says that must fail.
40112         * lib/fts.c (diropen): Likewise.
40113         * lib/save-cwd.c (save_cwd): Likewise.
40114         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
40115         well, for minor improvements on hosts that lack O_DIRECTORY.
40116         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
40117         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
40118         Fall back on chown if open failed with EACCES.
40119
40120         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
40121         Report an error at compile-time if only a 1-second nominal clock
40122         resolution is found.
40123
40124         * lib/lchmod.h: New file.
40125         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
40126         (make_dir_parents): Use lchown rather than chown, and
40127         lchmod rather than chmod.
40128
40129         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
40130         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
40131         "proc" reported by n0dalus.
40132
40133         * lib/mountlist.c: Include <limits.h>.
40134         (dev_from_mount_options)
40135         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
40136         New function.  It no longer assumes "dev=" has the System V meaning
40137         on Linux (since it doesn't).  It also parses "dev=" more carefully.
40138         (read_file_system_list)
40139         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
40140         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
40141         dev= in that case.
40142
40143         * lib/posixtm.h (PDS_PRE_2000): New macro.
40144         * lib/posixtm.c (year): Arg is now syntax_bits rather than
40145         allow_century.  All usages changed.  Reject dates outside the range
40146         1969-1999 if PDS_PRE_2000 is used.
40147
40148 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40149
40150         Sync from coreutils.
40151         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
40152         (Time of day items): Mention the possibility of leap seconds.
40153         Problem reported by Dr. David Alan Gilbert.
40154
40155 2006-01-09  Jim Meyering  <jim@meyering.net>
40156
40157         Sync from coreutils.
40158
40159         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
40160
40161         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
40162
40163         * lib/modechange.c (mode_compile): Reject an invalid mode string
40164         that starts with an octal digit.  From Andreas Gruenbacher.
40165
40166         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
40167         and dup to open_safer and dup_safer, respectively.
40168         (openat_permissive): Fix typo in comment.
40169
40170         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
40171         "gettext.h"; either no longer needed or are guaranteed by openat.h.
40172         (_): Remove; no longer needed.
40173         (openat): Renamed from rpl_openat; no need for rpl_openat
40174         since openat.h renames openat for us.
40175         Replace most of the body with a call to openat_permissive,
40176         to avoid duplicate code.
40177         Port to (probably hypothetical) environments were mode_t is
40178         wider than int.
40179         (openat_permissive): Require mode arg, so that we can check
40180         types better.  Put it just after flags.  Change cwd failure
40181         indicator from pointer-to-bool to pointer-to-errno-value.
40182         All callers changed.
40183         Invoke openat_save_fail and/or openat_restore_fail if
40184         cwd_errno is null, so that openat can call us.
40185         (openat_permissive, fdopendir, fstatat, unlinkat):
40186         Simplify errno handling to avoid some duplicate code,
40187         as it's OK to set errno on success.
40188         * lib/openat.h: Revamp code so that function macros depend on
40189         __OPENAT_PREFIX only, not also on AT_FDCWD.
40190         (openat_ro): Remove.  Caller changed to use openat_permissive.
40191         (openat_permissive): Now a macro, if not a function.
40192         (openat_restore_fail, openat_save_fail): Now always functions,
40193         since mkdirat needs them even if __OPENAT_PREFIX is defined.
40194
40195         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
40196         and openat.c.
40197         * lib/mkdirat.c: Include openat-priv.h.
40198         Remove definitions of macros defined therein.
40199         * lib/openat.c: Likewise.
40200
40201         * lib/mkdirat.c (mkdirat): New file and function.
40202         * lib/openat.h (mkdirat): Declare.
40203
40204         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
40205
40206         * lib/openat.h (openat_permissive): Declare.
40207         (openat_ro): Define.
40208
40209         * lib/openat.c (EXPECTED_ERRNO): New macro.
40210         (openat_permissive): New function -- used in remove.c rewrite.
40211         (all functions): Set errno just before returning, only if there
40212         was an actual failure.
40213         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
40214
40215         Emulate openat-family functions using Linux's procfs, if possible.
40216         Idea and some code based on Ulrich Drepper's glibc changes.
40217
40218         * lib/openat.c: (BUILD_PROC_NAME): New macro.
40219         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
40220         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
40221         before falling back on save_cwd and restore_cwd.
40222         (fdopendir, fstatat, unlinkat): Likewise.
40223
40224         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
40225         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
40226
40227         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
40228         as second argument to va_arg.  Otherwise, some versions of gcc
40229         warn that `if this code is reached, the program will abort'.
40230
40231 2006-01-09  Jim Meyering  <jim@meyering.net>
40232
40233         Sync from coreutils.
40234         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
40235         Require openat-priv.h.
40236
40237 2006-01-09  Bruno Haible  <bruno@clisp.org>
40238
40239         * modules/strnlen (Include): Use strnlen.h.
40240
40241 2006-01-09  Bruno Haible  <bruno@clisp.org>
40242
40243         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
40244
40245 2006-01-09  Bruno Haible  <bruno@clisp.org>
40246
40247         * lib/sysexit_.h (EX_OK): New macro.
40248         Suggested by Martin Lambers <marlam@marlam.de>.
40249
40250 2006-01-09  Bruno Haible  <bruno@clisp.org>
40251
40252         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
40253         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
40254
40255 2006-01-09  Bruno Haible  <bruno@clisp.org>
40256
40257         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
40258         numbers.
40259
40260 2006-01-09  Bruno Haible  <bruno@clisp.org>
40261
40262         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
40263         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
40264         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
40265         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
40266
40267 2006-01-09  Bruno Haible  <bruno@clisp.org>
40268
40269         * build-aux/javacomp.sh.in: New file, moved from lib/.
40270         * modules/javacomp-script (Files): Update.
40271         (configure.ac): Add AC_CONFIG_FILES invocation.
40272         (EXTRA_DIST): Remove variable.
40273
40274         * build-aux/javaexec.sh.in: New file, moved from lib/.
40275         * modules/javaexec (Files): Update.
40276         (configure.ac): Add AC_CONFIG_FILES invocation.
40277         (EXTRA_DIST): Remove javaexec.sh.in.
40278
40279         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
40280         * modules/csharpcomp-script (Files): Update.
40281         (configure.ac): Add AC_CONFIG_FILES invocation.
40282         (EXTRA_DIST): Remove variable.
40283
40284         * build-aux/csharpexec.sh.in: New file, moved from lib/.
40285         * modules/csharpexec (Files): Update.
40286         (configure.ac): Add AC_CONFIG_FILES invocation.
40287         (EXTRA_DIST): Remove csharpexec.sh.in.
40288
40289 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40290
40291         Sync from coreutils.
40292
40293         Add POSIX ACL support
40294         * lib/acl.h (copy_acl, set_acl): Add declarations.
40295         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
40296         systems other than Linux.
40297         (chmod_or_fchmod): New function: use fchmod when possible,
40298         and chmod otherwise.
40299         (file_has_acl): Add a POSIX ACL implementation, with a
40300         Linux-specific subcase.
40301         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
40302         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
40303         acls are unsupported.
40304         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
40305         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
40306         are unsupported.
40307
40308 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
40309
40310         Sync from coreutils.
40311         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
40312
40313 2006-01-07  Bruno Haible  <bruno@clisp.org>
40314
40315         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
40316         gl_EARLY.
40317
40318 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40319
40320         * lib/strftime.c (tzname): Don't declare if it is already #defined.
40321         Problem reported for Mingw by Mark Junker.
40322
40323 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40324
40325         * README: Gnulib normally doesn't generate a tarball.
40326
40327 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
40328
40329         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
40330         long int, not int, for nanosecond counts, so that people who are
40331         used to POSIX struct timespec won't be surprised.  Reported by Jim
40332         Meyering.
40333
40334 2005-12-28  Bruno Haible  <bruno@clisp.org>
40335
40336         * build-aux/config.rpath: Update from GNU gettext.
40337
40338 2005-12-16  Jim Meyering  <jim@meyering.net>
40339
40340         * modules/fprintftime: New module.
40341         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
40342
40343 2005-12-16  Jim Meyering  <jim@meyering.net>
40344
40345         * m4/fprintftime.m4: New file.
40346
40347 2005-12-16  Jim Meyering  <jim@meyering.net>
40348
40349         * lib/fprintftime.c, lib/fprintftime.h: New files.
40350
40351 2005-12-15  Simon Josefsson  <jas@extundo.com>
40352
40353         * modules/socklen (configure.ac): Fix M4 macro name, to align with
40354         new m4/socklen.m4.
40355
40356 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40357
40358         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
40359         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
40360
40361 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40362
40363         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
40364         * lib/argp-help.c (fill_in_uparams): Check if the constructed
40365         struct uparams is valid. Fall back to the default values if it is
40366         not.
40367
40368 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40369
40370         * modules/argp (Files): Add argp-pin.c
40371         (Depends-on): dirname
40372         (lib_SOURCES): Add argp-pin.c
40373
40374 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40375
40376         * m4/argp.m4:  Check if program_invocation_name and
40377         program_invocation_short_name are declared and define appropriate
40378         macros if they are not.
40379
40380 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
40381
40382         * lib/argp-help.c (__argp_base_name): New function
40383         (__argp_short_program_name): Rewrite using __argp_base_name
40384         * lib/argp-namefrob.h: Define program_invocation_name and
40385         program_invocation_short_name if requested
40386         (__argp_base_name): Add prototype
40387         * lib/argp-parse.c (argp_def): Use gettext wrappers
40388         (argp_default_parser): Use __argp_base_name
40389         * lib/argp-pin.c: New file. Defines program_invocation_name and
40390         program_invocation_short_name on systems that lack them.
40391
40392 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40393
40394         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
40395         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
40396         porting problem reported by Georg Schwarz in
40397         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
40398
40399 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40400
40401         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
40402         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
40403         porting problem reported by Georg Schwarz in
40404         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
40405
40406 2005-12-05  Bruno Haible  <bruno@clisp.org>
40407
40408         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
40409         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
40410         Reported by Mark Junker <mjscod@gmx.de>.
40411
40412 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
40413
40414         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
40415         Use implementation from Albert Chin, with some
40416         comments/corrections by Stepan Kasal and myself.
40417
40418 2005-12-02  Bruno Haible  <bruno@clisp.org>
40419
40420         * gnulib-tool (func_import): Accept GPLed build tool modules when
40421         --lgpl is given.
40422         * modules/csharpcomp-script: New file.
40423         * modules/csharpcomp: Depend on it.
40424         * modules/javacomp-script: New file.
40425         * modules/javacomp: Depend on it.
40426         Suggested by Simon Josefsson.
40427
40428 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
40429
40430         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
40431         statement, to work around an HP-UX 10.20 compiler bug reported by
40432         Peter O'Gorman.
40433
40434 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
40435
40436         * modules/savedir (Depends-on): Add openat.
40437
40438 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
40439
40440         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
40441         (uintmax_t) [defined uintmax_t]: Do not declare.
40442         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
40443         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
40444         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
40445         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
40446         sake of portability to weird hosts that C allows (though we don't
40447         know of any practical examples).
40448
40449         * lib/savedir.h (fdsavedir): New decl.
40450         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
40451         contains most of the former guts of savedir.
40452         (savedir): Use savedirstream.
40453         Include "openat.h".
40454
40455 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
40456
40457         * modules/obstack (Files): Add m4/ulonglong.m4.
40458         Problem reported by Davide Angelocola.
40459
40460 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
40461
40462         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
40463         coreutils no longer futzes with rounding modes.
40464
40465 2005-11-14  Jim Meyering  <jim@meyering.net>
40466
40467         * lib/mkstemp-safer.c: Include <config.h>, required for possible
40468         replacement of mkstemp.
40469
40470 2005-11-10  Simon Josefsson  <jas@extundo.com>
40471
40472         * lib/readline.c: Remove EOL.
40473
40474 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40475
40476         * modules/gethrxtime (Depends-on): Add gettime.
40477
40478 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40479
40480         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
40481         or gettimeofday; no longer needed.
40482
40483 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
40484
40485         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
40486         time business.
40487         (gethrxtime) [! (HAVE_NANOUPTIME
40488         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
40489         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
40490         our own approximation.
40491
40492 2005-11-08  Eric Blake  <ebb9@byu.net>
40493
40494         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
40495
40496 2005-11-08  Eric Blake  <ebb9@byu.net>
40497
40498         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
40499
40500 2005-11-04  Bruno Haible  <bruno@clisp.org>
40501
40502         * gnulib-tool: Implement --update mode.
40503
40504 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
40505
40506         Fix porting problem reported by Theodoros V. Kalamatianos.
40507         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
40508         Don't assume that futimes failing means we must fail.
40509
40510 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
40511
40512         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
40513         variables to suggest the intended function of the PATH_MAX check.
40514
40515 2005-10-30  Kean Johnston  <jkj@sco.com>
40516
40517         Trivial changes to support SCO systems.
40518         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
40519         as PATH_MAX.
40520         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
40521         where __ptr is null when no I/O is pending.
40522
40523 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
40524
40525         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
40526         leave errno alone.  Problem reported by Dmitry V. Levin.
40527
40528 2005-10-28  Simon Josefsson  <jas@extundo.com>
40529
40530         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
40531         Test more.
40532
40533         * tests/test-gc-md2.c, tests/test-md2.c: New files.
40534
40535         * modules/md2, modules/md2-tests: New files.
40536
40537 2005-10-28  Simon Josefsson  <jas@extundo.com>
40538
40539         * m4/inet_ntop.m4: More tests.
40540
40541         * m4/gc-md2.m4, md2.m4: New file.
40542
40543 2005-10-28  Simon Josefsson  <jas@extundo.com>
40544
40545         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
40546         "restrict" keywords, as per POSIX.  Protect the function
40547         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
40548         Don't use K&R prototypes.  Check the sprintf return values.
40549         Re-define EAFNOSUPPORT if not present.  Indent.
40550
40551         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
40552         suggested by Bruno Haible <bruno@clisp.org>.
40553
40554         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
40555
40556         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
40557
40558         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
40559         libgcrypt).
40560
40561         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
40562
40563         * lib/md2.h, lib/md2.c: New files.
40564
40565 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
40566
40567         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
40568         errno alone.  Problem reported by Frederic Jolliton.
40569
40570 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
40571
40572         * modules/verify (License): Change from GPL to LGPL.  This is a
40573         tiny module and there are apparently near-equivalents that are
40574         under the BSD license.
40575
40576 2005-10-24  Simon Josefsson  <jas@extundo.com>
40577
40578         * modules/sha1: Relicense to LGPL.
40579
40580 2005-10-24  Simon Josefsson  <jas@extundo.com>
40581
40582         * lib/md4.h: Shrink buffer size, now that we changed the type.
40583
40584 2005-10-23  Simon Josefsson  <jas@extundo.com>
40585
40586         * gnulib-tool (func_import): Fix --tests-base.
40587
40588 2005-10-22  Simon Josefsson  <jas@extundo.com>
40589
40590         * modules/arcfour (Depends-on): Need stdint.
40591
40592 2005-10-22  Simon Josefsson  <jas@extundo.com>
40593
40594         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
40595         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
40596
40597 2005-10-22  Simon Josefsson  <jas@extundo.com>
40598
40599         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
40600         suggested by Bruno Haible <bruno@clisp.org>.
40601
40602 2005-10-22  Simon Josefsson  <jas@extundo.com>
40603
40604         * lib/crc.h: Include stddef.h, for size_t.
40605
40606 2005-10-22  Simon Josefsson  <jas@extundo.com>
40607
40608         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
40609         arcfour_context struct (simplify test vector testing in GNU
40610         Shishi).
40611
40612 2005-10-21  Simon Josefsson  <jas@extundo.com>
40613
40614         * modules/des, modules/des-tests: New files.
40615
40616         * modules/gc-des, modules/gc-des-tests: New files.
40617
40618         * tests/test-des.c, tests/test-gc-des.c: New file.
40619
40620 2005-10-21  Simon Josefsson  <jas@extundo.com>
40621
40622         * modules/arctwo, modules/arctwo-tests: New files.
40623
40624         * tests/test-arctwo.c: New file.
40625
40626         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
40627
40628         * tests/test-gc-arctwo.c: New file.
40629
40630 2005-10-21  Simon Josefsson  <jas@extundo.com>
40631
40632         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
40633         Bruno Haible <bruno@clisp.org>.
40634
40635         * m4/gc-des.m4: New file.
40636
40637 2005-10-21  Simon Josefsson  <jas@extundo.com>
40638
40639         * m4/arctwo.m4: New file.
40640
40641         * m4/gc-arctwo.m4: New file.
40642
40643 2005-10-21  Simon Josefsson  <jas@extundo.com>
40644
40645         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
40646         block.
40647
40648 2005-10-21  Simon Josefsson  <jas@extundo.com>
40649
40650         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
40651         <bruno@clisp.org>.
40652
40653         * lib/hmac-sha1.c (hmac_sha1): Likewise.
40654
40655         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
40656         Bruno Haible <bruno@clisp.org>.
40657
40658         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
40659         <bruno@clisp.org>.
40660
40661 2005-10-21  Simon Josefsson  <jas@extundo.com>
40662
40663         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
40664
40665 2005-10-21  Simon Josefsson  <jas@extundo.com>
40666
40667         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
40668
40669 2005-10-21  Simon Josefsson  <jas@extundo.com>
40670
40671         * lib/des.h, lib/des.c: New files.
40672
40673         * lib/gc-gnulib.c: Support DES.c
40674
40675 2005-10-21  Simon Josefsson  <jas@extundo.com>
40676
40677         * lib/arctwo.h, lib/arctwo.c: New files.
40678
40679         * lib/gc-gnulib.c: Support ARCTWO.
40680
40681 2005-10-21  Simon Josefsson  <jas@extundo.com>
40682
40683         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
40684         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40685
40686 2005-10-21  Simon Josefsson  <jas@extundo.com>
40687
40688         * gnulib-tool (func_import, func_create_testdir): Define automake
40689         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
40690         Makefile.am snippet),
40691         suggested by Bruno Haible <bruno@clisp.org>.
40692
40693         * modules/gc (Makefile.am): Use it.
40694
40695 2005-10-21  Bruno Haible  <bruno@clisp.org>
40696
40697         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
40698         patch.
40699
40700 2005-10-19  Simon Josefsson  <jas@extundo.com>
40701
40702         * tests/test-gc-rijndael.c: New file.
40703
40704         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
40705
40706 2005-10-19  Simon Josefsson  <jas@extundo.com>
40707
40708         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
40709         interface too.
40710
40711 2005-10-19  Simon Josefsson  <jas@extundo.com>
40712
40713         * tests/test-gc-arcfour.c: New file.
40714
40715         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
40716
40717 2005-10-19  Simon Josefsson  <jas@extundo.com>
40718
40719         * modules/gc-md4, modules/gc-md4-tests: New file.
40720
40721         * tests/test-gc-md4.c: New file.
40722
40723 2005-10-19  Simon Josefsson  <jas@extundo.com>
40724
40725         * m4/gc-md4.m4: New file.
40726
40727 2005-10-19  Simon Josefsson  <jas@extundo.com>
40728
40729         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
40730         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
40731         <kasal@ucw.cz>.
40732
40733 2005-10-19  Simon Josefsson  <jas@extundo.com>
40734
40735         * m4/gc-arcfour.m4: New file.
40736
40737         * m4/gc-rijndael.m4: New file.
40738
40739 2005-10-19  Simon Josefsson  <jas@extundo.com>
40740
40741         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
40742
40743 2005-10-19  Simon Josefsson  <jas@extundo.com>
40744
40745         * lib/gc-gnulib.c: Support ARCFOUR.
40746
40747 2005-10-19  Simon Josefsson  <jas@extundo.com>
40748
40749         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
40750         support.
40751
40752         * lib/gc.h: Add ECB enum type.
40753
40754         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
40755
40756 2005-10-18  Simon Josefsson  <jas@extundo.com>
40757
40758         * tests/test-md5.c: New file.
40759
40760         * modules/md5-tests: New file.
40761
40762 2005-10-18  Simon Josefsson  <jas@extundo.com>
40763
40764         * tests/test-md4.c: New file.
40765
40766         * modules/md4, modules/md4-tests: New files.
40767
40768 2005-10-18  Simon Josefsson  <jas@extundo.com>
40769
40770         * m4/md4.m4: New file.
40771
40772 2005-10-18  Simon Josefsson  <jas@extundo.com>
40773
40774         * lib/md4.h, lib/md4.c: New files, based on md5.?.
40775
40776 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
40777
40778         * gnulib-tool (func_create_testdir): Omit the second check whether
40779         BUILT_SOURCES in nonempty.
40780
40781 2005-10-17  Simon Josefsson  <jas@extundo.com>
40782
40783         * tests/test-rijndael.c: New file.
40784
40785 2005-10-17  Simon Josefsson  <jas@extundo.com>
40786
40787         * modules/sha1: Depend on stdint instead of md5.
40788
40789         * modules/md5: Depend on stdint, remove uint32_t.
40790
40791 2005-10-17  Simon Josefsson  <jas@extundo.com>
40792
40793         * modules/gc-sha1-tests: New file.
40794
40795         * tests/test-gc-sha1.c: New file.
40796
40797 2005-10-17  Simon Josefsson  <jas@extundo.com>
40798
40799         * m4/md5.m4: Remove call to uint32_t.m4.
40800
40801 2005-10-17  Simon Josefsson  <jas@extundo.com>
40802
40803         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
40804
40805         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
40806         md5.h.
40807
40808         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
40809
40810         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
40811
40812 2005-10-17  Simon Josefsson  <jas@extundo.com>
40813
40814         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
40815
40816 2005-10-17  Simon Josefsson  <jas@extundo.com>
40817
40818         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
40819
40820 2005-10-17  Simon Josefsson  <jas@extundo.com>
40821
40822         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
40823
40824         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
40825
40826 2005-10-17  Bruno Haible  <bruno@clisp.org>
40827
40828         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
40829         that it can also be used in a test.
40830
40831 2005-10-16  Bruno Haible  <bruno@clisp.org>
40832
40833         * gnulib-tool (func_emit_tests_Makefile_am): Also define
40834         TESTS_ENVIRONMENT, so that individual tests can augment it.
40835
40836         * gnulib-tool (func_create_testdir): Use an intermediate target for
40837         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
40838         macros, like $(ALLOCA_H), which cannot be passed through the command
40839         line.
40840
40841 2005-10-15  Simon Josefsson  <jas@extundo.com>
40842
40843         * modules/rijndael-tests: New file.
40844
40845         * modules/rijndael: New file.
40846
40847 2005-10-15  Simon Josefsson  <jas@extundo.com>
40848
40849         * m4/rijndael.m4: New file.
40850
40851 2005-10-15  Simon Josefsson  <jas@extundo.com>
40852
40853         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
40854
40855         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
40856
40857 2005-10-14  Simon Josefsson  <jas@extundo.com>
40858
40859         * tests/test-arcfour.c: New file.
40860
40861         * modules/arcfour, modules/arcfour-tests: New files.
40862
40863 2005-10-14  Simon Josefsson  <jas@extundo.com>
40864
40865         * m4/arcfour.m4: New file.
40866
40867 2005-10-14  Simon Josefsson  <jas@extundo.com>
40868
40869         * lib/arcfour.h, lib/arcfour.c: New files.
40870
40871 2005-10-14  Roland McGrath  <roland@redhat.com>
40872
40873         Import from libc.  [BZ #1331]
40874         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
40875         macro argument.
40876         Reported by Matej Vela <vela@debian.org>.
40877
40878 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
40879
40880         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
40881         include <wchar.h>; no longer needed.
40882
40883 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
40884
40885         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
40886
40887 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
40888         and  Ulrich Drepper  <drepper@redhat.com>
40889
40890         Import from libc.
40891         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
40892         instead of inline stream orientation test and two separate
40893         function calls.  Pay no attention to USE_IN_LIBIO.
40894
40895 2005-10-13  Simon Josefsson  <jas@extundo.com>
40896
40897         * modules/gc-hmac-md5-tests: New file.
40898
40899         * tests/test-gc-hmac-sha1.c: New file.
40900
40901         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
40902
40903         * modules/gc-hmac-md5-tests: New file.
40904
40905         * tests/test-gc-md5.c: New file.
40906
40907         * modules/gc-md5-tests: New file.
40908
40909 2005-10-13  Simon Josefsson  <jas@extundo.com>
40910
40911         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
40912         Move memory allocation outside of loop.
40913
40914 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
40915
40916         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
40917         intermediate directory is in a read-only file system.  Problem
40918         reported by Eric Blake.
40919
40920 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
40921
40922         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
40923
40924 2005-10-12  Simon Josefsson  <jas@extundo.com>
40925
40926         * tests/test-hmac-sha1.c: New file.
40927
40928         * modules/hmac-sha1-tests: New file.
40929
40930         * modules/hmac-sha1: New file.
40931
40932 2005-10-12  Simon Josefsson  <jas@extundo.com>
40933
40934         * modules/gc-sha1: New file.
40935
40936 2005-10-12  Simon Josefsson  <jas@extundo.com>
40937
40938         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
40939
40940         * tests/test-gc-pbkdf2-sha1.c: New file.
40941
40942 2005-10-12  Simon Josefsson  <jas@extundo.com>
40943
40944         * modules/gc-md5, modules/gc-hmac-md5: New files.
40945
40946         * modules/gc (Files): Remove md5, memxor and hmac files.
40947
40948 2005-10-12  Simon Josefsson  <jas@extundo.com>
40949
40950         * m4/gc-pbkdf2-sha1.m4: New file.
40951
40952         * m4/gc-hmac-sha1.m4: New file.
40953
40954         * m4/gc-sha1: New file.
40955
40956         * m4/hmac-sha1.m4: New file.
40957
40958 2005-10-12  Simon Josefsson  <jas@extundo.com>
40959
40960         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
40961
40962         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
40963
40964 2005-10-12  Simon Josefsson  <jas@extundo.com>
40965
40966         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
40967         suggested by Bruno Haible <bruno@clisp.org>.
40968
40969 2005-10-12  Simon Josefsson  <jas@extundo.com>
40970
40971         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
40972
40973 2005-10-12  Simon Josefsson  <jas@extundo.com>
40974
40975         * lib/gc-pbkdf2-sha1.c: New file.
40976
40977         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
40978
40979 2005-10-12  Simon Josefsson  <jas@extundo.com>
40980
40981         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
40982
40983         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
40984
40985 2005-10-12  Simon Josefsson  <jas@extundo.com>
40986
40987         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
40988         GC_USE_HMAC_MD5, respectively.
40989
40990         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
40991         (gc_md5): Fix typo.
40992
40993         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
40994
40995         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
40996
40997         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
40998
40999 2005-10-12  Bruno Haible  <bruno@clisp.org>
41000
41001         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
41002         Reported by Stepan Kasal <kasal@ucw.cz>.
41003
41004 2005-10-11  Simon Josefsson  <jas@extundo.com>
41005
41006         * tests/test-crc.c: New file.
41007
41008         * modules/crc, modules/crc-tests: New files.
41009
41010 2005-10-11  Simon Josefsson  <jas@extundo.com>
41011
41012         * m4/crc.m4: New file.
41013
41014 2005-10-11  Simon Josefsson  <jas@extundo.com>
41015
41016         * lib/gc.h: Add gc_hash and gc_hash_buffer.
41017
41018         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
41019
41020         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
41021
41022 2005-10-11  Simon Josefsson  <jas@extundo.com>
41023
41024         * lib/crc.h, lib/crc.c: New files.
41025
41026         * lib/gc.h (gc_hash_buffer): Add doc.
41027
41028 2005-10-11  Bruno Haible  <bruno@clisp.org>
41029
41030         * modules/c-strcasestr: New file.
41031         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
41032
41033 2005-10-11  Bruno Haible  <bruno@clisp.org>
41034
41035         * modules/c-strcase: New file.
41036         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
41037
41038 2005-10-11  Bruno Haible  <bruno@clisp.org>
41039
41040         * lib/strcasecmp.c: Include limits.h.
41041         (strcasecmp): Avoid integer overflow on exotic platforms.
41042         * lib/strncasecmp.c: Include limits.h.
41043         (strncasecmp): Avoid integer overflow on exotic platforms.
41044         Reported by Paul Eggert.
41045
41046 2005-10-11  Bruno Haible  <bruno@clisp.org>
41047
41048         * lib/c-strcasestr.h: New file, from GNU gettext.
41049         * lib/c-strcasestr.c: New file, from GNU gettext.
41050
41051 2005-10-11  Bruno Haible  <bruno@clisp.org>
41052
41053         * lib/c-strcase.h: New file, from GNU gettext.
41054         * lib/c-strcasecmp.c: New file, from GNU gettext.
41055         * lib/c-strncasecmp.c: New file, from GNU gettext.
41056
41057 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
41058
41059         * modules/mempcpy (License): GPL -> LGPL.
41060         * modules/strchrnul (License): Likewise.
41061         * modules/sysexits (License): Likewise.
41062
41063 2005-10-08  Simon Josefsson  <jas@extundo.com>
41064
41065         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
41066
41067 2005-10-07  Simon Josefsson  <jas@extundo.com>
41068
41069         * m4/memxor.m4: Remove gl_C_RESTRICT call.
41070
41071 2005-10-06  Simon Josefsson  <jas@extundo.com>
41072
41073         * tests/test-hmac-md5.c: New file.
41074
41075         * modules/hmac-md5-tests: New file.
41076
41077         * modules/hmac-md5: New file.
41078
41079 2005-10-06  Simon Josefsson  <jas@extundo.com>
41080
41081         * m4/hmac-md5.m4: New file.
41082
41083         * m4/memxor.m4: Require gl_C_RESTRICT.
41084
41085 2005-10-06  Simon Josefsson  <jas@extundo.com>
41086
41087         * lib/memxor.c (memxor): Avoid casts and warnings.
41088
41089 2005-10-06  Simon Josefsson  <jas@extundo.com>
41090
41091         * lib/hmac-md5.c: New file.
41092
41093         * lib/hmac.h: New file.
41094
41095 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
41096
41097         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
41098         promotes to int, not unsigned int, to catch the AIX 5.3
41099         compiler bug.
41100
41101 2005-10-05  Simon Josefsson  <jas@extundo.com>
41102
41103         * modules/memxor: New file.
41104
41105         * modules/iconv (Files): Move config.rpath to havelib, it is used
41106         there.
41107
41108         * modules/havelib (Files): Add config.rpath.
41109
41110 2005-10-05  Simon Josefsson  <jas@extundo.com>
41111
41112         * m4/memxor.m4: New file.
41113
41114 2005-10-05  Simon Josefsson  <jas@extundo.com>
41115
41116         * lib/memxor.c (memxor): Fix compiler error.
41117
41118         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
41119         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
41120
41121         * lib/memxor.h, lib/memxor.c: New files.
41122
41123         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
41124         we assume all systems have it, suggested by Jim Meyering
41125         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
41126         any systems lack sys/socket.h; mingw32 is known to lack it, but we
41127         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
41128         same reasons.
41129
41130 2005-10-05  Simon Josefsson  <jas@extundo.com>
41131
41132         * config/srclist.txt: Add glibc bug 1423 for md5.h.
41133
41134 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
41135
41136         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
41137         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
41138         needed, since the source code now assumes these .h files.
41139
41140 2005-10-05  Derek Price  <derek@ximbiot.com>
41141
41142         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
41143
41144 2005-10-05  Bruno Haible  <bruno@clisp.org>
41145
41146         * modules/stdint (License): Change to LGPL.
41147
41148 2005-10-04  Simon Josefsson  <jas@extundo.com>
41149
41150         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
41151         D. Baushke" <mdb@gnu.org>.
41152
41153 2005-10-04  Bruno Haible  <bruno@clisp.org>
41154
41155         * lib/verify.h (verify_true): Provide alternative definition for C++.
41156
41157 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
41158
41159         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
41160         (SSIZE_MAX): New macro, if not already defined.
41161         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
41162         than 2 GiB.
41163
41164 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41165
41166         Sync from coreutils.
41167         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
41168         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
41169         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
41170         ULLONG_MAX doesn't work with 2.7.2.1.
41171
41172 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41173
41174         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
41175         From Ben Pfaff.
41176
41177         * modules/exclude (Depends-on): Depend on verify.
41178         * modules/strtoimax (Depends-on): Likewise.
41179         * modules/utimecmp (Depends-on): Likewise.
41180
41181 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41182
41183         * lib/exclude.c: Include verify.h.
41184         (verify): Remove.  All callers changed to use verify.h's version.
41185         * lib/strtoimax.c: Likewise.
41186         * lib/utimecmp.c: Likewis.e
41187
41188         Sync from coreutils.
41189         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
41190         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
41191         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
41192         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
41193         bother returning ENOSYS if settimeofday or stime fails; just let
41194         them return whatever errno they want to return.
41195         * lib/utimens.c: Include unistd.h, for dup2.
41196         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
41197         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
41198
41199 2005-10-02  Jim Meyering  <jim@meyering.net>
41200
41201         Sync from coreutils.
41202         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
41203         from glibc-2.2.5 that fails for read-only files.
41204
41205 2005-10-02  Jim Meyering  <jim@meyering.net>
41206
41207         Sync from coreutils.
41208         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
41209         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
41210         `#if HAVE_CONFIG_H'.
41211         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
41212         Remove AT_FDCWD test.
41213         Do not consume the fd unless successful.
41214         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
41215         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
41216         block, so that we don't even try to compile it if settimeofday is
41217         available.  This works around a compilation failure on OSF1 V5.1,
41218         due to stime requiring a `long int*' while tv_sec is `int'.
41219
41220 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
41221
41222         Sync from coreutils.
41223         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
41224         against `yes', rather than just testing for nonempty.
41225
41226 2005-10-01  Simon Josefsson  <jas@extundo.com>
41227
41228         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
41229         and Darwin.
41230
41231         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
41232         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
41233         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
41234         freeaddrinfo and gai_strerror are declared by the POSIX headers.
41235         Check if struct addrinfo is declared.
41236
41237 2005-10-01  Simon Josefsson  <jas@extundo.com>
41238
41239         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
41240         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
41241         AI_* and EAI_* definitions.  Protect function declarations.
41242
41243 2005-10-01  Jim Meyering  <jim@meyering.net>
41244
41245         Sync from coreutils.
41246
41247         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
41248         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
41249         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
41250         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41251         in the inet and nsl libraries.  Required on Solaris 5.7.
41252
41253 2005-10-01  Jim Meyering  <jim@meyering.net>
41254
41255         Sync from coreutils.
41256         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41257         in the inet and nsl libraries.  Required on Solaris 5.7.
41258
41259 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
41260
41261         * lib/getdelim.c (getdelim): Remove unused variables.
41262
41263 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
41264
41265         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
41266         so that the code works even with ancient cpp.  Portability problem
41267         with GCC 2.7.2.1 reported by Thomas M.Ott.
41268
41269 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
41270
41271         * modules/regex (Depends-on): Add strcase.
41272
41273         * modules/gethostname (Licence): Change from GPL to LGPL, since
41274         gethostname.c is a trivial implementation of a standard library
41275         function.
41276         * modules/poll (License): Change from GPL to LGPL, since it's
41277         derived from LGPL code.
41278
41279 2005-09-27  Jim Meyering  <jim@meyering.net>
41280
41281         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
41282         HAVE_CONFIG_H.
41283
41284         * lib/intprops.h (signed_type_or_expr__): Define.
41285         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
41286         for unsigned types.
41287
41288 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
41289
41290         * lib/verify.h (verify_expr): Remove, replacing with:
41291         (verify_true): New macro that returns true instead of void.
41292         (verify_type__): Remove.
41293         (verify): Use verify_true rather than verify_type__.
41294
41295 2005-09-26  Bruno Haible  <bruno@clisp.org>
41296
41297         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
41298         is necessary.
41299         (lib_SOURCES): Remove mbchar.c.
41300         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
41301         (Files): Add m4/mbrtowc.m4.
41302         * modules/mbiter: Likewise.
41303         * modules/mbuiter: Likewise.
41304
41305 2005-09-26  Bruno Haible  <bruno@clisp.org>
41306
41307         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
41308         compile mbchar.c if they are not both present.
41309         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
41310         * m4/mbiter.m4 (gl_MBITER): Likewise.
41311         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
41312         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
41313         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
41314
41315 2005-09-25  Jim Meyering  <jim@meyering.net>
41316
41317         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
41318         also uses socklen_t.
41319
41320 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
41321
41322         * lib/utimens.c (ENOSYS): Define if not already defined.
41323         (futimens): Support having a null PATH if the file descriptor
41324         is nonnegative.
41325
41326         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
41327         Remove.
41328         (__attribute): Define to empty unless GCC 3.1 or later.
41329         This works around a core dump on OpenBSD 3.4, which has GCC
41330         2.95.3, which dumps core when given __attribute__(()).  It also
41331         simplifies other tests, since we really don't want to bother with
41332         worrying about which ancient version of GCC supported what.
41333         Original problem reported by Yoann Vandoorselaere, with part of
41334         the fix suggested by Derek Price.
41335
41336 2005-09-24  Jim Meyering  <jim@meyering.net>
41337
41338         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
41339         so we can once again use a positive bitfield width of 1 -- now we
41340         don't have to explain why we were using a bitfield width of 2.
41341
41342 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41343
41344         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
41345         and similarly for the other external symbols.  Problem reported
41346         by James Gallager.
41347
41348         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
41349         bug reported by Jim Meyering.
41350
41351         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
41352         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
41353         not needed, since socklen is a prerequisite module.
41354
41355 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
41356
41357         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
41358         Problem reported by Eric Blake.
41359         (getaddrinfo): Initialize se so that it's not garbage.
41360         Redo internal storage allocation so that it doesn't make unportable
41361         assumptions about alignment.
41362         Fix a memory leak.
41363
41364         * lib/utimens.c (futimens): Use futimesat if available.
41365         Prefer it to futimes since it doesn't have the futimes bug.
41366
41367         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
41368         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
41369         Instead, declare a function that returns a pointer to an array,
41370         and use verify_type__ to declare the size of the array.
41371         Problem and germ of a solution reported by Bruno Haible.
41372         (verify_type__): Use 2, not 1, for bitfield size, to avoid
41373         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
41374
41375 2005-09-23  Jim Meyering  <jim@meyering.net>
41376
41377         Sync from coreutils.
41378         Correct build failure (socklen_t not defined) on at least
41379         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
41380         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
41381
41382 2005-09-23  Jim Meyering  <jim@meyering.net>
41383
41384         * modules/getaddrinfo (Depends-on): Add socklen.
41385
41386 2005-09-23  Bruno Haible  <bruno@clisp.org>
41387
41388         * tests/test-verify.c: New file.
41389
41390 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41391
41392         Sync from coreutils.
41393
41394         * modules/argmatch (Depends-on): Add verify.
41395         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
41396         unistd-safer.
41397         * modules/save-cwd (Depends-on): Likewise.
41398
41399         * modules/openat (Files): Add lib/openat-die.c.
41400         (Depends-on): Remove error, exitfail.
41401         Add dirname.
41402
41403         * modules/verify: New file.
41404         * MODULES.html.sh (Diagnostics <assert.h>): New section,
41405         with "verify" module.
41406
41407 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41408
41409         Sync from coreutils.
41410
41411         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
41412         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
41413         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
41414         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
41415         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
41416         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
41417         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
41418         Don't bother checking for string.h, stdlib.h, unistd.h.
41419         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
41420         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
41421         module's job.
41422         * m4/jm-macros.m4 (gl_MACROS): Likewise.
41423         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
41424
41425         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
41426         (gl_GETDATE): Use it.
41427
41428         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
41429
41430 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41431
41432         Sync from coreutils.
41433
41434         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
41435         stat-time.h.
41436         * lib/argmatch.h: Include verify.h
41437         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
41438         (ARGMATCH_ASSERT): Remove; unused.
41439         * lib/canonicalize.c: Assume STDC_HEADERS.
41440         * lib/exclude.c: Include "strcase.h".
41441         * lib/regex_internal.h [!defined _LIBC]: Likewise.
41442         * lib/getusershell.c: Include stdio--.h rather than stdio.h
41443         and stdio-safer.h.
41444         (getusershell): Call fopen, not fopen_safer.
41445         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
41446         Do not include unistd-safer.h.
41447         (save_cwd): Don't call fd_safer; no longer needed
41448         now that we include fcntl--.h.
41449
41450         * lib/getdate.y (relative_time): New type.
41451         (RELATIVE_TIME_0): New constant.
41452         (parser_control): Use relative_time instead of doing it ourselves.
41453         (%union): Add new relative_time rel member.
41454         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
41455         Now typeless.
41456         (relunit, relunit_snumber): Now of type rel.
41457         (zone, rel, relunit, get_date): Adjust to above changes.
41458
41459         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
41460         Do not include unistd-safer.h.
41461         (getloadavg): Don't call fd_safer; no longer needed
41462         now that we include fcntl--.h.
41463
41464         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
41465         (make_dir_parents): Treat ENOSYS like EEXIST.
41466
41467         Improve quality of diagnostics on restore_cwd failure.
41468         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
41469         (make_dir_parents): Last arg is now int * (for errno), not bool *.
41470         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
41471         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
41472         each time through the loop.  Do not diagnose restore_cwd failure;
41473         that is the caller's job (and perhaps the caller does not care).
41474
41475         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
41476         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
41477         If the file already exists but is not a directory, don't bother
41478         to try to make its parents.
41479         Close potential file descriptor leak if we can't chdir("/") (!).
41480         Don't always return true if chdir($PWD) fails; return true only
41481         if the requested action was done successfully (except for the
41482         chdir($PWD)).
41483         Don't log final directory unless we actually made it.
41484         Refactor to avoid duplicate code to fix up permissions.
41485         Don't attempt to fix up parent permissions if chdir($PWD) fails.
41486
41487         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
41488         to make it a bit faster and (I hope) clearer.
41489         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
41490         Fix bug in formats like %2N.
41491
41492         * lib/verify.h: New file.
41493
41494 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
41495
41496         Sync from coreutils.
41497         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
41498
41499 2005-09-22  Jim Meyering  <jim@meyering.net>
41500
41501         Sync from coreutils.
41502
41503         * m4/lstat.m4 (gl_FUNC_LSTAT):
41504         Use AC_LIBSOURCES to require lstat.c and lstat.h.
41505         Remove obsolete comment.
41506         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
41507         * m4/xstrtod.m4: Likewise.
41508
41509         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
41510
41511 2005-09-22  Jim Meyering  <jim@meyering.net>
41512
41513         Sync from coreutils.
41514
41515         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
41516
41517         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
41518         the .tm_year member, since otherwise gcc-4.0 would now warn about
41519         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
41520
41521         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
41522         order to avoid an unsuppressible warning from gcc on 64-bit systems.
41523
41524         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
41525         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
41526         when run in a time zone for which daylight savings time is in effect
41527         for the starting date.
41528
41529         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
41530         stop us from restricting permissions of just-created absolute-named
41531         directories.
41532         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
41533         to restore initial working directory.
41534         * lib/mkdir-p.c (make_dir_parents): New parameter:
41535         different_working_dir, to tell caller if/when we change the working
41536         directory and are unable to return to the initial one.
41537         * lib/mkdir-p.h (make_dir_parents): Update prototype.
41538         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
41539         `return false'.  This fixes a bug introduced on 2004-07-30.
41540
41541         * lib/openat.c (fdopendir): Be sure to close the supplied
41542         file descriptor before returning.  This makes our replacement
41543         implementation a little closer to Solaris's, where fdopendir
41544         ties the file descriptor to the returned DIR* pointer.
41545         * lib/openat.c (unlinkat): New function.
41546         * lib/openat.h (unlinkat): Add prototype.
41547         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
41548         (openat_restore_fail): Rename from openat_restore_die.
41549         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
41550
41551         Provide an alternative to exiting immediately upon save_cwd or
41552         restore_cwd failure.  Now, an application can arrange e.g.,
41553         to perform a longjump in that case.
41554         * lib/openat.c: Include dirname.h.
41555         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
41556         (rpl_openat, fdopendir, fstatat): Call openat_save_die
41557         and openat_restore_die rather than calling error directly.
41558         Don't include "error.h" or "exitfail.h"; they're no longer needed.
41559
41560         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
41561         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
41562         define.
41563
41564         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
41565         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
41566                             int utc, int nanoseconds);
41567         Background:
41568         date should not have to allocate a megabyte of virtual memory to
41569         handle a format argument like +%1048575T.  When implemented with
41570         strftime, it must allocate such a buffer, use strftime to fill it
41571         in, print it, then free it.
41572         With fprintftime, it simply prints everything and exits.
41573         With no need for memory allocation, that's one fewer way to fail.
41574         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
41575         optional field width, not before, so we accept %9:z, not %:9z.
41576         (my_strftime): Be sure to use L_('x') for literals.
41577
41578         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
41579         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
41580         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
41581         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
41582         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
41583         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
41584         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
41585         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
41586         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
41587         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
41588         * lib/xgethostname.c, lib/xreadlink.c:
41589         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
41590
41591         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
41592         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
41593         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
41594         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
41595         and don't include <sys/file.h>).
41596
41597 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
41598
41599         Sync from coreutils.
41600
41601         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
41602         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
41603         [!LDAV_DONE]: Avoid unused variable warning.
41604
41605 2005-09-21  Bruno Haible  <bruno@clisp.org>
41606
41607         * lib/unicodeio.h (unicode_to_mb): New declaration.
41608
41609 2005-09-20  Derek Price  <derek@ximbiot.com>
41610
41611         * lib/getaddrinfo.c: Don't include <netdb.h> included from
41612         getaddrinfo.h.
41613
41614 2005-09-20  Bruno Haible  <bruno@clisp.org>
41615
41616         * gnulib-tool: Remove trailing slashes from the values specified for
41617         --source-base, --m4-base, --tests-base, --aux-dir.
41618         Suggested by Simon Josefsson <jas@extundo.com>.
41619
41620 2005-09-20  Bruno Haible  <bruno@clisp.org>
41621
41622         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
41623         func_modules_to_filelist, func_import, func_create_testdir): Make all
41624         sorting results locale-independent, so that gnulib-cache.m4 doesn't
41625         change when gnulib-tool is invoked in a different locale.
41626
41627 2005-09-19  Simon Josefsson  <jas@extundo.com>
41628
41629         * m4/socklen.m4: Fix typo.
41630
41631 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41632
41633         Use a consistent style for including <config.h>.
41634         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
41635         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
41636         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
41637         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
41638         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
41639         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
41640         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
41641         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
41642         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
41643         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
41644         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
41645         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
41646         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
41647         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
41648         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
41649         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
41650         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
41651         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
41652         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
41653         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
41654         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
41655         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
41656         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
41657         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
41658         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
41659         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
41660         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
41661         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
41662         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
41663         lib/xstrtoumax.c, lib/yesno.c:
41664         Standardize inclusion of config.h.
41665         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
41666         lib/inttostr.h:  Removed inclusion of config.h from header files.
41667         * lib/inttostr.c:  Adjusted in-tree users.
41668         * lib/timespec.h: Remove superfluous warning to include config.h.
41669         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
41670         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
41671         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
41672         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
41673         config.h with HAVE_CONFIG_H.
41674
41675 2005-09-19  Jim Meyering  <jim@meyering.net>
41676
41677         * modules/pathmax (License): Change to LGPL.
41678
41679 2005-09-19  Derek Price  <derek@ximbiot.com>
41680
41681         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
41682
41683 2005-09-19  Bruno Haible  <bruno@clisp.org>
41684
41685         * gnulib-tool (import): Provide default for --tests-base.
41686
41687 2005-09-19  Bruno Haible  <bruno@clisp.org>
41688
41689         * doc/quote.texi: New file, extracted from gnulib.texi.
41690         * doc/ctime.texi: New file, extracted from gnulib.texi.
41691         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
41692         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
41693         * doc/gnulib.texi: Include them.
41694
41695 2005-09-18  Bruno Haible  <bruno@clisp.org>
41696
41697         Portability fix.
41698         * gnulib-tool (func_readlink): New function.
41699         (func_ln_if_changed): Use it.
41700
41701 2005-09-18  Bruno Haible  <bruno@clisp.org>
41702
41703         * gnulib-tool: Support --with-tests also with --import.
41704         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
41705         (func_import): Use variables $testsbase and $inctests. Emit a
41706         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
41707         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
41708         SUBDIRS += $testsdir.
41709         (func_create_testdir): Update.
41710
41711 2005-09-18  Bruno Haible  <bruno@clisp.org>
41712
41713         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
41714         instead of $dry_run.
41715         (func_cp_if_changed, func_mv_if_changed): Remove functions.
41716         (func_ln_if_changed): Don't handle dry-run here.
41717         (func_import): In dry-run mode, detect more precisely which actions
41718         would be performed, and don't use "...ing" verbs.
41719
41720 2005-09-18  Bruno Haible  <bruno@clisp.org>
41721
41722         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
41723         (func_import): Use join on two temporary files instead of three nested
41724         loops, in order to determine which files are new or old.
41725
41726 2005-09-18  Bruno Haible  <bruno@clisp.org>
41727
41728         * gnulib-tool (func_import): Comment out code that spits out the
41729         new files with --dry-run.
41730
41731 2005-09-18  Bruno Haible  <bruno@clisp.org>
41732
41733         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
41734
41735 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41736
41737         * lib/stat-time.h: New file.
41738         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
41739         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
41740         in a different way.
41741         (timespec_cmp): New function.
41742         * lib/utimecmp.c: Include stat-time.h.
41743         (SYSCALL_RESOLUTION): Depend on whether various struct stat
41744         members exist, not on the obsolescent ST_MTIM_NSEC.
41745         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
41746
41747 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41748
41749         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
41750
41751 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
41752
41753         * MODULES.html.sh (File system functions): Add stat-time.
41754         * modules/stat-time: New file.
41755         * modules/timespec (Files): Remove m4/st_mtim.m4; this
41756         is now done in a different way, by the stat-time module.
41757         * modules/utimecmp (Depends-on): Add stat-time.
41758
41759 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
41760
41761         * m4/st_mtim.m4: Remove.  Superseded by...
41762         * m4/stat-time.m4: New file.
41763         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
41764         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
41765
41766 2005-09-15  Derek Price  <derek@ximbiot.com>
41767
41768         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
41769
41770 2005-09-15  Derek Price  <derek@ximbiot.com>
41771
41772         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
41773         * lib/regex_internal.c: Ditto, using this...
41774         (__GNUC_PREREQ): ...new macro.
41775         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
41776         using...
41777         (__GNUC_PREREQ): ...this new macro.
41778
41779         * lib/strstr.h: Include string.h. Define strstr as a macro here.
41780
41781 2005-09-15  Derek Price  <derek@ximbiot.com>
41782             Paul Eggert  <eggert@cs.ucla.edu>
41783
41784         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
41785         changes, consolidating in...
41786         * lib/regex_internal.h: ...this file.
41787
41788 2005-09-13  Jim Meyering  <jim@meyering.net>
41789
41790         * lib/canon-host.c: Filter through gnu indent and reword comments
41791         slightly.
41792         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
41793
41794 2005-09-13  Derek Price  <derek@ximbiot.com>
41795
41796         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
41797         failure.
41798         Reported by Jim Meyering  <jim@meyering.net>.
41799
41800 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
41801
41802         * lib/base64.c: Typo.
41803         (base64_encode): Put b64str in initialized data section.
41804
41805 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
41806
41807         Merge glibc and coreutils changes into gnulib, plus a few
41808         extra fixes.
41809         * lib/md5.c: Use #error rather than a string.
41810         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
41811         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
41812         (__attribute__): Define to empty for non recent-GCC.
41813         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
41814         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
41815         Renamed from their non-__ counterparts, with new macros replacing
41816         them if not _LIBC.  Add __THROW attribute.
41817         (rol): Remove.
41818         (struct md5_ctx): Align buffer if using GCC.
41819         * lib/sha1.h (struct sha1_ctx): Likewise.
41820         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
41821         The old name was backwards.
41822         (NOTSWAP): Remove; not used.
41823         (rol): New macro, moved here from md5.h.
41824         (sha1_process_block): Remove a FIXME that doesn't make sense.
41825
41826 2005-09-12  Derek Price  <derek@ximbiot.com>
41827
41828         Return usable errors from canon-host.
41829         * lib/canon-host.h: New file.
41830         * lib/canon-host.c (canon_host): Wrap...
41831         (canon_host_r): ...this new function, which now relies exclusively on
41832         getaddrinfo.
41833         (ch_strerror): New function.
41834         (last_cherror): New global.
41835         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
41836         interface.
41837         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
41838         void *.
41839         (freeaddrinfo): Free ai->ai_canonname when set.
41840
41841 2005-09-12  Derek Price  <derek@ximbiot.com>
41842
41843         Make canon-host require getaddrinfo.
41844         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
41845         AC_LIBSOURCE canon-host.h.  Call...
41846         (gl_PREREQ_CANON_HOST): ...this new function, which requires
41847         gl_GETADDRINFO.
41848         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
41849
41850 2005-09-12  Derek Price  <derek@ximbiot.com>
41851
41852         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
41853         LGPL.
41854         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
41855
41856 2005-09-12  Derek Price  <derek@ximbiot.com>
41857
41858         * lib/gai_strerror.c: Include config.h when available.  Include
41859         getaddrinfo.h before other headers to test interface.
41860         Reported by Larry Jones <lawrence.jones@ugs.com>.
41861
41862 2005-09-12  Derek Price  <derek@ximbiot.com>
41863             Paul Eggert  <eggert@cs.ucla.edu>
41864
41865         * modules/glob (Files): Add glob-libc.h.
41866
41867 2005-09-12  Derek Price  <derek@ximbiot.com>
41868             Paul Eggert  <eggert@cs.ucla.edu>
41869
41870         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
41871         glob_.h, glob-libc.h.
41872         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
41873
41874 2005-09-12  Derek Price  <derek@ximbiot.com>
41875             Paul Eggert  <eggert@cs.ucla.edu>
41876
41877         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
41878         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
41879         protecting things that should be done only in gnulib contexts.
41880         * lib/glob_.h: New file, containing only the glob things needed for
41881         gnulib.
41882         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
41883         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
41884         (glob, globfree, glob_pattern_p): Now defined simply in terms of
41885         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
41886         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
41887         and to respect the namespace rules better.
41888
41889 2005-09-08  Simon Josefsson  <jas@extundo.com>
41890
41891         * modules/socklen: New file.
41892
41893 2005-09-08  Simon Josefsson  <jas@extundo.com>
41894
41895         * m4/socklen.m4: New file.
41896
41897 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41898
41899         * modules/utimens (Files): Add m4/utimbuf.m4, since
41900         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
41901         Reported by Sergey Poznyakoff.
41902
41903 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41904
41905         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
41906         definitions, since that's the preferred style in glibc.
41907         Fix a minor spacing issue, and update copyright notice to match
41908         glibc's.
41909
41910 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
41911
41912         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
41913
41914 2005-09-06  Simon Josefsson  <jas@extundo.com>
41915
41916         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
41917         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
41918
41919 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41920
41921         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
41922         warning.
41923
41924 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
41925
41926         * config/srclist.txt: Add glibc bug 1302.
41927
41928 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
41929
41930         Change bitset word type from unsigned int to unsigned long int,
41931         as this has better performance on typical 64-bit hosts.
41932         Port bitset code to hosts with unusual word sizes.
41933         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
41934         (build_collating_symbol):
41935         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
41936         argument is a bitset.  This is merely a style issue, but it makes
41937         it clearer that an entire array is expected.
41938         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
41939         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
41940         Port to the case where bitset_word is not the same as unsigned int.
41941         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
41942         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
41943         Likewise.
41944         * lib/regexec.c (check_dst_limits_calc_pos_1,
41945         check_subexp_matching_top):
41946         (build_trtable, group_nodes_into_DFAstates):
41947         Likewise.
41948         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
41949         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
41950         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
41951         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
41952         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
41953         * lib/regcomp.c (optimize_subexps, lower_subexp):
41954         Work even if bitset_word has holes in its bitwise representation.
41955         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
41956         * lib/regexec.c (check_dst_limits_calc_pos_1,
41957         check_subexp_matching_top):
41958         Likewise.
41959         * lib/regex_internal.c (re_string_reconstruct):
41960         Don't assume UCHAR_MAX == 255.
41961         * lib/regex_internal.h (bitset_set_all): Likewise.
41962         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
41963         All uses changed.
41964         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
41965         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
41966         All uses changed.
41967         (BITSET_WORD_MAX): New macro.
41968         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
41969         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
41970         (bitset_empty, bitset_copy):
41971         Prefer sizeof (bitset) to multiplying it out ourselves.
41972         (bitset_not_merge): Remove; unused.
41973         (bitset_contain): Return bool, not unsigned int with one bit on.
41974         All callers changed.
41975         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
41976         alignment than re_node_set; do this by defining a new internal
41977         type struct dests_alloc and using it to allocate memory.
41978
41979 2005-09-05  Bruno Haible  <bruno@clisp.org>
41980
41981         * gnulib-tool (func_import): Fix comparison in handling of symbolic
41982         links.
41983
41984 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
41985
41986         * modules/size_max (Makefile.am): Add size_max.h
41987
41988 2005-09-04  Derek Price  <derek@ximbiot.com>
41989
41990         * gnulib-tool (func_import): Fix reversed $symbolic logic.
41991
41992 2005-09-03  Simon Josefsson  <jas@extundo.com>
41993
41994         * gnulib-tool: Fix typo.
41995
41996 2005-09-03  Simon Josefsson  <jas@extundo.com>
41997
41998         * config/srclist.txt: Add glibc bug 1293.
41999
42000 2005-09-03  Derek Price  <derek@ximbiot.com>
42001
42002         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
42003         From Larry Jones <lawrence.jones@ugs.com>.
42004
42005 2005-09-02  Simon Josefsson  <jas@extundo.com>
42006
42007         * modules/socklen: New file.
42008
42009 2005-09-02  Simon Josefsson  <jas@extundo.com>
42010
42011         * modules/havelib: New module.
42012
42013         * modules/gettext, modules/iconv, modules/lock, modules/readline:
42014         Use havelib.
42015
42016 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42017
42018         Check for arithmetic overflow when calculating sizes, to prevent
42019         some buffer-overflow issues.  These patches are conservative, in the
42020         sense that when I couldn't determine whether an overflow was possible,
42021         I inserted a run-time check.
42022         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
42023         macros.
42024         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
42025         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
42026         (re_xnrealloc, re_x2nrealloc): New inline functions.
42027         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
42028         parse_bracket_exp):
42029         (build_equiv_class, build_charclass): Check for arithmetic overflow
42030         in size expression calculations.
42031         * lib/regex_internal.c (re_string_realloc_buffers):
42032         (build_wcs_upper_buffer, re_node_set_add_intersect):
42033         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
42034         (re_dfa_add_node, register_state): Likewise.
42035         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
42036         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
42037         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
42038         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
42039
42040 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42041
42042         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
42043         m4/ulonglong.m4.  Problem reported by Martin Lambers.
42044
42045 2005-09-02  Bruno Haible  <bruno@clisp.org>
42046
42047         Support for lib vs. lib64 distinction on biarch platforms.
42048         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
42049         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
42050         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
42051
42052 2005-09-02  Bruno Haible  <bruno@clisp.org>
42053
42054         * gnulib-tool (import): In the other first-use case, provide defaults
42055         as well.
42056
42057 2005-09-02  Bruno Haible  <bruno@clisp.org>
42058
42059         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
42060         patches not yet found in the latest gettext release.
42061
42062 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42063
42064         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
42065         to avoid a collision with bits/local_lim.h in glibc.
42066         All uses changed.  Problem reported by Dmitry V. Levin in
42067         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
42068
42069         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
42070         bugs in int versus size_t comparisons.
42071         (re_string_context_at): Fix bug where the code assumed that
42072         Idx is signed.
42073
42074         Use bool where appropriate.
42075         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
42076         All callers changed.
42077         (calc_eclosure_iter): Likewise, for ROOT arg.
42078         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
42079         (build_charclass_op): Likewise, for NON_MATCH arg.
42080         * lib/regex_internal.c (re_string_allocate, re_string_construct):
42081         (re_string_construct_common): Likewise, for ICASE arg.
42082         * lib/regexec.c (re_search_2_stub, re_search_stub):
42083         Likewise, for RET_LEN arg.
42084         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
42085         (set_regs): Likewise, for FL_BACKTRACK arg.
42086         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
42087         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
42088         (calc_eclosure_iter, parse_bracket_exp):
42089         Use bool for internal variables that are booleans.
42090         * lib/regexec.c (re_search_internal, check_matching,
42091         proceed_next_node):
42092         (set_regs, build_sifted_states, sift_states_bkref):
42093         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
42094         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42095         (find_collation_sequence_value):
42096         Likewise.
42097         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
42098         (re_node_set_compare):
42099         Return bool, not int. All callers changed.
42100         * lib/regexec.c (check_halt_node_context, check_dst_limits):
42101         (build_trtable, check_node_accept): Likewise.
42102         * lib/regex_internal.h: Include stdbool.h.
42103
42104         Fix bugs uncovered when converting to bool.
42105         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
42106         failure instead of charging ahead blindly.
42107         * lib/regex_internal.c (register_state): Likewise.
42108         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
42109         for freeing internal storage.
42110         (group_nodes_into_DFA_states): Use unsigned int, not int, for
42111         bitset pieces used as boolean, to avoid undefined behavior
42112         on hosts that do int overflow checking.
42113
42114 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42115
42116         * config/srclist.txt: Add glibc bugs 1285-1287.
42117
42118 2005-09-01  Jim Meyering  <jim@meyering.net>
42119
42120         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
42121         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
42122         Require gl_STAT_MACROS, too.
42123
42124 2005-09-01  Bruno Haible  <bruno@clisp.org>
42125
42126         * gnulib-tool (import): In the first-use case, provide defaults.
42127
42128 2005-09-01  Bruno Haible  <bruno@clisp.org>
42129
42130         * gnulib-tool (func_import): Remove the .tmp files.
42131
42132 2005-09-01  Bruno Haible  <bruno@clisp.org>
42133
42134         * gnulib-tool (func_import): Fix handling of symbolic links.
42135
42136 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42137
42138         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
42139         old glibc regex code mishandles strings longer than 2**31 bytes.
42140         This patch fixes this when the regex code is used in gnulib
42141         (i.e., outside glibc).
42142
42143         This patch should not affect the use of the regex code inside
42144         glibc.  No doubt this problem also needs to be handled for glibc
42145         as well, but the result will be an incompatible change to the
42146         glibc ABI, and the old ABI will have to be supported too.  That
42147         can be the the subject for another patch.
42148
42149         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
42150         governing whether the rest of this patch is active.  By default,
42151         the macro is disabled and the patch has no effect.
42152         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
42153         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
42154         (struct re_pattern_buffer, re_search, re_search_2, re_match):
42155         (re_match_2, re_set_registers): Use the new types.
42156         * lib/regex_internal.h (Idx, re_hashval_t): New types.
42157         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
42158         New macros.
42159         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
42160         (re_string_context_at, bin_tree_t, re_dfastate_t):
42161         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
42162         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
42163         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
42164         (re_string_char_size_at, re_string_wchar_at):
42165         (re_string_elem_size_at):
42166         Use the new types and macros to port to 64-bit hosts.
42167         Use unsigned types for internal values, so that the code
42168         mostly works even for arrays larger than SSIZE_MAX.
42169         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
42170         (search_duplicated_node, calc_eclosure_iter, fetch_number):
42171         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
42172         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
42173         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
42174         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
42175         (calc_inveclosure, parse_dup_op, build_range_exp):
42176         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
42177         (fetch_number, create_token_tree, mark_opt_subexp):
42178         Likewise.
42179         * lib/regex_internal.c (re_string_construct_common,
42180         create_ci_newstate):
42181         (create_cd_newstate, re_string_allocate, re_string_construct):
42182         (re_string_realloc_buffers, build_wcs_upper_buffer):
42183         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42184         (re_string_reconstruct, re_string_peek_byte_case):
42185         (re_string_fetch_byte_case, re_string_context_at):
42186         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42187         (re_node_set_init_copy, re_node_set_add_intersect):
42188         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42189         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42190         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42191         (re_acquire_state, re_acquire_state_context, register_state):
42192         Likewise.
42193         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
42194         search_cur_bkref_entry):
42195         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
42196         (re_search_internal, re_search_2_stub, re_search_stub)
42197         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
42198         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
42199         (update_cur_sifted_state, check_dst_limits):
42200         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42201         (check_subexp_limits, sift_states_bkref, merge_state_array):
42202         (check_subexp_matching_top, get_subexp, get_subexp_sub):
42203         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
42204         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42205         (expand_bkref_cache, check_node_accept_bytes):
42206         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
42207         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
42208         (acquire_init_state_context, check_halt_node_context):
42209         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
42210         (sift_states_backward, clean_state_log_if_needed):
42211         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
42212         (find_recover_state, transit_state_sb, transit_state_mb):
42213         (transit_state_bkref, build_trtable, match_ctx_clean):
42214         Likewise.
42215         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
42216         to work around an assumption that REG_MISSING is negative.
42217
42218         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
42219         (seek_collating_symbol_entry) [defined _LIBC]:
42220         (lookup_collation_sequence_value) [defined _LIBC]:
42221         (build_range_exp, build_collating_symbol) [defined _LIBC]:
42222         Use prototypes rather than old-style function definitions.
42223         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
42224         (transit_state_sb) [0]:
42225         (find_collation_sequence_value) [defined _LIBC]: Likewise.
42226
42227         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
42228         rm_eo.
42229
42230         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
42231         (optimize_subexps, lower_subexp):
42232         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
42233         since the signed shift might overflow.  Use 1u<<31 instead.
42234         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42235         Likewise.
42236         * lib/regexec.c (check_dst_limits_calc_pos_1,
42237         check_subexp_matching_top): Likewise.
42238
42239         * lib/regcomp.c (optimize_subexps, lower_subexp):
42240         Use CHAR_BIT rather than 8, for clarity.
42241         * lib/regexec.c (check_dst_limits_calc_pos_1):
42242         (check_subexp_matching_top): Likewise.
42243         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
42244         have to worry about portability issues when shifting it left.
42245         Remove no-longer-needed test for table_size > 0.
42246         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
42247         in a word, as the resulting behavior is undefined.
42248         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
42249         in one case, a <= should have been an <, and in another case the
42250         whole test was missing.
42251         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
42252         the standard name CHAR_BIT.
42253         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
42254         this is not true on one's complement and signed-magnitude hosts.
42255
42256         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
42257         next_last_offset.
42258         (struct re_dfa_t): Remove unused member states_alloc.
42259         * lib/regcomp.c (init_dfa): Don't initialize unused members.
42260
42261 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42262
42263         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
42264         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
42265         and large-file glibc and in 32-bit large-file Solaris.
42266
42267 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42268
42269         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
42270         lengths fit in regoff_t; this isn't true if regoff_t is the same
42271         width as size_t.
42272         * lib/regex.c (re_search_internal): 5th arg is LAST_START
42273         (= START + RANGE) instead of RANGE.  This avoids overflow
42274         problems when regoff_t is the same width as size_t.
42275         All callers changed.
42276         (re_search_2_stub): Check for overflow when adding the
42277         sizes of the two strings.
42278         (re_search_stub): Check for overflow when adding START
42279         to RANGE; if it occurs, substitute the extreme value.
42280
42281 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42282
42283         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
42284
42285 2005-08-31  Jim Meyering  <jim@meyering.net>
42286
42287         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
42288         a pointer-to-const.
42289         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
42290         (register_state): Likewise.
42291         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
42292         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42293         (group_nodes_into_DFAstates): Likewise.
42294
42295 2005-08-31  Jim Meyering  <jim@meyering.net>
42296
42297         * check-module: Add a FIXME comment.
42298
42299 2005-08-31  Eric Blake  <ebb9@byu.net>
42300
42301         * modules/unistd-safer (Files): Add unistd--.h.
42302         * modules/stdio-safer (Files): Add stdio--.h.
42303
42304 2005-08-31  Derek Price  <derek@ximbiot.com>
42305
42306         * lib/getdelim.c (getdelim): Return EOF on EOF.
42307         Reported by Larry Jones <lawrence.jones@ugs.com>.
42308
42309 2005-08-31  Bruno Haible  <bruno@clisp.org>
42310
42311         Avoid unnecessary diffs in the generated lib/Makefile.am.
42312         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
42313         the generated files.
42314         (func_import): Don't set cmd.
42315
42316 2005-08-31  Bruno Haible  <bruno@clisp.org>
42317
42318         * lib/strstr.c: Include <stddef.h>, for NULL.
42319         * lib/strcasestr.c: Likewise.
42320         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42321
42322 2005-08-31  Bruno Haible  <bruno@clisp.org>
42323
42324         * gnulib-tool: New option --macro-prefix.
42325         (func_import): Use macro_prefix.
42326         (import): Handle option --macro-prefix.
42327
42328 2005-08-31  Bruno Haible  <bruno@clisp.org>
42329
42330         * gnulib-tool (import): Rename most ac_* variables to cached_*.
42331         Also use new variables cached_lgpl, cached_libtool.
42332
42333 2005-08-31  Bruno Haible  <bruno@clisp.org>
42334
42335         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
42336         always instantiating them.
42337
42338 2005-08-31  Bruno Haible  <bruno@clisp.org>
42339
42340         * gnulib-tool (func_import): Read the previous cached settings
42341         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
42342         earlier added by gnulib but are now dropped. Warn when a gnulib file
42343         overwrites a non-gnulib file.
42344
42345 2005-08-31  Bruno Haible  <bruno@clisp.org>
42346
42347         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
42348         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
42349         projects that don't keep autogenerated files in CVS. Put into
42350         actioncmd only the specified modules, not the transitive closure.
42351
42352 2005-08-31  Bruno Haible  <bruno@clisp.org>
42353
42354         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
42355         Create directories that shall be filled.
42356         (import): Don't look for gl_* macros in configure.ac. Recurse across
42357         all directories containing a gnulib-cache.m4 files, if meaningful.
42358
42359 2005-08-31  Bruno Haible  <bruno@clisp.org>
42360
42361         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
42362         (import): Set seen_libtool when we see gl_LIBTOOL.
42363
42364 2005-08-31  Bruno Haible  <bruno@clisp.org>
42365
42366         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
42367         declaration macro definitions from generated gnulib.m4.
42368
42369 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
42370
42371         * lib/iconvme.h: Add prototype for iconv_alloc.
42372
42373 2005-08-29  Simon Josefsson  <jas@extundo.com>
42374
42375         * lib/iconvme.c: Fix errno.
42376
42377 2005-08-29  Bruno Haible  <bruno@clisp.org>
42378
42379         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
42380         that it works when the directory contains spaces.
42381
42382 2005-08-29  Bruno Haible  <bruno@clisp.org>
42383
42384         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
42385
42386 2005-08-29  Bruno Haible  <bruno@clisp.org>
42387
42388         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
42389         Emit more advice.
42390
42391 2005-08-29  Bruno Haible  <bruno@clisp.org>
42392         and Stepan Kasal  <kasal@ucw.cz>
42393
42394         * check-module: If more parameters are given, check each of them
42395         separately; add more exceptions, as noted by Jim Meyering.
42396         (check_module): New procedure.
42397         (%exempt_header): Now contains all exceptions.
42398
42399 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
42400
42401         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
42402
42403 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
42404
42405         * lib/iconvme.c: Split iconv_string into iconv_alloc.
42406
42407 2005-08-28  Bruno Haible  <bruno@clisp.org>
42408
42409         * m4/gnulib-tool.m4: New file.
42410
42411 2005-08-27  Jim Meyering  <jim@meyering.net>
42412
42413         * modules/unistd-safer (Files): Add pipe-safer.c.
42414         * modules/fcntl-safer (Files): Add creat-safer.c.
42415
42416 2005-08-27  Jim Meyering  <jim@meyering.net>
42417
42418         * m4/stdlib-safer.m4: New file.  From coreutils.
42419         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
42420         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
42421         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
42422         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
42423         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
42424
42425 2005-08-27  Jim Meyering  <jim@meyering.net>
42426
42427         * lib/fopen-safer.c: Merge minor changes from coreutils.
42428         * lib/dup-safer.c: Likewise.
42429         * lib/fd-safer.c: Likewise.
42430
42431         Merge from coreutils.
42432         * lib/stdio--.h: New file.
42433         * lib/stdlib--.h: New file.
42434         * lib/mkstemp-safer.c: New file.
42435
42436         GNU tar needs these.
42437         * lib/pipe-safer.c: New file.
42438         * lib/creat-safer.c: New file.
42439         * lib/fcntl--.h (creat): Define to creat_safer.
42440         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
42441         * lib/unistd--.h (pipe): Define to pipe_safer.
42442         * lib/unistd-safer.h: Declare pipe_safer.
42443
42444 2005-08-26  Simon Josefsson  <jas@extundo.com>
42445
42446         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
42447         Haible <bruno@clisp.org>.
42448
42449 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
42450
42451         * lib/regex_internal.h: Remove all references to
42452         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
42453         or better.
42454         (bitset_not, bitset_merge, bitset_not_merge):
42455         (bitset_mask, re_string_allocate, re_string_construct):
42456         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
42457         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
42458         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
42459         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
42460         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42461         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42462         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
42463         (re_acquire_state_context):
42464         Remove unnecessary forward decls.
42465         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
42466         Put __attribute at function definition,
42467         now that the function decl has been removed.
42468         * lib/regex_internal.c (re_string_peek_byte_case):
42469         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
42470         Likewise.
42471
42472 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
42473
42474         * m4/regex.m4: Add AC_PREREQ(2.50).
42475         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
42476
42477 2005-08-25  Simon Josefsson  <jas@extundo.com>
42478
42479         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
42480         __fsetlocking.
42481
42482 2005-08-25  Simon Josefsson  <jas@extundo.com>
42483
42484         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
42485         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
42486         GLIBC specific code.
42487
42488 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42489
42490         Make regex safe for g++.  This fixes one real bug (an "err"
42491         that should have been "*err").  g++ problem reported by
42492         Sam Steingold.
42493         * lib/regex_internal.h (re_calloc): New macro, consistent with
42494         re_malloc etc.  All callers of calloc changed to use re_calloc.
42495         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
42496         not int.  All callers changed.
42497         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
42498         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
42499         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
42500         (find_recover_state): Change "err" to "*err"; this fixes what
42501         appears to be a real bug.
42502         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
42503         versus int.
42504
42505 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42506
42507         * modules/regex (Depends-on): Add malloc, since the code
42508         assumes that !malloc(0) means failure.
42509
42510 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42511
42512         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
42513
42514         alloca modernization/simplification for regex.
42515         * lib/regex.c: Remove portability cruft for alloca.  This no longer
42516         needs to be at the start of the file, and can be moved into
42517         regex_internal.h and simplified.
42518         * lib/regex_internal.h: Include <alloca.h>.
42519         (__libc_use_alloca) [!defined _LIBC]: New macro.
42520         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
42521         now works outside glibc.
42522
42523 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
42524
42525         * config/srclist.txt: Add glibc bugs 1241, 1245.
42526
42527 2005-08-25  Jim Meyering  <jim@meyering.net>
42528
42529         * lib/open-safer.c: Include <config.h>.
42530         Otherwise, we'd lose LARGEFILE support in any file using
42531         e.g. "fcntl--.h"
42532
42533 2005-08-25  Bruno Haible  <bruno@clisp.org>
42534
42535         * m4/minmax.m4: Require autoconf 2.52.
42536         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
42537         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
42538         alternatives of translit over the alphabet.
42539         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
42540
42541 2005-08-24  Simon Josefsson  <jas@extundo.com>
42542
42543         * tests/test-getpass.c: New file.
42544
42545 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42546
42547         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
42548         for GNU regex features.
42549
42550 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42551
42552         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
42553         * lib/regex.h (regerror): Likewise.
42554
42555         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
42556         requires this.  (The code never needed it.)
42557
42558         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
42559         All uses of recently-renamed identifiers changed to use the new,
42560         POSIX-compliant names.  The code will build and run just fine
42561         without these changes, but it's better to eat our own dog food
42562         and use the standard-conforming names.
42563
42564         * lib/regex.h: Fix a multitude of POSIX name space violations.
42565         These changes have an effect only for programs that define
42566         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
42567         do not change anything for programs compiled in the normal way.
42568         Also, there is no effect on the ABI.
42569
42570         (_REGEX_SOURCE): New macro.
42571         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
42572         defined and _GNU_SOURCE is not; this fixes a name space violation.
42573
42574         Rename the following macros to obey POSIX requirements.
42575         The old names are still visible as macros if _REGEX_SOURCE is defined.
42576         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
42577         RE_BACKSLASH_ESCAPE_IN_LISTS.
42578         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
42579         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
42580         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
42581         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
42582         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
42583         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
42584         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
42585         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
42586         (REG_INTERVALS): renamed from RE_INTERVALS.
42587         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
42588         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
42589         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
42590         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
42591         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
42592         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
42593         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
42594         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
42595         RE_UNMATCHED_RIGHT_PAREN_ORD.
42596         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
42597         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
42598         (REG_DEBUG): renamed from RE_DEBUG.
42599         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
42600         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
42601         unusual, since we can't clash with the POSIX REG_ICASE.
42602         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
42603         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
42604         (REG_NO_SUB): renamed from RE_NO_SUB.
42605         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
42606         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
42607         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
42608         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
42609         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
42610         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
42611         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
42612         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
42613         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
42614         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
42615         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
42616         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
42617         RE_SYNTAX_POSIX_MINIMAL_BASIC.
42618         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
42619         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
42620         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
42621         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
42622         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
42623         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
42624         (REG_FIXED): Renamed from REGS_FIXED.
42625         (REG_NREGS): Renamed from RE_NREGS.
42626
42627         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
42628         of other REG_* macros, since POSIX says the user is allowed to
42629         #undef these macros selectively.
42630
42631         (reg_errcode_t): Update comment stating what other tables need
42632         to be consistent.
42633
42634         Rename the following enum values to obey POSIX requirements.
42635         The old names are still visible as macros.
42636         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
42637         is not defined, since GNU is supposed to be a superset of POSIX as
42638         much as possible, and since we want reg_errcode_t to be a signed
42639         type for implementation consistency.
42640         (_REG_NOERROR): Renamed from REG_NOERROR.
42641         (_REG_NOMATCH): Renamed from REG_NOMATCH.
42642         (_REG_BADPAT): Renamed from REG_BADPAT.
42643         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
42644         (_REG_ECTYPE): Renamed from REG_ECTYPE.
42645         (_REG_EESCAPE): Renamed from REG_EESCAPE.
42646         (_REG_ESUBREG): Renamed from REG_ESUBREG.
42647         (_REG_EBRACK): Renamed from REG_EBRACK.
42648         (_REG_EPAREN): Renamed from REG_EPAREN.
42649         (_REG_EBRACE): Renamed from REG_EBRACE.
42650         (_REG_BADBR): Renamed from REG_BADBR.
42651         (_REG_ERANGE): Renamed from REG_ERANGE.
42652         (_REG_ESPACE): Renamed from REG_ESPACE.
42653         (_REG_BADRPT): Renamed from REG_BADRPT.
42654         (_REG_EEND): Renamed from REG_EEND.
42655         (_REG_ESIZE): Renamed from REG_ESIZE.
42656         (_REG_ERPAREN): Renamed from REG_ERPAREN.
42657         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
42658         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
42659         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
42660         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
42661
42662         (_REG_RE_NAME, _REG_RM_NAME): New macros.
42663         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
42664         changed.  But support the old name if the new one is not defined
42665         and if _REGEX_SOURCE.
42666
42667         Change the following member names in struct re_pattern_buffer.
42668         The old names are still supported if !_REGEX_SOURCE.
42669         The new names are always supported, regardless of _REGEX_SOURCE.
42670         (re_buffer): Renamed from buffer.
42671         (re_allocated): Renamed from allocated.
42672         (re_used): Renamed from used.
42673         (re_syntax): Renamed from syntax.
42674         (re_fastmap): Renamed from fastmap.
42675         (re_translate): Renamed from translate.
42676         (re_can_be_null): Renamed from can_be_null.
42677         (re_regs_allocated): Renamed from regs_allocated.
42678         (re_fastmap_accurate): Renamed from fastmap_accurate.
42679         (re_no_sub): Renamed from no_sub.
42680         (re_not_bol): Renamed from not_bol.
42681         (re_not_eol): Renamed from not_eol.
42682         (re_newline_anchor): Renamed from newline_anchor.
42683
42684         Change the following member names in struct re_registers.
42685         The old names are still supported if !_REGEX_SOURCE.
42686         The new names are always supported, regardless of _REGEX_SOURCE.
42687         (rm_num_regs): Renamed from num_regs.
42688         (rm_start): Renamed from start.
42689         (rm_end): Renamed from end.
42690
42691         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
42692         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
42693         Prepend __ to parameter names.
42694
42695         Undo yesterday's changes.
42696
42697 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
42698
42699         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
42700         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
42701         lib/regex.c.
42702
42703 2005-08-24  Jim Meyering  <jim@meyering.net>
42704
42705         Sync from coreutils.
42706         * m4/fcntl-safer.m4: New file.
42707
42708         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
42709         and object files for this module.
42710
42711 2005-08-24  Jim Meyering  <jim@meyering.net>
42712
42713         Sync from coreutils.
42714         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
42715
42716 2005-08-24  Jim Meyering  <jim@meyering.net>
42717
42718         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
42719         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
42720
42721 2005-08-24  Jim Meyering  <jim@meyering.net>
42722
42723         * modules/fcntl-safer: New module.
42724         * modules/fts (Depends-on): Add fcntl-safer.
42725         * MODULES.html.sh (File descriptor based Input/Output):
42726         Add fcntl-safer.
42727
42728 2005-08-24  Bruno Haible  <bruno@clisp.org>
42729
42730         Support for unit test modules.
42731         * modules/README: Mention tests modules.
42732         * modules/TEMPLATE-TESTS: New file.
42733         * gnulib-tool: New options --extract-tests-module, --with-tests and
42734         --tests-base (unused for the moment).
42735         (testsbase, inctests): New variables.
42736         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
42737         (func_verify_module): Exclude TEMPLATE-TESTS.
42738         (func_verify_nontests_module, func_verify_tests_module): New functions.
42739         (func_get_dependencies): Add implicit dependency for tests modules.
42740         (func_get_tests_module): New function.
42741         (func_modules_transitive_closure): When --with-tests was specified,
42742         include the unit tests as well, unless explicitly avoided.
42743         (func_emit_lib_Makefile_am): Ignore the tests modules here.
42744         (func_emit_tests_Makefile_am): New function.
42745         (func_create_testdir): When --with-tests was specified, emit a
42746         tests/ directory.
42747         * MODULES.html.sh (Future developments): Update.
42748
42749 2005-08-24  Bruno Haible  <bruno@clisp.org>
42750
42751         * modules/tls-tests: New file.
42752         * tests/test-tls.c: New file, from GNU gettext.
42753
42754 2005-08-24  Bruno Haible  <bruno@clisp.org>
42755
42756         * modules/lock-tests: New file.
42757         * tests/test-lock.c: New file, from GNU gettext.
42758
42759 2005-08-24  Bruno Haible  <bruno@clisp.org>
42760
42761         * lib/lock.h: Add multiple inclusion guard.
42762         * lib/tls.h: Add multiple inclusion guard.
42763
42764 2005-08-24  Bruno Haible  <bruno@clisp.org>
42765
42766         * gnulib-tool: Add support for the --aux-dir option to
42767         --create-testdir, --create-megatestdir, --test, --megatest.
42768         (func_create_testdir, func_create_megatestdir): Optionally emit a
42769         AC_CONFIG_AUX_DIR directive.
42770         (create-testdir, create-megatestdir, test, megatest): Provide a
42771         default value for $auxdir.
42772
42773 2005-08-24  Bruno Haible  <bruno@clisp.org>
42774
42775         * gnulib-tool (import): Use compound statement instead of subshell
42776         where possible.
42777
42778 2005-08-24  Bruno Haible  <bruno@clisp.org>
42779
42780         * gnulib-tool (import): Change --aux-dir default to "build-aux".
42781
42782 2005-08-24  Bruno Haible  <bruno@clisp.org>
42783
42784         * gnulib-tool (func_version): Update.
42785
42786 2005-08-24  Bruno Haible  <bruno@clisp.org>
42787
42788         * gnulib-tool (func_import, func_create_testdir,
42789         func_create_megatestdir): Quote all autoconf macro arguments.
42790
42791 2005-08-24  Bruno Haible  <bruno@clisp.org>
42792
42793         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
42794         option --force, because --force causes the aclocal.m4 of each
42795         subdirectory to be newer than the corresponding config.h.in.
42796
42797 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42798
42799         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
42800         All contents moved to gl_REGEX.
42801         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
42802         assume that it does.
42803
42804 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42805
42806         * lib/regex.h (REG_NOSYS)
42807         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
42808         Define, since POSIX requires it as of 2001.
42809         (_REG_ENOSYS)
42810         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
42811         New private symbol, used to keep the enum signed in all cases.
42812         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
42813         Youngman in
42814         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
42815
42816         * lib/regex_internal.c (re_string_skip_chars, register_state):
42817         (calc_state_hash):
42818         Remove forward decls; no longer needed now that we use prototypes.
42819         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
42820         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
42821         (clean_state_log_if_needed): Likewise.
42822
42823 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
42824
42825         * config/srclist.txt: Add glibc bugs 1231-1233.
42826
42827 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42828
42829         Fix problems reported by Sam Steingold in
42830         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
42831         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
42832         assumed that reg_errcode_t is a signed type, which is not
42833         necessarily true if _XOPEN_SOURCE is not defined.
42834         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
42835         since some compilers warn about it otherwise.
42836
42837 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42838
42839         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
42840         (init_word_char, create_initial_state, duplicate_node_closure):
42841         (fetch_token, peek_token_bracket, build_range_exp):
42842         (build_collating_symbol): Remove forward decls; no longer needed
42843         now that we use prototypes.
42844
42845         * lib/regcomp.c:
42846         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
42847         (re_compile_fastmap_iter, regcomp, regerror, regfree):
42848         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
42849         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
42850         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
42851         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
42852         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
42853         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
42854         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
42855         (build_range_exp, build_collating_symbol, parse_bracket_exp):
42856         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
42857         (build_charclass, build_charclass_op, fetch_number, create_tree):
42858         (create_token_tree, mark_opt_subexp, duplicate_tree):
42859         Use prototypes rather than old-style definitions.
42860
42861         * lib/regex_internal.c:
42862         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
42863         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
42864         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42865         (re_string_reconstruct, re_string_peek_byte_case):
42866         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
42867         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42868         (re_node_set_init_copy, re_node_set_add_intersect):
42869         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42870         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42871         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42872         (re_acquire_state, re_acquire_state_context, register_state):
42873         (create_ci_newstate, create_cd_newstate, free_state):
42874         Likewise.
42875         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
42876         re_search_2):
42877         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
42878         (re_search_internal, prune_impossible_nodes):
42879         (acquire_init_state_context, check_matching, static):
42880         (check_halt_node_context, check_halt_state_context, proceed_next_node):
42881         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
42882         (update_regs, sift_states_backward, build_sifted_states):
42883         (clean_state_log_if_needed, merge_state_array):
42884         (update_cur_sifted_state, add_epsilon_src_nodes):
42885         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
42886         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
42887         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
42888         (find_recover_state, check_subexp_matching_top, transit_state_mb):
42889         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
42890         (check_arrival, check_arrival_add_next_nodes):
42891         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42892         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42893         (check_node_accept_bytes, check_node_accept, extend_buffers):
42894         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
42895         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
42896         (sift_ctx_init):
42897         Likewise.
42898
42899         * lib/regex_internal.h:
42900         (re_string_allocate, re_string_construct, re_string_reconstruct):
42901         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
42902         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
42903         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
42904         (re_string_context_at, re_string_peek_byte_case):
42905         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
42906         is defined, since we now use prototypes always.
42907
42908         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
42909         C89 or better.  All uses removed.
42910
42911 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
42912
42913         * config/srclist.txt: Add glibc bugs 1220-1227.
42914
42915 2005-08-20  Jim Meyering  <jim@meyering.net>
42916
42917         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
42918         of unused local, dfa.
42919
42920 2005-08-20  Bruno Haible  <bruno@clisp.org>
42921
42922         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
42923
42924 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42925
42926         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
42927         (re_node_set_insert_last, re_dfa_add_node):
42928         Rename local variables to avoid GCC shadowing warnings.
42929
42930 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42931
42932         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
42933         [defined lint]: Suppress bogus uninitialized-variable warnings.
42934
42935         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
42936         and let the caller return REG_ESPACE if out of space.  This
42937         removes an uninitialied-variable warning with GCC 4.0.1, and also
42938         avoids taking the address of a local variable.  All callers
42939         changed.
42940
42941 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
42942
42943         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
42944         $LIBCSRC/posix/regexec.c.
42945         Add glibc bug 1217 for regcomp.c.
42946
42947 2005-08-19  Jim Meyering  <jim@meyering.net>
42948
42949         * lib/regexec.c (proceed_next_node): Redo local variables to
42950         avoid GCC shadowing warnings.
42951
42952 2005-08-18  Bruno Haible  <bruno@clisp.org>
42953
42954         * lib/strstr.c (strstr): Fix return value in multibyte case.
42955         * lib/strcasestr.c (strcasestr): Likewise.
42956
42957 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
42958
42959         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
42960
42961 2005-08-17  Jim Meyering  <jim@meyering.net>
42962
42963         Make the %s format (seconds since the epoch) work for a negative
42964         number and when used with a zero-padded field width, e.g. %015s.
42965
42966         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
42967         label so that it precedes the code to set `digits'.  Otherwise,
42968         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
42969         print `00-22'.  Now, it prints `-0022', as it should.
42970
42971 2005-08-17  Bruno Haible  <bruno@clisp.org>
42972
42973         * modules/strstr (Files): Add m4/mbrtowc.m4.
42974         (Depends-on): Add mbuiter.
42975
42976 2005-08-17  Bruno Haible  <bruno@clisp.org>
42977
42978         * modules/strcasestr: New file.
42979         * MODULES.html.sh (String handling, based on ANSI C 89): Add
42980         strcasestr.
42981
42982 2005-08-17  Bruno Haible  <bruno@clisp.org>
42983
42984         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
42985
42986 2005-08-17  Bruno Haible  <bruno@clisp.org>
42987
42988         * modules/mbuiter: New file.
42989         * MODULES.html.sh (Extended multibyte and wide character utilities):
42990         Add mbuiter.
42991
42992 2005-08-17  Bruno Haible  <bruno@clisp.org>
42993
42994         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
42995         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
42996
42997 2005-08-17  Bruno Haible  <bruno@clisp.org>
42998
42999         * m4/strcasestr.m4: New file.
43000
43001 2005-08-17  Bruno Haible  <bruno@clisp.org>
43002
43003         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
43004         * lib/strstr.c: Completely rewritten, with multibyte locale support.
43005
43006 2005-08-17  Bruno Haible  <bruno@clisp.org>
43007
43008         * lib/strcasestr.h: New file.
43009         * lib/strcasestr.c: New file.
43010
43011 2005-08-17  Bruno Haible  <bruno@clisp.org>
43012
43013         * lib/strcasecmp.c: Use mbuiter.h.
43014
43015 2005-08-17  Bruno Haible  <bruno@clisp.org>
43016
43017         * lib/mbuiter.h: New file.
43018
43019 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43020
43021         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
43022         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
43023         and gl_GETOPT are both invoked via different paths (as happens
43024         with GNU tar CVS because it uses both argp and getopt), the former
43025         wins.
43026
43027 2005-08-16  Bruno Haible  <bruno@clisp.org>
43028
43029         * modules/tls: New file.
43030         * MODULES.html.sh (Multithreading): Add tls.
43031
43032 2005-08-16  Bruno Haible  <bruno@clisp.org>
43033
43034         * modules/strnlen1: New file.
43035         * MODULES.html.sh (String handling): Add strnlen1.
43036
43037 2005-08-16  Bruno Haible  <bruno@clisp.org>
43038
43039         * modules/strcase (Files): Add m4/mbrtowc.m4.
43040         (Depends-on): Add strnlen1, mbchar.
43041
43042 2005-08-16  Bruno Haible  <bruno@clisp.org>
43043
43044         * modules/mbiter: New file.
43045         * MODULES.html.sh (Extended multibyte and wide character utilities):
43046         Add mbiter.
43047
43048 2005-08-16  Bruno Haible  <bruno@clisp.org>
43049
43050         * modules/mbfile: New file.
43051         * MODULES.html.sh (Extended multibyte and wide character utilities):
43052         Add mbfile.
43053
43054 2005-08-16  Bruno Haible  <bruno@clisp.org>
43055
43056         * modules/mbchar: New file.
43057         * MODULES.html.sh (Extended multibyte and wide character utilities):
43058         New section.
43059
43060 2005-08-16  Bruno Haible  <bruno@clisp.org>
43061
43062         * m4/tls.m4: New file, from GNU gettext.
43063
43064 2005-08-16  Bruno Haible  <bruno@clisp.org>
43065
43066         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
43067         always.
43068         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
43069
43070 2005-08-16  Bruno Haible  <bruno@clisp.org>
43071
43072         * m4/mbiter.m4: New file.
43073
43074 2005-08-16  Bruno Haible  <bruno@clisp.org>
43075
43076         * m4/mbfile.m4: New file.
43077
43078 2005-08-16  Bruno Haible  <bruno@clisp.org>
43079
43080         * m4/mbchar.m4: New file.
43081
43082 2005-08-16  Bruno Haible  <bruno@clisp.org>
43083
43084         * lib/tls.h: New file, from GNU gettext.
43085         * lib/tls.c: New file, from GNU gettext.
43086
43087 2005-08-16  Bruno Haible  <bruno@clisp.org>
43088
43089         * lib/strnlen1.h: New file.
43090         * lib/strnlen1.c: New file.
43091
43092 2005-08-16  Bruno Haible  <bruno@clisp.org>
43093
43094         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
43095         (mbi_init): Update.
43096         (mbi_avail, mbi_advance): Let the iteration end before the terminating
43097         NUL byte, not after it.
43098
43099 2005-08-16  Bruno Haible  <bruno@clisp.org>
43100
43101         * lib/strcase.h (strcasecmp): Add note in comments.
43102         * lib/strncasecmp.c: Use code from strcasecmp.c.
43103         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
43104         (strcasecmp): Work correctly in multibyte locales.
43105
43106 2005-08-16  Bruno Haible  <bruno@clisp.org>
43107
43108         * lib/mbiter.h: New file.
43109
43110 2005-08-16  Bruno Haible  <bruno@clisp.org>
43111
43112         * lib/mbfile.h: New file.
43113
43114 2005-08-16  Bruno Haible  <bruno@clisp.org>
43115
43116         * lib/mbchar.h: New file.
43117         * lib/mbchar.c: New file.
43118
43119 2005-08-16  Bruno Haible  <bruno@clisp.org>
43120
43121         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
43122         the valid ones. Makes the comparison operations transitive:
43123         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
43124         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
43125
43126 2005-08-15  Simon Josefsson  <jas@extundo.com>
43127
43128         * modules/ssize_t (License): Change to 'unlimited'.
43129
43130         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
43131
43132 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43133
43134         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
43135         Add comments for each pending glibc patch.
43136
43137 2005-08-15  Bruno Haible  <bruno@clisp.org>
43138
43139         * lib/regex.h (__restrict_arr): Don't define to __restrict if
43140         __cplusplus is defined.
43141
43142 2005-08-14  Jim Meyering  <jim@meyering.net>
43143
43144         Sync from coreutils.
43145
43146         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
43147         Use the hash-table-based cycle-detection code not just when
43148         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
43149         Reported by James Youngman in
43150         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
43151         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
43152         FTS_TIGHT_CYCLE_CHECK.
43153         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
43154         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
43155         once again.
43156         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
43157         * lib/fts.c (fd_safer): Remove decl.
43158         Include fcntl--.h rather than unistd-safer.h
43159         (fts_safe_changedir): Don't call fd_safer; no longer needed
43160         now that we include fcntl--.h.
43161
43162 2005-08-12  Simon Josefsson  <jas@extundo.com>
43163
43164         * modules/getndelim2: Use ssize_t module.
43165         * modules/getnline: Likewise.
43166         * modules/safe-read: Likewise.
43167         * modules/xreadlink: Likewise.
43168
43169         * modules/ssize_t: New file.
43170
43171 2005-08-12  Simon Josefsson  <jas@extundo.com>
43172
43173         * m4/readline.m4: Look for termcap, curses or ncurses if required.
43174
43175 2005-08-12  Simon Josefsson  <jas@extundo.com>
43176
43177         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43178         ssize_t.
43179
43180 2005-08-12  Simon Josefsson  <jas@extundo.com>
43181
43182         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
43183         readline, getdelim and check_version.
43184         (Support for systems lacking ISO C 99: Sizes of integer types):
43185         Add size_max.
43186
43187 2005-08-12  Bruno Haible  <bruno@clisp.org>
43188
43189         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
43190
43191 2005-08-11  Simon Josefsson  <jas@extundo.com>
43192
43193         * modules/readline: New file.
43194
43195         * modules/strnlen (Files): Add strnlen.h.
43196
43197 2005-08-11  Simon Josefsson  <jas@extundo.com>
43198
43199         * m4/readline.m4: New file.
43200
43201 2005-08-11  Simon Josefsson  <jas@extundo.com>
43202
43203         * lib/readline.h, readline.c: New file.
43204
43205 2005-08-11  Simon Josefsson  <jas@extundo.com>
43206
43207         * doc/gnulib.texi (Initial import, Finishing touches): Mention
43208         gl_AVOID.
43209
43210 2005-08-11  Bruno Haible  <bruno@clisp.org>
43211
43212         * lib/strnlen.h (strnlen): Change parameter name to match comment.
43213
43214 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
43215
43216         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
43217
43218 2005-08-10  Simon Josefsson  <jas@extundo.com>
43219
43220         * tests/test-iconvme.c: New file.
43221
43222 2005-08-10  Simon Josefsson  <jas@extundo.com>
43223
43224         * m4/strnlen.m4: New file.
43225
43226         * m4/strndup.m4: Don't check for strnlen declaration, done in
43227         strnlen.m4.
43228
43229 2005-08-10  Simon Josefsson  <jas@extundo.com>
43230
43231         * lib/strndup.c: Use strnlen.h.
43232
43233         * lib/strnlen.h: New file.
43234
43235 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43236
43237         * README: Typos.
43238
43239 2005-08-02  Simon Josefsson  <jas@extundo.com>
43240
43241         * modules/readline: New file.
43242
43243 2005-08-02  Simon Josefsson  <jas@extundo.com>
43244
43245         * modules/getdelim: New file.
43246
43247         * modules/getline: Rewrite, don't use getndelim2.
43248
43249 2005-08-02  Simon Josefsson  <jas@extundo.com>
43250
43251         * m4/getline.m4: Separate out getdelim stuff into separate module.
43252
43253         * m4/getdelim.m4: New file.
43254
43255 2005-08-02  Simon Josefsson  <jas@extundo.com>
43256
43257         * lib/getline.h, getline.c: Rewrite.
43258
43259         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
43260
43261 2005-07-31  Bruno Haible  <bruno@clisp.org>
43262
43263         * lib/lock.h (gl_lock_initializer): New macro.
43264         (gl_lock_define_initialized): Use it.
43265         (gl_rwlock_initializer): New macro.
43266         (gl_rwlock_define_initialized): Use it.
43267         (gl_recursive_lock_initializer): New macro.
43268         (gl_recursive_lock_define_initialized): Use it.
43269
43270 2005-07-30  Karl Berry  <karl@gnu.org>
43271
43272         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
43273         Report from Ben Pfaff, regarding getopt.
43274
43275 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
43276
43277         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
43278         normal way.
43279         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
43280         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
43281         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
43282         (gl_GETOPT): Use the new macros.  Most of the implementation
43283         is moved to the new macros.  This is for programs like Emacs
43284         that don't want all the functionality of gl_GETOPT.
43285
43286 2005-07-26  Bruno Haible  <bruno@clisp.org>
43287
43288         * m4/lock.m4: Update from GNU gettext.
43289
43290 2005-07-26  Bruno Haible  <bruno@clisp.org>
43291
43292         * lib/lock.h: Update from GNU gettext.
43293         * lib/lock.c: Update from GNU gettext.
43294
43295 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
43296
43297         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
43298         obsolescent AC_TRY_RUN.  Include the default includes files, for
43299         'exit'.
43300
43301 2005-07-24  Bruno Haible  <bruno@clisp.org>
43302
43303         * modules/visibility: New file.
43304         * MODULES.html.sh (Misc): Add visibility.
43305
43306 2005-07-24  Bruno Haible  <bruno@clisp.org>
43307
43308         * m4/visibility.m4: New file.
43309
43310 2005-07-24  Bruno Haible  <bruno@clisp.org>
43311
43312         * doc/visibility.texi: New file.
43313
43314 2005-07-22  Bruno Haible  <bruno@clisp.org>
43315
43316         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
43317         $(ALLOCA_H), redundant through BUILT_SOURCES.
43318         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
43319         redundant through BUILT_SOURCES.
43320         * modules/byteswap (Makefile.am): Remove explicit dependency on
43321         $(BYTESWAP_H), redundant through BUILT_SOURCES.
43322         * modules/fnmatch (Makefile.am): Remove explicit dependency on
43323         $(FNMATCH_H), redundant through BUILT_SOURCES.
43324         * modules/getopt (Makefile.am): Remove explicit dependency on
43325         $(GETOPT_H), redundant through BUILT_SOURCES.
43326         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
43327         redundant through BUILT_SOURCES.
43328         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
43329         redundant through BUILT_SOURCES.
43330         * modules/stdbool (Makefile.am): Remove explicit dependency on
43331         $(STDBOOL_H), redundant through BUILT_SOURCES.
43332         * modules/stdint (Makefile.am): Remove explicit dependency on
43333         $(STDINT_H), redundant through BUILT_SOURCES.
43334         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
43335         Remove explicit dependency on $(SYSEXITS_H).
43336         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
43337
43338 2005-07-18  Simon Josefsson  <jas@extundo.com>
43339
43340         * lib/check-version.c (check_version): Accept identical versions too.
43341
43342 2005-07-18  Bruno Haible  <bruno@clisp.org>
43343
43344         * modules/lock: New file.
43345         * MODULES.html.sh (Multithreading): New section.
43346
43347 2005-07-18  Bruno Haible  <bruno@clisp.org>
43348
43349         * m4/lock.m4: New file, from GNU gettext.
43350
43351 2005-07-18  Bruno Haible  <bruno@clisp.org>
43352
43353         * lib/lock.h: New file, from GNU gettext.
43354         * lib/lock.c: New file, from GNU gettext.
43355
43356 2005-07-18  Bruno Haible  <bruno@clisp.org>
43357
43358         * lib/lock.h (gl_once_t): New type.
43359         (gl_once_define, gl_once): New macros.
43360         * lib/lock.c (fresh_once): New variable.
43361         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
43362         functions.
43363
43364 2005-07-16  Simon Josefsson  <jas@extundo.com>
43365
43366         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
43367         workaround, suggested by Bruno.
43368
43369 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
43370
43371         * modules/xalloc (Depends-on): Add xalloc-die.
43372         * modules/xvasprintf (Depends-on): Add xalloc-die.
43373
43374 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
43375
43376         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
43377         with a minor change.
43378
43379 2005-07-15  Bruno Haible  <bruno@clisp.org>
43380
43381         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
43382         When using lib/poll.c, define poll as rpl_poll.
43383
43384 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
43385
43386         * modules/argp (Depends-on): Remove unlocked-io.
43387
43388 2005-07-14  Derek Price  <derek@ximbiot.com>
43389
43390         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
43391         for glob symlink bug.
43392
43393 2005-07-14  Bruno Haible  <bruno@clisp.org>
43394
43395         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
43396         Instead, test for *_unlocked function declarations directly.
43397
43398 2005-07-11  Simon Josefsson  <jas@extundo.com>
43399
43400         * modules/size_max: New file.
43401
43402         * modules/xsize: Depend on size_max module for size_max.m4.
43403
43404 2005-07-11  Simon Josefsson  <jas@extundo.com>
43405
43406         * lib/size_max.h: New file.
43407
43408 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
43409
43410         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
43411         copyright symbol and the year.
43412         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
43413         (version_etc_va): Use parameterized copyright notice.
43414         Reword to conform to the current GNU coding standards.
43415
43416 2005-07-11  Karl Berry  <karl@gnu.org>
43417
43418         * doc/gnulib.texi (Quoting): new node.
43419         (Initial import): more info, from Patrice.
43420
43421 2005-07-11  Bruno Haible  <bruno@clisp.org>
43422
43423         * gnulib-tool (func_usage): Document option --avoid.
43424         (Command line options): Handle --avoid.
43425         (func_acceptable): New function.
43426         (func_modules_transitive_closure): Use it.
43427
43428 2005-07-11  Bruno Haible  <bruno@clisp.org>
43429
43430         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
43431         Reported by Jim Meyering.
43432
43433 2005-07-10  Bruno Haible  <bruno@clisp.org>
43434
43435         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
43436         Needed when size_t is smaller than 'unsigned int'.
43437         Reported by Paul Eggert.
43438
43439 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43440
43441         * modules/argp (Depends-on): Add unlocked-io
43442
43443 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
43444
43445         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
43446         block of defines.
43447
43448 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
43449
43450         * config/srclist.txt: Comment out regcomp.c, since we have a porting
43451         fix now.
43452
43453 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
43454         and Paul Eggert  <eggert@cs.ucla.edu>
43455
43456         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
43457         in wint_t, not wchar_t.  Remove now-unnecessary cast.
43458
43459 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43460
43461         * modules/regex (Files): Add lib/regex_internal.c,
43462         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
43463         (Depends-on): Add extensions.
43464         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
43465
43466 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43467
43468         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
43469         pathconf.
43470         * m4/same.m4 (gl_SAME): Likewise.
43471         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
43472
43473         * m4/regex.m4: Adjust to new libc regex implementation.
43474         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
43475         all the .c and .h parts of (the new) regex.
43476         Quote the m4 stuff better.
43477         Check for RE_ICASE bug of old gnulib.
43478         Check for REG_STARTEND of recent libc.
43479         Rename local variables from jm_* to gl_*.
43480         Quote operand of "test -f".
43481         Say "recent enough" version of libc, not "version 2".
43482         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
43483         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
43484         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
43485         Remove check for btowc, isascii.
43486         Require AM_LANGINFO_CODESET.
43487
43488 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43489
43490         * lib/regex.c, regex.h: Sync from libc.
43491         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
43492         * lib/regexec.c:
43493         New files, synced from libc, except that regex_internal.h
43494         currently has a small porting fix.
43495
43496 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
43497
43498         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
43499         regex_internal.c, regexec.c.
43500         Add regex_internal.h too, but as a comment, since the libc version
43501         is currently broken in gnulib mode.
43502
43503 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
43504
43505         Support programs like Emacs that use gnulib but not gettext.
43506         * MODULES.html.sh (Internationalization functions): Add gettext-h.
43507         * modules/gettext-h: New file.
43508         * modules/gettext (Files): Remove lib/gettext.h.
43509         (Depends-on): Add gettext-h.
43510         (Makefile.am): Remove lib_SOURCES.
43511         * modules/argmatch, modules/c-stack, modules/closeout:
43512         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
43513         * modules/execute, modules/file-type, modules/getaddrinfo:
43514         * modules/getopt, modules/human, modules/javacomp:
43515         * modules/javaexec, modules/mkdir-p, modules/obstack:
43516         * modules/openat, modules/pagealign_alloc, modules/pipe:
43517         * modules/quotearg, modules/regex, modules/rpmatch:
43518         * modules/unicodeio, modules/userspec, modules/version-etc:
43519         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
43520         * modules/xsetenv:
43521         Depend on gettext-h, not gettext.
43522
43523 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
43524
43525         * gnulib-tool (func_import): Add support for 'public domain' license.
43526         * modules/alloca, modules/atexit, modules/memmove:
43527         Now public domain, not GPL.
43528         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
43529         * modules/realloc, modules/strerror, modules/strtod:
43530         Now LGPL, not GPL.
43531
43532 2005-07-05  Bruno Haible  <bruno@clisp.org>
43533
43534         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
43535         autoconf CVS. Needed for mingw.
43536
43537 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43538
43539         Remove the dependency of the strftime module on the tzset module.
43540         * modules/strftime (Depends-on): Remove dependency on tzset.
43541
43542 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43543
43544         Remove the dependency of the strftime module on the tzset module.
43545         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
43546         gl_FUNC_TZSET_CLOBBER.
43547
43548 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
43549
43550         Remove the dependency of the strftime module on the tzset module.
43551         * lib/strftime.c (my_strftime)
43552         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
43553         Copy the input structure, to work around some of the bug with
43554         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
43555         Solaris releases, you should also use the tzset module, but we won't
43556         require it as a dependency any more since we don't want LGPLed code
43557         to depend on GPLed code.
43558
43559 2005-07-02  Jim Meyering  <jim@meyering.net>
43560
43561         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
43562         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
43563         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
43564         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
43565
43566 2005-07-02  Jim Meyering  <jim@meyering.net>
43567
43568         * lib/backupfile.c (backup_args): Change a `0' to NULL.
43569
43570 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
43571
43572         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
43573         declares only 'struct timespec;' (!).
43574
43575 2005-07-01  Jim Meyering  <jim@meyering.net>
43576
43577         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
43578         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
43579         * lib/save-cwd.c, tempname.c:
43580         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
43581         and don't include <sys/file.h>).
43582
43583 2005-06-29  Jim Meyering  <jim@meyering.net>
43584
43585         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
43586         type name.  Use the variable name instead.
43587         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
43588         Likewise.
43589
43590 2005-06-28  Simon Josefsson  <jas@extundo.com>
43591
43592         * modules/check-version (Files): Add check-version.m4.
43593
43594 2005-06-28  Simon Josefsson  <jas@extundo.com>
43595
43596         * m4/check-version.m4: New file, suggested by Jim Meyering
43597         <jim@meyering.net>.
43598
43599 2005-06-28  Simon Josefsson  <jas@extundo.com>
43600
43601         * lib/check-version.h, lib/check-version.c: New files.
43602
43603 2005-06-28  Simon Josefsson  <jas@extundo.com>
43604
43605         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
43606         collision with global variable.  Better indentation.  Don't
43607         increment buffer pointer beyond buffer end.  Based on comments
43608         from Paul Eggert <eggert@cs.ucla.edu>.
43609
43610         * lib/base64.h: Indent.
43611
43612 2005-06-28  Simon Josefsson  <jas@extundo.com>
43613
43614         * doc/gnulib.texi (Library version handling): New section.
43615
43616 2005-06-28  Jim Meyering  <jim@meyering.net>
43617
43618         * check-module (find_included_lib_files): Hard-code another
43619         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
43620         but modules/fts-lgpl (correctly) does not list those files.
43621
43622         * modules/canonicalize (Files): Add lib/pathmax.h.
43623
43624 2005-06-25  Simon Josefsson  <jas@extundo.com>
43625
43626         * modules/check-version: New file.
43627
43628 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
43629
43630         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
43631         initializer of struct addrinfo, as an indication that we don't
43632         care how many members the structure has.
43633
43634 2005-06-24  Derek Price  <derek@ximbiot.com>
43635         and Bruno Haible  <bruno@clisp.org>
43636
43637         Remove stat module & update lstat.
43638         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
43639         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
43640         * m4/stat.m4: Remove this file.
43641
43642 2005-06-24  Derek Price  <derek@ximbiot.com>
43643         and Bruno Haible  <bruno@clisp.org>
43644
43645         Remove stat module & update lstat.
43646         * lib/stat.c: Remove this file...
43647         (slash_aware_lstat): ...moving this content and its support...
43648         * lib/lstat.c (rpl_lstat): ...into here.
43649         * lib/lstat.h: New file.
43650
43651 2005-06-24  Derek Price  <derek@ximbiot.com>
43652         and Bruno Haible  <bruno@clisp.org>
43653
43654         Remove stat module & update lstat.
43655         * config/srclist.txt (libc sources): Remove stat.
43656
43657 2005-06-24  Derek Price  <derek@ximbiot.com>
43658         and Bruno Haible  <bruno@clisp.org>
43659
43660         Remove stat module & update lstat.
43661         * MODULES.html.sh (stat): Remove.
43662         * MODULES.html: Regenerated.
43663         * modules/lstat (Description): Correct function name.
43664         (Files): Add "lstat.h".
43665         (Depends-on): Remove stat, add xalloc, stat-macros.
43666         * modules/stat: Remove this file.
43667         (Include): Add "lstat.h", remove <sys/stat.h>.
43668
43669 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
43670
43671         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
43672         (ranged_convert): Don't save conversion in a temporary struct.
43673         This causes a warning with GCC 4.0.0, and anyway in the typical
43674         case it's not worth the extra 100 bytes or so of code.
43675         (ranged_convert, __mktime_internal): When calling a function via a
43676         pointer P, use P () rather than (*P) (), as we now assume C89 or
43677         better.
43678
43679 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
43680
43681         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
43682         "who -r" failed to give output.  Problem reported by Tim Waugh.
43683
43684         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
43685         (xcalloc): Use it to avoid needless tests.
43686         Problem reported by Jim Meyering.
43687
43688 2005-06-20  Derek Price  <derek@ximbiot.com>
43689
43690         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
43691         unnecessary for Autoconfs > 2.59c.
43692
43693 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
43694
43695         * lib/argp.h (__option_is_short): Check upper limit of
43696         __key. Isprint() requires its argument to have the value
43697         of an unsigned char or EOF.
43698
43699 2005-06-16  Jim Meyering  <jim@meyering.net>
43700
43701         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
43702         when either N or S is zero.
43703
43704 2005-06-16  Derek Price  <derek@ximbiot.com>
43705
43706         * m4/bison.m4: Declare YACC & YFLAGS precious.
43707
43708 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
43709
43710         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
43711         multibyte string or pattern, fall back on unibyte matching.
43712         Problem reported by James Youngman.
43713
43714 2005-06-08  Bruno Haible  <bruno@clisp.org>
43715
43716         * modules/csharpcomp: New file.
43717         * MODULES.html.sh (C#): Add csharpcomp.
43718
43719 2005-06-08  Bruno Haible  <bruno@clisp.org>
43720
43721         * m4/csharpcomp.m4: New file, from GNU gettext.
43722
43723 2005-06-08  Bruno Haible  <bruno@clisp.org>
43724
43725         * lib/csharpcomp.h: New file, from GNU gettext.
43726         * lib/csharpcomp.c: New file, from GNU gettext.
43727         * lib/csharpcomp.sh.in: New file, from GNU gettext.
43728
43729 2005-06-08  Bruno Haible  <bruno@clisp.org>
43730
43731         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
43732         warning on mingw.
43733
43734 2005-06-07  Derek Price  <derek@ximbiot.com>
43735
43736         Sync from CVS.
43737         * lib/glob_.h: Indent nested #ifdef.
43738
43739 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
43740
43741         Sync from coreutils.
43742         Use "file name" when talking about file names, instead of "filename"
43743         or "path", as per the GNU coding standards.
43744         * lib/mkdir-p.c: Renamed from makepath.c.
43745         (make_dir_parents): Renamed from make_path.  All callers changed.
43746         * lib/mkdir-p.h: Likewise.  All includers changed.
43747         * lib/filenamecat.c: Renamed from path-concat.c.
43748         (file_name_concat): Renamed from path_concat.  All callers changed.
43749         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
43750         * lib/filenamecat.h: Likewise.  All includers changed.
43751         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
43752         in comments or local variable names.
43753         * lib/basename.c: Likewise.
43754         * lib/canonicalize.c, canonicalize.h: Likewise.
43755         * lib/dirname.c, dirname.h: Likewise.
43756         * lib/euidaccess.c: Likewise.
43757         * lib/exclude.c: Likewise
43758         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
43759         * lib/fsusage.c, fsuage.h: Likewise.
43760         * lib/fts.c, fts_.h: Likewise.
43761         * lib/getcwd.c: Likewise.
43762         * lib/getloadavg.c: Likewise.
43763         * lib/mkstemp.c: Likewise.
43764         * lib/mountlist.c, mountlist.h: Likewise.
43765         * lib/openat.c, openat.h: Likewise.
43766         * lib/readlink-stub.c: Likewise.
43767         * lib/readutmp.c, readutmp.h: Likewise.
43768         * lib/rename.c: Likewise.
43769         * lib/rmdir.c: Likewise.
43770         * lib/same.c: Likewise.
43771         * lib/savedir.c: Likewise.
43772         * lib/stripslash.c: Likewise.
43773         * lib/tempname.c: Likewise.
43774         * lib/xreadlink.c: Likewise.
43775         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
43776         All uses changed.
43777         * lib/exclude.h: Likewise.
43778
43779         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
43780         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
43781         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
43782         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
43783         * lib/pathmax.h: Include <limits.h> unconditionally, since other
43784         files have been getting away with it for years (MORE/BSD 4.3
43785         is extinct now).
43786         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
43787         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
43788
43789         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
43790         Define to 256, not 255, as per modern POSIX.
43791
43792 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
43793
43794         Sync from coreutils.
43795         Use "file name" when talking about file names, instead of "filename"
43796         or "path", as per the GNU coding standards.
43797         * MODULES.html.sh: mkdir-p renamed from makepath.
43798         filenamecat renamed from path-concat.
43799         * modules/filenamecat: Renamed from modules/path-concat.
43800         (Files): filenamecat.h and filenamecat.c renamed from
43801         path-concat.h and path-concat.c.
43802         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
43803         (Include): filenamecat.h, not path-concat.h.
43804         * modules/mkdir-p: Renamed from modules/makepath.
43805         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
43806         makepath.c.
43807         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
43808         (Include): mkdir-p.h, not makepath.h.
43809
43810 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
43811
43812         Sync from coreutils.
43813         * m4/mkdir-p.m4: Renamed from makepath.m4.
43814         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
43815         Rename files from makepath.c to mkdir-p.c, and from
43816         makepath.h to mkdir-p.h.
43817         * m4/filenamecat.m4: Renamed from path-concat.m4.
43818         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
43819         Rename files from path-concat.c to filenamecat.c,
43820         and from path-concat.h to filenamecat.h.
43821         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
43822         "file name" in local variables or comments.
43823         * m4/rename.m4: Likewise.
43824
43825 2005-06-01  Bruno Haible  <bruno@clisp.org>
43826
43827         * modules/csharpexec: New file.
43828         * MODULES.html.sh (C#): New section.
43829
43830 2005-06-01  Bruno Haible  <bruno@clisp.org>
43831
43832         * m4/csharp.m4: New file, from GNU gettext.
43833         * m4/csharpexec.m4: New file, from GNU gettext.
43834
43835 2005-06-01  Bruno Haible  <bruno@clisp.org>
43836
43837         * lib/csharpexec.h: New file, from GNU gettext.
43838         * lib/csharpexec.c: New file, from GNU gettext.
43839         * lib/csharpexec.sh.in: New file, from GNU gettext.
43840
43841 2005-05-31  Derek Price  <derek@ximbiot.com>
43842             Paul Eggert  <eggert@cs.ucla.edu>
43843
43844         Sync from cvs.
43845         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
43846
43847 2005-05-31  Derek Price  <derek@ximbiot.com>
43848             Paul Eggert  <eggert@cs.ucla.edu>
43849
43850         Sync from cvs.
43851         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
43852
43853 2005-05-29  Derek Price  <derek@ximbiot.com>
43854
43855         * config/srclist.txt (glob_.h, glob.c): Add these files.
43856
43857 2005-05-29  Derek Price  <derek@ximbiot.com>
43858
43859         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
43860         * modules/glob: New file.
43861         * modules/getlogin_r: Add link to POSIX spec in description.
43862
43863 2005-05-29  Derek Price  <derek@ximbiot.com>
43864             Paul Eggert  <eggert@cs.ucla.edu>
43865
43866         * m4/glob.m4: New file.
43867
43868 2005-05-29  Derek Price  <derek@ximbiot.com>
43869             Paul Eggert  <eggert@cs.ucla.edu>
43870
43871         * lib/glob_.h, lib/glob.c: New files.
43872
43873 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
43874
43875         * modules/fts (Files): Remove m4/inttypes-pri.m4.
43876         * modules/fts-lgpl (Depends-on): Remove gettext.
43877
43878 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
43879
43880         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
43881         and don't require gt_INTTYPES_PRI.
43882
43883 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
43884
43885         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
43886
43887         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
43888         the configuration hassle isn't worth it.
43889         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
43890         (LONGEST_MODIFIER, PRIuMAX): Remove.
43891
43892 2005-05-27  Bruno Haible  <bruno@clisp.org>
43893
43894         * lib/getlogin_r.h: Remove second include of <stddef.h>.
43895
43896 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
43897
43898         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
43899         _POSIX_PTHREAD_SEMANTICS for Solaris.
43900
43901 2005-05-25  Derek Price  <derek@ximbiot.com>
43902
43903         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
43904
43905 2005-05-25  Derek Price  <derek@ximbiot.com>
43906             Paul Eggert  <eggert@cs.ucla.edu>
43907
43908         * modules/getlogin_r, m4/getlogin_r.m4: New files.
43909         * lib/getlogin_r.c, getlogin_r.h: New files.
43910
43911 2005-05-25  Bruno Haible  <bruno@clisp.org>
43912             Derek Price  <derek@ximbiot.com>
43913
43914         * lib/getlogin_r.h: Simplify API documentation.
43915
43916 2005-05-23  Derek Price  <derek@ximbiot.com>
43917
43918         * modules/minmax (Files): Add m4/minmax.m4.
43919         (configure.ac): Add gl_MINMAX.
43920
43921 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
43922
43923         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
43924         so that unistd-safer.h (GPL'ed code) need not be included.
43925
43926 2005-05-22  Bruno Haible  <bruno@clisp.org>
43927
43928         * m4/minmax.m4: New file.
43929         Based on a patch by Derek Price <derek@ximbiot.com>.
43930
43931 2005-05-22  Bruno Haible  <bruno@clisp.org>
43932
43933         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
43934         (INT64_MIN): Fix definition.
43935         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
43936
43937         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
43938         NEED_SIGNED_INT_TYPES.
43939
43940         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
43941         HAVE_SYSTEM_INTTYPES.
43942
43943 2005-05-22  Bruno Haible  <bruno@clisp.org>
43944
43945         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
43946         Also include <sys/param.h> if it defines MIN, MAX.
43947         Based on a patch by Derek Price <derek@ximbiot.com>.
43948
43949 2005-05-21  Jim Meyering  <jim@meyering.net>
43950
43951         * modules/fts (Files): Add m4/inttypes-pri.m4.
43952         (Depends-on): Add lstat and remove gettext.  Alphabetize.
43953
43954 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
43955
43956         New fts module.
43957         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
43958         (setup_dir, free_dir): New functions.
43959         (enter_dir, leave_dir): Define trivial
43960         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
43961         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
43962         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
43963         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
43964         Move to fts-cycle.c.
43965         (fts_open): Use setup_dir.
43966         (fts_close): Use free_dir.
43967         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
43968         This adds a label and some gotos, but the alternatives were messier.
43969         Check for memory allocation failure when entering a dir.
43970         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
43971         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
43972         (FTS): New member fts_cycle, that is a union that contains the
43973         old active_dir_ht and cycle_state.  All uses changed to mention
43974         fts_cycle.ht and fts_cycle.state.
43975         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
43976         fts.c, with the following changes:
43977         (setup_dir, free_dir): New functions.
43978         (enter_dir): Now returns bool.  Return true if successful, false
43979         if memory exhausted.  All callers changed.
43980         Do not bother partly cleaning up on
43981         memory allocation failure; that is free_dir's job.
43982         However, free ad if hash_insert fails, to avoid memory leak.
43983         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
43984         fts->fts_options to see which union member to use.
43985
43986 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
43987
43988         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
43989         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
43990
43991 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
43992
43993         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
43994
43995 2005-05-20  Jim Meyering  <jim@meyering.net>
43996
43997         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
43998         Now a macro, to pacify GCC.
43999
44000 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44001
44002         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
44003         of -1.
44004
44005 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44006
44007         * lib/chown.c (rpl_chown): Return -1 on failure.
44008
44009 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44010
44011         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
44012         Don't check for stddef.h.
44013         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
44014         don't use its results.
44015         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
44016         since we include them unconditionally.  Don't require
44017         AM_STDBOOL_H, since stdbool is a prerequisite.
44018         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
44019         since we assume C89 or better.
44020         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
44021         as we don't use their results.
44022         Don't check for fchdir, memmove, memset, strrchr, as we use
44023         them unconditionally.
44024         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
44025         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
44026
44027 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44028
44029         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
44030         Include <stddef.h> unconditionally, since we assume C89 now.
44031         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
44032         * lib/fts.c: Include fts_.h first, to check interface.
44033         Do not include intprops.h; no longer needed.
44034         Include cycle-check.h and hash.h, since fts_.h no longer does.
44035         Remove unnecessary casts of closedir to void.
44036         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
44037         decide whether to decrement nlinks.
44038         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
44039         (FTS): Use struct hash_table * instead of Hash_table, so that
44040         we no longer need to include hash.h here.
44041
44042 2005-05-18  Jim Meyering  <jim@meyering.net>
44043
44044         * modules/dirfd (License): Change to LGPL.  Most of the code
44045         is already in the public domain.
44046
44047 2005-05-18  Jim Meyering  <jim@meyering.net>
44048
44049         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
44050         Reported by Yoann Vandoorselaere.
44051
44052 2005-05-17  Jim Meyering  <jim@meyering.net>
44053
44054         * m4/fts.m4: New file, from coreutils.
44055
44056 2005-05-17  Jim Meyering  <jim@meyering.net>
44057
44058         * lib/fts.c, lib/fts_.h: New files, from coreutils.
44059
44060 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44061
44062         Sync from coreutils.
44063         * m4/unlinkdir.m4: New file.
44064
44065 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44066
44067         Sync from coreutils.
44068         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
44069         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
44070         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
44071         White space changes only.
44072         * lib/makepath.c (make_path): Port to hosts where leading "//" is
44073         special.
44074         * lib/yesno.c: Include getline.h, not ctype.h.
44075         (yesno): Don't remove leading white space; POSIX doesn't allow it.
44076         Use getline to remove arbitrary restriction on response length.
44077
44078 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44079
44080         * config/srclist-update: Spell out "Street" in FSF postal
44081         mail address; this is the style the FSF seems to prefer.
44082
44083         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
44084         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
44085         this updates FSF postal mail address.
44086
44087         Sync from coreutils.
44088         * modules/unlinkdir: New file.
44089         * modules/yesno (Depends-on): Add getline.
44090         * MODULES.html.sh (File system functions): Add unlinkdir.
44091
44092 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44093
44094         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
44095         lib/strsep.h:
44096         Change the initial comment to refer to GPL, not LGPL.
44097         gnulib-tool will change it to LGPL as needed.
44098
44099         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
44100         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
44101         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
44102         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
44103         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
44104         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
44105         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
44106         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
44107         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
44108         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
44109         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
44110         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
44111         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
44112         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
44113         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
44114         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
44115         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
44116         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
44117         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
44118         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
44119         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
44120         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
44121         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
44122         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
44123         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
44124         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
44125         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
44126         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
44127         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
44128         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
44129         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
44130         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
44131         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
44132         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
44133         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
44134         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
44135         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
44136         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
44137         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
44138         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
44139         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
44140         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
44141         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
44142         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
44143         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
44144         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
44145         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
44146         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
44147         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
44148         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
44149         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
44150         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
44151         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
44152         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
44153         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
44154         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
44155         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
44156         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
44157         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
44158         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
44159         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
44160         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
44161         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
44162         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
44163         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
44164         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
44165         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
44166         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
44167         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
44168         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
44169         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
44170         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
44171         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
44172         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
44173         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
44174         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
44175         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
44176         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
44177         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
44178         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
44179         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
44180         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
44181         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
44182         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
44183         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
44184         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
44185         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
44186         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
44187         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
44188         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
44189         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
44190         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
44191         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
44192         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
44193         lib/yesno.c, lib/yesno.h:
44194         Update FSF postal mail address.
44195
44196 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44197
44198         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
44199         tests/test-memmem.c, tests/test-stpncpy.c:
44200         Update FSF postal mail address.
44201
44202 2005-05-13  Bruno Haible  <bruno@clisp.org>
44203
44204         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
44205         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
44206         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
44207         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
44208         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
44209         Add support for 64-bit integers in the MSVC compiler.
44210
44211 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44212
44213         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
44214
44215 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
44216
44217         * gnulib-tool (func_import): Sort and uniquify recommended includes.
44218
44219 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
44220
44221         * doc/getdate.texi (General date syntax): Don't say that date
44222         date --iso-8601=ns generates acceptable dates; it doesn't yet.
44223         Problem reported by Nic Ferrier.
44224
44225 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44226
44227         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
44228         specified in ai_socktype. Fix invalid ai_protocol
44229         check. ai_protocol is usually set to 0 or depending on
44230         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
44231         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
44232         ai_socktype / ai_protocol in the returned addrinfo structure.
44233
44234 2005-05-10  Simon Josefsson  <jas@extundo.com>
44235
44236         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
44237         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44238
44239 2005-05-10  Karl Berry  <karl@gnu.org>
44240
44241         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
44242         (from http://www.gnu.org/licenses).
44243         * doc/COPYING.LIB: also rename to COPYING.LESSER.
44244         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
44245         fdl.texi suffices.
44246
44247 2005-05-10  Karl Berry  <karl@gnu.org>
44248
44249         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
44250         (COPYING.DOC): remove.
44251
44252         * config/srclist-update: new FSF address.
44253
44254 2005-05-10  Derek Price  <derek@ximbiot.com>
44255
44256         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
44257         possible.
44258
44259 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44260             Bruno Haible  <bruno@clisp.org>
44261
44262         * modules/inet_ntop: New file.
44263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44264         inet_ntop.
44265
44266 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44267             Bruno Haible  <bruno@clisp.org>
44268
44269         * m4/inet_ntop.m4: New file.
44270
44271 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44272             Bruno Haible  <bruno@clisp.org>
44273
44274         * lib/inet_ntop.h: New file.
44275         * lib/inet_ntop.c: New file, from glibc with modifications.
44276
44277 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
44278
44279         * modules/time_r (License): Change to LGPL.
44280         * modules/extensions (License): Change to LGPL.  Actually,
44281         the license is more permissive than that, but currently gnulib-tool
44282         doesn't know how to handle more-permissive licenses.
44283
44284         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
44285         Problem reported by Dave Love.
44286
44287 2005-05-08  Jim Meyering  <jim@meyering.net>
44288
44289         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
44290         blank.
44291
44292 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
44293
44294         * modules/argmatch (Depends-on): Add stdbool.
44295         * modules/backupfile (Depends-on): Likewise.
44296         * modules/chdir-long (Depends-on): Likewise.
44297         * modules/closeout (Depends-on): Likewise.
44298         * modules/cycle-check (Depends-on): Likewise.
44299         * modules/dirname (Depends-on): Likewise.
44300         * modules/fnmatch (Depends-on): Likewise.
44301         * modules/fsusage (Depends-on): Likewise.
44302         * modules/fwriteerror (Depends-on): Likewise.
44303         * modules/getcwd (Depends-on): Likewise.
44304         * modules/getloadavg (Depends-on): Likewise.
44305         * modules/hard-locale (Depends-on): Likewise.
44306         * modules/makepath (Depends-on): Likewise.
44307         * modules/mountlist (Depends-on): Likewise.
44308         * modules/nanosleep (Depends-on): Likewise.
44309         * modules/posixtm (Depends-on): Likewise.
44310         * modules/quotearg (Depends-on): Likewise.
44311         * modules/readtokens (Depends-on): Likewise.
44312         * modules/readtokens0 (Depends-on): Likewise.
44313         * modules/readutmp (Depends-on): Likewise.
44314         * modules/save-cwd (Depends-on): Likewise.
44315         * modules/strftime (Depends-on): Likewise.
44316         * modules/userspec (Depends-on): Likewise.
44317         * modules/utimecmp (Depends-on): Likewise.
44318         * modules/xgetcwd (Depends-on): Likewise.
44319         * modules/xnanosleep (Depends-on): Likewise.
44320         * modules/xstrtod (Depends-on): Likewise.
44321         * modules/yesno (Depends-on): Likewise.
44322
44323 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
44324
44325         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
44326         needless checks.
44327
44328 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44329
44330         Merge from coreutils.  Among other things,
44331         add bulletproofing for cases where stdin, stdout, or stderr are closed.
44332         * lib/fd-safer.c: New file.
44333         * lib/fcntl-safer.h, open-safer.c: Remove.
44334         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
44335         * lib/dup-safer.c: Include unistd-safer.h first.
44336         Don't include errno.h.
44337         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
44338         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
44339         * lib/file-type.c: Rely on file-type.h change.
44340         * lib/getloadavg.c: Include unistd-safer.h.
44341         (getloadavg): Use safer open.
44342         * lib/getusershell.c: Include "stdio-safer.h".
44343         (getusershell): Use safer fopen.
44344         * lib/long-options.c (long_options): Use NULL rather than 0.
44345         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
44346         'free'.
44347         * lib/modechange.c: Likewise.
44348         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
44349         (MODE_DONE): New constant.
44350         (struct mode_change): Remove 'next' member.
44351         (make_node_op_equals): New function; like the old one of the
44352         same name, except it allocates an array.
44353         (mode_compile, mode_create_from_ref): Use it.
44354         (mode_compile): Allocate result as an array, not a linked list.
44355         Parse octal string ourself, so that we catch mistakes like "+0".
44356         (mode_adjust): Arg is an array, not a linked list.
44357         * lib/modechange.c: Include stat-macros.h, xalloc.h.
44358         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
44359         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
44360         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
44361         Remove.  This is now stat-macros.h's job.
44362         (talloc): Remove.  All callers replaced by xalloc, so that
44363         our invokers don't have to worry about reporting memory failures.
44364         (make_node_op_equals): Remove.
44365         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
44366         New constants.
44367         (struct mode_change): Moved here from modechange.h.
44368         (mode_append_entry): Remove.
44369         (mode_compile): Remove MASKED_OPS arg, since it encouraged
44370         apps to have incorrect behavior.  Use simpler algorithm for head
44371         and tail.  Don't futz with umask; that's now the job of mode_adjust.
44372         Detect more invalid usages rather than having somewhat-random behavior.
44373         Don't insert an "a=" action, as that leads to incorrect behavior.
44374         (mode_compile, mode_create_from_ref): Return NULL on error instead
44375         of an enum, since now there's only one way to have an error.  All
44376         callers changed.
44377         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
44378         at the correct time.  Simplify calculation of "+u" and its ilk.
44379         Don't mishandle "+X".
44380         (mode_free): Remove "register" and localize decls.
44381         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
44382         (struct mode_change): Move to modechange.c; callers don't
44383         need to see this stuff.
44384         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
44385         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
44386         (mode_change, mode_adjust): Reflect the new signatures noted above.
44387         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
44388         that might redefine system include files.
44389         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
44390         (my_usleep): Use NULL rather than (void *) 0.
44391         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
44392         Use siginterrupt to specify that system calls should be interrupted.
44393         (rpl_nanosleep): Move initialization of suspended closer to call of
44394         my_usleep.
44395         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
44396         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
44397         (desirable_utmp_entry): New function.
44398         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
44399         using x2nrealloc, to simplify logic.
44400         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
44401         size calculation.  Do not assume utmp file is a regular file.
44402         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
44403         (READ_UTMP_CHECK_PIDS): New constant.
44404         * lib/save-cwd.c: Include unistd-safer.h.
44405         (save_cwd): Use fd_safer.
44406         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
44407         [!_LIBC] Include "stat-macros.h" instead.
44408         * lib/unistd-safer.h (fd_safer): New decl.
44409
44410 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44411
44412         * modules/getloadavg (Depends-on): Add unistd-safer.
44413         * modules/getusershell (Depends-on): Add stdio-safer.
44414         * modules/lstat (Depends-on): Remove xalloc.
44415         * modules/mkstemp (Depends-on): Add stat-macros.
44416         * modules/modechange (Depends-on): Remove xstrtol.
44417         Add stat-macros, xalloc.
44418         * modules/save-cwd (Depends-on): Add unistd-safer.
44419         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
44420         * modules/unistd-safer (Files): Add lib/fd-safer.c
44421         (Makefile.am): Remove lib_SOURCES.
44422
44423         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
44424         Remove fcntl-safer; unistd-safer supersedes it.
44425
44426 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44427
44428         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
44429         AC_HEADER_STAT.
44430         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
44431         (gl_PREREQ_CHOWN): Remove.
44432         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
44433         it.  Don't require AC_HEADER_STAT.
44434         (gl_PREREQ_LSTAT): Remove.
44435         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
44436         Don't require AC_HEADER_STAT.
44437         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
44438         (gl_PREREQ_RMDIR): Remove.
44439         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
44440         mention stat-macros.h or AC_HEADER_STAT, since we'll make
44441         the stat-macros module a prerequisite.
44442         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
44443         * m4/filemode.m4 (gl_FILEMODE): Likewise.
44444         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
44445         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
44446         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
44447         variable names.
44448         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
44449         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
44450         variable prefixes.
44451         * m4/fcntl-safer.m4: Remove.
44452         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
44453         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
44454         Invoke gl_PREREQ_FD_SAFER.
44455         (gl_PREREQ_FD_SAFER): New macro.
44456         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
44457         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
44458         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
44459         Remove duplicate call to AC_LIBOBJ(readutmp).
44460         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
44461
44462         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
44463         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
44464
44465 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
44466
44467         * MODULES.html.sh (Misc): Add byteswap.
44468
44469 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44470
44471         * modules/getcwd (Depends-on): Add extensions.
44472         * modules/openat (Depends-on): Likewise.
44473
44474 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44475
44476         * modules/byteswap: New file.
44477
44478 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44479
44480         * m4/byteswap.m4: New file.
44481
44482 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
44483
44484         * lib/byteswap_.h: New file.
44485
44486 2005-04-25  Karl Berry  <karl@gnu.org>
44487
44488         * m4/gettext.m4: Update from GNU gettext 0.14.4.
44489
44490 2005-04-25  Albert Chin  <china@thewrittenword.com>
44491
44492         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
44493         Toolkit C bug.
44494
44495 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
44496
44497         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
44498         (func_ln_if_changed) Remove forcibly for no error message
44499         in case file does not exist.
44500
44501 2005-04-19  Simon Josefsson  <jas@extundo.com>
44502
44503         * gnulib-tool (Options): Make --symlink mean --symbolic.
44504
44505 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
44506
44507         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
44508
44509 2005-04-16  Simon Josefsson  <jas@extundo.com>
44510
44511         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
44512
44513 2005-04-15  Simon Josefsson  <jas@extundo.com>
44514
44515         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
44516
44517 2005-04-15  Simon Josefsson  <jas@extundo.com>
44518
44519         * gnulib-tool: Rename --symlink to --symbolic.
44520
44521 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
44522
44523         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
44524         symbolic links to files instead of copying/moving.  Add --aux-dir,
44525         specifying directory relative --dir where auxiliary build tools
44526         are placed.
44527
44528 2005-04-14  Bruno Haible  <bruno@clisp.org>
44529
44530         * modules/allocsa (License): Change to LGPL.
44531         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44532
44533 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
44534
44535         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
44536         that "UTC +1 second" continues to work.  Problem reported
44537         by Dmitry V. Levin.
44538         (relunit_snumber): New rule.
44539         (relunit): Use it.
44540
44541 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
44542
44543         * lib/getdate.y (universal_time_zone_table): New constant.
44544         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
44545         universal_time_zone_table.
44546         (lookup_zone): Prefer universal_time_zone_table to
44547         local_time_zone_table, so that "GMT" time stamps are allowed in
44548         London during the summer.  Problem reported by Ian Abbott.
44549
44550 2005-04-12  Jim Meyering  <jim@meyering.net>
44551
44552         * lib/human.c (humblock): Set *options even when returning due to
44553         xstrtoumax conversion failure.  Thanks to a used-uninitialized
44554         warning from gcc-4.
44555
44556 2005-04-09  Jim Meyering  <jim@meyering.net>
44557
44558         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
44559         -Wuninitialized: initialize tm0.tm_year.
44560
44561 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
44562
44563         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
44564         count, since there's no maximum.  All uses changed.
44565         Add member dsts_seen.
44566         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
44567         not being INT_MAX.
44568         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
44569         Use pc_rels_seen to decide whther a date is absolute.
44570
44571         * lib/getdate.y (number): Don't overwrite year.
44572         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
44573         check.
44574
44575 2005-04-02  Simon Josefsson  <jas@extundo.com>
44576
44577         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
44578         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
44579
44580 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
44581
44582         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
44583         where no absolute path name can be longer than PATH_MAX.
44584
44585 2005-03-27  Jim Meyering  <jim@meyering.net>
44586
44587         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
44588
44589 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
44590
44591         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
44592         "one's complement" -> "ones' complement" in comment, as per Knuth.
44593         "value of type" -> "type or expression" in comment.
44594         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
44595
44596 2005-03-26  Jim Meyering  <jim@meyering.net>
44597
44598         Comment nits.
44599         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
44600         Correct typos: s/or/of/.
44601
44602 2005-03-26  Jim Meyering  <jim@meyering.net>
44603
44604         * modules/check-include-files: Move to ../ and rename to...
44605         * check-module: ...this.
44606
44607 2005-03-25  Jim Meyering  <jim@meyering.net>
44608
44609         * modules/xvasprintf (Files): Add xalloc.h.
44610
44611 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
44612
44613         * modules/gettext (Files): config/config.rpath ->
44614         build-aux/config.rpath
44615         * modules/iconv (Files): Likewise.
44616         Problem reported by Oskar Liljeblad.
44617
44618 2005-03-23  Jim Meyering  <jim@meyering.net>
44619
44620         * modules/check-include-files: New script to check for
44621         missing dependencies, multiple includes, etc.
44622
44623         * modules/c-strtold (Depends-on): Add xalloc.
44624         * modules/c-strtod (Depends-on): Add xalloc.
44625         * modules/hash (Depends-on): Add xalloc.
44626         (Files): Remove lib/xalloc.h.
44627
44628         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
44629         * modules/userspec (Files): Add lib/inttostr.h.
44630
44631 2005-03-23  Jim Meyering  <jim@meyering.net>
44632
44633         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
44634
44635 2005-03-22  Jim Meyering  <jim@meyering.net>
44636
44637         * modules/stat-macros: New module.
44638         * modules/canonicalize, modules/euidaccess, modules/file-type,
44639         * modules/filemode, modules/lchown, modules/makepath,
44640         * modules/rmdir, modules/stat: Depend on new stat-macros module
44641         rather than listing lib/stat-macros.h manually.
44642         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
44643
44644 2005-03-22  Jim Meyering  <jim@meyering.net>
44645
44646         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
44647
44648 2005-03-22  Bruno Haible  <bruno@clisp.org>
44649
44650         * config/srclist.txt: Replace target directory 'config' with
44651         'build-aux'.
44652         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
44653         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
44654         ../build-aux/.
44655
44656 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
44657
44658         * modules/chdir-long (Depends-on): Add mempcpy.
44659
44660         * modules/acl, modules/backupfile, modules/c-strtod,
44661         modules/c-strtold, modules/canon-host, modules/canonicalize,
44662         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
44663         modules/exclude, modules/exitfail, modules/file-type,
44664         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
44665         modules/getdate, modules/getline, modules/getpagesize,
44666         modules/getpass, modules/getugroups, modules/group-member,
44667         modules/hard-locale, modules/hash, modules/human, modules/idcache,
44668         modules/inttostr, modules/long-options, modules/makepath,
44669         modules/md5, modules/memcasecmp, modules/memcoll,
44670         modules/modechange, modules/mountlist, modules/path-concat,
44671         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
44672         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
44673         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
44674         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
44675         modules/strftime, modules/strndup, modules/strverscmp,
44676         modules/timespec, modules/unlocked-io, modules/userspec,
44677         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
44678         modules/yesno:
44679         Remove lib_SOURCES line from Makefile.am section, as this is now
44680         done automatically by the corresponding Autoconf macro.
44681
44682 2005-03-21  Jim Meyering  <jim@meyering.net>
44683
44684         Changes imported from coreutils.
44685
44686         * lib/cycle-check.c: Don't include xalloc.h.
44687
44688         * lib/path-concat.c: Don't include assert.h.
44689         (path_concat): Remove assertion that would have triggered
44690         for ABASE starting with more than one slash.
44691         Reported by Andreas Schwab.
44692
44693         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
44694         properly when ABASE is an absolute file name.
44695         Correct the description of this function.
44696         Include <assert.h>.
44697         Add an assertion and a test driver.
44698         This fixes a bug introduced on 2004-07-02.
44699         Andreas Schwab reported the resulting failure of cp --parents:
44700         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
44701
44702 2005-03-21  Jim Meyering  <jim@meyering.net>
44703
44704         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
44705         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
44706
44707 2005-03-21  Jim Meyering  <jim@meyering.net>
44708         and  Paul Eggert  <eggert@cs.ucla.edu>
44709
44710         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
44711         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
44712         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
44713         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
44714         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
44715         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
44716         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
44717         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
44718         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
44719         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
44720         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
44721         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
44722         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
44723         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
44724         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
44725         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
44726         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
44727         for these modules.
44728
44729 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
44730
44731         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
44732         (which shouldn't happen), generate nothing instead of returning 0
44733         immediately, so that nstrftime (NULL, ...) doesn't return 0.
44734
44735 2005-03-16  Bruno Haible  <bruno@clisp.org>
44736
44737         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
44738         HAVE_LONGLONG_64BIT.
44739
44740 2005-03-16  Bruno Haible  <bruno@clisp.org>
44741
44742         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
44743         HAVE_LONGLONG_64BIT.
44744
44745 2005-03-16  Bruno Haible  <bruno@clisp.org>
44746
44747         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
44748         HAVE_LONGLONG_64BIT.
44749
44750 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
44751
44752         * lib/strftime.c (my_strftime): Prepend space to format so that we can
44753         reliably distinguish strftime failure from empty output on POSIX
44754         hosts.
44755
44756 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
44757
44758         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
44759         (iconv_string): Don't guess a size-zero buffer, as that might cause
44760         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
44761         result would be 'too large', where 'too large' is (heuristically)
44762         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
44763         overflow concerns.  This will prevent some unwanted malloc failures
44764         when the inputs are very large.
44765
44766 2005-03-15  Karl Berry  <karl@gnu.org>
44767
44768         * config/srclist.txt (config.rpath): from gettext.
44769         * config/config.rpath: update.
44770
44771 2005-03-15  Bruno Haible  <bruno@clisp.org>
44772
44773         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
44774         to 'negate'.
44775
44776         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
44777         variable.
44778
44779         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
44780         results.
44781
44782 2005-03-14  Simon Josefsson  <jas@extundo.com>
44783
44784         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
44785         <fx@gnu.org>.
44786
44787 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
44788
44789         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
44790         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
44791         intprops.h.
44792         * lib/strtol.c: Likewise.
44793
44794 2005-03-14  Jim Meyering  <jim@meyering.net>
44795
44796         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
44797         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
44798         to be nonzero so that we (and caller) can detect the difference
44799         between a valid zero-length expansion and an error return, even
44800         when the underlying strftime fails before writing anything into
44801         that location.
44802
44803 2005-03-14  Bruno Haible  <bruno@clisp.org>
44804
44805         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
44806         Update from GNU gettext 0.14.3.
44807
44808 2005-03-10  Jim Meyering  <jim@meyering.net>
44809
44810         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
44811
44812 2005-03-10  Jim Meyering  <jim@meyering.net>
44813
44814         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
44815         so that this module works on systems without fchdir.
44816
44817 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
44818
44819         Factor int-properties macros into a single file, except for
44820         glibc-related files.
44821         * lib/intprops.h: New file.
44822         * lib/getloadavg.c: Include it instead of limits.h.
44823         (INT_STRLEN_BOUND): Remove.
44824         * lib/human.c: Include intprops.h.
44825         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
44826         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
44827         302/1000.
44828         * lib/inttostr.h: Include intprops.h instead of limits.h.
44829         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
44830         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
44831         for consistency with intprops.h.
44832         (time_t_is_integer, twos_complement_arithmetic): Use them.
44833         * lib/sig2str.h: Include <signal.h>, intprops.h.
44834         (INT_STRLEN_BOUND): Remove.
44835         * lib/strftime.c (TYPE_SIGNED): Remove.
44836         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
44837         * lib/strtol.c: Adjust comments to match intprops.h.
44838         * lib/userspec.c: Include intprops.h.
44839         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
44840         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
44841         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
44842         instead of rolling our own expressions.
44843         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
44844
44845         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
44846         instead of int.
44847         (my_strftime): Do not mishandle years close to INT_MAX, by doing
44848         the right thing even if adding 1900 would overflow.  Similarly
44849         for tm_mon + 1 and tm_yday + 1.
44850         Make %Y always equivalent to %C%y, and similarly for %G and %g.
44851         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
44852         (DO_SIGNED_NUMBER): New macro.
44853         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
44854
44855 2005-03-07  Bruno Haible  <bruno@clisp.org>
44856
44857         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
44858
44859 2005-03-07  Bruno Haible  <bruno@clisp.org>
44860
44861         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
44862
44863 2005-03-04  Derek R. Price  <derek@ximbiot.com>
44864
44865         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
44866         (func_import): Only replace files via --import when they have actually
44867         changed.
44868
44869 2005-03-03  Derek R. Price  <derek@ximbiot.com>
44870
44871         * m4/mmap-anon.m4: New file.
44872         * m4/pagealign_alloc.m4: New file.
44873
44874 2005-03-03  Derek R. Price  <derek@ximbiot.com>
44875             Bruno Haible  <bruno@clisp.org>
44876
44877         * modules/pagealign_alloc: New file.
44878         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
44879
44880 2005-03-03  Derek R. Price  <derek@ximbiot.com>
44881             Bruno Haible  <bruno@clisp.org>
44882
44883         * lib/pagealign_alloc.h: New file.
44884         * lib/pagealign_alloc.c: New file.
44885
44886 2005-03-03  Bruno Haible  <bruno@clisp.org>
44887
44888         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
44889         Use an all-permissive copyright notice, recommended by RMS.
44890
44891 2005-03-02  Bruno Haible  <bruno@clisp.org>
44892
44893         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
44894         of AIX, the replacement has to be done only after <string.h> is
44895         included, therefore not in config.h. stpncpy.h does the replacement,
44896         and stpncpy.c uses it.
44897
44898 2005-03-02  Bruno Haible  <bruno@clisp.org>
44899
44900         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
44901         stpncpy.c uses it.
44902
44903 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44904
44905         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
44906         The workaround isn't strictly needed for POSIX conformance, and
44907         it's too much of a pain to configure and maintain.  We'll ask
44908         people to fix their kernels instead.
44909         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
44910         (NANOSLEEP_BUG_WORKAROUND): Remove.
44911         (xnanosleep): Remove the workaround.
44912
44913 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44914
44915         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
44916         Reported by Derek Price.
44917         (Include): Add "timespec.h".
44918
44919         * modules/xnanosleep (Depends-on): Remove gethrxtime.
44920
44921 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
44922
44923         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
44924         to detect nanosleep bug.
44925
44926 2005-03-01  Bruno Haible  <bruno@clisp.org>
44927
44928         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
44929
44930 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
44931
44932         * modules/gethrxtime: New file.
44933         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
44934         (Depends-on): Add gethrxtime.
44935         (configure.ac): Add gl_XNANOSLEEP.
44936         (Makefile.am): Remove lib_SOURCES line.
44937
44938 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44939
44940         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
44941         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
44942
44943 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
44944
44945         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
44946         * lib/timespec.h (gettime): Return void, since it always
44947         succeeds now.  All uses changed.
44948         * lib/gettime.c (gettime) Likewise.
44949         [HAVE_NANOTIME]: Prefer nanotime.
44950         Assume gettimeofday succeeds, as POSIX requires.
44951         Assime time () succeeds, since other code already does.
44952         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
44953         (timespec_subtract): Remove.
44954         (NANOSLEEP_BUG_WORKAROUND): New constant.
44955         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
44956         things considerably.  Use it only on GNU/Linux hosts, since the
44957         workaround shouldn't be needed elsewhere.
44958
44959 2005-02-24  Bruno Haible  <bruno@clisp.org>
44960
44961         * modules/gettext (Files): Add m4/glibc2.m4.
44962
44963 2005-02-24  Bruno Haible  <bruno@clisp.org>
44964
44965         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
44966         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
44967         * m4/progtest.m4:
44968         Update from GNU gettext 0.14.2.
44969         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
44970
44971 2005-02-24  Bruno Haible  <bruno@clisp.org>
44972
44973         * lib/localcharset.c: Update from GNU gettext 0.14.2.
44974         * lib/config.charset: Update from GNU gettext 0.14.2.
44975
44976 2005-02-24  Bruno Haible  <bruno@clisp.org>
44977
44978         * lib/gettext.h: Update from GNU gettext 0.14.2.
44979
44980 2005-02-23  Simon Josefsson  <jas@extundo.com>
44981
44982         * m4/iconvme.m4: New file.
44983
44984 2005-02-23  Jim Meyering  <jim@meyering.net>
44985
44986         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
44987         change.
44988         Thanks to Bruno Haible for catching it.
44989
44990 2005-02-22  Simon Josefsson  <jas@extundo.com>
44991
44992         * modules/iconvme: New file.
44993
44994         * MODULES.html.sh: Add iconvme.
44995
44996 2005-02-22  Simon Josefsson  <jas@extundo.com>
44997
44998         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
44999
45000 2005-02-22  Simon Josefsson  <jas@extundo.com>
45001
45002         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
45003
45004 2005-02-22  Jim Meyering  <jim@meyering.net>
45005
45006         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
45007         s/ifndef/ifdef/.
45008
45009 2005-02-20  Neil Conway  <neilc@samurai.com>
45010
45011         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
45012         returned by OSX/Darwin if the specified buffer is not large
45013         enough for the hostname.
45014
45015 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45016
45017         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
45018         pass it to _help, otherwise the latter coredumps trying to
45019         dereference state.root_argp.
45020
45021 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45022
45023         * modules/chdir-long (Depends-on): Add memrchr.
45024         * modules/memrchr (Files): Add lib/memrchr.h.
45025         (Include): "memrchr.h".
45026
45027 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45028
45029         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
45030
45031 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45032
45033         * lib/memrchr.h: New file.
45034         * lib/chdir-long.c: Include it.
45035         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
45036         Don't bother including stddef.h.
45037
45038 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
45039
45040         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
45041         inclusion.
45042         Include <sys/types.h>, for dev_t.
45043         (ME_DUMMY, ME_REMOTE): Move from here....
45044         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
45045         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
45046         Dmitry V. Levin.
45047         Include mountlist.h first, to test the interface.
45048
45049 2005-01-29  Bruno Haible  <bruno@clisp.org>
45050
45051         * lib/progname.c (program_name): Initialize.
45052         Needed when linking statically on MacOS X.
45053
45054 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45055
45056         Sync from coreutils.
45057         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
45058         (Depends-on): Add c-strtod.
45059         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
45060
45061 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45062
45063         Sync from coreutils.
45064         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
45065
45066         Remove files that are specific to coreutils.
45067         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
45068
45069 2005-01-28  Bruno Haible  <bruno@clisp.org>
45070
45071         * modules/javacomp: New file.
45072         * MODULES.html.sh (Java): Add javacomp.
45073
45074 2005-01-28  Bruno Haible  <bruno@clisp.org>
45075
45076         * m4/javacomp.m4: New file, from GNU gettext.
45077
45078 2005-01-28  Bruno Haible  <bruno@clisp.org>
45079
45080         * lib/javacomp.sh.in: New file, from GNU gettext.
45081         * lib/javacomp.h: New file, from GNU gettext.
45082         * lib/javacomp.c: New file, from GNU gettext.
45083
45084 2005-01-26  Simon Josefsson  <jas@extundo.com>
45085
45086         * lib/gai_strerror.c: Use GPL in header.
45087
45088 2005-01-26  Bruno Haible  <bruno@clisp.org>
45089
45090         * modules/javaexec: New file.
45091         * MODULES.html.sh (Java): Add javaexec.
45092
45093 2005-01-26  Bruno Haible  <bruno@clisp.org>
45094
45095         * m4/javaexec.m4: New file, from GNU gettext.
45096
45097 2005-01-26  Bruno Haible  <bruno@clisp.org>
45098
45099         * lib/javaexec.sh.in: New file, from GNU gettext.
45100         * lib/javaexec.h: New file, from GNU gettext.
45101         * lib/javaexec.c: New file, from GNU gettext.
45102
45103 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45104
45105         * modules/lchown (Depends-on): Remove lchown.h
45106
45107 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45108
45109         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
45110         must be defined if the header file was not found, in order
45111         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
45112
45113 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45114
45115         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
45116         initializers for struct pentry_state.
45117         (__argp_error): Check return value of __asprintf
45118         (__argp_failure): Translate error message
45119
45120         * lib/argp-parse.c: Removed braces around the expansion of N_()
45121
45122 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45123
45124         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
45125         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
45126         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
45127         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
45128         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
45129         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
45130         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
45131         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
45132         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
45133         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
45134         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
45135         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
45136         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
45137         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
45138         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
45139         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
45140         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
45141         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
45142         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
45143         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
45144         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
45145         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
45146         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
45147         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
45148         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
45149         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
45150         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
45151         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
45152         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
45153         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
45154         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
45155         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
45156         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
45157         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
45158         xstrtol.m4, xstrtoumax.m4, yesno.m4:
45159         Use an all-permissive copyright notice, recommended by RMS.
45160
45161 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
45162
45163         * modules/chdir-long (Depends-on): Remove mempcpy.
45164
45165 2005-01-21  Jim Meyering  <jim@meyering.net>
45166
45167         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
45168         same value as for Solaris 9.
45169
45170         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
45171         component length.  This included changing the parameter to be
45172         of type `char *' rather than `char const *'.
45173         * lib/chdir-long.h (chdir_long): Update prototype.
45174
45175         * lib/openat.c (fdopendir, fstatat): New functions.
45176         * lib/openat.h: Include headers required for use of DIR and struct
45177         stat.
45178         [AT_SYMLINK_NOFOLLOW]: Define.
45179         (fdopendir, fstatat): Add prototypes.
45180
45181 2005-01-21  Bruno Haible  <bruno@clisp.org>
45182
45183         * modules/classpath: New file.
45184         * MODULES.html.sh (Java): Add classpath.
45185
45186 2005-01-21  Bruno Haible  <bruno@clisp.org>
45187
45188         * lib/classpath.h: New file, from GNU gettext.
45189         * lib/classpath.c: New file, from GNU gettext.
45190
45191 2005-01-20  Simon Josefsson  <jas@extundo.com>
45192
45193         * modules/version-etc-fsf: New file.
45194
45195 2005-01-20  Simon Josefsson  <jas@extundo.com>
45196
45197         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
45198         * lib/version-etc.c: Remove version_etc_copyright.
45199         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
45200         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
45201
45202 2005-01-20  Simon Josefsson  <jas@extundo.com>
45203
45204         * lib/base64.h (isbase64): Add.
45205
45206         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
45207         using a unsigned prototype, don't inline.
45208         (base64_decode): Use it.
45209
45210 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45211
45212         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
45213         it.
45214
45215 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45216
45217         * lib/save-cwd.c (save_cwd): Remove code to support the case
45218         where fchdir is missing or flaky.
45219
45220 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45221
45222         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
45223
45224 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45225
45226         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
45227         AC_LIBSOURCES now does this.
45228         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
45229         with new ullong_max module.
45230
45231 2005-01-19  Bruno Haible  <bruno@clisp.org>
45232
45233         * modules/sh-quote: New file.
45234         * MODULES.html.sh (Executing programs): Add sh-quote.
45235
45236 2005-01-19  Bruno Haible  <bruno@clisp.org>
45237
45238         * lib/sh-quote.h: New file, from GNU gettext.
45239         * lib/sh-quote.c: New file, from GNU gettext.
45240
45241 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45242
45243         Merge from coreutils.
45244         * m4/ullong_max.m4: New file.
45245         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
45246         (gl_MACROS): Assume localeconv exists.
45247
45248 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45249
45250         Merge changes from coreutils, as described below in several
45251         changelogs dated today.
45252
45253         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
45254         (O_DIRECTORY): Remove; not needed here, since "." must be
45255         a directory.  All uses removed.
45256         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
45257         universal on Suns, and we also need to test for IRIX.
45258         Revamp code to use 'if' rather than '#if'.
45259         Avoid unnecessary comparison of cwd->desc to 0.
45260
45261         * lib/utimens.c (futimens): Robustify the previous patch, by checking
45262         for known valid error numbers rather than observed invalid ones.
45263
45264 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45265
45266         * modules/ullong_max: New file.
45267
45268         * modules/chdir-long, modules/openat: New files.
45269         * modules/save-cwd (Depends-on): Depend on chdir-long.
45270         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
45271
45272 2005-01-18  Jim Meyering  <jim@meyering.net>
45273
45274         Merge from coreutils.
45275         * m4/chdir-long.m4, m4/openat.m4: New files.
45276         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
45277         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
45278         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
45279         is sane and DOES follow symlinks.  Besides, testing 20 different
45280         systems found no broken chown implementations.
45281         Prompted by a change in rsync's copy of this macro.
45282         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
45283
45284         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
45285
45286         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
45287         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
45288         NULL-means-set-to-current-time semantics.
45289         Remove temporary file immediately, rather than waiting
45290         for configure's at-exit trap code to do it.
45291
45292 2005-01-18  Jim Meyering  <jim@meyering.net>
45293
45294         * lib/version-etc.c (version_etc_copyright): Update copyright date.
45295
45296         * lib/utimens.c (futimens): Account for the fact that futimes
45297         can also fail with errno == ENOSYS or errno == ENOENT.
45298         Patch from Dmitry V. Levin.
45299
45300         Change the name of the robust chdir function from chdir to chdir_long.
45301         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
45302         (restore_cwd): Use chdir_long, not chdir.
45303         * lib/chdir-long.c: Renamed from chdir.c.
45304         * lib/chdir-long.h: Renamed from chdir.h.
45305         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
45306         Hurd.
45307
45308 2005-01-18  Bruno Haible  <bruno@clisp.org>
45309
45310         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
45311         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
45312         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
45313         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
45314         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
45315         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
45316         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
45317         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
45318         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
45319         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
45320         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
45321         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
45322         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
45323         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
45324         Use an all-permissive copyright notice, recommended by RMS.
45325
45326 2005-01-18  Bob Proulx  <bob@proulx.com>
45327
45328         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
45329         simplify offsetof() macro construct to avoid compile failure with
45330         native HP-UX 11.0 ANSI C compiler.
45331
45332 2005-01-17  Bruno Haible  <bruno@clisp.org>
45333
45334         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
45335         redundant because stpncpy.m4 takes care of it.
45336
45337 2005-01-17  Bruno Haible  <bruno@clisp.org>
45338
45339         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
45340
45341 2005-01-17  Bruno Haible  <bruno@clisp.org>
45342
45343         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
45344         used.
45345
45346 2005-01-17  Bruno Haible  <bruno@clisp.org>
45347
45348         * lib/fwriteerror.h (fwriteerror): Change specification to include
45349         fclose.
45350         * lib/fwriteerror.c: Include <stdbool.h>.
45351         (fwriteerror): At the end, close the file stream. Record whether
45352         stdout was already closed.
45353
45354 2005-01-17  Bruno Haible  <bruno@clisp.org>
45355
45356         * lib/execute.c (environ): Declare if needed.
45357         * lib/pipe.c (environ): Likewise.
45358         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
45359
45360 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45361
45362         * modules/argp: Depend on vsnprintf
45363
45364 2005-01-10  Jim Meyering  <jim@meyering.net>
45365
45366         * modules/closeout (Depends-on): Add atexit.
45367
45368 2005-01-06  Bruno Haible  <bruno@clisp.org>
45369
45370         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
45371
45372 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
45373
45374         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
45375         definitions to be after all include files, to avoid collisions.
45376         Problem reported by Bob Proulx.
45377
45378 2005-01-04  Jim Meyering  <jim@meyering.net>
45379
45380         Changes imported from coreutils.
45381         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
45382         as the mkstemp template, use a temporary directory and an
45383         8.3-friendly template to avoid trouble on systems like DJGPP.
45384         Reported by Juan M. Guerrero via Stepan Kasal.
45385         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
45386         close. Remove the temporary directory right away, rather than waiting
45387         for configure's at-exit trap code to do it.
45388         Suggestion from Stepan Kasal.
45389
45390 2005-01-01  Simon Josefsson  <jas@extundo.com>
45391
45392         * gnulib-tool: Print #include directives when --import'ing.
45393
45394 2004-12-28  Simon Josefsson  <jas@extundo.com>
45395
45396         * tests/test-base64.c: Include required header files.  Remove
45397         unused variables.
45398
45399 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45400
45401         * modules/error (Depends-on): Remove gettext.
45402
45403 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45404
45405         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
45406         not needed.  This removes a dependency on the gettext module.
45407         [defined _LIBC]: Do not include <libintl.h>; not needed.
45408
45409 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
45410
45411         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
45412         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
45413
45414 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
45415
45416         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
45417         HAVE_DECL_STRTOLD.
45418
45419 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45420
45421         * modules/getdate (Depends-on): Remove alloca-opt.
45422
45423 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45424
45425         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
45426
45427 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45428
45429         * lib/argp-parse.c: Include <stddef.h>.
45430         (alignof, alignto): New macros.
45431         (parser_init): Don't assume that void * is aligned sufficiently
45432         for struct option.
45433
45434         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
45435         need to extend the stack.
45436         (YYINITDEPTH): New macro, so that the initial stack isn't overly
45437         large.
45438
45439 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45440
45441         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
45442
45443 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45444
45445         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
45446         (2004-10-24) change.  Apparently this was a false alarm.
45447
45448         * modules/getdate: Depend on alloca-opt, not alloca.
45449
45450 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45451
45452         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
45453         Remove now-obsolete comment about AIX.
45454         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
45455         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
45456         (YYMAXDEPTH): New macro.
45457
45458 2004-12-18  Simon Josefsson  <jas@extundo.com>
45459
45460         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
45461
45462 2004-12-18  Bruno Haible  <bruno@clisp.org>
45463
45464         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
45465
45466 2004-12-18  Bruno Haible  <bruno@clisp.org>
45467
45468         * lib/fatal-signal.c (fatal_signals): Make non-const.
45469         (init_fatal_signals): New function.
45470         (uninstall_handlers, install_handlers): Ignore signals that were set to
45471         SIG_IGN.
45472         (at_fatal_signal): Call init_fatal_signals.
45473         (init_fatal_signal_set): Likewise. Ignore signals that were set to
45474         SIG_IGN.
45475         Reported by Paul Eggert.
45476
45477 2004-12-18  Bruno Haible  <bruno@clisp.org>
45478
45479         * doc/alloca.texi: New file.
45480         * doc/alloca-opt.texi: New file.
45481
45482 2004-12-17  Jim Meyering  <jim@meyering.net>
45483
45484         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
45485         Otherwise, install-sh could exit with improper exit status when
45486         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
45487
45488 2004-12-16  Simon Josefsson  <jas@extundo.com>
45489
45490         * tests/test-base64.c: Add license.
45491
45492 2004-12-15  Stepan Kasal  <address@hidden>
45493
45494         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
45495
45496 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
45497
45498         * modules/getcwd (Files): Add m4/d-ino.m4.
45499         Suggested by Mark D. Baushke.
45500
45501 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
45502
45503         * lib/getdate.y (textint): New member "negative".
45504         (time_zone_hhmm): New function.
45505         Expect 14 shift-reduce conflicts, not 13.
45506         (o_colon_minutes): New rule.
45507         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
45508         (yylex): Set the "negative" member of signed numbers.
45509
45510 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
45511
45512         * doc/getdate.texi (Time of day items, Time zone items):
45513         Describe new formats +00:00, UTC+00:00.
45514
45515 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
45516
45517         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
45518         spurious "-l"s.  Problem reported by Stepan Kasal.
45519
45520 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
45521
45522         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
45523         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
45524
45525 2004-12-04  Simon Josefsson  <jas@extundo.com>
45526
45527         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
45528         Vandoorselaere <yoann@prelude-ids.org>.
45529
45530 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45531
45532         Changes imported from coreutils.
45533         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
45534         exist.
45535         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
45536
45537 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45538
45539         Changes imported from coreutils.
45540         * lib/hard-locale.c: Assume <locale.h> exists.
45541         Include "strdup.h".
45542         (GLIBC_VERSION): New macro.
45543         (hard_locale): Assume setlocale exists.
45544         Rewrite to avoid #ifdef.
45545         Use strdup rather than malloc + strcpy.
45546         * lib/human.c: Assume <locale.h> exists.
45547         (human_readable): Assume localeconv exists.
45548
45549 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
45550
45551         * modules/hard-locale (Depends-on): Add strdup.
45552
45553 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
45554
45555         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
45556         convert T2, not T.  (Imported from libc.)
45557
45558 2004-11-30  Simon Josefsson  <jas@extundo.com>
45559
45560         * modules/restrict (License): Change to LGPL.
45561
45562 2004-11-30  Simon Josefsson  <jas@extundo.com>
45563
45564         * m4/restrict.m4: Add copyright and copying conditions.
45565
45566 2004-11-30  Simon Josefsson  <jas@extundo.com>
45567
45568         * m4/base64.m4: New file.
45569
45570 2004-11-30  Simon Josefsson  <jas@extundo.com>
45571
45572         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
45573         base64.
45574
45575         * tests/test-base64.c: New file.
45576
45577         * modules/base64: New file.
45578
45579 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
45580
45581         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
45582         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
45583
45584         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
45585
45586 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
45587
45588         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
45589         (__getcwd.c): Don't restore errno; glibc doesn't.
45590         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
45591         first, falling back to our code only if its results look suspicious.
45592         Ensure that the resulting buffer is only as large as necessary.
45593
45594         * lib/readutmp.c: Include readutmp.h first.
45595         Include <errno.h>, since readutmp.h no longer does that.
45596         * lib/readutmp.h: Don't include <errno.h>,
45597         <sys/param.h>, <time.h>; not needed to establish interface.
45598         (errno): Remove decl.
45599         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
45600         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
45601         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
45602
45603 2004-11-28  Simon Josefsson  <jas@extundo.com>
45604
45605         * lib/base64.h, base64.c: New file.
45606
45607 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
45608
45609         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
45610
45611 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
45612
45613         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
45614         (Depends-on): Remove pathmax, same.  Add mempcpy.
45615         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
45616         (Makefile.am): Append getcwd.h to lib_SOURCES.
45617         (Include): Add getcwd.h.
45618         (Maintainer): Change from Jim Meyering to "all, glibc",
45619         since getdate now uses intended-for-glibc code.
45620         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
45621         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
45622
45623 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45624
45625         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
45626         HP's ANSI C compiler.
45627         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
45628         Declaring int functions causes warnings on some modern systems and
45629         shouldn't be needed to compile on ancient ones.
45630         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
45631         defined.
45632
45633         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
45634         with the following changes.
45635         (__set_errno): Parenthesize properly.
45636         Include <stdbool.h>.
45637         (MIN, MAX, MATCHING_INO): New macros.
45638         (__getcwd): Define with prototype, not K&R form.
45639         Use heuristics to allocate default buffer on stack if possible.
45640         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
45641         behavior, and to avoid the PATH_MAX limit when computing
45642         ../../../../...
45643         Use MATCHING_INO to compare inode number to file.
45644         Check for arithmetic overflow in size calculations.
45645         Fix bug in reallocation of dot array that caused getcwd to fail
45646         on directories nested deeper than 75.
45647         Be more careful about saving errno on error.
45648         Do not use realloc; use only free+malloc, as this is a bit
45649         more flexible and avoids a needless copy operation.
45650         Do not inspect st_dev and st_ino for symbolic links; POSIX
45651         doesn't specify the latter.
45652         Check for closedir errors.
45653         Avoid needless casts.
45654         Use "#ifdef weak_alias" around weak_alias, to be like other
45655         glibc code.
45656         The following changes to getcwd.c have effect only when used in
45657         gnulib; they have no effect inside glibc proper.
45658         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
45659         as alloca isn't used.
45660         (alloca, __alloca): Likewise.
45661         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
45662         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
45663         unconditionally, as gnulib assumes C89 or better.
45664         Do not include <sys/param.h>.
45665         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
45666         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
45667         better.
45668         (NULL) [!defined NULL]: Remove; we assume C89 or better.
45669         Include <dirent.h> in a way that is compatible with modern Autoconf.
45670         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
45671         New macros, if not already defined.
45672         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
45673         Use "_LIBC", not "defined _LIBC", for consistency.
45674         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
45675         a mempcpy module.
45676         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
45677         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
45678         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
45679         credit only to Jim Meyering and adjust the copyright dates.
45680         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
45681         <stdlib.h>, <unistd.h>, "pathmax.h".
45682         Instead, include "xgetcwd.h" (first) and "getcwd.h".
45683         (INITIAL_BUFFER_SIZE): Remove.
45684         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
45685
45686 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
45687
45688         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
45689         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
45690         Use the _ONCE methods, for efficiency.
45691         Check for fcntl.h.  In test program, include <errno.h>
45692         and <fcntl.h> if available.  Remove old K&R cruft from
45693         test program.  Check for common errors in GNU/Linux,
45694         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
45695         don't do AC_LIBOBJ, as that's getcwd.m4's job.
45696         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
45697         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
45698         name accordingly.
45699         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
45700         accommodate new getcwd.c.
45701         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
45702         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
45703         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
45704         that's all we need now.
45705
45706 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45707
45708         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
45709         argp-parse.c depends on getopt internals, that means we should
45710         always use our getopt, to be on the safe side.
45711         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
45712         order not to spoil the result of an eventual previous invocation
45713         of gl_GETOPT_SUBSTITUTE.
45714
45715 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45716
45717         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
45718         redefinition warnings. To avoid them, include the defines
45719         in `#if !defined __need_getopt ... #endif'. The only place
45720         where __getopt_argv_const is used is in definitions
45721         of getopt_long and getopt_long_only below, which are as well
45722         protected by `#ifndef __need_getopt'.
45723         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
45724         __need_getopt after including <stdio.h> and <unistd.h> These
45725         headers might have defined it.
45726
45727 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
45728
45729         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
45730
45731 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
45732
45733         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
45734         (futimens): New function, which uses futimes if available.
45735         (futimens, utimens): Support timespec==NULL, with same semantics
45736         as utime and utimens.
45737         * lib/utimens.h (futimens): New decl.
45738
45739 2004-11-23  Jim Meyering  <jim@meyering.net>
45740
45741         * lib/getopt_.h: Remove trailing blanks.
45742
45743 2004-11-23  Jim Meyering  <jim@meyering.net>
45744
45745         * lib/__fpending.c: Add comment.
45746
45747 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
45748
45749         * modules/canonicalize (Depends-on): Add xreadlink.
45750         Problem reported by James Youngman.
45751
45752 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
45753
45754         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
45755         New macros.
45756         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
45757         optopt): Use them instead of invoking ## directly; otherwise, the
45758         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
45759
45760 2004-11-19  Bruno Haible  <bruno@clisp.org>
45761
45762         * lib/strtok_r.c: Move comments from here...
45763         * lib/strtok_r.h: ... to here.
45764
45765 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45766
45767         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
45768         implementations that mishandle size_t overflow.
45769
45770 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45771
45772         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
45773         might fail.  Problem reported by Yoann Vandoorselaere.
45774         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
45775         implementations that mishandle size_t overflow.
45776
45777 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45778
45779         * modules/canon-host (Depends-on): Add strdup.
45780
45781 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45782
45783         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
45784
45785 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45786
45787         * lib/canon-host.c: Include "strdup.h".
45788         (canon_host): Use getaddrinfo if available, so that IPv6 works.
45789         Use strdup instead of malloc/strcpy to duplicate strings.
45790
45791         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
45792         (human_space_before_unit): New constant.
45793         * lib/human.c (human_readable): Support it.
45794
45795         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
45796         (xgetcwd): Set errno correctly when failing.
45797         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
45798         the failure is actually due to a PATH_MAX problem.
45799
45800         Further getopt changes to make it more likely that glibc will
45801         buy the changes back.
45802         * lib/getopt.c (POSIXLY_CORRECT): New constant.
45803         (getopt): Use it, so to preserve glibc semantic
45804         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
45805         when compiling for libc.
45806         * lib/getopt_.h (__getopt_argv_const): Bring it back.
45807         (getopt_long, getopt_long_only): Use it.
45808
45809         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
45810         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
45811         (getopt): Argv is now char * const *, as per standard.
45812         (_getopt_internal_r, _getopt_internal): Argv is now char **,
45813         not char *__getopt_argv_const *.
45814         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
45815         _getopt_long_only_r): Likewise.
45816         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
45817         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
45818         _getopt_long_r, _getopt_long_only_r): Likewise.
45819         * lib/getopt_.h (__getopt_argv_const): Remove.
45820         (getopt): Argv is now char * const *, as per standard.
45821
45822         * lib/getdate.y (tORDINAL): New token.
45823         (day, relunit): Allow it for relative times.
45824         (relative_time_table): Use tORDINAL for ordinals.
45825
45826 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45827
45828         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
45829         Document that "second" isn't allowed as an ordinal number.
45830
45831 2004-11-16  Jim Meyering  <jim@meyering.net>
45832
45833         * modules/closeout (Depends-on): Add fpending.
45834
45835 2004-11-15  Jim Meyering  <jim@meyering.net>
45836
45837         * lib/closeout.c: Include "__fpending.h" once again.
45838         Include <stdbool.h>.
45839         (close_stdout): Don't fail just because stdout was closed initially,
45840         since some programs don't write to stdout in the normal course of
45841         operation (other than --version and --help), and we don't want this
45842         function to make e.g. `touch file >&-' fail.
45843         But do fail if it was closed and someone has tried to write to it.
45844         E.g., `printf foo >&-' must fail.
45845
45846 2004-11-13  Jim Meyering  <jim@meyering.net>
45847
45848         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
45849
45850 2004-11-12  Simon Josefsson  <jas@extundo.com>
45851
45852         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
45853         small doc fix is still pending.
45854
45855 2004-11-11  Simon Josefsson  <jas@extundo.com>
45856
45857         * modules/strtok_r: New file.
45858
45859         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45860         strtok_r.
45861
45862 2004-11-11  Simon Josefsson  <jas@extundo.com>
45863
45864         * m4/strtok_r.m4: New file.
45865
45866         * m4/getopt.m4: Replace opterr.
45867
45868 2004-11-11  Simon Josefsson  <jas@extundo.com>
45869
45870         * lib/strtok_r.h, strtok_r.c: New file.
45871
45872 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
45873
45874         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
45875         of replacing opterr, getopt, etc.  This should handle the
45876         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
45877
45878 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
45879
45880         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
45881         we can stop lying to compilers about the constness of argv when we
45882         are compiled outside glibc.
45883         (getopt, getopt_long, getopt_long_only): Use it.
45884         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
45885         _getopt_internal, getopt): Likewise.
45886         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
45887         _getopt_long_only_r): Likewise.
45888         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
45889         _getopt_long_r, _getopt_long_only_r): Likewise.
45890
45891         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
45892         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
45893         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
45894         the other external symbols.
45895         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
45896         declaration, since the above renaming now works around collisions.
45897
45898 2004-11-11  Jim Meyering  <jim@meyering.net>
45899
45900         * lib/linebreak.c: Remove trailing blanks.
45901         * lib/alloca_.h: Likewise.
45902         * lib/acosl.c: Likewise.
45903         * lib/euidaccess.c: Likewise.
45904         * lib/allocsa.h: Likewise.
45905
45906 2004-11-10  Simon Josefsson  <jas@extundo.com>
45907
45908         * m4/getaddrinfo.m4: New file.
45909
45910 2004-11-10  Simon Josefsson  <jas@extundo.com>
45911
45912         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
45913
45914 2004-11-10  Simon Josefsson  <jas@extundo.com>
45915
45916         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45917         getaddrinfo.
45918
45919         * modules/getaddrinfo: New file.
45920
45921 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45922
45923         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
45924
45925 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
45926
45927         * lib/mktime.c (SHR): New macro, which is a portable
45928         substitute for >> that should work even on Crays.
45929         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
45930         Problem reported by Mark D. Baushke in
45931         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
45932         * lib/getdate.y (SHR): Likewise.
45933         (tm_diff): Use it.
45934         * lib/strftime.c (SHR): Likewise.
45935         (tm_diff): Use it.
45936         * lib/quotearg.c (struct quoting_options): Use unsigned int for
45937         quote_these_too, so that right shifts are well defined.  All uses
45938         changed.
45939
45940 2004-11-10  Jim Meyering  <jim@meyering.net>
45941
45942         Ensure that no close failure goes unreported.
45943         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
45944         return early when it seems there's nothing to flush.
45945         Don't include __fpending.h.
45946
45947 2004-11-10  Jim Meyering  <jim@meyering.net>
45948
45949         * modules/closeout (Depends-on): Remove fpending.
45950
45951 2004-11-10  Jim Meyering  <jim@meyering.net>
45952
45953         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
45954
45955 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45956
45957         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
45958         gl_FUNC_STRFTIME.
45959         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
45960         and AC_REQUIRE when possible, to avoid duplicate checks.
45961         Check for <wchar.h>.
45962
45963 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45964
45965         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
45966
45967 2004-11-09  Bruno Haible  <bruno@clisp.org>
45968
45969         * m4/sockpfaf.m4: New file.
45970
45971 2004-11-05  Bruno Haible  <bruno@clisp.org>
45972
45973         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
45974         Reported by Mark D. Baushke <mdb@cvshome.org>.
45975
45976 2004-11-04  Bruno Haible  <bruno@clisp.org>
45977
45978         2004-09-11  Bruno Haible  <bruno@clisp.org>
45979                 * allocsa.valgrind: New file.
45980         2004-02-06  Bruno Haible  <bruno@clisp.org>
45981                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
45982                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
45983                 Reported by Christopher Seip <chris.seip@hp.com>.
45984
45985 2004-11-04  Bruno Haible  <bruno@clisp.org>
45986
45987         * modules/allocsa (Files): Add lib/allocsa.valgrind.
45988         (Makefile.am): Distribute it.
45989
45990 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
45991
45992         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
45993         with errno == ERANGE if the buffer is too small.
45994         Problem reported by Mark D. Baushke.
45995
45996 2004-11-03  Albert Chin  <china@thewrittenword.com>
45997             Paul Eggert  <eggert@cs.ucla.edu>
45998
45999         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
46000         equivalent, substitute $ac_type for equivalent type rather than
46001         blindly using uint32_t *always* which won't work if uint32_t is not
46002         available.  Define _UINT32_T to work around typedef of uint32_t if
46003         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
46004         2.5.1.
46005
46006 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46007
46008         * m4/jm-macros.m4: Sync from coreutils.
46009         (gl_MACROS): Check for mbrlen, for pathchk.
46010         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
46011
46012 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46013
46014         * lib/xreadlink.c (MAXSIZE): New macro.
46015         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
46016         size does not exceed MAXSIZE.  Avoid cast.
46017         As suggested by Mark D. Baushke in
46018         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
46019         if readlink fails with buffer size just under MAXSIZE, try again
46020         with MAXSIZE.
46021
46022 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46023
46024         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
46025
46026 2004-11-02  Derek R. Price  <derek@ximbiot.com>
46027         and  Paul Eggert  <eggert@cs.ucla.edu>
46028
46029         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
46030         (get_date): Overparenthesize to avoid GCC warning.
46031
46032 2004-11-02  Bruno Haible  <bruno@clisp.org>
46033
46034         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
46035         returns void.
46036
46037 2004-11-02  Bruno Haible  <bruno@clisp.org>
46038
46039         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
46040         function returns void.
46041
46042 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46043
46044         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
46045         fflush_unlocked, flockfile, funlockfile, funlockfile,
46046         fputs_unlocked, putc_unlocked.
46047
46048 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46049
46050         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46051         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
46052         already declared.
46053
46054 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46055
46056         * modules/getdate (Files): Add doc/getdate.texi.
46057         (Depends-on): Add setenv, xalloc.
46058
46059 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46060
46061         * lib/getdate.y: Add support for TZ="foo" within a date string.
46062         Fix some bugs near time_t boundaries.  Reject dates with
46063         out-of-range components, e.g., "Sept 31".
46064         Include <stdlib.h>, "setenv.h", "xalloc.h".
46065         (ISDIGIT_LOCALE): Remove; unused.
46066         Note that the TZ and time functions used here are not reentrant.
46067         (mktime_ok, get_tz): New functions.
46068         (TZBUFSIZE): New constant.
46069         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
46070         This requires that we sometimes generate our own TZ="XXX..." setting.
46071
46072 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46073
46074         * doc/getdate.texi: New file, from coreutils with modifications for
46075         the new TZ parsing.
46076
46077 2004-10-27  Derek R. Price  <derek@ximbiot.com>
46078
46079         * lib/mktime.c (not_equal_tm): Remove redundant check.
46080
46081 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46082
46083         * modules/regex (lib_SOURCES): Add regex.c.
46084         Reported by James Youngman in
46085         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
46086
46087 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46088
46089         * lib/getdate.y: Use Bison 1.875 features, and some minor
46090         code cleanups.  This change does not affect semantics.
46091         Don't include <stdlib.h>; no longer needed.
46092         Don't include unlocked-io.h; only the "#if TEST" code uses
46093         stdio, and performance isn't crucial there.
46094         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
46095         Bison 1.875 features as described below.
46096         All uses of "PC." replaced by "pc->".
46097         (YYSTYPE): Add a forward declaration.
46098         (yylex, yyerror): Use full prototypes in forward decls.
46099         Use "%pure-parser" rather than obsolescent "%pure_parser".
46100         Use %parse-param and %lex-param instead of obsolescent
46101         YYPARSE_PARAM and YYLEX_PARAM.
46102         (meridian_table, month_and_day_table, time_units_table,
46103         relative_time_table, time_zone_table, military_table,
46104         lookup_zone, lookup_word, get_date):
46105         Use NULL instead of 0 where appropriate.
46106         (to_hour): Avoid abort (), to avoid a dependency on
46107         stdlib.h.
46108         (yyerror, yylex): Now accepts parser_control * arg.
46109         (main) [TEST]: Use '\0' rather than 0 for char.
46110
46111 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46112
46113         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
46114
46115 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46116
46117         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
46118         It's now the caller's responsibility to handle the case where
46119         !HAVE_GETPAGESIZE && !defined getpagesize.
46120
46121         * lib/mktime.c (leapyear): Arg is long int, not int.
46122
46123 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46124
46125         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
46126
46127 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46128
46129         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
46130         missing.  Problem reported by James Youngman.
46131
46132 2004-10-16  Simon Josefsson  <jas@extundo.com>
46133
46134         * gnulib-tool: Fix comments.  Fix parse problem.
46135         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
46136
46137 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
46138
46139         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
46140         implementation of getopt_long.  Problem reported by Alexander Taler in:
46141         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
46142
46143 2004-10-15  Bruno Haible  <bruno@clisp.org>
46144
46145         * gnulib-tool: Untabify. Initialize supplied_libname.
46146         (func_usage): More homogenous output.
46147         (func_modules_transitive_closure, func_modules_to_filelist,
46148         func_emit_lib_Makefile_am): New functions.
46149         (func_import): New function, extracted from big case statement. Use
46150         func_get_license, func_modules_transitive_closure,
46151         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
46152         opt_lgpl. Don't use test -a, as it's not portable.
46153         (func_create_testdir): Use func_modules_transitive_closure,
46154         func_modules_to_filelist, func_emit_lib_Makefile_am.
46155
46156 2004-10-15  Bruno Haible  <bruno@clisp.org>
46157
46158         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
46159
46160 2004-10-15  Bruno Haible  <bruno@clisp.org>
46161
46162         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
46163         the portions belonging to each module.
46164         Suggested by Derek Robert Price <derek@ximbiot.com>.
46165
46166 2004-10-12  Simon Josefsson  <jas@extundo.com>
46167
46168         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46169         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
46170         to real functions.
46171
46172 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46173
46174         * modules/vsnprintf: New file.
46175
46176 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46177
46178         * m4/vsnprintf.m4: New file.
46179
46180 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46181
46182         * lib/vsnprintf.h: New file.
46183         * lib/vsnprintf.c: New file.
46184
46185 2004-10-11  Bruno Haible  <bruno@clisp.org>
46186
46187         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
46188         vsnprintf.
46189
46190 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46191
46192         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
46193
46194 2004-10-07  Bruno Haible  <bruno@clisp.org>
46195
46196         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
46197         fits into the provided buffer.
46198
46199 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46200
46201         * lib/diacrit.c, diacrit.h: Add GPL notice.
46202
46203         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
46204         notice.
46205         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
46206         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
46207         This avoids a potential constant-folding bug.
46208
46209 2004-10-05  Bruno Haible  <bruno@clisp.org>
46210
46211         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
46212         for the declaration of strsep.
46213
46214 2004-10-05  Bruno Haible  <bruno@clisp.org>
46215
46216         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
46217
46218 2004-10-04  Simon Josefsson  <jas@extundo.com>
46219
46220         * modules/memmem: New file.
46221         * tests/test-memmem.c: New file.
46222         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
46223
46224 2004-10-04  Simon Josefsson  <jas@extundo.com>
46225
46226         * m4/memmem.m4: New file.
46227
46228 2004-10-04  Simon Josefsson  <jas@extundo.com>
46229
46230         * lib/memmem.h: New file.
46231         * lib/memmem.c: New file, taken from glibc.
46232
46233 2004-10-04  Simon Josefsson  <jas@extundo.com>
46234
46235         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
46236         '#ifdef USE_UNLOCKED_IO'.
46237
46238 2004-10-04  Simon Josefsson  <jas@extundo.com>
46239
46240         * config/srclist.txt: Add memmem from glibc.
46241
46242 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46243
46244         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
46245
46246         * modules/argmatch, modules/argp, modules/closeout, modules/error,
46247         modules/exclude, modules/getdate, modules/getline,
46248         modules/getndelim2, modules/getpass, modules/getpass-gnu,
46249         modules/getusershell, modules/linebuffer, modules/md5,
46250         modules/mountlist, modules/posixtm, modules/readtokens,
46251         modules/readutmp, modules/regex, modules/sha1,
46252         modules/version-etc, modules/yesno:
46253         Remove dependency on unlocked-io.
46254
46255 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46256
46257         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
46258
46259         * m4/unlocked-io.m4: Add copyright notice.
46260         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
46261
46262 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46263
46264         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
46265         * lib/xmalloc.c (xmemdup): Likewise.
46266         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
46267         XFREE): Remove these long-obsolescent macros.
46268         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
46269         * lib/xstrdup.c: Remove.
46270
46271         * lib/regex.c (re_comp): Cast gettext return value to char *,
46272         Problem reported by Martin Neitzel via Mark D. Baushke.
46273
46274 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46275
46276         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
46277         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
46278         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
46279         regex.c, sha1.c, version-etc.c, yesno.c:
46280         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
46281         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
46282         the includer's responsibility.
46283
46284         Sync from coreutils.
46285
46286         * lib/modechange.c (mode_compile): Don't decrement a pointer that
46287         points to the start of a string, as the C Standard says the
46288         resulting behavior is undefined.
46289
46290         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
46291         simple -> simple_backups, numbered_existing ->
46292         numbered_existing_backups, numbered -> numbered_backups
46293         to avoid shadowing problems.  All uses changed.
46294         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
46295         * lib/backupfile.c (check_extension, numbered_backup):
46296         Rename locals to avoid shadowing 'basename'.
46297         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
46298         once.
46299
46300         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
46301         * lib/.cvsignore: Add getopt.h.
46302
46303 2004-10-04  Bruno Haible  <bruno@clisp.org>
46304
46305         * modules/README: New file.
46306         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
46307         not a module.
46308
46309 2004-10-02  Jim Meyering  <jim@meyering.net>
46310
46311         * lib/dirfd.h, getpagesize.h: Add copyright notice.
46312
46313 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46314
46315         * modules/strsep: New file.
46316
46317 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46318
46319         * m4/strsep.m4: New file.
46320
46321 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46322
46323         * lib/strsep.h: New file.
46324         * lib/strsep.c: New file.
46325
46326 2004-10-01  Simon Josefsson  <jas@extundo.com>
46327
46328         * lib/snprintf.c (snprintf): Handle size==0.
46329
46330 2004-10-01  Simon Josefsson  <jas@extundo.com>
46331             Bruno Haible  <bruno@clisp.org>
46332
46333         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
46334         (snprintf): Declare 'args'.
46335
46336 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
46337
46338         * lib/snprintf.c: Remove comments as to why each header is needed.
46339
46340 2004-10-01  Bruno Haible  <bruno@clisp.org>
46341
46342         * MODULES.html.sh: Add strsep.
46343
46344 2004-09-30  Simon Josefsson  <jas@extundo.com>
46345
46346         * modules/snprintf: New file.
46347
46348 2004-09-30  Simon Josefsson  <jas@extundo.com>
46349
46350         * m4/snprintf.m4: New file.
46351
46352 2004-09-30  Simon Josefsson  <jas@extundo.com>
46353
46354         * lib/snprintf.h, lib/snprintf.c: New files.
46355
46356 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46357
46358         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
46359         (hol_entry_help): Never translate an empty string.
46360         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
46361         * lib/argp.h (OPTION_NO_TRANS): New option.
46362
46363 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46364
46365         * modules/argp (Maintainer): Replace Simon Josefsson
46366         by Sergey Poznyakoff.
46367
46368 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46369
46370         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
46371         changes merged back into glibc.
46372
46373 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
46376
46377 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
46378
46379         * lib/xvasprintf.c: Include xalloc.h.
46380         (xvasprintf): Use xalloc_die, not xmalloc_die.
46381
46382 2004-09-29  Bruno Haible  <bruno@clisp.org>
46383
46384         * modules/alloca-opt: New file, derived from modules/alloca.
46385         * modules/allocsa: Depend on alloca-opt instead of alloca.
46386         * modules/setenv: Likewise.
46387         * modules/vasnprintf: Likewise.
46388         * MODULES.html.sh: Add alloca-opt.
46389
46390 2004-09-28  Simon Josefsson  <jas@extundo.com>
46391
46392         * gnulib-tool: New parameter --lgpl, to asseert that modules are
46393         LGPL, and to replace license template from GPL to LGPL.
46394
46395 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
46396
46397         * modules/dummy: Change license to LGPL.
46398
46399 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
46400
46401         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
46402
46403 2004-09-24  Simon Josefsson  <jas@extundo.com>
46404
46405         * modules/minmax (License): Change from GPL to LGPL.
46406
46407 2004-09-23  Simon Josefsson  <jas@extundo.com>
46408
46409         * gnulib-tool (--import): Typo.
46410
46411 2004-09-23  Simon Josefsson  <jas@extundo.com>
46412
46413         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
46414
46415 2004-09-22  Bruno Haible  <bruno@clisp.org>
46416
46417         * modules/*: Add 'License' field.
46418         * gnulib-tool: Accept --extract-license option.
46419         (func_get_license): New function.
46420
46421 2004-09-21  Bruno Haible  <bruno@clisp.org>
46422
46423         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
46424         Reported by Simon Josefsson.
46425
46426 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46427
46428         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
46429         gl_AC_TYPE_LONG_LONG.
46430
46431 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46432
46433         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
46434
46435 2004-09-18  Simon Josefsson  <jas@extundo.com>
46436         and  Paul Eggert  <eggert@cs.ucla.edu>
46437
46438         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
46439         calls with autoreconf.  Define GL_LIB.
46440
46441 2004-09-14  Karl Berry  <karl@gnu.org>
46442
46443         * config/srclist.txt: unsync setenv.c, sigh.
46444
46445 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46446
46447         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
46448         Problem reported by Bruno Haible in:
46449         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
46450
46451 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46452
46453         * config/srclist.txt: Comment out argp-pvh.c.
46454
46455 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
46456
46457         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
46458         in case some system header has #define'd it.  Problem reported by
46459         Soeren D. Schulze in
46460         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
46461
46462 2004-09-09  Karl Berry  <karl@gnu.org>
46463
46464         * regex.[ch]: delete from the root.  These were supposed to be
46465                 synced with emacs cvs, but this has not happened for about
46466                 a year, and anyway nothing else uses emacs regex.[ch].
46467                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
46468                 lib/regex[.ch] is untouched.
46469
46470 2004-09-09  Bruno Haible  <bruno@clisp.org>
46471
46472         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
46473
46474 2004-09-09  Bruno Haible  <bruno@clisp.org>
46475
46476         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
46477         modifications.
46478         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
46479
46480 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
46481
46482         * modules/xvasprintf: New file.
46483         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
46484
46485 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
46486
46487         * lib/xvasprintf.h: New file.
46488         * lib/xvasprintf.c: New file.
46489         * lib/xasprintf.c: New file.
46490
46491 2004-09-08  Bruno Haible  <bruno@clisp.org>
46492
46493         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
46494
46495 2004-09-08  Bruno Haible  <bruno@clisp.org>
46496
46497         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
46498         length is > INT_MAX.
46499         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
46500         more.
46501
46502 2004-09-08  Bruno Haible  <bruno@clisp.org>
46503
46504         * lib/stdint_.h: New file, taken from GNU clisp.
46505
46506 2004-09-08  Bruno Haible  <bruno@clisp.org>
46507             Oskar Liljeblad  <oskar@osk.mine.nu>
46508
46509         * modules/stdint: New file.
46510         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
46511
46512 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46513
46514         Import from coreutils.
46515         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
46516         strings on unbounded length.  alloca's performance benefits aren't
46517         that important here.
46518         (V_STRDUP): Remove.
46519         (parse_with_separator): New function, with most of the internals
46520         of the old parse_user_spec.  Allow user to omit both user and group,
46521         for compatibility with FreeBSD.
46522         Clone only the user name, not the entire spec.
46523         Do not set *uid, *gid unless entirely successful.
46524         Avoid memory leak in some failing cases.
46525         Fix regression for USER.GROUP reported by Dmitry V. Levin in
46526         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
46527         (parse_user_spec): Rewrite to use parse_with_separator.
46528
46529 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46530
46531         * modules/userspec: Don't depend on alloca.
46532
46533 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
46534
46535         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
46536
46537 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
46538
46539         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
46540         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
46541         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
46542
46543 2004-08-16  Simon Josefsson  <jas@extundo.com>
46544
46545         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
46546         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
46547         Add --dry-run for --import.
46548         Let user provided command line parameters override configure.ac
46549         settings.
46550
46551 2004-08-12  Simon Josefsson  <jas@extundo.com>
46552
46553         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
46554         as discussed with Paul Eggert in threads rooted at
46555         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
46556         and
46557         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
46558         Before, the test was empty, and relied on ELIDE_CODE in source
46559         code.)
46560         (gl_PREREQ_GETOPT): New macro.
46561         (gl_GETOPT): Use them.
46562
46563 2004-08-12  Simon Josefsson  <jas@extundo.com>
46564
46565         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
46566         * lib/getopt_.h: Renamed from getopt.h.
46567
46568 2004-08-12  Simon Josefsson  <jas@extundo.com>
46569
46570         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
46571         Change default library name from libfoo to libgnu.
46572         Now, if you have a configure.ac that says:
46573                 gl_SOURCE_BASE(gl)
46574                 gl_M4_BASE(gl/m4)
46575                 gl_MODULES(error getopt etcetera)
46576                 gl_INIT
46577         you can import all you need by running:
46578                 ../gnulib/gnulib-tool --import
46579
46580         * modules/getopt (Files): Rename getopt.h to getopt_.h.
46581         (Makefile.am): Rewrite, use logic from argz.
46582         (Include): Use <getopt.h> instead of "getopt.h".
46583
46584 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46585
46586         * modules/argp (Files): Add m4/unlocked-io.m4.
46587         (Depends-on): Add extensions.
46588
46589 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46590
46591         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
46592         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
46593         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
46594         Check for program_invocation_name, program_invocation_short_name,
46595         flockfile, funlockfile, features.h, _getopt_long_only_r.
46596
46597 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46598
46599         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
46600         its complicated substitute.
46601         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
46602         and program_invocation_name.
46603         (__argp_basename) [!_LIBC]: Remove; the only use was
46604         replaced by its body.
46605         (__argp_short_program_name): Change condition from
46606         !defined __argp_short_program_name to
46607         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
46608         to match argp-namefrob.h.
46609         (__argp_failure): Don't assume strerror_r returns char *.
46610         * lib/argp-parse.c (N_): Define unconditionally.
46611         (argp_default_options): Fill out initializers with 0 to avoid
46612         gcc warnings.
46613
46614 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
46615
46616         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
46617         getopt1.c.
46618
46619 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46620
46621         Merge from coreutils.
46622
46623         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
46624
46625         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
46626         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
46627
46628 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46629
46630         Merge from coreutils.
46631
46632         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
46633         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
46634         for Reliant Unix 5.43.
46635
46636         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
46637         (union fooround): Use uintmax_t, not long int.
46638         The rest is a merge from libc:
46639         [defined _LIBC]: Include <shlib-compat.h>.
46640         (_obstack) [defined _LIBC]: Remove after 2.3.4.
46641
46642         * lib/settime.c (settime): Recode to avoid warning with
46643         Sun Forte C 6U2.
46644
46645         * lib/strverscmp.c: Convert to UTF-8.
46646
46647 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
46648
46649         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
46650         m4/uintmax_t.m4.
46651
46652 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46653
46654         * modules/xalloc-die: New file.
46655         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
46656
46657         * modules/md5 (Files): Add m4/uint32_t.m4.
46658         * modules/sha1: Renamed from modules/sha.
46659         (Files):
46660         Rename lib/sha.h to lib/sha1.h.
46661         Rename lib/sha.c to lib/sha1.c.
46662         Rename m4/sha.m4 to m4/sha1.m4.
46663         (lib_SOURCES): Likewise.
46664         (configure.ac): Rename gl_SHA to gl_SHA1.
46665         (Include): sha.h -> sha1.h.
46666
46667 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46668
46669         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
46670         * m4/sha1.m4: Renamed from sha.m4.
46671         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
46672
46673 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
46674
46675         * lib/obstack.h (obstack_empty_p):
46676         Don't assume that chunk->contents is suitably aligned.
46677         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
46678         Likewise. Problem reported by Benno in
46679         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
46680
46681         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
46682         readable.  This could be improved further but it'd take some work.
46683
46684 2004-08-08  Simon Josefsson  <jas@extundo.com>
46685
46686         * modules/xgethostname (Depends-on): Remove exit and error (not
46687         used).
46688
46689         * modules/getpass-gnu: Add getpass.h.
46690         (Depends-on): Add stdbool.
46691         * modules/getpass: Add getpass.h.
46692
46693 2004-08-08  Simon Josefsson  <jas@extundo.com>
46694
46695         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
46696         Check getpass declaration.
46697
46698 2004-08-08  Simon Josefsson  <jas@extundo.com>
46699
46700         * lib/xgethostname.c: Don't include error.h (not used).
46701
46702         * lib/getpass.h: Add.
46703         * lib/getpass.c: Include getpass.h first.
46704
46705 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
46706
46707         * lib/xalloc-die.c: New file.
46708         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
46709         All uses removed.
46710         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
46711         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
46712         xalloc-die.c.
46713         (_, N_, xalloc_die): Move to xalloc-die.c.
46714         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
46715         so that we needn't mess with xalloc_msg_memory_exhausted.
46716
46717         * lib/sha1.h: Renamed from sha.h.
46718         (SHA1_H): Renamed from _SHA_H.
46719         (sha1_ctx): Renamed from sha_ctx.
46720         (sha1_init_ctx): Renamed from sha_init_ctx.
46721         (sha1_process_block): Renamed from sha_process_block.
46722         (sha1_process_bytes): Renamed from sha_process_bytes.
46723         (sha1_finish_ctx): Renamed from sha_finish_ctx.
46724         (sha1_read_ctx): Renamed from sha_read_ctx.
46725         (sha1_stream): Renamed from sha_stream.
46726         (sha1_buffer): Renamed from sha_buffer.
46727         * lib/sha1.c: Likewise; renamed from sha.c.
46728         Do not include <sys/types.h>.
46729         Include <stddef.h> rather than <stdlib.h>.
46730
46731 2004-08-08  Bruno Haible  <bruno@clisp.org>
46732
46733         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
46734         FILESYSTEM_PREFIX_LEN.
46735         * lib/progreloc.c: Likewise.
46736         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
46737
46738 2004-08-06  Simon Josefsson  <jas@extundo.com>
46739
46740         * modules/progname (Depends-on): Don't depend on stdbool.
46741
46742 2004-08-06  Simon Josefsson  <jas@extundo.com>
46743
46744         * modules/getsubopt: New file.
46745         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46746         getsubopt.
46747
46748 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46749
46750         More merge from coreutils.
46751
46752         * m4/utimens.m4, m4/utimecmp.m4: New files.
46753         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
46754         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
46755         prereq.m4, sha.m4: Import changes from coreutils.
46756
46757 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46758
46759         More merge from coreutils.
46760         * modules/raise, modules/readtokens0, modules/utimens:
46761         * modules/utimecmp, module/xnanosleep: New files.
46762         * modules/strftime: Add lib/strftime.h.
46763         Change include from <time.h> to "strftime.h".
46764         * modules/yesno: Add lib/yesno.h.
46765         * modules/backupfile: Remove lib/addext.c.
46766         * modules/euidaccess: Add stat-macros.h.
46767         * modules/canonicalize, modules/euidaccess,
46768         modules/filemode, modules/lchown, modules/makepath,
46769         modules/rmdir, modules/stat: Likewise.
46770
46771 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46772
46773         Merge from tar.
46774         * lib/argp-help.c (make_hol, hol_append): Don't assume that
46775         SIZE_MAX is a valid preprocessor constant.
46776         (__argp_basename): Change from "#ifndef _LIBC"
46777         to "#ifndef __argp_short_program_name", so that
46778         we don't compile these functions for tar.
46779
46780         More merges from coreutils.
46781         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
46782         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
46783         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
46784         * lib/addext.c: Remove; no longer needed.
46785         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
46786         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
46787         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
46788         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
46789         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
46790         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
46791         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
46792         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
46793         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
46794         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
46795         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
46796         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
46797         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
46798         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
46799         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
46800         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
46801         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
46802         Import changes from coreutils.
46803
46804 2004-08-05  Simon Josefsson  <jas@extundo.com>
46805
46806         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
46807
46808 2004-08-05  Simon Josefsson  <jas@extundo.com>
46809
46810         * m4/getsubopt.m4: New file.
46811
46812 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
46813
46814         Merge from coreutils.
46815
46816         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
46817         * m4/getcwd-path-max.m4: New files.
46818
46819         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
46820         FILESYSTEM_PREFIX_LEN ->
46821         FILE_SYSTEM_PREFIX_LEN.
46822         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
46823         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
46824         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
46825         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
46826
46827         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
46828         prerequisite modules now handle the DOS stuff.
46829         Don't check for unistd.h.
46830
46831 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
46832
46833         Merge from coreutils.
46834
46835         * lib/.gdb-history: Remove; this doesn't belong here.
46836
46837         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
46838         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
46839         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
46840         * lib/getcwd.c: New files.
46841
46842         * lib/dirname.h: Include <stdbool.h>.
46843         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
46844         for consistency with POSIX terminology.  All uses changed.
46845         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
46846         (strip_trailing_slashes): Use bool for booleans.
46847         * lib/stripslash.c (strip_trailing_slashes): Likewise.
46848
46849         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
46850         sometimes returns a positive errno value even when it succeeds.
46851         (print_errno_message) [!LIBC]: Fall back on strerror if
46852         __strerror_r fails.
46853
46854         * lib/path-concat.c (mempcpy): Don't define if a system header defines
46855         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
46856         (longest_relative_suffix): New function.
46857         (path_concat): Use it.  Assume first argument is not NULL.
46858         Port to DOS.  Omit redundant separators.
46859         Report an error instead of returning NULL.
46860         Use mempcpy instead of memcpy.
46861         (xpath_concat): Remove: not declared or used.
46862
46863         * lib/same.h: Include <stdbool.h>
46864         (same_name): Return bool, not int.
46865         * lib/same.c (same_name): Likewise.
46866         (errno): Don't declare; we assume C89 or better now.
46867
46868         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
46869         if not already defined.
46870
46871         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
46872         * lib/dup-safer.c (errno): Likewise.
46873
46874 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
46875
46876         Merge from coreutils.
46877         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
46878         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
46879         * modules/path-concat: Don't depend on strdup.
46880
46881 2004-08-03  Simon Josefsson  <jas@extundo.com>
46882
46883         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
46884         * lib/progname.h: Don't include stdbool.h.
46885
46886 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
46887
46888         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
46889         * MODULES.html.sh (func_all_modules): Remove fatal.
46890
46891 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
46892
46893         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
46894
46895 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
46896
46897         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
46898         working.
46899
46900 2004-08-02  Simon Josefsson  <jas@extundo.com>
46901
46902         * lib/getsubopt.h: New file, with comments from Bruno Haible.
46903         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
46904         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
46905
46906 2004-08-01  Simon Josefsson  <jas@extundo.com>
46907
46908         * lib/xgetdomainname.c: Include stdlib.h, for free().
46909
46910 2004-07-19  Bruno Haible  <bruno@clisp.org>
46911
46912         * MODULES.html.sh (func_all_modules): Add dummy.
46913
46914 2004-07-16  Simon Josefsson  <jas@extundo.com>
46915
46916         * modules/dummy: New file.
46917
46918 2004-07-16  Simon Josefsson  <jas@extundo.com>
46919
46920         * lib/dummy.c: New file.
46921
46922 2004-07-16  Bruno Haible  <bruno@clisp.org>
46923
46924         * lib/backupfile.h: Add extern "C" for C++.
46925         * lib/closeout.h: Likewise.
46926         * lib/copy-file.h: Likewise.
46927         * lib/findprog.h: Likewise.
46928         * lib/full-write.h: Likewise.
46929         * lib/pathname.h: Likewise.
46930         * lib/progname.h: Likewise.
46931         * lib/stpcpy.h: Likewise.
46932         * lib/stpncpy.h: Likewise.
46933         * lib/strcase.h: Likewise.
46934         * lib/strstr.h: Likewise.
46935         * lib/xalloc.h: Likewise.
46936
46937         * lib/mbswidth.h: Add extern "C" for C++.
46938         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
46939
46940 2004-07-13  Robert Millan  <robertmh@gnu.org>
46941
46942         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
46943
46944 2004-07-09  Simon Josefsson  <jas@extundo.com>
46945
46946         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
46947         failed without this.)
46948
46949 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46950
46951         * modules/chown (Files): Add lib/fchown-stub.c, since
46952         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
46953
46954 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
46955
46956         * lib/fchown-stub.c: New file.
46957
46958 2004-06-24  Jim Meyering  <jim@meyering.net>
46959
46960         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
46961
46962 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46963
46964         * modules/argz: Omit "#include".
46965
46966         * MODULES.html.sh (func_all_modules): Add calloc, to match
46967         2004-06-01 addition of calloc module.
46968
46969 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46970
46971         * m4/argz.m4: New file, which is autoupdated from libtool.
46972
46973 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46974
46975         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
46976         libtool.
46977
46978 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
46979
46980         * config/srclist-update: Don't insist on "USA." before the
46981         close-comment, as libtool omits the period and puts the */ on a
46982         separate line.
46983         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
46984         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
46985
46986 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
46987
46988         * modules/argz: New file.
46989         * MODULES.html.sh (func_all_modules): Add argz.
46990
46991 2004-06-12  Jim Meyering  <jim@meyering.net>
46992         and  Paul Eggert  <eggert@cs.ucla.edu>
46993
46994         * modules/hash (Files): Add lib/xalloc.h.
46995         * modules/pipe (Depends-on): Add wait-process.
46996         * modules/stat (Depends-on): Add xalloc.
46997         * modules/userspec (Files): Add lib/userspec.h.
46998         * modules/xstrto
46999
47000         Upgrade from gettext-0.13.
47001         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
47002         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
47003         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
47004
47005 2004-06-10  Jim Meyering  <jim@meyering.net>
47006
47007         * lib/calloc.c: New file.
47008
47009 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47010
47011         * lib/getdate.y (yylex): Allow space between sign and number.
47012         Problem reported by Dan Jacobson.
47013
47014 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47015
47016         Merge from coreutils CVS.
47017
47018         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
47019         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
47020         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
47021         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
47022         xstrtol.m4: Fix copyright date and/or serial number.
47023
47024         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
47025         See if we need an fchown replacement.
47026         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
47027         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
47028         and use the replacement function if we detect either defect.
47029
47030         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
47031         gl_UTIMECMP.
47032
47033 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47034         and  Jim Meyering  <jim@meyering.net>
47035
47036         Merge from coreutils CVS.
47037
47038         * lib/stat-macros.h: New file, with contents from file-type.h
47039         and coreutils' system.h.
47040         * lib/file-type.c: Include "stat-macros.h".
47041         * lib/file-type.h (file_type): Move all macro definitions to new file,
47042         stat-macros.h.
47043
47044         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
47045         Wrap old code with this conditional.
47046         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
47047         function that does not dereference symlinks.
47048         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
47049
47050         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
47051         dependency problems.
47052         (xreadlink): Accept new arg SIZE, for efficiency.
47053         All decls and uses changed.
47054         * lib/xreadlink.h: Include <stddef.h>, for size_t.
47055
47056         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
47057         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
47058
47059         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
47060         sysexits.h.
47061
47062 2004-06-01  Jim Meyering  <jim@meyering.net>
47063
47064         * m4/calloc.m4: New file.
47065
47066 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
47067
47068         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
47069         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
47070         Also, fix a typo in a diagnostic.
47071
47072 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47073
47074         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
47075         or AC_FUNC_REALLOC.
47076
47077 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47078
47079         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
47080         macros to be defined.
47081         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
47082         the allocator returns NULL because the requested size is zero.
47083
47084 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47085
47086         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
47087         var.  Add comment explaining why libc still defines it.  This
47088         merges the following patch from glibc:
47089         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
47090
47091 2004-05-20  Andreas Schwab  <schwab@suse.de>
47092
47093         * m4/free.m4: Replace free if it not known to work, not the other
47094         way round.
47095
47096 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47097
47098         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
47099         present in glibc since revision 1.1 of this file.
47100         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
47101         obstack_alignment_mask, obstack_alloc, obstack_base,
47102         obstack_blank, obstack_blank_fast, obstack_chunk_size,
47103         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
47104         obstack_grow0, obstack_init, obstack_int_grow,
47105         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
47106         obstack_next_free, obstack_object_size, obstack_ptr_grow,
47107         obstack_ptr_grow_fast, obstack_room): Remove declarations of
47108         nonexistent functions.
47109
47110 2004-05-18  Karl Berry  <karl@gnu.org>
47111
47112         * config/srclist.txt: break link for vasnprintf.c.
47113
47114 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47115
47116         Port obstack to the AS/400, where pointers are 16 bytes wide and
47117         you cannot cast an integer to a valid pointer.  This patch is
47118         currently waiting to be integrated into glibc; see
47119         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
47120
47121         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
47122         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
47123         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
47124         (struct obstack): temp member is now a union of a pointer and
47125         an integer, instead of an integer.  All integer uses changed.
47126         This does not affect the physical layout of struct obstack,
47127         except on hosts (like the AS/400) where the size or alignment of
47128         void * is greater than that of ptrdiff_t.
47129         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
47130         __STDC__)]: Store temporary in pointer member of union, not
47131         integer member.
47132         * lib/obstack.c: Include <stddef.h>, for offsetof.
47133         (struct fooalign): Remove; it doesn't need a name.
47134         (union fooround): Change double to long double, and add void *.
47135         (DEFAULT_ALIGNMENT): Use offsetof to compute.
47136         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
47137         not a macro.  Hence the values are always int; so remove all
47138         casts-to-int in uses.
47139
47140 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47141
47142         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
47143         we can get this patch merged into glibc.
47144
47145 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47146             Paul Eggert  <eggert@cs.ucla.edu>
47147
47148         * m4/argp: Depend on alloca.
47149
47150 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47151             Paul Eggert  <eggert@cs.ucla.edu>
47152
47153         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
47154         freecoding.
47155
47156 2004-05-17  Bruno Haible  <bruno@clisp.org>
47157
47158         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
47159         precision that consists of a '.' followed by an empty digit string.
47160         Patch by Tor Lillqvist <tml@iki.fi>.
47161
47162 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47163
47164         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
47165         for backward compatibility with older code.  We need our own
47166         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
47167         it under some other name, and our alloca.h will define it.
47168
47169 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47170             Derek Price  <derek@ximbiot.com>
47171
47172         * lib/alloca.c: Include <alloca.h>, to get our interface.
47173         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
47174         include <alloca.h> first.  Use C89 prototype for alloca; this
47175         requires including <stddef.h> for size_t.  Use extern "C" if C++.
47176         Use #elif for simplicity, since we can assume C89 now.
47177         Don't try to source the system alloca.h since it will not be found
47178         and to prevent recursively including its replacement.
47179         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
47180         * lib/regex.c: Likewise.
47181
47182 2004-05-16  Derek Price  <derek@ximbiot.com>
47183             Paul Eggert  <eggert@cs.ucla.edu>
47184
47185         getline cleanup.  This changes the getndelim2 API: both order of
47186         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
47187         no delimiter).
47188
47189         * lib/getline.c: Don't include stddef.h or stdio.h, since our
47190         interface does that.
47191         (getline): Always use getdelim, so that we don't have two
47192         copies of this code.
47193         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
47194         if available.
47195         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
47196         (GETNDELIM2_MAXIMUM): New macro.
47197         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
47198         instead of the old practice of delim2==0.  All callers changed.
47199         Return -1 on overflow, instead of returning junk.
47200         Do not set *linesize unless allocation succeeds.
47201         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
47202         that we include sys/types.h.
47203         * lib/getnline.h: Likewise.
47204         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
47205         (getndelim2): Reorder arguments.
47206         * lib/getnline.c (getnline, getndelim):
47207         Don't discard the NMAX argument.
47208         (getnline): Invoke getndelim, to avoid code duplication.
47209         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
47210         of (size_t) -1 by callers of the getnline family.
47211
47212 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47213
47214         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
47215         Check for gettimeofday.
47216         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
47217         Check for settimeofday, stime.
47218
47219 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47220
47221         * lib/nanosleep.c (suspended): Change its type from int to
47222         sig_atomic_t volatile.
47223         (first_call): Make it private to rpl_nanosleep, and have it
47224         be zero initially as that's a bit faster.
47225         (my_usleep): Round up fractional times instead of truncating them,
47226         as this is the usual meaning for 'sleep'.
47227
47228         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
47229         doesn't work.
47230         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
47231         (ENOSYS): Define if not defined.
47232         (settime): Fall back on stime if it exists and settimeofday fails.
47233         But don't bother with fallbacks if a method fails with errno == EPERM.
47234
47235 2004-05-11  Jim Meyering  <jim@meyering.net>
47236
47237         Prior to this change, the save_cwd caller required read access to the
47238         current directory on most systems (ones with the fchdir function).
47239
47240         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
47241         fails, try write-only, and finally, resort to using xgetcwd.
47242
47243 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47244
47245         * lib/obstack.c, obstack.h: Import changes from libc.
47246
47247 2004-04-28  Bruno Haible  <bruno@clisp.org>
47248
47249         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
47250         also implicitly appends .exe to executables.
47251         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
47252         accepts Windows pathnames.
47253         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47254         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47255         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47256         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47257         Reported by Derek Robert Price <derek@ximbiot.com>.
47258
47259 2004-04-21  Karl Berry  <karl@gnu.org>
47260
47261         * config/srclist.txt (localcharset.c): break sync.
47262
47263 2004-04-20  Paul Eggert  <eggert@twinsun.com>
47264
47265         * m4/host-os.m4: Add a copyright notice.
47266
47267 2004-04-20  Jim Meyering  <jim@meyering.net>
47268
47269         Change UTILS_ to gl_ in AC_DEFINE'd names.
47270         Change utils_- and jm_-prefixed variables, too.
47271         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
47272         UTILS_FUNC_MKDIR_TRAILING_SLASH.
47273         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
47274
47275         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
47276         Don't emit trailing blanks.
47277         Also rename jm_-prefixed variables to have gl_ prefix.
47278
47279         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
47280         Also rename jm_-prefixed variables to have gl_ prefix.
47281
47282         * m4/jm-macros.m4: Reflect the renamings.
47283         * m4/prereq.m4: Likewise.
47284
47285 2004-04-20  Jim Meyering  <jim@meyering.net>
47286
47287         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
47288         memory.
47289
47290 2004-04-20  Jim Meyering  <jim@meyering.net>
47291             Bruno Haible  <bruno@clisp.org>
47292
47293         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
47294         memory when realloc fails.
47295
47296 2004-04-19  Jim Meyering  <jim@meyering.net>
47297
47298         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
47299         now that readutmp.c may call `free (0)'.
47300
47301 2004-04-19  Bruno Haible  <bruno@clisp.org>
47302
47303         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
47304         * m4/inttypes_h.m4: Likewise.
47305         * m4/stdint_h.m4: Likewise.
47306         * m4/intmax_t.m4: Likewise.
47307         * m4/uintmax_t.m4: Likewise.
47308
47309 2004-04-18  Jim Meyering  <jim@meyering.net>
47310
47311         * m4/prereq.m4: Don't forbid jm_ prefix.
47312
47313         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
47314         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
47315         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
47316         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
47317         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
47318         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
47319         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
47320         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
47321         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
47322         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
47323         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
47324         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
47325         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
47326         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
47327         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
47328         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
47329         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
47330         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
47331         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
47332
47333 2004-04-18  Jim Meyering  <jim@meyering.net>
47334
47335         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
47336         failure, don't leak memory and do call END_UTMP_ENT.
47337
47338 2004-04-16  Jim Meyering  <jim@meyering.net>
47339
47340         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
47341         coreutils' stat program.
47342         (gl_PREREQ): Don't require jm_PREREQ_STAT.
47343
47344 2004-04-11  Paul Eggert  <eggert@twinsun.com>
47345
47346         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
47347         C89.
47348         (CHAR_BIT): Remove, since we assume C89.
47349         Include <stdint.h> if available, as per current Autoconf CVS advice.
47350
47351 2004-03-31  Jim Meyering  <jim@meyering.net>
47352
47353         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
47354         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
47355         * m4/xalloc.m4: Likewise.
47356
47357 2004-03-30  Paul Eggert  <eggert@twinsun.com>
47358
47359         Merge from coreutils.
47360
47361         * m4/inttostr.m4: New file.
47362         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
47363         Require AM_STDBOOL_H and gl_TIMESPEC instead.
47364         Require gl_CLOCK_TIME.
47365         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
47366
47367 2004-03-30  Paul Eggert  <eggert@twinsun.com>
47368
47369         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
47370         not bool, to be more consistent with Unix conventions.
47371         Suggested by Bruno Haible.
47372
47373         Merge from coreutils.
47374
47375         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
47376         * lib/umaxtostr.c: New files.
47377
47378         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
47379         the usual <time.h> dance.
47380         (get_date): Change signature to support fractional time stamps.
47381         All callers changed.
47382         * lib/getdate.y: Include "getdate.h" first, as we can now
47383         assume C89 and don't need to worry about 'const'.
47384         Similarly, include "unlocked-io.h" near start, not in middle.
47385         Include <limits.h>.
47386         (textint.value): Use long int rather than int.
47387         (textint.digits): Use size_t rather than int.
47388         (BILLION, LOG10_BILLION): New constants.
47389         (parser_control): New member rel_ns.  Members day_ordinal,
47390         time_zone, month, day, hour, minutes, rel_year, rel_month,
47391         rel_day, rel_hour, rel_minutes, rel_seconds
47392         are now long int, not int.  Member seconds is now struct timespec,
47393         not int.  New member timespec_seen.  Members dates_seen, days_seen,
47394         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
47395         not int.
47396         (%union.intval): Now long int, not int.
47397         New member timespec.
47398         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
47399         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
47400         (spec): Now is a timespec or an item list.
47401         (timespec, items): New nonterminals.
47402         (time, rel, relunit, number, get_date):
47403         Add support for fractional seconds.
47404         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
47405         (gmtime, localtime, mktime): Remove decls; not needed with C89.
47406         (to_hour): First arg is now long int, not int.
47407         (to_year): Returns long int, not int.
47408         Don't treat year -70 like 70.
47409         (tm_diff): Returns long int, not int.
47410         (lookup_word): Use bool instead of int when appropriate.
47411         (yylex): Use size_t for count, not int.
47412         Detect overflow when parsing large integer constants.
47413         Add support for fractions.
47414         (get_date): Make pointers 'const' if possible.
47415         Use more-portable code to detect integer overflow.
47416         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
47417         Don't use ctime; it's not reliable if the year has >4 digits.
47418
47419         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
47420         This is for compatibility with BSD.
47421
47422         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
47423         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
47424         From coreutils' system.h.
47425
47426         * lib/userspec.c: Don't include "posixver.h".
47427         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
47428         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
47429         compatible extension.  Simplify code by removing a boolean int
47430         that was always nonzero if a string was nonnull.
47431
47432 2004-03-30  Jim Meyering  <jim@meyering.net>
47433
47434         Merge from coreutils.
47435
47436         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
47437         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
47438         on some systems one must include <grp.h> before it.
47439         Reported by Christian Krackowizer.
47440
47441 2004-03-30  Jim Meyering  <jim@meyering.net>
47442
47443         Merge from coreutils.
47444
47445         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
47446
47447         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
47448         an empty input stream.
47449
47450         * lib/readtokens.c: Include <stdbool.h>.
47451         (readtoken): Use `size_t' rather than int/long.
47452         All callers adjusted.
47453         Use `bool' rather than `int' where appropriate.
47454         Use memset rather than an explicit loop.
47455         Use x2nrealloc rather than xrealloc.
47456         Allow the use of `\0' as a delimiter.
47457         (readtokens): Likewise.
47458         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
47459
47460 2004-03-30  Jim Meyering  <jim@meyering.net>
47461
47462         * m4/realloc.m4: Remove file, since now it does no more than
47463         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
47464         the `configure.ac' section of module/realloc.
47465         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
47466
47467 2004-03-30  Bruno Haible  <bruno@clisp.org>
47468
47469         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
47470         nonnull.
47471
47472 2004-03-29  Paul Eggert  <eggert@twinsun.com>
47473
47474         Merge changes to getloadavg.c from coreutils and Emacs.
47475
47476         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
47477         Define to an expression, not to the empty string.
47478         Include cloexec.h and xalloc.h.
47479         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
47480         Use set_cloexec_flag rather than rolling our own.
47481         * lib/cloexec.c, lib/cloexec.h: New files.
47482
47483 2004-03-29  Paul Eggert  <eggert@twinsun.com>
47484
47485         * m4/cloexec.m4: New file.
47486
47487 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47488
47489         * lib/getopt.h: Sync with libc CVS.
47490
47491 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47492             Bruno Haible  <bruno@clisp.org>
47493
47494         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
47495         mbswidth.
47496
47497 2004-03-18  Paul Eggert  <eggert@twinsun.com>
47498             Bruno Haible  <bruno@clisp.org>
47499
47500         * lib/mbswidth.h: Include <wchar.h> only if
47501         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
47502         <wchar.h>.
47503         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
47504
47505 2004-03-09  Paul Eggert  <eggert@twinsun.com>
47506
47507         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
47508         Sync with libc CVS.
47509         * lib/getopt_int.h: New file, also synced from libc.
47510
47511 2004-03-09  Paul Eggert  <eggert@twinsun.com>
47512
47513         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
47514         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
47515         Bring back getopt.c, getopt.h, getopt1.c.
47516
47517 2004-03-07  Paul Eggert  <eggert@twinsun.com>
47518
47519         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
47520         All uses changed.  Check for sa_sigaction member; this fixes
47521         a bug first reported by Jason Andrade in
47522         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
47523
47524 2004-03-07  Paul Eggert  <eggert@twinsun.com>
47525
47526         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
47527         '#if' expressions.  Unlike the code it replaces, it does not
47528         depend on (defined _SC_PAGESIZE).  However, it does depend on
47529         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
47530         first reported by Jason Andrade in
47531         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
47532
47533 2004-02-25  Simon Josefsson  <jas@extundo.com>
47534
47535         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
47536
47537 2004-02-25  Simon Josefsson  <jas@extundo.com>
47538
47539         * lib/strdup.h: New file.
47540         * lib/strdup.c: Include it.
47541         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
47542         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
47543
47544 2004-02-23  Karl Berry  <karl@gnu.org>
47545
47546         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
47547         (from fencepost.gnu.org:/gd/gnuorg).
47548
47549 2004-02-23  Karl Berry  <karl@gnu.org>
47550
47551         * config/srclistvars.sh (GNUORG) [karl]: redefine.
47552         * config/srclist.txt: add maintain/standards documents.
47553
47554 2004-02-18  Bruno Haible  <bruno@clisp.org>
47555
47556         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
47557         Reported by Derek Robert Price <derek@ximbiot.com>.
47558
47559 2004-02-16  Karl Berry  <karl@gnu.org>
47560
47561         * config/mkinstalldirs, install-sh: update from automake.
47562
47563 2004-02-06  Karl Berry  <karl@gnu.org>
47564
47565         * m4/po.m4: update from gettext 0.14.1.
47566
47567 2004-02-06  Karl Berry  <karl@gnu.org>
47568
47569         * lib/config.charset: update from gettext 0.14.1.
47570
47571 2004-02-05  Paul Eggert  <eggert@twinsun.com>
47572
47573         Add comments and code, prompted by suggestions from Bruno Haible
47574         for sh-quote.
47575         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
47576         describing the enum quoting_style values.
47577         * lib/quotearg.c (quotearg_alloc): New function.
47578         (quotearg_buffer_restyled): Treat lone { and } as special.
47579         Treat = as special.  Work around bug with older shells
47580         that "see" a '\' that is really the 2nd byte of a multibyte char.
47581         Quote empty string with shell_quoting_style.
47582
47583 2004-02-03  Bruno Haible  <bruno@clisp.org>
47584
47585         * m4/pipe.m4: New file, from GNU gettext.
47586
47587 2004-02-03  Bruno Haible  <bruno@clisp.org>
47588
47589         * lib/pipe.h: New file, from GNU gettext.
47590         * lib/pipe.c: New file, from GNU gettext.
47591
47592 2004-01-27  Bruno Haible  <bruno@clisp.org>
47593
47594         * m4/execute.m4: New file, from GNU gettext.
47595
47596 2004-01-27  Bruno Haible  <bruno@clisp.org>
47597
47598         * lib/execute.h: New file, from GNU gettext.
47599         * lib/execute.c: New file, from GNU gettext.
47600         * lib/w32spawn.h: New file, from GNU gettext.
47601
47602 2004-01-24  Paul Eggert  <eggert@twinsun.com>
47603
47604         Merge from diffutils.
47605
47606         * lib/file-type.c (file_type): Add typed memory objects.
47607         * lib/file-type.h (S_TYPEISTMO): New macro.
47608
47609         * lib/c-stack.h (c_stack_action): Remove argv argument.
47610         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
47611         (die): Don't calculate message unless segv_action returns.
47612         (get_stack_location, min_address_from_argv, max_address_from_argv,
47613         volatile stack_base, volatile_stack_size): Remove.
47614         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
47615         that every segmentation violation is a stack overflow.  (Ouch!)
47616         See Debian bug 136249 (still outstanding) for more info about why
47617         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
47618
47619 2004-01-24  Paul Eggert  <eggert@twinsun.com>
47620
47621         Exit-status fix from coreutils.
47622
47623         Use exit_failure consistently in place of EXIT_FAILURE,
47624         so that program exit statuses are consistent on failure.
47625
47626         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
47627         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
47628         * lib/argmatch.h: Comment fix to match the above.
47629         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
47630         Now a macro referring to exit_failure, instead of a separate
47631         variable.  Include "exitfail.h" to get it.
47632         * lib/xstrtol.h: Include "exitfail.h".
47633         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
47634
47635         * lib/long-options.c (parse_long_options): Use prototype
47636         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
47637         for clarity.
47638
47639 2004-01-21  Jim Meyering  <jim@meyering.net>
47640
47641         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
47642         so as not to conflict with a different-sized __mktime_internal
47643         function in GNU libc.
47644         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
47645         Problem building statically-linked `ls' reported by Michael Brunnbauer.
47646
47647 2004-01-20  Karl Berry  <karl@gnu.org>
47648
47649         * config/config.guess: update from config.
47650
47651         * config/srclistvars.sh: GNUWWWLICENSES for karl.
47652
47653 2004-01-20  Bruno Haible  <bruno@clisp.org>
47654
47655         Safer stack allocation.
47656         * lib/setenv.c: Include allocsa.h.
47657         (alloca): Remove fallback definition.
47658         (freea): Remove macro.
47659         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
47660         instead of freea.
47661
47662 2004-01-20  Bruno Haible  <bruno@clisp.org>
47663
47664         * m4/eealloc.m4: New file, from GNU gettext.
47665
47666 2004-01-20  Bruno Haible  <bruno@clisp.org>
47667
47668         * m4/allocsa.m4: New file, from GNU gettext.
47669
47670 2004-01-20  Bruno Haible  <bruno@clisp.org>
47671
47672         * lib/xallocsa.h: New file, from GNU gettext.
47673         * lib/xallocsa.c: New file, from GNU gettext.
47674
47675 2004-01-20  Bruno Haible  <bruno@clisp.org>
47676
47677         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
47678
47679 2004-01-20  Bruno Haible  <bruno@clisp.org>
47680
47681         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
47682         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
47683         specially.
47684
47685 2004-01-20  Bruno Haible  <bruno@clisp.org>
47686
47687         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
47688         patch.
47689
47690 2004-01-20  Bruno Haible  <bruno@clisp.org>
47691
47692         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
47693
47694 2004-01-20  Bruno Haible  <bruno@clisp.org>
47695
47696         * lib/eealloc.h: New file.
47697
47698 2004-01-20  Bruno Haible  <bruno@clisp.org>
47699
47700         * lib/binary-io.h: Avoid warnings on Cygwin.
47701
47702 2004-01-20  Bruno Haible  <bruno@clisp.org>
47703
47704         * lib/allocsa.h: New file, from GNU gettext.
47705         * lib/allocsa.c: New file, from GNU gettext.
47706
47707 2004-01-18  Karl Berry  <karl@gnu.org>
47708
47709         * doc/gpl.texi, doc/lgpl.texi: new files.
47710
47711 2004-01-18  Karl Berry  <karl@gnu.org>
47712
47713         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
47714         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
47715
47716 2004-01-15  Paul Eggert  <eggert@twinsun.com>
47717
47718         Merge from coreutils.
47719
47720         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
47721         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
47722         (gl_DEFAULT_POSIX2_VERSION): Move
47723         the documentation from 'configure' into 'config.hin',
47724         so that 'configure --help' isn't burdened by it and
47725         we don't have to worry about its formatting there.
47726         Reword the documentation so that it's more succinct
47727         and can be run together into a single paragraph.
47728         * m4/same.m4 (gl_SAME): Check for pathconf.
47729
47730 2004-01-15  Paul Eggert  <eggert@twinsun.com>
47731
47732         Merge from coreutils.
47733
47734         * lib/posixver.c: Include posixver.h.
47735
47736         * lib/same.c: Include <stdbool.h>, <limits.h>.
47737         (_POSIX_NAME_MAX): Define if not defined.
47738         (MIN): New macro.
47739         (same_name): If file names are silently truncated, report
47740         that the file names are the same if they are the same after
47741         the silent truncation.
47742
47743         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
47744         conversion function.
47745         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
47746         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
47747         longer needed.
47748
47749 2004-01-15  Jim Meyering  <jim@meyering.net>
47750
47751         Merge from coreutils.
47752
47753         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
47754         if no library is required.
47755         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
47756         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
47757         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
47758         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
47759         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
47760         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
47761         value, $ac_cv_search_crypt, if it's "none required".
47762         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
47763         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
47764         not gl_FUNC_GETLOADAVG.
47765         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
47766         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
47767
47768 2004-01-15  Jim Meyering  <jim@meyering.net>
47769
47770         Merge from coreutils.
47771
47772         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
47773         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
47774         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
47775
47776         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
47777         optional configure-time default.
47778
47779         * lib/version-etc.c (version_etc_copyright): Update copyright date.
47780
47781         * lib/xreadlink.c (xreadlink): Correct outdated comment.
47782
47783 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
47784
47785         Merge from coreutils.
47786
47787         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
47788         value, $ac_cv_search_nanosleep, if it's "none required".
47789
47790 2004-01-14  Paul Eggert  <eggert@twinsun.com>
47791
47792         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
47793         with like-named macro in fnmatch.c.
47794         (EXT): Use an internal constant instead.
47795
47796         Merge fnmatch patches from glibc.
47797         * lib/fnmatch.c (mbsinit): Remove define.
47798         Add libc_hidden_ver (__fnmatch, fnmatch).
47799         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
47800         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
47801
47802 2004-01-14  Karl Berry  <karl@gnu.org>
47803
47804         * config/install-sh: update from automake.
47805
47806 2004-01-13  Karl Berry  <karl@gnu.org>
47807
47808         * config/install-sh: update from automake.
47809
47810 2004-01-09  Karl Berry  <karl@gnu.org>
47811
47812         * config/install-sh: update from automake.
47813
47814 2004-01-05  Karl Berry  <karl@gnu.org>
47815
47816         * config/config.{sub,guess}: update from config.
47817
47818 2003-12-31  Karl Berry  <karl@gnu.org>
47819
47820         * config/depcomp: update from automake.
47821
47822 2003-12-14  Karl Berry  <karl@gnu.org>
47823
47824         * lib/config.charset: update from gettext-runtime.
47825
47826 2003-12-03  Paul Eggert  <eggert@twinsun.com>
47827
47828         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
47829         Bug reported by Alfred M. Szmidt.
47830
47831 2003-12-03  Bruno Haible  <bruno@clisp.org>
47832
47833         * m4/gettext.m4: Upgrade from gettext-0.13.
47834         * m4/po.m4: Upgrade from gettext-0.13.
47835         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
47836         * m4/intmax.m4: New file, from gettext-0.13.
47837         * m4/printf-posix.m4: New file, from gettext-0.13.
47838
47839 2003-11-29  Karl Berry  <karl@gnu.org>
47840
47841         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
47842
47843 2003-11-25  Paul Eggert  <eggert@twinsun.com>
47844             Bruno Haible  <bruno@clisp.org>
47845
47846         * lib/printf-parse.h: Don't include sys/types.h.
47847         (ARG_NONE): New macro.
47848         (char_directive): Change type of *arg_index fields to size_t.
47849         * lib/printf-parse.c: Don't include sys/types.h.
47850         (SSIZE_MAX): Remove macro.
47851         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
47852         Remove unnecessary overflow check.
47853         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
47854         fields.
47855
47856 2003-11-25  Bruno Haible  <bruno@clisp.org>
47857
47858         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
47859
47860 2003-11-25  Bruno Haible  <bruno@clisp.org>
47861
47862         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
47863         gt_TYPE_SSIZE_T.
47864
47865 2003-11-24  Paul Eggert  <eggert@twinsun.com>
47866
47867         * modules/alloca: Remove dependency on xalloc.
47868
47869 2003-11-24  Paul Eggert  <eggert@twinsun.com>
47870
47871         * lib/alloca.c: Remove dependency on xalloc module.
47872         (xalloc_die): Remove.
47873         (memory_full) [!defined emacs]: New macro.
47874         [!defined emacs]: Don't include xalloc.h.
47875         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
47876         address arithmetic overflows.  Change datatypes a bit to avoid
47877         unnecessary casts.
47878
47879 2003-11-22  Jim Meyering  <jim@meyering.net>
47880
47881         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
47882         s/size/size_t/.
47883
47884 2003-11-21  Karl Berry  <karl@gnu.org>
47885
47886         * config/config.{sub,guess}: update from config.
47887
47888 2003-11-18  Karl Berry  <karl@gnu.org>
47889
47890         * config/config.{sub,guess}: update from config.
47891
47892         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
47893
47894 2003-11-17  Paul Eggert  <eggert@twinsun.com>
47895
47896         * README: Mention that S+T cannot overflow if S is the size of
47897         an existing object and T is sufficiently small.
47898
47899 2003-11-17  Jim Meyering  <jim@meyering.net>
47900
47901         On systems without utime and without a utimes function capable of
47902         dealing with a NULL struct utimbuf* argument, this utime replacement
47903         could -- in unusual circumstances -- leak a file descriptor.
47904         * lib/utime.c: Include <unistd.h> and <errno.h>.
47905         (utime_null): Be sure to close `fd' and to preserve errno.
47906         Reported by Geoff Collyer via Arnold Robbins.
47907
47908 2003-11-17  Bruno Haible  <bruno@clisp.org>
47909
47910         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
47911         (Depends-on): Add xsize.
47912
47913 2003-11-17  Bruno Haible  <bruno@clisp.org>
47914
47915         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
47916
47917 2003-11-17  Bruno Haible  <bruno@clisp.org>
47918
47919         * lib/vasnprintf.c (alloca): Remove fallback definition.
47920         (freea): Remove definition.
47921         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
47922         Reported by Paul Eggert.
47923
47924 2003-11-16  Paul Eggert  <eggert@twinsun.com>
47925             Bruno Haible  <bruno@clisp.org>
47926
47927         Protect against address arithmetic overflow.
47928         * lib/printf-args.h: Include stddef.h.
47929         (arguments): Change type of field 'count' to size_t.
47930         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
47931         'unsigned int' where appropriate.
47932         * lib/printf-parse.h: Include sys/types.h.
47933         (char_directive): Change type of *arg_index fields to ssize_t.
47934         (char_directives): Change type of fields 'count', max_*_length to
47935         size_t.
47936         * lib/printf-parse.c: Include sys/types.h and xsize.h.
47937         (SSIZE_MAX): Define fallback value.
47938         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
47939         instead of 'int' where appropriate. Check a_allocated, d_allocated
47940         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
47941         * lib/vasnprintf.c: Include xsize.h.
47942         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
47943         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
47944         overflow. Avoid wraparound when converting a width or precision from
47945         decimal to binary.
47946
47947 2003-11-16  Bruno Haible  <bruno@clisp.org>
47948
47949         Update from GNU gettext.
47950         * lib/printf-parse.c: Generalize to it can be compiled for wide
47951         strings.
47952         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
47953         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
47954         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
47955         SNPRINTF): New macros.
47956         Don't include <alloca.h> if the file is used inside libintl.
47957         (local_wcslen): New function, for Solaris 2.5.1.
47958         (VASNPRINTF): Use it instead of wcslen.
47959
47960 2003-11-16  Bruno Haible  <bruno@clisp.org>
47961
47962         * lib/xsize.h (xmax): New function.
47963         (xsum, xsum3, xsum4): Declare as "pure" functions.
47964
47965 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47966
47967         * modules/xalloc (Files): Undo latest change, since xalloc.h
47968         no longer needs SIZE_MAX or PTRDIFF_MAX.
47969
47970 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47971
47972         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
47973         gl_PTRDIFF_MAX.
47974
47975 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47976
47977         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
47978         "return", to pacify some unknown compiler.  Problem reported
47979         by Joerg Schilling.
47980
47981 2003-11-12  Paul Eggert  <eggert@twinsun.com>
47982
47983         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
47984         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
47985         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
47986         heuristic is just as accurate as far as we know, and it removes a
47987         dependency on size_max.m4 and ptrdiff_max.m4.
47988
47989 2003-11-11  Bruno Haible  <bruno@clisp.org>
47990
47991         * modules/xsize (Files): Add m4/size_max.m4.
47992         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
47993
47994 2003-11-11  Bruno Haible  <bruno@clisp.org>
47995
47996         * m4/size_max.m4: New file.
47997         * m4/ptrdiff_max.m4: New file.
47998         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
47999         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
48000         (gl_XALLOC): Invoke it.
48001
48002 2003-11-11  Bruno Haible  <bruno@clisp.org>
48003
48004         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
48005         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
48006         defined.
48007
48008 2003-11-10  Paul Eggert  <eggert@twinsun.com>
48009
48010         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
48011         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
48012         rejected some allocations of exactly SIZE_MAX - 2 bytes.
48013         From Bruno Haible.
48014         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
48015         not (size_t) -1, since it's defined here.
48016
48017 2003-11-09  Karl Berry  <karl@gnu.org>
48018
48019         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
48020
48021 2003-11-06  Paul Eggert  <eggert@twinsun.com>
48022
48023         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
48024         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
48025         Reject sizes of exactly SIZE_MAX bytes.
48026         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
48027         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
48028
48029 2003-11-05  Bruno Haible  <bruno@clisp.org>
48030
48031         * lib/xsize.h: Include limits.h, to avoid a possible collision with
48032         SIZE_MAX defined in <limits.h> on Solaris.
48033
48034 2003-11-04  Jim Meyering  <jim@meyering.net>
48035
48036         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
48037         variable names, rather than @VAR@.
48038         * modules/poll: Likewise.
48039
48040 2003-11-04  Bruno Haible  <bruno@clisp.org>
48041
48042         * modules/xsize: New file.
48043         * modules/linebreak: Depend on xsize.
48044         * MODULES.html.sh (func_all_modules): Add xsize.
48045
48046 2003-11-04  Bruno Haible  <bruno@clisp.org>
48047
48048         * m4/xsize.m4: New file.
48049
48050 2003-11-04  Bruno Haible  <bruno@clisp.org>
48051
48052         * lib/xsize.h: New file.
48053         * lib/linebreak.c: Include xsize.h.
48054         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
48055         argument for overflow.
48056         Suggested by Paul Eggert.
48057
48058 2003-11-03  Karl Berry  <karl@gnu.org>
48059
48060         * config/config.{guess,sub}: update from config.
48061
48062 2003-11-03  Jim Meyering  <jim@meyering.net>
48063
48064         * modules/userspec (lib_SOURCES): Add userspec.h.
48065         (Include): Add "userspec.h".
48066         Improve description.
48067
48068 2003-11-03  Jim Meyering  <jim@meyering.net>
48069
48070         * lib/userspec.c: Include "userspec.h".
48071         * lib/userspec.h: New file.
48072
48073 2003-11-03  Bruno Haible  <bruno@clisp.org>
48074
48075         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
48076
48077 2003-11-03  Bruno Haible  <bruno@clisp.org>
48078
48079         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
48080         available, to avoid (extremely rare) race condition.
48081         Suggested by Paul Eggert.
48082
48083 2003-11-02  Karl Berry  <karl@gnu.org>
48084
48085         * config/srclist.txt (vasprintf.c): sync broken, sigh.
48086
48087 2003-10-31  Paul Eggert  <eggert@twinsun.com>
48088
48089         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
48090         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
48091         (read_filesystem_list): Set and use me_type_malloced.
48092         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
48093         whatever the type happens to be), for brevity and consistency.
48094         Check for size calculation overflow on Alphas running OSF/1.
48095
48096 2003-10-31  Jim Meyering  <jim@meyering.net>
48097
48098         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
48099
48100         * lib/linebuffer.c: Include <string.h> for declaration of memset.
48101
48102 2003-10-30  Paul Eggert  <eggert@twinsun.com>
48103             Bruno Haible  <bruno@clisp.org>
48104
48105         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
48106         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
48107
48108 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
48109
48110         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
48111         netbsd*-gnu*.  Suggested by Robert Millan.
48112
48113 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48114
48115         * modules/group-member: Depend on stdbool.
48116
48117 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48118
48119         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
48120
48121 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48122
48123         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
48124         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
48125         after the 'gnu' in these cases.  This fixes some bugs in the
48126         previous change, and is based on suggestions by Robert Millan.
48127
48128 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48129
48130         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
48131         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
48132         no longer needed.
48133         * lib/quotearg.c (quotearg_n_options): Use it.
48134         * lib/group-member.c: Include <stdbool.h>.
48135         (free_group_info): Arg is now const *; don't free arg.
48136         (get_group_info): Now returns bool and accepts struct group_info *,
48137         rather than returning a malloc'ed struct group_info *.
48138         All uses changed.  Check for overflow in internal size calculation.
48139
48140         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
48141         rather than xmalloc/xrealloc.
48142         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
48143         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
48144         conformance bug: the old code used a pointer after freeing the
48145         storage that it addressed.
48146         * lib/hash.c (hash_initialize): Simplify the code by using
48147         xalloc_oversized rather than doing it by hand.
48148         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
48149         the buffer preserved.  Use free and xmalloc instead.
48150         * lib/quotearg.c (quotearg_n_options): Likewise.
48151         Use a simpler test for size overflow.  Don't use xalloc_oversized
48152         because unsigned int might be wider than size_t (!); this suggests
48153         that we should switch from unsigned int to size_t for slot numbers.
48154
48155 2003-10-28  Paul Eggert  <eggert@twinsun.com>
48156
48157         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
48158         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
48159         NetBSD kernels.  Requested by Richard Stallman.
48160
48161 2003-10-27  Paul Eggert  <eggert@twinsun.com>
48162
48163         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
48164         to allocate the returned structure.  Do not allocate a subarray,
48165         as x2nrealloc will do that.
48166         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
48167         instead of xnrealloc.
48168         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
48169
48170 2003-10-27  Bruno Haible  <bruno@clisp.org>
48171
48172         * lib/stdbool_.h: Better support for BeOS.
48173
48174 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48175
48176         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
48177         now uses inline.
48178
48179 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48180
48181         * lib/xalloc.h (xalloc_oversized): New static inline function, for
48182         callers that want to do their own size-overflow checking.  Include
48183         <stdbool.h>, since xalloc_oversized returns bool.
48184         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
48185         to use xalloc_oversized.
48186
48187         Add two functions x2realloc, x2nrealloc, for programs that grow
48188         arrays dynamically by doubling their sizes.
48189         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
48190         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
48191         New functions.
48192
48193         Port to C99 semantics for 'inline' of external functions.
48194         Bug reported by Bruno Haible.
48195         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
48196         with the old contents of xnmalloc.
48197         (xnmalloc, xmalloc): Use it.
48198         (xnrealloc_inline): New static inline function,
48199         with the old contents of xnrealloc.
48200         (xnrealloc, xrealloc): Use it.
48201
48202         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
48203         that.
48204
48205 2003-10-26  Karl Berry  <karl@gnu.org>
48206
48207         * config/srclist.txt (COPYING.DOC): no longer available from
48208         /gd/gnuorg; don't know where the ultimate source is.
48209
48210 2003-10-25  Paul Eggert  <eggert@twinsun.com>
48211
48212         Fix several address-calculation bugs in the hash modules,
48213         plus some minor code cleanup.
48214
48215         * lib/hash.h: Include <stdbool.h>, for bool.
48216         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
48217         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
48218         hash_get_n_entries, hash_get_max_bucket_length,
48219         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
48220         hash_rehash): Use size_t rather than unsigned.
48221         * lib/hash.c (struct hash_table, hash_get_n_buckets,
48222         hash_get_n_buckets_used, hash_get_n_entries,
48223         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
48224         hash_get_entries, hash_do_for_each, hash_string, is_prime,
48225         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
48226         Likewise.
48227         (SIZE_MAX): Define if not defined.
48228         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
48229         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
48230         hash_print):
48231         Use const * when possible.
48232         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
48233         (check_tuning): Fix bug: if tuning parameters were very close to
48234         0 or 1, rounding errors could have caused subscript violations.
48235         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
48236         (hash_initialize): Add 'fail:' label
48237         to free table and return NULL, and use it to simplify code.
48238         Use calloc rather than clearing the storage ourself.
48239         (hash_initialize, hash_rehash): Check for arithmetic overflow in
48240         buffer size calculations.
48241         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
48242         Include <stddef.h>, for size_t.
48243         * lib/hash-pjw.c (hash_pjw): Likewise.
48244         Switch to method described by Bruno Haible.
48245         Include <limits.h>, for CHAR_BIT.
48246         (SIZE_BITS): New macro.
48247
48248 2003-10-23  Paul Eggert  <eggert@twinsun.com>
48249
48250         * m4/getline.m4 (AM_FUNC_GETLINE):
48251         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
48252         hosts.  Problem reported by Derek Robert Price in
48253         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
48254         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
48255         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
48256
48257 2003-10-21  Paul Eggert  <eggert@twinsun.com>
48258
48259         * lib/getndelim2.c (getndelim2): When size calculation overflows,
48260         ceiling the allocation at NMAX bytes rather than silently
48261         discarding input bytes before NMAX is reached.  This makes
48262         a difference only if NMAX exceeds SIZE_MAX / 2.
48263
48264         * lib/obstack.c: Merge from glibc.
48265         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
48266         Add libc_hidden_def (_obstack_newchunk).
48267         (_obstack_free) [! defined _LIBC]: Remove.
48268         [defined _LIBC]: Make a strong alias from obstack_free, rather than
48269         a clone of the function body.
48270         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
48271         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
48272
48273         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
48274         glibc.
48275         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
48276         arg to memcpy.
48277
48278         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
48279         (obstack_ptr_grow_fast, obstack_int_grow_fast):
48280         Don't use lvalue casts, as GCC plans to remove support for them
48281         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
48282         was also present in the non-GCC version, indicating that this
48283         code had always been buggy and had never been widely used.
48284         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
48285         Use the fast variant of each macro, rather than copying the
48286         definiens of the fast variant; that way, we'll be more likely to
48287         catch future bugs in the fast variants.
48288
48289 2003-10-20  Bruno Haible  <bruno@clisp.org>
48290
48291         * modules/wait-process: New file.
48292         * MODULES.html.sh (func_all_modules): Add wait-process.
48293
48294 2003-10-20  Bruno Haible  <bruno@clisp.org>
48295
48296         * m4/wait-process.m4: New file.
48297
48298 2003-10-20  Bruno Haible  <bruno@clisp.org>
48299
48300         * lib/wait-process.h: New file, from GNU gettext.
48301         * lib/wait-process.c: New file, from GNU gettext.
48302
48303 2003-10-19  Jim Meyering  <jim@meyering.net>
48304
48305         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
48306         HPUX 10.20.
48307
48308 2003-10-18  Karl Berry  <karl@gnu.org>
48309
48310         * config/config.guess: update from config.
48311
48312 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48313
48314         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
48315         (getgroups): First arg is int, not size_t.
48316         Don't let 'free' mangle errno.
48317
48318 2003-10-16  Paul Eggert  <eggert@twinsun.com>
48319
48320         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
48321
48322 2003-10-16  Karl Berry  <karl@gnu.org>
48323
48324         * config/config.{guess,sub}: update from config.
48325
48326 2003-10-16  Jim Meyering  <jim@meyering.net>
48327
48328         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
48329         memcpy.
48330
48331 2003-10-15  Paul Eggert  <eggert@twinsun.com>
48332
48333         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
48334         (SIZE_MAX): Remove.
48335         (new_exclude, add_exclude_file): Initial size no longer needs to
48336         be a power of 2.
48337         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
48338         our own address arithmetic overflow checking.
48339
48340         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
48341         (fnmatch): Do not alloca more than 2000 wide characters;
48342         instead, use malloc for large buffers.
48343         Check for address arithmetic overflow, and return -1
48344         with errno set to ENOMEM in that case.
48345         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
48346         (NEW_PATTERN): Do not alloca more than 8000 bytes;
48347         instead, return -1.  Check for address arithmetic overflow.
48348
48349 2003-10-14  Paul Eggert  <eggert@twinsun.com>
48350
48351         Handle invalid suffixes and overflow independently, so that
48352         callers can treat them independently as needed.  Fix some bugs in
48353         suffix handling, e.g., "100k@" was not diagnosed as an invalid
48354         suffix for a human-readable blocksize.  The major caller-visible
48355         change is the addition of a new
48356         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
48357         that both overflow and suffix chars were found.
48358
48359         * lib/human.c (humblock): Don't check separately for invalid suffix
48360         char; that is xstrtoumax's job (now that its bug is fixed).
48361         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
48362         INTMAX_MAX]: New macros.
48363         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
48364         TYPE_MAXIMUM): New macros.
48365         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
48366         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
48367         if overflow occurs, as it's what __strtol does and it's more useful
48368         in practice.
48369         (__xstrtol): If __strtol reports some error other than ERANGE,
48370         reflect it to the caller as LONGINT_INVALID.  If it reports
48371         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
48372         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
48373         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
48374         value.
48375         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
48376         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
48377         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
48378         [defined UINTMAX_MAX]: New macros.
48379
48380 2003-10-14  Bruno Haible  <bruno@clisp.org>
48381
48382         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
48383
48384 2003-10-14  Bruno Haible  <bruno@clisp.org>
48385
48386         * m4/sig_atomic_t: New file, from GNU gettext.
48387         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
48388
48389 2003-10-14  Bruno Haible  <bruno@clisp.org>
48390
48391         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
48392         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
48393         Also use volatile where needed.
48394
48395 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48396
48397         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
48398         Change maintainer from Bruno Haible to 'all'.
48399
48400 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48401
48402         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
48403
48404 2003-10-12  Paul Eggert  <eggert@twinsun.com>
48405
48406         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
48407         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
48408         and define in terms of the other primitives.
48409         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
48410         (SIZE_MAX): Define if not already defined.
48411         (array_size_overflow): New function.
48412         (xalloc_die): Abort instead of exiting if 'error' returns.
48413         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
48414         (xmalloc, xrealloc): Use them.
48415         (xcalloc): Check for address arithmetic overflow.
48416         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
48417         a bit faster than strcpy.
48418
48419 2003-10-10  Simon Josefsson  <jas@extundo.com>
48420
48421         * modules/argp (Depends-on): Add restrict and strcase.
48422
48423 2003-10-10  Simon Josefsson  <jas@extundo.com>
48424
48425         * m4/argp.m4: Add AC_C_INLINE.
48426
48427 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48428
48429         Merge getpass from libc, plus a few fixes.
48430
48431         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
48432         Include <stdbool.h>.
48433         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
48434         __fsetlocking to empty.
48435         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
48436         do include <bits/libc-lock.h>.
48437         Do not include <fcntl.h>; not needed.
48438         [_LIBC]: Include <wchar.h>.
48439         (NOTCANCEL_MODE): New macro.
48440         (flockfile, funlockfile) [_LIBC]: New macros.
48441         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
48442         [!_LIBC]: New macros.
48443         (call_fclose): New function.
48444         (getpass): Use it.  Save tty stream separately; this simplifies the
48445         code and makes it more reliable if stdin happens to equal stdout.
48446         Invoke __fsetlocking on tty.
48447         Handle thread cancellation if needed.
48448         Namespace cleanup (use __tcgetattr, __getline).
48449         Use bool for Booleans.
48450         [USE_IN_LIBIO]: Handle wide streams.
48451         [!_LIBC]: Unconditionally do the fseek, since we don't know what
48452         stream might go where.
48453
48454         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
48455         doesn't have to include <stdio.h> before us.
48456         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
48457         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
48458         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
48459         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
48460         if not declared, so that we can use getpass.c code from libc without
48461         rewriting it.
48462         (flockfile, ftrylockfile, funlockfile): New macros.
48463
48464 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48465
48466         * modules/getpass: Depend on stdbool.
48467
48468 2003-10-08  Paul Eggert  <eggert@twinsun.com>
48469
48470         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
48471
48472 2003-10-07  Karl Berry  <karl@gnu.org>
48473
48474         * config/config.{guess,sub}: update from config.
48475
48476 2003-10-06  Jim Meyering  <jim@meyering.net>
48477             Bruno Haible  <bruno@clisp.org>
48478
48479         This lets translators provide better translations for the
48480         "Written by ..." part of --version output.
48481         * lib/version-etc.h: Include stdarg.h.
48482         (version_etc_copyright): Declare as readonly.
48483         (version_etc): Make this function variadic with a NULL-terminated list
48484         of author name strings.
48485         (version_etc_va): New declaration.
48486         * lib/version-etc.c: Include stdarg.h, stdlib.h.
48487         (version_etc_copyright): Declare as readonly.
48488         (version_etc_va): New function. Provide a different translatable string
48489         for each possible number of authors < 10. Abbreviate when there are 10
48490         authors or more.
48491         (version_etc): Make this function variadic. Call version_etc_va.
48492         Suggestion from Gary V. Vaughan.
48493
48494         * lib/long-options.h (parse_long_options): Change prototype: the
48495         authors string is moved to the end and becomes variadic.
48496         * lib/long-options.c: Include stdarg.h.
48497         (parse_long_options): Make this function variadic, too.
48498         Call version_etc_va, not version_etc.
48499
48500 2003-10-06  Bruno Haible  <bruno@clisp.org>
48501
48502         * modules/version-etc-2: Remove file.
48503         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
48504
48505 2003-10-06  Bruno Haible  <bruno@clisp.org>
48506
48507         * modules/fatal-signal: New file.
48508         * MODULES.html.sh (func_all_modules): Add fatal-signal.
48509
48510 2003-10-06  Bruno Haible  <bruno@clisp.org>
48511
48512         * m4/fatal-signal.m4: New file.
48513         * m4/signalblocking.m4: New file, from GNU gettext.
48514
48515 2003-10-06  Bruno Haible  <bruno@clisp.org>
48516
48517         * lib/version-etc-2.h: Remove file.
48518         * lib/version-etc-2.c: Remove file.
48519
48520 2003-10-06  Bruno Haible  <bruno@clisp.org>
48521
48522         * lib/fatal-signal.h: New file, from GNU gettext.
48523         * lib/fatal-signal.c: New file, from GNU gettext.
48524
48525 2003-10-05  Paul Eggert  <eggert@twinsun.com>
48526
48527         * README: Rework advice for preventing empty .o files.
48528         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
48529         not <sys/types.h>.
48530
48531 2003-10-04  Karl Berry  <karl@gnu.org>
48532
48533         * lib/argp*: update from libc.
48534
48535 2003-10-04  Karl Berry  <karl@gnu.org>
48536
48537         * config/config.{guess,sub}: update from config.
48538
48539 2003-10-02  Bruno Haible  <bruno@clisp.org>
48540
48541         * modules/lchown (Include): Add lchown.h.
48542         * modules/time_r (Include): Use "..." syntax.
48543         * modules/xgetdomainname (Include): Add xgetdomainname.h.
48544
48545 2003-10-01  Simon Josefsson  <jas@extundo.com>
48546
48547         * MODULES.html.sh (func_all_modules): Move gethostname from section
48548         'based on' to section 'lacking' POSIX:2001.
48549
48550 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
48551
48552         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
48553         to output mode on the same stream.
48554
48555 2003-09-29  Paul Eggert  <eggert@twinsun.com>
48556
48557         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
48558         Fix arg typo in previous patch.
48559
48560 2003-09-28  Jim Meyering  <jim@meyering.net>
48561
48562         * lib/error.c: Correct cpp indentation.
48563
48564 2003-09-27  Paul Eggert  <eggert@twinsun.com>
48565
48566         * modules/free: New file.
48567
48568 2003-09-27  Paul Eggert  <eggert@twinsun.com>
48569
48570         * m4/free.m4: New file.
48571
48572 2003-09-27  Paul Eggert  <eggert@twinsun.com>
48573
48574         * lib/minmax.h (MIN, MAX)
48575         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
48576         Omit the special code that used __typeof__, since we worry that
48577         it could be more trouble than it's worth.  See:
48578         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
48579         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
48580
48581         * lib/free.c: New file.
48582
48583 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
48584
48585         Trivial fixes to Makefile.am parts of module listings.
48586         * modules/strstr: Append strstr.h to lib_SOURCES.
48587         * modules/strcase: Likewise, for strcase.h.
48588
48589 2003-09-27  Karl Berry  <karl@gnu.org>
48590
48591         * config/mkinstalldirs: update from automake.
48592
48593 2003-09-26  Paul Eggert  <eggert@twinsun.com>
48594
48595         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
48596         (error_tail): Do not loop, reallocating temporary buffer, since
48597         the output cannot contain more wide characters than the input
48598         contains bytes, the size must be big enough already.  This avoids
48599         one potential size overflow calculation.  Check for size overflow
48600         when calculating temporary buffer size.  Free temporary buffer
48601         when done, if it was allocated with malloc; this plugs a memory
48602         leak.  Remove casts from void * to pointers, that are no longer
48603         needed now that we're assuming C89 or better.
48604
48605         Merge error changes from glibc.
48606
48607         * lib/error.c, error.h: Update copyright notice header to match glibc.
48608         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
48609         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
48610         Disable cancellation while printing error.
48611         * lib/error.h: Prepend __ to parameter names.
48612
48613 2003-09-26  Jim Meyering  <jim@meyering.net>
48614
48615         * lib/error.c (error_tail): Move some declarations
48616         into inner scope where the local variables are used.
48617
48618 2003-09-26  Bruno Haible  <bruno@clisp.org>
48619
48620         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
48621         stpncpy().
48622         Don't define stpncpy through config.h; it's now done through stpncpy.h.
48623
48624 2003-09-26  Bruno Haible  <bruno@clisp.org>
48625
48626         * lib/stpncpy.h (gnu_stpncpy): New declaration.
48627         (stpncpy): Define as alias for gnu_stpncpy.
48628         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
48629
48630 2003-09-25  Simon Josefsson  <jas@extundo.com>
48631
48632         * lib/xgetdomainname.h: New file.
48633         * lib/xgetdomainname.c: New file.
48634
48635 2003-09-25  Simon Josefsson  <jas@extundo.com>
48636             Bruno Haible  <bruno@clisp.org>
48637
48638         * modules/getdomainname: New file.
48639         * modules/xgetdomainname: New file.
48640         * MODULES.html.sh (func_all_modules): Add getdomainname,
48641         xgetdomainname.
48642
48643 2003-09-25  Simon Josefsson  <jas@extundo.com>
48644             Bruno Haible  <bruno@clisp.org>
48645
48646         * m4/getdomainname.m4: New file.
48647
48648 2003-09-25  Simon Josefsson  <jas@extundo.com>
48649             Bruno Haible  <bruno@clisp.org>
48650
48651         * lib/getdomainname.h: New file.
48652         * lib/getdomainname.c: New file.
48653
48654 2003-09-25  Karl Berry  <karl@gnu.org>
48655
48656         * lib/argp-fmtstream.c, argp-help.c: update from libc.
48657
48658 2003-09-25  Karl Berry  <karl@gnu.org>
48659
48660         * config/install-sh: update from automake.
48661
48662 2003-09-25  Bruno Haible  <bruno@clisp.org>
48663
48664         * modules/version-etc-2: New file, from modules/version-etc with
48665         modifications.
48666         * MODULES.html.sh (func_all_modules): Add version-etc-2.
48667
48668 2003-09-25  Bruno Haible  <bruno@clisp.org>
48669
48670         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
48671         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
48672
48673 2003-09-24  Simon Josefsson  <jas@extundo.com>
48674
48675         * modules/xgethostname: Add xgethostname.h.
48676
48677 2003-09-24  Paul Eggert  <eggert@twinsun.com>
48678
48679         * lib/linebuffer.c (freebuffer): Don't free the argument, just
48680         the buffer associated with the argument.  Bug reported by
48681         Simon Josefsson.
48682
48683 2003-09-24  Paul Eggert  <eggert@twinsun.com>
48684
48685         * README: Document assumptions that 'int' is at least 32 bits
48686         wide, that integer arithmetic is 2's complement without overflow,
48687         that there are no holes in integer values, that adding sizes of
48688         two nonoverlapping objects can't overflow, and that all-bits-zero
48689         yields scalar zero.  Fix spelling and capitalization typos.
48690
48691 2003-09-19  Karl Berry  <karl@gnu.org>
48692
48693         * lib/argp.h: update from libc.
48694
48695 2003-09-17  Paul Eggert  <eggert@twinsun.com>
48696
48697         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
48698         to avoid spurious warnings like "AC_RUN_IFELSE was called before
48699         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
48700
48701 2003-09-17  Paul Eggert  <eggert@twinsun.com>
48702
48703         * gnulib-tool: Use "test -h", not "test -L", for portability
48704         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
48705         (tags_regexp): Remove, since \| doesn't conform to POSIX.
48706         (sed_extract_prog): Issue s commands one-by-one, rather than
48707         using \| in one s command.
48708
48709 2003-09-16  Paul Eggert  <eggert@twinsun.com>
48710
48711         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
48712         input error, instead of returning NULL the next time we are called
48713         (and therefore losing track of errno).
48714
48715 2003-09-16  Bruno Haible  <bruno@clisp.org>
48716
48717         * gnulib-tool (func_create_testdir): Warn about duplicated
48718         dependencies.
48719
48720 2003-09-15  Paul Eggert  <eggert@twinsun.com>
48721
48722         * modules/argmatch, modules/fatal, modules/obstack,
48723         modules/xalloc, modules/xgethostname: Sort dependencies by
48724         importance, not alphabetically.
48725
48726 2003-09-15  Paul Eggert  <eggert@twinsun.com>
48727
48728         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
48729         fails, so that the caller gets the proper errno.
48730
48731         * lib/readutmp.c (read_utmp): Likewise.
48732         Check for fstat error.  Close stream and free storage
48733         when failing.
48734
48735 2003-09-14  Karl Berry  <karl@gnu.org>
48736
48737         * config/srclist.txt (strdup.c): disable for c89 changes.
48738
48739 2003-09-14  Jim Meyering  <jim@meyering.net>
48740
48741         * lib/getloadavg.c: Correct cpp indentation.
48742         * lib/strdup.c: Likewise.
48743         * lib/vasnprintf.c: Likewise.
48744
48745 2003-09-14  Bruno Haible  <bruno@clisp.org>
48746
48747         * modules/fwriteerror: New file.
48748         * MODULES.html.sh (func_all_modules): Add fwriteerror.
48749
48750 2003-09-14  Bruno Haible  <bruno@clisp.org>
48751
48752         * lib/fwriteerror.h: New file.
48753         * lib/fwriteerror.c: New file.
48754
48755 2003-09-12  Paul Eggert  <eggert@twinsun.com>
48756
48757         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
48758         modules/xgethostname, modules/xalloc: Depend on exit.
48759
48760 2003-09-12  Paul Eggert  <eggert@twinsun.com>
48761
48762         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
48763
48764         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
48765         and AC_MINIX, too, so that their extensions are available.
48766
48767         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
48768         This macro has been superseded by gl_BACKUPFILE.
48769
48770         More patches to assume C89 or better.
48771
48772         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
48773
48774         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
48775         unconditionally.
48776         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
48777         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
48778         Include <string.h>, <stdlib.h> unconditionally.
48779         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
48780         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
48781         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
48782         headers or for string.h.
48783         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
48784         or strtoul.
48785
48786         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
48787         headers.
48788         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
48789         * m4/userspec.m4 (gl_USERSPEC): Likewise.
48790         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
48791         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
48792         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
48793         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
48794         memcpy, memset.
48795         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
48796         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
48797         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
48798         strtol.
48799         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
48800         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
48801         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
48802         strtoul.
48803
48804 2003-09-12  Paul Eggert  <eggert@twinsun.com>
48805
48806         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
48807         * lib/obstack.c [!defined _LIBC]: Likewise.
48808         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
48809         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
48810         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
48811
48812         More changes to assume C89 or better.
48813
48814         * lib/error.c (error_tail): Assume vprintf.
48815
48816         * lib/argmatch.c (getenv): Remove decl.
48817         * lib/progreloc.c (get_full_program_name): Define via prototype.
48818         * lib/setenv.c (clearenv): Likewise.
48819         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
48820         needed.
48821         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
48822         (malloc, memcpy): Remove decls.
48823         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
48824         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
48825         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
48826         (memcpy): Remove macro.
48827         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
48828         (__P): Remove.  All uses removed.
48829         (PTR): Remove.  All uses changed to void *.
48830         (CHAR_BIT, NULL): Remove.
48831         (spaces, zeros, memset_space, memset_zero)
48832         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
48833         Remove.
48834         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
48835         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
48836         Define with prototype.
48837         Remove now-unnecessary prototype decl.
48838         (extra_args_spec): Assume ANSI C.  All uses changed.
48839         (extra_args_spec_iso): Remove.
48840         (my_strftime, emacs_strftimeu): Define via prototype.
48841         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
48842         unconditionally.
48843         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
48844         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
48845         (strtoul, strtol): Remove decls.
48846         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
48847         LONG_MAX): Remove.
48848         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
48849         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
48850         (LOCALE_PARAM_PROTO): New macro.
48851         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
48852         (INTERNAL (strtol), strtol): Define with a prototype.
48853         (PARAMS): Remove.  All uses removed.
48854         * lib/tempname.c: Include <string.h> unconditionally.
48855         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
48856         * lib/xgethostname.c (main): Define with a prototype.
48857         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
48858         Include <stdlib.h> unconditionally.
48859         (calloc, malloc, realloc, free): Remove decls.
48860         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
48861         Include <stdlib.h> unconditionally.  Sort include file names.
48862         (strtod): Remove.
48863         (xstrtod): Define with a prototype.
48864         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
48865         (strtol, strtoul): Remove decls.
48866
48867 2003-09-11  Paul Eggert  <eggert@twinsun.com>
48868
48869         More patches to assume C89 or better.
48870         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
48871         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
48872         string.h, memchr, STDC_HEADERS.
48873
48874 2003-09-11  Paul Eggert  <eggert@twinsun.com>
48875
48876         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
48877         Include <stdlib.h>, <string.h> unconditionally.
48878         Remove now-unnecessary cast to char *.
48879         * lib/strnlen.c: Include <string.h> unconditionally.
48880         * lib/yesno.c (yesno): Define with a prototype.
48881
48882 2003-09-11  Bruno Haible  <bruno@clisp.org>
48883
48884         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
48885
48886 2003-09-10  Jim Meyering  <jim@meyering.net>
48887
48888         * lib/error.c: Correct indentation of cpp directives.
48889
48890 2003-09-10  Bruno Haible  <bruno@clisp.org>
48891
48892         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
48893         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
48894         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
48895         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
48896         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
48897         <stdlib.h> and <string.h> checks.
48898         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
48899         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
48900
48901 2003-09-10  Bruno Haible  <bruno@clisp.org>
48902
48903         * lib/strcspn.c: Include <string.h> unconditionally.
48904         * lib/strpbrk.c: Include <string.h> unconditionally.
48905         * lib/strstr.c: Include <string.h> unconditionally.
48906         * lib/unicodeio.c: Include <string.h> unconditionally.
48907         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
48908         * lib/unsetenv.c: Likewise.
48909         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
48910         * lib/yesno.c: Include <stdlib.h> unconditionally.
48911         (rpmatch): Add prototype.
48912
48913 2003-09-09  Paul Eggert  <eggert@twinsun.com>
48914
48915         More patches to assume C89 or better.
48916         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
48917         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
48918         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
48919         or for string.h.
48920         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
48921         stdlib.h.
48922         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
48923         C headers.
48924         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
48925         string.h.
48926         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
48927         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
48928         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
48929         or for string.h.
48930         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
48931         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
48932         C headers.
48933         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
48934         memcpy.
48935         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
48936         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
48937         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
48938         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
48939         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
48940         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
48941         string.h, free.
48942         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
48943         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
48944         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
48945         C headers, or for string.h.
48946         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
48947         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
48948         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
48949         headers, memory.h, stdlib.h, string.h, strings.h.
48950         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
48951         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
48952         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
48953         strchr.
48954         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
48955         headers, memory.h, string.h.
48956         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
48957         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
48958         free.
48959         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
48960         headers.
48961         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
48962         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
48963         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
48964         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
48965         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
48966
48967 2003-09-09  Paul Eggert  <eggert@twinsun.com>
48968
48969         More K&R removal.
48970
48971         * lib/acosl.c (main): Use a prototype.
48972         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
48973         tanl.c: Likewise.
48974
48975         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
48976
48977         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
48978         (getopt, etopt_long, getopt_long_only, _getopt_internal)
48979         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
48980         with a prototype.
48981         * lib/getopt.c (const): Remove macro.
48982         Include <string.h> unconditionally.
48983         (my_index): Remove; all uses changed to strchr.
48984         (strlen): Remove decl.
48985         (exchange): Remove forward decl; no longer needed.
48986         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
48987         Define with prototype.
48988         * lib/getopt1.c (const): Remove macro.
48989         (getopt_long, getopt_long_only, main): Define with prototype.
48990
48991         * lib/getugroups.c: Include <string.h> unconditionally.
48992
48993         * lib/getusershell.c: Include <stdlib.h> unconditionally.
48994         (getusershell, setusershell, endusershell, readname, main):
48995         Define with prototypes.
48996
48997         * lib/group-member.c: Include group-member.h first.
48998         Include <stdlib.h> unconditionally.
48999
49000         * lib/hard-locale.c: Include hard-locale.h first.
49001         Include <stdlib.h>, <string.h> unconditionally.
49002
49003         * lib/hash.c (free, malloc): Remove decls.
49004         Include <stdlib.h> unconditionally.
49005
49006         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
49007         (getenv): Do not declare.
49008
49009         * lib/idcache.c: Include <string.h> unconditionally.
49010
49011         * lib/long-options.c: Include long-options.h first, to test interface.
49012         Include <stdlib.h> unconditionally.
49013
49014         * lib/makepath.c: Include makepath.h first, to test interface.
49015         Include <stdlib.h> and <string.h> unconditionally.
49016
49017         * lib/linebuffer.c: Include <stdlib.h>.
49018         (free): Remove decl.
49019
49020         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
49021         stddef.h. rpl_malloc returns void *, not char *.
49022         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
49023         prototype.
49024
49025         * lib/md5.h: Include <limits.h> unconditionally.
49026         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
49027         (__P): Remove; all uses removed.
49028         * lib/md5.c: Include "md5.h" first.
49029         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
49030         md5_buffer, md5_process_bytes, md5_process_block):
49031         Define with prototypes.
49032         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
49033         * lib/sha.c: Include "sha.h" first.
49034         Include <stdlib.h>, <string.h> unconditionally.
49035
49036         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
49037         * lib/memcmp.c (__ptr_t): Likewise.
49038         * lib/memrchr.c (__ptr_t): Likewise.
49039         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
49040         Include <string.h> unconditionally.
49041         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
49042         * lib/memchr.c: Include <stdlib.h> unconditionally.
49043         * lib/memchr.c (LONG_MAX): Remove.
49044         * lib/memrchr.c (LONG_MAX): Likewise.
49045         * lib/memchr.c (__memchr): Define via a prototype.
49046         * lib/memrchr.c (__memrchr): Likewise.
49047         * lib/memcmp.c (__P): Remove, and remove all uses.
49048         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
49049         Remove forward decls; no longer needed.
49050         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
49051         Use types required by C89 in prototype.
49052
49053         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
49054         * lib/savedir.c: Likewise.
49055         * lib/mkdir.c (free): Remove decl.
49056         * lib/rmdir.c (rmdir): Define with a prototype.
49057         * lib/savedir.c: Include savedir.h first, to test interface.
49058
49059         * lib/mktime.c (STDC_HEADERS): Remove.
49060         Include <stdlib.h>, <string.h> unconditionally.
49061
49062         * lib/modechange.c: Include <stdlib.h> unconditionally.
49063         (malloc): Remove decl.
49064
49065         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
49066         (free): Remove decl.
49067
49068         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
49069         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
49070         (This type really should be intptr_t, but that's a C99ism.)
49071         (_obstack_memcpy): Remove: all uses changed to memcpy.
49072         Include <string.h> unconditionally.
49073         (struct obstack): Assume __STDC__ for types of members
49074         chunkfun, freefun, extra_arg.
49075         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
49076         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
49077         obstack_begin, obstack_specify_allocation,
49078         obstack_specify_allocation_with_arg, obstack_chunkfun,
49079         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
49080         Remove unprototyped decls and the macros that use them.
49081         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
49082         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
49083         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
49084         (defined __STDC__ && __STDC__)]:
49085         Remove nonprototyped code.
49086         Include <stdlib.h> unconditionally.
49087         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
49088         _obstack_allocated_p, _obstack_free, obstack_free,
49089         _obstack_memory_used, print_and_abort):
49090         Define using prototypes.
49091         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
49092         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
49093         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
49094         obstack_next_free, obstack_object_size, obstack_room) [0]:
49095         Remove unused, unprototyped code.
49096
49097         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
49098
49099         * lib/physmem.c (physmem_total, physmem_available, main): Define
49100         with prototypes.
49101
49102         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
49103         (main): Define with a prototype.
49104
49105         * lib/posixver.c (getenv): Remove decl.
49106
49107         * lib/putenv.c (malloc): Returns void *, not char *.
49108         Include <string.h> unconditionally.
49109         (strchr, memcpy, NULL): Do not define.
49110
49111         * lib/readtokens.c: Include readtokens.h first, to test interface.
49112         Include <stdlib.h>, <string.h> unconditionally.
49113         (init_tokenbuffer): Define with a prototype.
49114
49115         * lib/regex.c (PARAMS): Remove.  All uses removed.
49116         All uses of _RE_ARGS removed, too.
49117         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
49118         unconditionally.
49119         (bzero): Assume memset exists.
49120         (memcmp, memcpy, NULL): Remove.
49121         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
49122         char, or assignments to local vars of type signed char.
49123         (init_syntax_once, PREFIX(extract_number_and_incr),
49124         PREFIX(print_partial_compiled_pattern),
49125         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
49126         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
49127         PREFIX(regex_grow_registers), PREFIX(regex_compile),
49128         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
49129         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
49130         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
49131         wcs_compile_range, byte_compile_range, truncate_wchar,
49132         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
49133         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
49134         count_mbs_length, wcs_re_match_2_internal,
49135         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
49136         PREFIX(alt_match_null_string_p),
49137         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
49138         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
49139         regfree, PREFIX(extract_number)): Define with prototype.  Remove
49140         now-unnecessary declaration, if any.
49141         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
49142         regcomp, regexec):
49143         Remove now-unnecessary casts among pointer types.
49144         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
49145
49146         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
49147         (free): Remove decl.
49148
49149         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
49150
49151         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
49152         (free): Remove decl.
49153
49154         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
49155         * lib/xgetcwd.c: Likewise.
49156
49157         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
49158         (free): Remove decl.
49159
49160         * lib/strchrnul.c (strchrnul): Define with a prototype.
49161         Fix bug: c_in was not converted to char before searching.
49162
49163         The following changes are not K&R related:
49164
49165         * lib/group-member.h: Include <sys/types.h>, so that this file is
49166         self-contained.
49167         * lib/makepath.h: Likewise.
49168
49169         * lib/getusershell.c (readname, default_index, line_size, readname):
49170         Use size_t, not int, for sizes.
49171         (readname): If the size overflows, report an error instead of
49172         looping forever.
49173
49174 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49175
49176         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
49177         libc.
49178
49179 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49180
49181         * README: New section: portability guidelines.
49182
49183 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49184
49185         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
49186         C89 spec.
49187
49188 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49189
49190         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
49191
49192 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49193
49194         Assume C89 or better; remove K&R cruft.
49195         A few of these changes were first proposed by Derek Robert Price
49196         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
49197
49198         * lib/addext.c: Include <string.h> unconditionally.
49199         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
49200         Don't declare getenv or malloc.
49201
49202         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
49203         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
49204         (NULL): Remove.
49205         (find_stack_direction, alloca): Use prototypes.
49206
49207         * lib/atexit.c (atexit): Define using a prototype.
49208
49209         * lib/basename.c, dirname.c, stripslash.c:
49210         Include <string.h> unconditionally.
49211
49212         * lib/bcopy.c: Include <stddef.h>.
49213         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
49214
49215         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
49216
49217         * lib/error.h (error, error_at_line, error_print_progname)
49218         [! (defined (__STDC__) && __STDC__)]: Remove decls.
49219         * lib/error.c: Include error.h first, to check interface.
49220         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49221         (VA_START): Remove; all uses changeed to va_start.
49222         (exit, strerror): Remove decls.
49223         (error_print_progname): Prototype uncondionally.
49224         Don't include <errno.h>; no longer needed.
49225         (private_strerror): Remove.
49226         (error_tail): Always define.
49227         (error, error_at_line): Assume C89 or better; always use prototypes.
49228         * lib/fatal.c: Include "fatal.h" first, to test interface.
49229         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49230         (VA_START): Remove; all uses changed to va_start.
49231         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
49232         this case.
49233         (exit): Remove decl.
49234         (fatal): Prototype unconditionally.  Assume va_start works.
49235         Abort at end, to pacify gcc.
49236
49237         * lib/euidaccess.c (main): Define with a prototype.
49238
49239         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
49240
49241         * lib/exitfail.c: Include <stdlib.h> unconditionally.
49242
49243         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
49244         prototypes.
49245         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
49246         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
49247         (getenv): Remove decl.
49248         (fnmatch): Define using a prototype.
49249         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
49250         (FCT): Define using a prototype.
49251
49252         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
49253
49254         * lib/gethostname.c: Include <stddef.h>.
49255         (gethostname): Define with prototype.  Length is size_t, not int.
49256
49257 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49258
49259         Assume C89 or better; remove K&R cruft.
49260         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
49261         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
49262         string.h, getenv, malloc.
49263         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
49264         headers.
49265         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
49266         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
49267         do not check for strerror.
49268         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
49269         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
49270         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
49271         do not check for doprnt or vprintf.
49272         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
49273         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
49274
49275 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49276
49277         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
49278         getversion.c should have been removed then, but was accidentally
49279         preserved.
49280
49281         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
49282         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
49283
49284 2003-09-08  Karl Berry  <karl@gnu.org>
49285
49286         * config/config.sub, config.guess, srclistvars.sh: update from savannah
49287                 config, forget about prep.
49288
49289         * config/depcomp, missing: update from automake.
49290
49291 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49292
49293         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
49294         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49295
49296 2003-09-07  Paul Eggert  <eggert@twinsun.com>
49297
49298         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
49299         copy_tm_result.  Bug reported by Simon Josefsson in
49300         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
49301
49302 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49303
49304         * m4/time_r.m4: New file.
49305         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
49306         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
49307         is. Check for timegm declaration.
49308         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
49309         Do not check for gmtime_r.
49310         Replace mktime if __mktime_internal does not exist and if mktime
49311         hasn't been replaced already.
49312
49313 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49314
49315         * lib/time_r.c, lib/time_r.h: New files.
49316
49317         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
49318         __localtime_r.
49319         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
49320         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
49321
49322         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
49323         __gmtime_r.
49324         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
49325         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
49326         Include <time_r.h>.
49327
49328         * lib/timegm.c: Switch to glibc implementation, with the following
49329         changes:
49330         [defined HAVE_CONFIG_H]: Include <config.h>.
49331         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
49332         (__mktime_internal) [!defined _LIBC]: New decl.
49333         (__gmtime_r) [!defined _LIBC]: New macro and function.
49334         (timegm): Use a prototype, since gnulib assumes C89.
49335         Do not bother declaring tmp to be const, as it's not really usefu.
49336         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
49337         (timegm): Declare only if HAVE_DECL_TIMEGM.
49338
49339 2003-09-06  Paul Eggert  <eggert@twinsun.com>
49340
49341         * MODULES.html.sh (func_all_modules): Add time_r.
49342         * modules/time_r: New file.
49343         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
49344         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
49345
49346 2003-09-03  Paul Eggert  <eggert@twinsun.com>
49347
49348         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
49349         Bug reported by Lute Kamstra in
49350         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
49351
49352         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
49353         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
49354         course with correspondingly smaller numbers for tomorrow and
49355         yesterday.  From Tadayoshi Funaba.  Originally installed into
49356         sh-utils on 1999-08-07, but the patch got lost (I guess during the
49357         coreutils merge?).
49358
49359 2003-08-31  Simon Josefsson  <jas@extundo.com>
49360
49361         * modules/timegm: New file.
49362         * MODULES.html.sh (func_all_modules): Add timegm.
49363
49364 2003-08-31  Simon Josefsson  <jas@extundo.com>
49365
49366         * m4/timegm.m4: New file.
49367
49368 2003-08-31  Simon Josefsson  <jas@extundo.com>
49369
49370         * lib/timegm.h: New file.
49371         * lib/timegm.c: New file.  Based on
49372         wget-1.8.2/src/http.c:mktime_from_utc.
49373
49374 2003-08-31  Karl Berry  <karl@gnu.org>
49375
49376         * lib/argp.h: update from libc.
49377
49378 2003-08-28  Bruno Haible  <bruno@clisp.org>
49379
49380         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
49381         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
49382         followed by '#define fnmatch fnmatch_posix' gives an error.
49383
49384 2003-08-28  Bruno Haible  <bruno@clisp.org>
49385
49386         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
49387         warning on QNX, which defines O_BINARY to 000000.
49388
49389 2003-08-27  Jim Meyering  <jim@meyering.net>
49390
49391         * m4/mkstemp.m4: Require that the system mkstemp be able to create
49392         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
49393         would fail after 32.  Reported by Danny Levinson.  Details here:
49394         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
49395
49396 2003-08-24  Bruno Haible  <bruno@clisp.org>
49397
49398         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
49399         MSVC7 <stdio.h> is included later.
49400
49401 2003-08-22  Simon Josefsson  <jas@extundo.com>
49402
49403         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
49404
49405 2003-08-20  Karl Berry  <karl@gnu.org>
49406
49407         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
49408
49409 2003-08-20  Bruno Haible  <bruno@clisp.org>
49410
49411         * modules/progname: New file.
49412         * MODULES.html.sh (func_all_modules): Add progname.
49413
49414 2003-08-20  Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/progname.h: New file, from GNU gettext.
49417         * lib/progname.c: New file, from GNU gettext.
49418         * lib/progreloc.c: New file, from GNU gettext.
49419
49420 2003-08-19  Jim Meyering  <jim@meyering.net>
49421
49422         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
49423         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
49424
49425 2003-08-19  Bruno Haible  <bruno@clisp.org>
49426
49427         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
49428         more.
49429
49430 2003-08-19  Bruno Haible  <bruno@clisp.org>
49431
49432         * lib/xstrdup.c: Assume <string.h> exists.
49433
49434 2003-08-18  Paul Eggert  <eggert@twinsun.com>
49435
49436         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
49437         in makefile rules.
49438
49439 2003-08-18  Jim Meyering  <jim@meyering.net>
49440
49441         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
49442         * m4/lib-ld.m4: Likewise.
49443
49444 2003-08-18  Jim Meyering  <jim@meyering.net>
49445
49446         * lib/setenv.h: Indent nested cpp directive.
49447         * lib/vasnprintf.c: Remove trailing blanks.
49448
49449 2003-08-17  Simon Josefsson  <jas@extundo.com>
49450
49451         * modules/xstrndup: New file.
49452         * MODULES.html.sh (func_all_modules): Add xstrndup.
49453
49454 2003-08-17  Simon Josefsson  <jas@extundo.com>
49455
49456         * modules/argp: Fix autoconf macro name. Add more dependencies.
49457
49458 2003-08-17  Simon Josefsson  <jas@extundo.com>
49459
49460         * m4/xstrndup.m4: New file.
49461
49462 2003-08-17  Simon Josefsson  <jas@extundo.com>
49463
49464         * m4/argp.m4: New file.
49465
49466 2003-08-17  Simon Josefsson  <jas@extundo.com>
49467             Bruno Haible  <bruno@clisp.org>
49468
49469         * lib/xstrndup.h: New file.
49470         * lib/xstrndup.c: New file.
49471
49472 2003-08-17  Bruno Haible  <bruno@clisp.org>
49473
49474         * modules/strndup (Files, Include): Add lib/strndup.h.
49475
49476 2003-08-17  Bruno Haible  <bruno@clisp.org>
49477
49478         * modules/euidaccess (Files): Add lib/euidaccess.h.
49479
49480 2003-08-17  Bruno Haible  <bruno@clisp.org>
49481
49482         * lib/strndup.h: New file.
49483
49484 2003-08-17  Bruno Haible  <bruno@clisp.org>
49485
49486         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
49487         like AC_GNU_SOURCE.
49488         * modules/extensions (configure.ac): Comment out the invocation of
49489         gl_USE_SYSTEM_EXTENSIONS.
49490
49491 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49492
49493         Merges from coreutils, etc.
49494         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
49495         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
49496         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
49497         fixing a typo.
49498         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
49499         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
49500
49501 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49502
49503         Document merge from coreutils.
49504         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
49505         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
49506         * modules/utime: Add m4/utimes-null.m4.
49507
49508 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49509
49510         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
49511         space, undoing this 2003-08-12 change:
49512         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
49513
49514 2003-08-16  Paul Eggert  <eggert@twinsun.com>
49515
49516         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
49517         strtoul.c from libc, undoing this 2003-08-12 change:
49518         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
49519
49520 2003-08-16  Jim Meyering  <jim@meyering.net>
49521
49522         Merges from coreutils.
49523         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
49524         prefix.  Adjust cache variables similarly.  Create 500 rather than
49525         just 300 files, to exercise bug on Darwin6.5, too.
49526         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
49527         $missing_dir.
49528         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
49529         AM_SYS_POSIX_TERMIOS.
49530         Reported by mkc@mathdogs.com.
49531         Also change use of $am_cv_sys_posix_termios
49532         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
49533         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
49534         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
49535         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
49536         in /proc/mounts until it finds one with matching device number.  This
49537         is unnecessary when the FILE argument *is* a mount point.  No stat call
49538         is necessary in that case.  So, disable the statvfs-testing code on
49539         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
49540         as RedHat bug# 84846.
49541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
49542         to 1MB, so as not to render systems with no stack size limit (e.g.,
49543         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
49544         Include <unistd.h>.  On some systems,
49545         it is required for the definition of _SC_PAGESIZE.
49546
49547 2003-08-16  Jim Meyering  <jim@meyering.net>
49548
49549         Merge from coreutils.
49550         * lib/xstrtoimax.c: #else #if -> #elif.
49551         * lib/xstrtoumax.c: Likewise.
49552
49553 2003-08-16  Jim Meyering  <jim@meyering.net>
49554
49555         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
49556         * m4/utimes.m4: Removed.
49557         * m4/utimes-null.m4: Renamed from utimes.m4.
49558
49559         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
49560         to 1MB, so as not to render systems with no stack size limit (e.g.,
49561         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
49562         Include <unistd.h>.  On some systems,
49563         it is required for the definition of _SC_PAGESIZE.
49564
49565 2003-08-16  Jim Meyering  <jim@meyering.net>
49566         and Paul Eggert  <eggert@cs.ucla.edu>
49567
49568         Merges from coreutils, etc.
49569
49570         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
49571         using the latest version from cvs.  This avoids problems with #line
49572         directives using a vendor (Sun) compiler.
49573         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
49574         Don't set GETGROUPS_LIB here; now it's
49575         done via getgroups.m4's wrapper function.
49576         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
49577         rather than just in sh-util/configure.in, so that the
49578         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
49579         same.
49580         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
49581         AC_FUNC_GETLOADAVG where to find getloadavg.c.
49582         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
49583         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
49584         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
49585         Remove code that is now done by the newly-required macros.
49586         Append $(EXEEXT) to DF_PROG.
49587         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
49588         Do not invoke or require the following here,
49589         since prereq.m4 or some gnulib .m4 now does this for us:
49590         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
49591         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
49592         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
49593         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
49594         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
49595         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
49596         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
49597         AC_FUNC_OBSTACK.
49598         Do not replace the following functions, as this is now the job
49599         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
49600         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
49601         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
49602         atexit getpass, strdup, getpagesize.
49603         Replace 'raise'.
49604         Do not check for the following functions, as this is now the job
49605         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
49606         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
49607         setregid.
49608         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
49609         Check for sys/sysctl.h.
49610         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
49611         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
49612         of checking for ssize_t ourselves.
49613
49614         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
49615         Require every macro that gnulib/modules/* suggests for us.
49616         (jm_PREREQ_ADDEXT): New macro.
49617         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
49618         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
49619
49620         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
49621         (gl_PHYSMEM): Use it.
49622         Also check for `table' function.
49623         Check for new headers and functions.
49624         Add check for sys/sysmp.h.
49625         With suggestions from Kaveh Ghazi.
49626         Ignore headers that are present but cannot be compiled.  This
49627         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
49628         C 5.4.
49629
49630 2003-08-15  Paul Eggert  <eggert@twinsun.com>
49631
49632         Document merge from coreutils.
49633         * modules/userspec: Depend on posixver.
49634         * modules/strftime: Depend on tzset.
49635
49636 2003-08-15  Paul Eggert  <eggert@twinsun.com>
49637
49638         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
49639         rather than tab, after '#' in shell-script copyright notices.
49640         Suggested by Bruno Haible.
49641
49642 2003-08-15  Paul Eggert  <eggert@twinsun.com>
49643
49644         * config/srclist-update: Use three spaces, rather than tab, after '#'
49645         in shell-script copyright notices.  Suggested by Bruno Haible.
49646         Remove unnecessary parenthesization in regular expression.
49647
49648 2003-08-15  Jim Meyering  <jim@meyering.net>
49649
49650         Merge from coreutils.
49651         * lib/xgethostname.c: Include <stdlib.h>.
49652         (xghostname): Don't exit for anything other than memory-related
49653         failure; just return NULL.
49654         * lib/userspec.c: Include "posixver.h".
49655         (parse_user_spec): Accept `.' as a separator only
49656         in pre-POSIX-200112 mode.
49657         * lib/strtoimax.c: Use #elif rather than #else #if.
49658         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
49659         Remove function, now that we can rely on a working tzset function.
49660         [!_LIBC]: Ensure that the required autoconf test has been run.
49661         [!defined _NL_CURRENT && HAVE_STRFTIME]:
49662         Use underlying_strftime for %r.
49663         * lib/sha.c: Merge in some clean-up and optimization changes from
49664         glibc.
49665         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
49666         Ensure that it is a multiple of 64.
49667         Rearrange loop exit tests so as to avoid performing an
49668         additional fread after encountering an error or EOF.
49669         * lib/realloc.c: Update copyright date.
49670
49671 2003-08-15  Jim Meyering  <jim@meyering.net>
49672         and Paul Eggert  <eggert@twinsun.com>
49673
49674         Merge from coreutils.
49675         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
49676         member but strut utmpx does not.  Needed for AIX 4.3.3.
49677         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
49678
49679 2003-08-15  Jim Meyering  <jim@meyering.net>
49680         and Paul Eggert  <eggert@cs.ucla.edu>
49681
49682         Merges from coreutils, etc.
49683         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
49684         Require gl_FUNC_TZSET_CLOBBER.
49685         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
49686         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
49687         members.
49688
49689 2003-08-14  Paul Eggert  <eggert@twinsun.com>
49690
49691         Help the merge from coreutils.
49692         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
49693         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
49694         * m4/tzset.m4: Use it too.
49695
49696 2003-08-14  Paul Eggert  <eggert@twinsun.com>
49697
49698         * modules/tzset: New file.
49699
49700 2003-08-14  Jim Meyering  <jim@meyering.net>
49701
49702         Merges from coreutils.
49703         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
49704         variable names, rather than @FNMATCH_H@.
49705         * modules/alloca: Likewise for $(ALLOCA_H).
49706
49707         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
49708         the three copies of the literal target, `fnmatch.h'.
49709         * modules/alloca (alloca.h): Likewise.
49710
49711 2003-08-14  Jim Meyering  <jim@meyering.net>
49712
49713         Merge from coreutils.
49714         * m4/tzset.m4: New file.
49715         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
49716         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
49717         otherwise, AIX 5.1 systems would end up using the latter.
49718         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
49719         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
49720         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
49721         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
49722
49723 2003-08-14  Jim Meyering  <jim@meyering.net>
49724
49725         Merge from coreutils.
49726         * lib/obstack.h: Whitespace changes.
49727         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
49728         and xcalloc return values.
49729         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
49730         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
49731         hang on OSF/1 5.1 for DIR on both local and remote file systems.
49732         Reported by (and fix confirmed by) Nelson H. F. Beebe.
49733         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
49734         error from mntctl.
49735         Use mntctl's return value to drive the entry-processing loop, since
49736         we can't rely on the value of the vmt_length member in the last
49737         entry.  On some systems doing so could result in exhausting
49738         virtual memory.  Based in part on a patch from Mike Jetzer.
49739
49740 2003-08-14  Jim Meyering  <jim@meyering.net>
49741         and Paul Eggert  <eggert@twinsun.com>
49742
49743         Merges from coreutils, plus other fixes.
49744         * lib/physmem.c: Merge in portability changes from gcc/libiberty
49745         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
49746         for credits and details.  Thanks to Kaveh Ghazi for helping
49747         to keep these files in sync.
49748         (ARRAY_SIZE): Define it.
49749         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
49750         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
49751         (memcasecmp): Don't assume size_t fits in unsigned int.
49752         Remove casts and duplicate code.
49753         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
49754         (memcpy): Remove definition.
49755         Merge in some clean-up and optimization changes from glibc.
49756         [BLOCKSIZE]: Move definition to top of file.
49757         Ensure that it is a multiple of 64.
49758         Rearrange loop exit tests so as to avoid performing an
49759         additional fread after encountering an error or EOF.
49760         * lib/md5.h (md5_uintptr): Define.
49761         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
49762         return to the initial working directory.  Preserve errno
49763         for caller.
49764         * lib/idcache.c: Include "xalloc.h".
49765         (xmalloc, xrealloc): Remove decls.
49766         (getuser): Remove casts no longer required in C89.
49767         * lib/human.c: Include stdio.h, for sprintf.
49768         * lib/group-member.c: Include "xalloc.h".
49769         (xmalloc, xrealloc): Remove decls.
49770         (get_group_info): Remove casts no longer required in C89.
49771         * lib/getusershell.c (readname): Remove casts no longer required in
49772         C89.
49773         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
49774         * lib/getline.c: Whitespace fix, from coreutils.
49775
49776 2003-08-13  Paul Eggert  <eggert@twinsun.com>
49777
49778         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
49779         Check for isascii.
49780
49781         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
49782         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
49783         Undo previous (whitespace-only) change.
49784
49785 2003-08-13  Paul Eggert  <eggert@twinsun.com>
49786
49787         * lib/exclude.c: Include <ctype.h>
49788         (IN_CTYPE_DOMAIN): New macro.
49789         (is_space): New fn.
49790         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
49791         and empty lines.
49792
49793         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
49794         Undo previous (whitespace-only) change.
49795
49796 2003-08-13  Paul Eggert  <eggert@twinsun.com>
49797
49798         * config/srclist-update: Change update back to the old behavior,
49799         leaving whitespace alone.  Use one 'sed' command rather than a
49800         pipeline.
49801         (fixlicense): Now a variable, not a function.
49802         (remove_trailing_blanks): Remove.
49803         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
49804         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
49805         Undo previous (whitespace-only) change.
49806
49807 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49808
49809         Merge from coreutils.
49810         * modules/euidaccess: Add lib_SOURCES, include for new
49811         file euidaccess.h
49812
49813 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49814
49815         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
49816         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
49817         Normalize leading white space and remove trailing white space.
49818
49819         Merge from coreutils
49820         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
49821
49822         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
49823         0.12.1.  These files are now being upgraded automatically by
49824         ../config/srclist-update.
49825
49826 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49827
49828         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
49829         Normalize leading white space and remove trailing white space.
49830         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
49831         notice, as per ../config/srclist-update.
49832
49833         Merge from coreutils.
49834         * lib/euidaccess.h: New file.
49835         * lib/euidaccess.c: Include it.
49836         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
49837         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
49838         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
49839
49840 2003-08-12  Paul Eggert  <eggert@twinsun.com>
49841
49842         * config/srclist-update: Add copyright notice.
49843         (remove_id_lines, remove_trailing_blanks): New constants.
49844         (fixfile): Use them to normalize spacing a bit in copied files.
49845         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
49846         Normalize leading white space and remove trailing white space.
49847
49848         * config/texinfo.tex: Sync with texinfo.
49849
49850         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
49851         strtoul.c from libc, to merge coreutils whitespace changes.
49852
49853         * config/srclist.txt: Get the following m4 files from gettext:
49854         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
49855         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
49856         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
49857         wint_t.m4.
49858
49859 2003-08-12  Karl Berry  <karl@gnu.org>
49860
49861         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
49862         been made.
49863
49864 2003-08-11  Paul Eggert  <eggert@twinsun.com>
49865
49866         * modules/gnu-source, m4/gnu-source.m4:
49867         Remove; we're assuming Autoconf 2.54 or later now.
49868         Suggested by Bruno Haible.
49869         * MODULES.html.sh (func_all_modules): Remove gnu-source.
49870
49871 2003-08-11  Bruno Haible  <bruno@clisp.org>
49872
49873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
49874
49875 2003-08-11  Bruno Haible  <bruno@clisp.org>
49876
49877         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
49878         (vasnprintf): Use it instead of wcslen.
49879
49880 2003-08-11  Bruno Haible  <bruno@clisp.org>
49881
49882         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
49883         value to ensure that _Bool promotes to int. Use #define for _Bool when
49884         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
49885
49886 2003-08-10  Karl Berry  <karl@gnu.org>
49887
49888         * lib/regex.h: update from libc (whitespace fix).
49889
49890 2003-08-09  Paul Eggert  <eggert@twinsun.com>
49891
49892         Merge some files from coreutils.  These changes were
49893         originally made by Jim Meyering.
49894         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
49895         many older Unixes require this.
49896         * lib/alloca.c (alloca): Remove cast to argument of free;
49897         no longer needed in C89.
49898         * lib/alloca_.h, regex.h: Fix white space to match
49899         what GNU indent does.
49900
49901 2003-08-09  Paul Eggert  <eggert@twinsun.com>
49902
49903         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
49904         apparently Emacs's Unicode mode got confused before my 2003-08-05
49905         checkin.
49906
49907 2003-08-08  Paul Eggert  <eggert@twinsun.com>
49908
49909         * m4/extensions.m4: New file.
49910         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
49911         Require gl_USE_SYSTEM_EXTENSIONS.
49912         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
49913         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
49914
49915 2003-08-08  Paul Eggert  <eggert@twinsun.com>
49916
49917         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
49918         * modules/extensions, modules/gnu-source: New files.
49919         * modules/timespec, modules/unlocked-io: Depend on extensions.
49920
49921 2003-08-07  Paul Eggert  <eggert@twinsun.com>
49922
49923         * modules/restrict: New file.
49924         * MODULES.html.sh (func_all_modules): Add restrict.
49925         * modules/regex: Depend on restrict.
49926
49927 2003-08-07  Paul Eggert  <eggert@twinsun.com>
49928
49929         * m4/restrict.m4: New file.
49930         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
49931
49932 2003-08-07  Bruno Haible  <bruno@clisp.org>
49933
49934         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
49935         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
49936
49937 2003-08-07  Bruno Haible  <bruno@clisp.org>
49938
49939         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
49940         makes the module 'getndelim2' compatible with the module 'getline'.
49941
49942 2003-08-05  Paul Eggert  <eggert@twinsun.com>
49943
49944         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
49945         byte with "\201" to avoid glitches when editing that source file
49946         with multi-gnome-terminal.
49947
49948 2003-08-05  Paul Eggert  <eggert@twinsun.com>
49949
49950         * lib/bumpalloc.h: Remove.
49951
49952 2003-08-05  Paul Eggert  <eggert@twinsun.com>
49953
49954         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
49955         * modules/bumpalloc: Remove.
49956
49957 2003-08-04  Paul Eggert  <eggert@twinsun.com>
49958
49959         * lib/getloadavg.c: Change copyright notice and spacing to conform to
49960         GNU coding style.
49961
49962         Merge from coreutils.
49963         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
49964         1. From glibc.
49965         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
49966         from Karl Berry, implemented by Jim Meyering.
49967         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
49968         from Dmitry V. Levin.
49969         Remove anachronistic cast of xrealloc.
49970         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
49971         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
49972         type. Otherwise, it wouldn't compile with at least /bin/cc on
49973         ymp-cray-unicos9.0.2.X.
49974         Combine two mostly-identical uses of alloca into one.
49975         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
49976
49977 2003-08-04  Dave Love  <d.love@dl.ac.uk>
49978
49979         [From Emacs.]
49980
49981         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
49982         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
49983         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
49984         obsolete NLIST_NAME_UNION.
49985         [__GNU__]: Undef BSD and FSCALE.
49986         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
49987
49988 2003-08-03  Paul Eggert  <eggert@twinsun.com>
49989
49990         * lib/stdbool_.h (_Bool): Make it signed char, instead of
49991         an enum type, so that it's guaranteed to promote to int.  See:
49992         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
49993
49994 2003-08-03  Karl Berry  <karl@gnu.org>
49995
49996         * config/depcomp: update from automake.
49997
49998 2003-07-31  Paul Eggert  <eggert@twinsun.com>
49999
50000         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
50001         (strerror): Don't assume that a printable int fits in 14 bytes.
50002
50003 2003-07-31  Bruno Haible  <bruno@clisp.org>
50004
50005         * modules/getpass-gnu: New file.
50006         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
50007
50008 2003-07-31  Bruno Haible  <bruno@clisp.org>
50009
50010         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
50011
50012 2003-07-24  Karl Berry  <karl@gnu.org>
50013
50014         * config/missing: update from automake.
50015
50016 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
50017             Bruno Haible  <bruno@clisp.org>
50018
50019         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
50020         * lib/getline.c (getline, getdelim): Likewise.
50021         Remove _GNU_SOURCE define; now it's defined in config.h through
50022         m4/getline.m4.
50023
50024 2003-07-23  Karl Berry  <karl@gnu.org>
50025
50026         * config/config.sub: update from prep.
50027
50028 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50029
50030         * modules/xalloc (Depends-on): Add exitfail.
50031         * modules/xmemcoll: Likewise.
50032
50033 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50034
50035         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
50036         over-parenthesization in macros.
50037
50038         Sync with coreutils.
50039
50040         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
50041         required by C99.
50042
50043         Use `exit_failure' for xalloc and xmemcoll instead of their own
50044         private exit-failure variables.
50045         * lib/xalloc.h (xalloc_exit_failure): Remove.
50046         * lib/xmalloc.c: Likewise.  Include exitfail.h.
50047         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
50048         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
50049         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
50050         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
50051
50052 2003-07-20  Jim Meyering  <jim@meyering.net>
50053
50054         * modules/closeout (Depends-on): Add exitfail.
50055         Suggestion from Bruno Haible.
50056
50057 2003-07-19  Karl Berry  <karl@gnu.org>
50058
50059         * config/config.sub: update from prep.
50060
50061 2003-07-18  Paul Eggert  <eggert@twinsun.com>
50062
50063         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
50064         Remove.
50065         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
50066         to test that it can stand by itself.  Include "exitfail.h".
50067         Clients should set exit_failure instead.
50068         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
50069
50070 2003-07-18  Bruno Haible  <bruno@clisp.org>
50071
50072         * modules/getndelim2: New file.
50073         * modules/getline: Share files with module getndelim2.
50074         * modules/getnline: Depend on getndelim2 instead of sharing files with
50075         it. Add getnline.c to lib_SOURCES.
50076         * MODULES.html.sh (func_all_modules): Add getndelim2.
50077
50078 2003-07-18  Bruno Haible  <bruno@clisp.org>
50079
50080         * m4/getndelim2.m4: New file.
50081         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
50082         invoke gl_PREREQ_GETNDELIM2.
50083         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
50084         gl_PREREQ_GETNDELIM2.
50085         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
50086         gl_GETNDELIM2.
50087
50088 2003-07-18  Bruno Haible  <bruno@clisp.org>
50089
50090         * lib/getndelim2.h: New file.
50091         * lib/getndelim2.c: Make into a module of its own. Include config.h,
50092         getndelim2.h.
50093         (getndelim2): Make non-static. Change return type to ssize_t.
50094         * lib/getline.h: Change argument names.
50095         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
50096         * lib/getnline.c: Include getndelim2.h.
50097
50098 2003-07-18  Andreas Schwab  <schwab@suse.de>
50099
50100         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
50101
50102 2003-07-17  Karl Berry  <karl@gnu.org>
50103
50104         * config/config.sub: update from prep.
50105
50106 2003-07-17  Bruno Haible  <bruno@clisp.org>
50107
50108         * modules/getnline: New file.
50109         * modules/getline: Add lib/getndelim2.c to source file list.
50110         * MODULES.html.sh (func_all_modules): Add getnline.
50111
50112 2003-07-17  Bruno Haible  <bruno@clisp.org>
50113
50114         * m4/getnline.m4: New file.
50115
50116 2003-07-17  Bruno Haible  <bruno@clisp.org>
50117
50118         * m4/Makefile.am.in: Remove file.
50119         * m4/Makefile.am: Remove file.
50120         * m4/Makefile.in: Remove file.
50121
50122 2003-07-17  Bruno Haible  <bruno@clisp.org>
50123
50124         * lib/getnline.h: New file.
50125         * lib/getnline.c: New file.
50126         * lib/getndelim2.c: New file, extracted from getline.c.
50127         (getndelim2): Renamed from getdelim2, with added nmax argument.
50128         * lib/getline.c: Include getndelim2.c.
50129         (getdelim2): Moved out to getndelim2.c.
50130         (getline, getdelim): Update.
50131
50132 2003-07-17  Bruno Haible  <bruno@clisp.org>
50133
50134         * lib/Makefile.am: Remove file.
50135         * lib/Makefile.in: Remove file.
50136
50137 2003-07-17  Bruno Haible  <bruno@clisp.org>
50138
50139         * configure.in: Remove file.
50140         * Makefile.in: Remove file.
50141
50142 2003-07-17  Bruno Haible  <bruno@clisp.org>
50143
50144         * MODULES.html.sh: Put the </BODY> right before </HTML>.
50145
50146 2003-07-16  Karl Berry  <karl@gnu.org>
50147
50148         * config/srclist-update: was running fixlicense twice, which caused
50149                 texinfo.tex to be nullified for some reason.  Simplify,
50150                 $gplsrc is no longer needed as far as I can see?
50151
50152 2003-07-16  Jim Meyering  <jim@meyering.net>
50153
50154         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
50155
50156 2003-07-15  Paul Eggert  <eggert@twinsun.com>
50157
50158         * config/srclist.txt: Get the following files from gettext-runtime/intl
50159         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
50160         ref-del.sin.  From Bruno Haible.
50161         * config/srclist-update (fixfile): Change grep pattern again, since the
50162         previous fix didn't work (there was another trailing $).  Use
50163         '[$]' to escape the $s.
50164
50165 2003-07-15  Karl Berry  <karl@gnu.org>
50166
50167         * lib/vasnprintf.c: update from gettext.
50168
50169 2003-07-15  Karl Berry  <karl@gnu.org>
50170
50171         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
50172         gets expanded when surrounded by '$'.
50173
50174 2003-07-15  Jim Meyering  <jim@meyering.net>
50175
50176         * modules/save-cwd: Don't depend on error.  From Derek Price.
50177
50178 2003-07-15  Jim Meyering  <jim@meyering.net>
50179
50180         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
50181
50182 2003-07-14  Simon Josefsson  <jas@extundo.com>
50183
50184         * modules/mempcpy: New file.
50185         * MODULES.html.sh (func_all_modules): Add mempcpy.
50186
50187 2003-07-14  Simon Josefsson  <jas@extundo.com>
50188
50189         * m4/mempcpy.m4: New file.
50190
50191 2003-07-14  Simon Josefsson  <jas@extundo.com>
50192
50193         * lib/mempcpy.h: New file.
50194         * lib/mempcpy.c: New file.
50195
50196 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50197
50198         * modules/getdate, modules/posixtm: Depend on mktime.
50199
50200 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50201
50202         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
50203         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
50204         unicodeio.c, unicodeio.h, unlocked-io.h:
50205         Switch from LGPL to GPL.
50206
50207 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50208
50209         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
50210         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
50211         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
50212         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
50213         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
50214         updated automatically by ../config/srclist-update.  This changes
50215         their license from LPGL to GPL.
50216
50217 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50218
50219         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
50220         assumed to refer to the root of the most recent stable gettext version.
50221         * config/srclistvars.sh: Add defaults for eggert.
50222         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
50223         Match "This program" as well as "The program".  This is needed
50224         for gettext.
50225
50226 2003-07-14  Jim Meyering  <jim@meyering.net>
50227
50228         Don't emit diagnostics.  Let callers do that.
50229         * lib/save-cwd.c: Don't include "error.h".
50230         (save_cwd): Don't call error.  Ensure that errno is valid
50231         when returning nonzero.
50232
50233         * lib/save-cwd.h (restore_cwd): Update prototype.
50234         * lib/save-cwd.c (restore_cwd): Remove two parameters.
50235         Simplify.  Don't call error upon failure.  Let callers do that.
50236         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
50237         when auditing is enabled.  But don't bother updating the #if.
50238
50239 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
50240
50241         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
50242         it breaks C++ compilation.
50243         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
50244
50245 2003-07-10  Simon Josefsson  <jas@extundo.com>
50246
50247         * modules/strchrnul (Makefile.am): Add strchrnul.h.
50248
50249 2003-07-10  Jim Meyering  <jim@meyering.net>
50250
50251         * m4/clock_time.m4: Remove trailing blank.
50252         * m4/intmax_t.m4: Likewise.
50253
50254 2003-07-10  Jim Meyering  <jim@meyering.net>
50255
50256         * lib/vasnprintf.c: Remove trailing blanks.
50257         Make cpp indentation consistent.
50258
50259 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50260
50261         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
50262         posixver.c, strftime.c, strnlen.c, strverscmp.c:
50263         Switch from LGPL to GPL.
50264
50265 2003-07-09  Paul Eggert  <eggert@twinsun.com>
50266
50267         * config/srclist.txt: Sort sublists.  Add
50268         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
50269         that differ from gnulib for one reason or another; we'd like this list
50270         to be smaller but for now let's document what we have.
50271
50272 2003-07-08  Paul Eggert  <eggert@twinsun.com>
50273
50274         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
50275         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
50276         and sweeter "eval x=$x".
50277         * config/srclist.txt: Get lib/argp* from glibc.
50278
50279 2003-07-07  Paul Eggert  <eggert@twinsun.com>
50280
50281         * lib/mktime.c: Fix some boundary cases and remove need for floating
50282         point.
50283
50284         Issue a compile-time diagnostic if time_t is floating point, or if
50285         two's complement arithmetic is not in effect, or if arithmetic
50286         right shift does not propagate the sign.  These assumptions were
50287         all in the original code but they weren't checked.
50288
50289         (TIME_T_MIDPOINT, verify): New macros.
50290         (__isleap): Remove; it has integer overflow problems.
50291         (leapyear): New function, without those problems.
50292         (ydhms_tm_diff): Remove; splitting into two parts.
50293         (ydhms_diff): New function, containing the arithmetic part of
50294         the old ydhms_tm_diff function.  Issue a compile-time
50295         diagnostic if we are not using C99 integer division.
50296         Avoid casts when possible.
50297         (guess_time_tm): New function, containing the checking part of
50298         the old ydhms_tm_diff function.  Return the new value, rather than
50299         the difference between it and the old.  Accept a new argument T
50300         so that *T specifies the old value.  Check for overflow in the result.
50301
50302         (__mktime_internal): Use a time_t offset, not a long int offset.
50303         This undoes the 2003-06-04 change, which is no longer needed now
50304         that we have better overflow checking.
50305         (localtime_offset): Likewise.
50306
50307         (__mktime_internal): Avoid harmful overflow on hosts where time_t
50308         and long are 64-bit but int is only 32-bit.
50309         (ydhms_diff): Use long int to store year1 and yday1.
50310         Issue a compile-time diagnostic if long int is not wide enough.
50311
50312         (__mktime_internal): Use long int to store adjusted year and yday.
50313         Use plain C rather than preprocessor commands, if that doesn't
50314         affect efficiency.
50315         Check for overflow (and try to repair) after each probe
50316         rather than checking only at the very end.  This avoids some bugs
50317         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
50318         does not equal GMT offset at maximum time).
50319         Use integer to check for overflow rather than floating point; this
50320         is more portable to non-IEEE hosts, and is a tad faster.
50321         When we detect that we are oscillating between two values,
50322         don't check whether tm_isdst has the requested value, since
50323         we already know the answer.  When tm_isdst has the wrong value,
50324         use a different heuristic to find the right one, based on the
50325         extreme values actually observed in practice in tz2003a,
50326         rather than the (overly optimistic) "previous 3 calendar quarters".
50327
50328         (not_equal_tm, print_tm, check_result): Use "const T" rather than
50329         "T const" to accommodate glibc style.
50330         (check_result): Use less-confusing report format.  "long" -> "long int.
50331         (main): Likewise.
50332         Don't loop if the iteration overflows time_t.
50333         Allow a negative step in the iteration.
50334
50335 2003-07-06  Karl Berry  <karl@gnu.org>
50336
50337         * config/depcomp: update from automake.
50338         * config/config.sub: update from prep.
50339
50340 2003-07-03  Karl Berry  <karl@gnu.org>
50341
50342         * config/config.guess: update from prep.
50343
50344 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50345
50346         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
50347         xreadlink.c now includes it unconditionally.
50348
50349 2003-07-01  Paul Eggert  <eggert@twinsun.com>
50350
50351         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
50352         having it depend on HAVE_SYS_TYPES_H.
50353
50354 2003-07-01  Bruno Haible  <bruno@clisp.org>
50355
50356         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
50357         <sys/types.h> should be sufficient.
50358         Reported by Paul Eggert.
50359
50360 2003-06-26  Karl Berry  <karl@gnu.org>
50361
50362         * config/depcomp: update from automake.
50363
50364 2003-06-26  Bruno Haible  <bruno@clisp.org>
50365
50366         * modules/human: Depend on module stdbool.
50367
50368 2003-06-25  Bruno Haible  <bruno@clisp.org>
50369
50370         * modules/readlink: New file.
50371         * modules/xreadlink: Depend on it.
50372         * MODULES.html.sh (func_all_modules): Add readlink.
50373
50374 2003-06-25  Bruno Haible  <bruno@clisp.org>
50375
50376         * m4/readlink.m4: New file.
50377
50378 2003-06-25  Bruno Haible  <bruno@clisp.org>
50379
50380         * lib/readlink.c: New file.
50381
50382 2003-06-22  Karl Berry  <karl@gnu.org>
50383
50384         * config/srclist.txt: update mkinstalldirs from automake.
50385         * config/mkinstalldirs: update.
50386
50387 2003-06-22  Bruno Haible  <bruno@clisp.org>
50388
50389         Portability to mingw32.
50390         * m4/ssize_t.m4: New file, from GNU gettext.
50391         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
50392         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
50393
50394 2003-06-22  Bruno Haible  <bruno@clisp.org>
50395
50396         * modules/safe-read: Add m4/ssize_t.m4.
50397         * modules/xreadlink: Add m4/ssize_t.m4.
50398
50399 2003-06-20  Bruno Haible  <bruno@clisp.org>
50400
50401         Assume C89, so PARAMS isn't needed.
50402         * lib/unicodeio.h (PARAMS): Remove.
50403         * lib/unicodeio.c: Don't use PARAMS.
50404
50405 2003-06-18  Karl Berry  <karl@gnu.org>
50406
50407         * config/config.{guess,sub}: update from prep.
50408
50409 2003-06-18  Jim Meyering  <jim@meyering.net>
50410
50411         Merge changes from coreutils.
50412         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
50413         Remove explicit declarations of xmalloc and realloc.
50414         Include xalloc.h.
50415         (read_utmp): Remove anachronistic cast of xmalloc.
50416
50417 2003-06-17  Paul Eggert  <eggert@twinsun.com>
50418
50419         Assume C89, so PARAMS isn't needed.
50420         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
50421         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
50422         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
50423         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
50424         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
50425         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
50426         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
50427         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
50428         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
50429         lib/xstrtod.h, lib/xstrtol.h: Likewise.
50430         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
50431         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
50432         no longer needed. Anyway, config.h should always be included before any
50433         other file.
50434
50435 2003-06-11  Simon Josefsson  <jas@extundo.com>
50436
50437         * modules/sysexits: New file.
50438         * MODULES.html.sh (func_all_modules): Add sysexits.
50439
50440 2003-06-11  Simon Josefsson  <jas@extundo.com>
50441
50442         * lib/sysexit_.h: New file.
50443
50444 2003-06-11  Derek Price  <derek@ximbiot.com>
50445
50446         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
50447         necessary.
50448
50449 2003-06-11  Bruno Haible  <bruno@clisp.org>
50450
50451         * m4/sysexits.m4: New file.
50452
50453 2003-06-10  Simon Josefsson  <jas@extundo.com>
50454
50455         * lib/argp.h: New file, from glibc.
50456         * lib/argp-ba.c: New file, from glibc.
50457         * lib/argp-eexst.c: New file, from glibc.
50458         * lib/argp-fmtstream.c: New file, from glibc.
50459         * lib/argp-fmtstream.h: New file, from glibc.
50460         * lib/argp-fs-xinl.c: New file, from glibc.
50461         * lib/argp-help.c: New file, from glibc.
50462         * lib/argp-namefrob.h: New file, from glibc.
50463         * lib/argp-parse.c: New file, from glibc.
50464         * lib/argp-pv.c: New file, from glibc.
50465         * lib/argp-pvh.c: New file, from glibc.
50466         * lib/argp-xinl.c: New file, from glibc.
50467
50468 2003-06-10  Simon Josefsson  <jas@extundo.com>
50469
50470         * modules/strchrnul: New file.
50471
50472 2003-06-10  Simon Josefsson  <jas@extundo.com>
50473
50474         * modules/argp: New file.
50475
50476 2003-06-10  Simon Josefsson  <jas@extundo.com>
50477
50478         * m4/strchrnul.m4: New file.
50479
50480 2003-06-10  Simon Josefsson  <jas@extundo.com>
50481
50482         * lib/strchrnul.h: New file.
50483         * lib/strchrnul.c: New file.
50484
50485 2003-06-10  Bruno Haible  <bruno@clisp.org>
50486
50487         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
50488
50489 2003-06-07  Karl Berry  <karl@gnu.org>
50490
50491         * config/config.{guess,sub}: update from prep.
50492
50493 2003-06-07  Jim Meyering  <jim@meyering.net>
50494
50495         * modules/strtod: Use $(...) notation, not @...@ for
50496         AC_REPLACE'd variables.
50497         * modules/localcharset: Likewise.
50498
50499 2003-06-07  Jim Meyering  <jim@meyering.net>
50500
50501         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
50502         in place of my name in the copyright comment.
50503         Remove definition and uses of __P.
50504
50505         From coreutils.
50506         * lib/stat.c: Don't declare xmalloc explicitly.
50507         Instead, include "xalloc.h".
50508         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
50509         xrealloc, and xcalloc return values.
50510         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
50511         Improve comment.
50512         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
50513
50514 2003-06-07  Bruno Haible  <bruno@clisp.org>
50515
50516         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
50517         avoid AC_CONFIG_LINKS.
50518         * modules/fnmatch (Makefile.am): Use explicit creation rule for
50519         fnmatch.h, to avoid AC_CONFIG_LINKS.
50520         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
50521
50522 2003-06-07  Bruno Haible  <bruno@clisp.org>
50523
50524         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
50525         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
50526         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
50527         directory.
50528         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
50529         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
50530         directory.
50531
50532 2003-06-06  Jim Meyering  <jim@meyering.net>
50533
50534         Merge from coreutils.
50535         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
50536         Consolidate declarations and initializations of *_base* locals.
50537
50538         Merge from coreutils.
50539         This avoids a core dump on systems without GNU putenv,
50540         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
50541         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
50542         (unsetenv): New static function, from GNU libc.
50543         (rpl_putenv): Use it.
50544
50545         * lib/modechange.c: Remove trailing blanks.
50546
50547         Merge from coreutils.
50548         * lib/fsusage.c: Remove declaration of statfs.
50549         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
50550
50551         * lib/posixtm.c: Include <stdbool.h> unconditionally.
50552
50553 2003-06-06  Jim Meyering  <jim@meyering.net>
50554
50555         * lib/stdbool_.h: Renamed from stdbool.h.in.
50556
50557 2003-06-06  Jim Meyering  <jim@meyering.net>
50558             Bruno Haible  <bruno@clisp.org>
50559
50560         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
50561         Adjust Makefile.am snippet not to redirect directly to target.
50562         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
50563
50564 2003-06-05  Paul Eggert  <eggert@twinsun.com>
50565
50566         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
50567         mismatch, look in future quarters as well as past.  This fixes a
50568         bug when processing fall-backwards gaps immediately after a long
50569         period of daylight-saving time.
50570
50571         * lib/mktime.c: Assume freestanding C89 or better.
50572         (HAVE_LIMITS_H): Remove.  Assume it's 1.
50573         (__P): Remove; not used.
50574         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
50575         (mktime, not_equal_tm, print_tm, check_result,
50576         main): Use prototypes.  Use const * where appropriate.
50577         (main): Fix typo in testing code that uncovered by above changes.
50578         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
50579
50580 2003-06-04  Paul Eggert  <eggert@twinsun.com>
50581
50582         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
50583         locale.h, localeconv.  This merges changes from coreutils.
50584
50585         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
50586         It can be removed after the next Autoconf is released.
50587         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
50588         needed.
50589
50590 2003-06-04  Paul Eggert  <eggert@twinsun.com>
50591
50592         * lib/mktime.c: Fix Debian bug 177940
50593         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
50594         (localtime_offset): Now long int, not time_t, because we want it
50595         to be guaranteed to be signed.  All uses changed.
50596         (__mktime_internal): If overflow would occur when adding offset,
50597         don't add it.
50598
50599         Merge 'human' changes from coreutils.  Rewrite to support
50600         locale-specific notations like thousands separators.
50601         * lib/human.c: Simplify authorship notice.
50602         Include human.h immediately after config.h.
50603         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
50604         <limits.h>: Do not include, since human.h does.
50605         (SIZE_MAX, UINTMAX_MAX): New macros.
50606         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
50607         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
50608         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
50609         (power_letter): Renamed from suffixes.
50610         (generate_suffix_backwards): Remove.
50611         (adjust_value): Now takes int style (because of human.h changes)
50612         and long double value (for greater precision on some platforms).
50613         (group_number): New function.
50614         (human_readable): Use it.  Use integer options, not enum.
50615         Put the options before the sizes in the arg list.
50616         Support all the new options.
50617         The old human_readable function has been removed;
50618         use inttostr.h instead.
50619         (human_readable, default_block_size, humblock):
50620         Use uintmax_t, not int, for block sizes.
50621         (human_readable_inexact, block_size_types): Remove.
50622         (block_size_opts): New constant.
50623         (human_options): Renamed from human_block_size, with new signature
50624         that allows block sizes up to UINTMAX_MAX.  All callers changed.
50625         * lib/human.h: Add copyright and authorship notice.
50626         Include <limits.h> and <stdbool.h> unconditionally.
50627         (PARAMS): Remove.  All uses removed.
50628         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
50629         (enum human_inexact_style): Remove tag; now a nameless enum.
50630         (human_floor, human_ceiling, human_round_to_even): Now have
50631         values 2, 0, 1 rather than -1, 1, 0.
50632         (human_group_digits, human_suppress_point_zero, human_autoscale,
50633         human_base_1024, human_SI, human_B): New constants.
50634         (human_readable_inexact, human_block_size): Remove.
50635         (human_readable): Size args are now uintmax_t, not int.
50636         (human_options): New decl.
50637
50638         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
50639         unnecessary now that we assume C89 or better.  This change
50640         imported from coreutils.
50641
50642         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
50643         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
50644         in the 2003-05-30 sync from glibc.
50645
50646         .h files should stand alone, but we shouldn't include <sys/types.h>
50647         if we can get away with just <stddef.h>.
50648
50649         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
50650         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
50651         rather than <sys/types.h>, as we merely need size_t.
50652         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
50653         to get size_t.
50654         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
50655         Include <stdio.h>, to get FILE.
50656         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
50657         memcasecmp.h has included <stddef.h> and all we need is size_t.
50658         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
50659         our interface, instead of including <sys/types.h>
50660
50661 2003-06-04  Paul Eggert  <eggert@twinsun.com>
50662
50663         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
50664         now, as glibc mktime is buggy on non-glibc systems.
50665
50666 2003-06-03  Karl Berry  <karl@gnu.org>
50667
50668         * config/config.sub: update from prep.
50669
50670 2003-06-02  Paul Eggert  <eggert@twinsun.com>
50671
50672         [from coreutils]
50673         Fix some minor time-related bugs with POSIX time arguments.
50674         Some valid time stamps were being rejected (notably -1, and
50675         time stamps before 1900 on 64-bit hosts).  And some invalid
50676         time stamps were being accepted, e.g. September 31.
50677
50678         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
50679         that we can return (time_t) -1 successfully.
50680         * lib/posixtm.c: Likewise.
50681         [HAVE_STDBOOL_H]: Include <stdbool.h>.
50682         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
50683         (t): Remove static var.
50684         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
50685         of static var.  All uses changed.
50686         (year): Do not reject years before 1900; they can occur with
50687         64-bit time_t.
50688         (posix_time_parse): Do not check for out-of-range components;
50689         that is now the caller's responsibility, since our checks were
50690         only approximations.
50691         (posixtime): Use mktime to check for out-of-range components,
50692         since it knows them exactly.
50693         If mktime returns (time_t) -1, check whether an error actually occurred
50694         by invoking localtime on -1.
50695         (main) [TEST_POSIXTIME]: Check for input data errors, and report
50696         posixtime failures better.
50697         Improve the test data (in comments only).
50698
50699 2003-06-02  Karl Berry  <karl@gnu.org>
50700
50701         * config/mkinstalldirs (version): new variable.
50702         (--version): new option.
50703         (usage): improve message.
50704
50705 2003-05-30  Karl Berry  <karl@gnu.org>
50706
50707         * lib/mktime.c: update from libc.
50708
50709 2003-05-30  Bruno Haible  <bruno@clisp.org>
50710
50711         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
50712         * config/config.rpath: Upgrade to gettext-0.12.1.
50713
50714 2003-05-30  Bruno Haible  <bruno@clisp.org>
50715
50716         * m4/gettext.m4: Upgrade to gettext-0.12.1.
50717         * m4/nls.m4: New file, from gettext-0.12.1.
50718         * m4/po.m4: New file, from gettext-0.12.1.
50719         * m4/progtest.m4: Upgrade to gettext-0.12.1.
50720
50721 2003-05-30  Bruno Haible  <bruno@clisp.org>
50722
50723         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
50724         * lib/localcharset.h: Likewise.
50725         * lib/localcharset.c: Likewise.
50726
50727 2003-05-29  Karl Berry  <karl@gnu.org>
50728
50729         * config/config.rpath: update from gettext.
50730
50731 2003-05-28  Paul Eggert  <eggert@twinsun.com>
50732
50733         Assume the headers required for C89 freestanding compilers.
50734         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
50735         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
50736         * m4/human.m4 (gl_HUMAN): Likewise.
50737         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
50738         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
50739         * m4/userspec.m4 (gl_USERSPEC): Likewise.
50740         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
50741         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
50742         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
50743
50744 2003-05-28  Paul Eggert  <eggert@twinsun.com>
50745
50746         Assume the headers required for C89 freestanding compilers.
50747         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
50748         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
50749         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
50750         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
50751         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
50752         define, since <limits.h> is guaranteed to do that.
50753         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
50754         * lib/exclude.c: Include <stdbool.h> unconditionally.
50755         * lib/tempname.c: Include <stddef.h> unconditionally.
50756         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
50757         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
50758         <stddef.h> does that.
50759         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
50760         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
50761         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
50762         needed.
50763         * lib/xstrtol.c: Likewise.
50764         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
50765         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
50766
50767         * lib/addext.c (addext): Use assignment rather than cast, to avoid
50768         warnings on some platforms.
50769
50770         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
50771         arbitrarily.
50772
50773 2003-05-26  Jim Meyering  <jim@meyering.net>
50774
50775         Merge in a change from coreutils:
50776         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
50777         that is guaranteed to be `no'.  Use `no_such_member' to indicate
50778         that condition, rather than `-1' which is slightly misleading.
50779         Change the name of the cache variable to have the gl_ prefix.
50780         Prompted by a patch from Richard Dawe for DJGPP.
50781
50782 2003-05-24  Karl Berry  <karl@gnu.org>
50783
50784         * config/config.guess: update from prep.
50785
50786 2003-05-22  Karl Berry  <karl@gnu.org>
50787
50788         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
50789
50790 2003-05-20  Karl Berry  <karl@gnu.org>
50791
50792         * config/config.guess: update from prep.
50793
50794 2003-05-18  Karl Berry  <karl@gnu.org>
50795
50796         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
50797         might actually be set by the user.
50798
50799         * config/depcomp, install-sh, mdate-sh: update from automake.
50800
50801 2003-05-17  Bruno Haible  <bruno@clisp.org>
50802
50803         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
50804         invalid expansion for AC_EGREP_CPP.
50805         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
50806         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
50807         Suggested by Akim Demaille <akim@epita.fr> in
50808         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
50809
50810 2003-05-12  Jim Meyering  <jim@meyering.net>
50811
50812         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
50813         the space-padded-by-default conversion specifiers, %e, %k, %l.
50814
50815 2003-05-12  Bruno Haible  <bruno@clisp.org>
50816
50817         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
50818         the string is longer than 4 KB.
50819
50820 2003-05-11  Karl Berry  <karl@gnu.org>
50821
50822         * config/config.{guess,sub}: update from prep.
50823
50824 2003-05-09  Bruno Haible  <bruno@clisp.org>
50825
50826         * modules/error: Add m4/strerror_r.m4 to file list.
50827
50828 2003-05-03  Bruno Haible  <bruno@clisp.org>
50829
50830         Upgrade to Unicode-4.0.
50831         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
50832         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
50833         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
50834         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
50835         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
50836         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
50837         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
50838         Change width of U+E0100..U+E01EF from 1 to 0.
50839
50840 2003-04-25  Jim Meyering  <jim@meyering.net>
50841
50842         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
50843         of type size_t, not int.
50844
50845 2003-04-25  Bruno Haible  <bruno@clisp.org>
50846
50847         * lib/copy-file.c: Include <stddef.h>, for size_t.
50848
50849 2003-04-21  Paul Eggert  <eggert@twinsun.com>
50850
50851         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
50852         code which expansion is under static control.  Patch imported from
50853         Akim Demaille's patch to Bison; see
50854         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
50855
50856 2003-04-14  Bruno Haible  <bruno@clisp.org>
50857
50858         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
50859
50860 2003-04-11  Jim Meyering  <jim@meyering.net>
50861
50862         Merge changes from Coreutils.
50863
50864         2003-03-22  Jim Meyering  <jim@meyering.net>
50865
50866         * lib/strftime.c (widen): Cast alloca return value to proper type.
50867
50868         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
50869
50870         From GNU libc.
50871         * lib/strftime.c (my_strftime): Handle very large width
50872         specifications for numeric values correctly.  Improve checks for
50873         overflow.
50874
50875         2003-01-19  Jim Meyering  <jim@meyering.net>
50876
50877         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
50878         definitions.
50879         (nl_get_alt_digit) [! defined my_strftime]: Define.
50880         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
50881         _nl_get_alt_digit and _nl_get_walt_digit.
50882
50883         * lib/strftime.c (my_strftime): Merge in locale-related changes from
50884         libc. These changes have no effect outside of _LIBC.
50885
50886 2003-04-10  Bruno Haible  <bruno@clisp.org>
50887
50888         * modules/findprog: New file.
50889         * MODULES.html.sh (func_all_modules): Add it.
50890
50891 2003-04-10  Bruno Haible  <bruno@clisp.org>
50892
50893         * m4/findprog.m4: New file.
50894         * m4/eaccess.m4: New file.
50895
50896 2003-04-10  Bruno Haible  <bruno@clisp.org>
50897
50898         * lib/findprog.h: New file, from GNU gettext.
50899         * lib/findprog.c: New file, from GNU gettext.
50900
50901 2003-04-05  Jim Meyering  <jim@meyering.net>
50902
50903         Merge changes from Coreutils.
50904
50905         * lib/exclude.h (PARAMS): Remove definition and uses.
50906         * lib/exclude.c: Remove uses of `PARAMS'.
50907
50908         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
50909         Add test-cases for DOS filenames. Declare program_name.
50910         (main): Set up program_name.  Patch by Rich Dawe.
50911
50912         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
50913         error from mntctl.
50914         Use mntctl's return value to drive the entry-processing loop, since
50915         we can't rely on the value of the vmt_length member in the last
50916         entry.  On some systems doing so could result in exhausting
50917         virtual memory.  Based in part on a patch from Mike Jetzer.
50918
50919 2003-04-04  Bruno Haible  <bruno@clisp.org>
50920
50921         * modules/linebreak: New file.
50922         * MODULES.html.sh (func_all_modules): Add it.
50923
50924 2003-04-04  Bruno Haible  <bruno@clisp.org>
50925
50926         * m4/linebreak.m4: New file.
50927
50928 2003-04-04  Bruno Haible  <bruno@clisp.org>
50929
50930         * lib/linebreak.h: New file, from GNU gettext.
50931         * lib/linebreak.c: New file, from GNU gettext with slight
50932         modifications.
50933         * lib/lbrkprop.h: New file, from GNU gettext.
50934
50935 2003-04-03  Bruno Haible  <bruno@clisp.org>
50936
50937         * modules/utf8-ucs4: New file.
50938         * modules/utf16-ucs4: New file.
50939         * modules/ucs4-utf8: New file.
50940         * modules/ucs4-utf16: New file.
50941         * MODULES.html.sh (func_all_modules): Add them.
50942
50943 2003-04-03  Bruno Haible  <bruno@clisp.org>
50944
50945         * m4/utf-ucs4.m4: New file.
50946         * m4/ucs4-utf.m4: New file.
50947
50948 2003-04-03  Bruno Haible  <bruno@clisp.org>
50949
50950         * lib/utf8-ucs4.h: New file, from GNU gettext.
50951         * lib/utf16-ucs4.h: New file, from GNU gettext.
50952         * lib/ucs4-utf8.h: New file, from GNU gettext.
50953         * lib/ucs4-utf16.h: New file, from GNU gettext.
50954
50955 2003-04-02  Bruno Haible  <bruno@clisp.org>
50956
50957         * modules/binary-io: New file.
50958         * MODULES.html.sh (func_all_modules): Add it.
50959
50960 2003-04-02  Bruno Haible  <bruno@clisp.org>
50961
50962         * lib/binary-io.h: New file, from GNU gettext.
50963
50964 2003-04-01  Bruno Haible  <bruno@clisp.org>
50965
50966         * modules/pathname: New file.
50967         * MODULES.html.sh (func_all_modules): Add it.
50968
50969 2003-04-01  Bruno Haible  <bruno@clisp.org>
50970
50971         * lib/pathname.h: New file, from GNU gettext.
50972         * lib/concatpath.c: New file, from GNU gettext.
50973
50974 2003-03-30  Bruno Haible  <bruno@clisp.org>
50975
50976         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
50977
50978 2003-03-30  Bruno Haible  <bruno@clisp.org>
50979
50980         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
50981         function chown() doesn't exist.
50982
50983 2003-03-28  Bruno Haible  <bruno@clisp.org>
50984
50985         * modules/copy-file: New file.
50986         * MODULES.html.sh (func_all_modules): Add it.
50987
50988 2003-03-28  Bruno Haible  <bruno@clisp.org>
50989
50990         * m4/copy-file.m4: New file.
50991
50992 2003-03-28  Bruno Haible  <bruno@clisp.org>
50993
50994         * lib/copy-file.h: New file, from GNU gettext.
50995         * lib/copy-file.c: New file, from GNU gettext.
50996
50997 2003-03-18  Jim Meyering  <jim@meyering.net>
50998
50999         * lib/quote.c (quote_n): Fix typo in comment.
51000
51001 2003-03-18  Bruno Haible  <bruno@clisp.org>
51002
51003         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
51004         checking.
51005         * m4/onceonly_2_57.m4: Likewise.
51006
51007 2003-03-17  Bruno Haible  <bruno@clisp.org>
51008
51009         * m4/onceonly.m4: Require autoconf 2.54 or newer.
51010         (m4_quote): Remove macro.
51011         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
51012
51013 2003-03-14  Jim Meyering  <jim@meyering.net>
51014
51015         Merge changes from Coreutils.
51016         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
51017         to be const, in order to avoid warnings.
51018         (obstack_room): Likewise.
51019         (obstack_empty_p): Likewise.
51020
51021 2003-03-14  Bruno Haible  <bruno@clisp.org>
51022
51023         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
51024         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
51025
51026 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51027
51028         Merge changes from Bison.
51029         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
51030         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
51031         when compiling Bison 1.875's `bitset bset = obstack_alloc
51032         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
51033         * lib/hash.c: Include <stdbool.h> unconditionally.
51034
51035 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51036
51037         * m4/onceonly.m4 (m4_quote): New macro.
51038         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
51039         Quote AC_FOREACH variable-expansions properly.
51040
51041 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51042
51043         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
51044
51045 2003-03-09  Paul Eggert  <eggert@twinsun.com>
51046
51047         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
51048         Reported by Bruce Becker; see:
51049         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
51050
51051 2003-03-03  Paul Eggert  <eggert@twinsun.com>
51052             Bruno Haible  <bruno@clisp.org>
51053
51054         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
51055         Reported by John Hughes, see
51056         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
51057
51058 2003-02-20  Bruno Haible  <bruno@clisp.org>
51059
51060         * MODULES.html.sh (func_all_modules): Add poll.
51061
51062 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51063
51064         * modules/poll: New file.
51065
51066 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51067
51068         * lib/poll_.h: New file.
51069         * lib/poll.c: New file.
51070
51071 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51072
51073         * m4/poll.m4: New file.
51074
51075 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51076
51077         * modules/mathl: New file.
51078
51079 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51080
51081         * lib/mathl.h: New file.
51082         * lib/acosl.c: New file.
51083         * lib/asinl.c: New file.
51084         * lib/atanl.c: New file.
51085         * lib/ceill.c: New file.
51086         * lib/cosl.c: New file.
51087         * lib/expl.c: New file.
51088         * lib/floorl.c: New file.
51089         * lib/frexpl.c: New file.
51090         * lib/ldexpl.c: New file.
51091         * lib/logl.c: New file.
51092         * lib/sincosl.c: New file.
51093         * lib/sinl.c: New file.
51094         * lib/sqrtl.c: New file.
51095         * lib/tanl.c: New file.
51096         * lib/trigl.c: New file.
51097         * lib/trigl.h: New file.
51098
51099 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51100
51101         * m4/mathl.m4: New file.
51102
51103 2003-02-18  Bruno Haible  <bruno@clisp.org>
51104
51105         * MODULES.html.sh (func_all_modules): Add mathl.
51106
51107 2003-02-17  Bruno Haible  <bruno@clisp.org>
51108
51109         * modules/mkdtemp: New module.
51110         * MODULES.html.sh (func_all_modules): Add it.
51111
51112 2003-02-17  Bruno Haible  <bruno@clisp.org>
51113
51114         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
51115
51116 2003-02-17  Bruno Haible  <bruno@clisp.org>
51117
51118         * lib/mkdtemp.h: New file, from GNU gettext.
51119         * lib/mkdtemp.c: New file, from GNU gettext.
51120
51121 2003-02-02  Jim Meyering  <jim@meyering.net>
51122
51123         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
51124         e.g. glibc-2.2.93.
51125
51126 2003-01-31  Bruno Haible  <bruno@clisp.org>
51127
51128         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
51129         'rpl_rename'.
51130         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
51131         'rpl_strnlen'.
51132         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
51133         'rpl_strtod'.
51134         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
51135         'rpl_utime'.
51136
51137 2003-01-31  Bruno Haible  <bruno@clisp.org>
51138
51139         * lib/rename.c: #undef rename before defining rpl_rename.
51140         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
51141
51142 2003-01-30  Bruno Haible  <bruno@clisp.org>
51143
51144         * modules/vasnprintf, modules/vasprintf: New modules.
51145         * MODULES.html.sh (func_all_modules): Add them.
51146
51147 2003-01-30  Bruno Haible  <bruno@clisp.org>
51148
51149         * m4/signed.m4: New file, from GNU gettext.
51150         * m4/longdouble.m4: New file, from GNU gettext.
51151         * m4/wchar_t.m4: New file, from GNU gettext.
51152         * m4/wint_t.m4: New file, from GNU gettext.
51153         * m4/vasnprintf.m4: New file.
51154         * m4/vasprintf.m4: New file.
51155
51156 2003-01-30  Bruno Haible  <bruno@clisp.org>
51157
51158         * lib/printf-args.h: New file, from GNU gettext.
51159         * lib/printf-args.c: New file, from GNU gettext.
51160         * lib/printf-parse.h: New file, from GNU gettext.
51161         * lib/printf-parse.c: New file, from GNU gettext.
51162         * lib/vasnprintf.h: New file, from GNU gettext.
51163         * lib/vasnprintf.c: New file, from GNU gettext.
51164         * lib/asnprintf.c: New file, from GNU gettext.
51165         * lib/vasprintf.h: New file, from GNU gettext with modifications.
51166         * lib/vasprintf.c: New file, from GNU gettext.
51167         * lib/asprintf.c: New file, from GNU gettext.
51168
51169 2003-01-29  Bruno Haible  <bruno@clisp.org>
51170
51171         * modules/stpncpy: New module.
51172         * MODULES.html.sh (func_all_modules): Add it.
51173
51174 2003-01-29  Bruno Haible  <bruno@clisp.org>
51175
51176         * m4/stpncpy.m4: New file.
51177
51178 2003-01-29  Bruno Haible  <bruno@clisp.org>
51179
51180         * lib/stpncpy.h: New file, from GNU gettext with modifications.
51181         * lib/stpncpy.c: New file, from GNU gettext with modifications.
51182
51183 2003-01-28  Bruno Haible  <bruno@clisp.org>
51184
51185         * modules/c-ctype: New module.
51186         * MODULES.html.sh (func_all_modules): Add it.
51187
51188 2003-01-28  Bruno Haible  <bruno@clisp.org>
51189
51190         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
51191         Paul Eggert.
51192         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
51193         Paul Eggert.
51194
51195 2003-01-27  Bruno Haible  <bruno@clisp.org>
51196
51197         * modules/xsetenv: New module.
51198         * MODULES.html.sh (func_all_modules): Add it.
51199
51200 2003-01-27  Bruno Haible  <bruno@clisp.org>
51201
51202         * lib/xsetenv.h: New file, from GNU gettext.
51203         * lib/xsetenv.c: New file, from GNU gettext.
51204
51205 2003-01-23  Jim Meyering  <jim@meyering.net>
51206
51207         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
51208         from working on systems without dirfd (at least Irix and OSF1/Tru64).
51209
51210 2003-01-23  Bruno Haible  <bruno@clisp.org>
51211
51212         * modules/minmax: New module.
51213         * MODULES.html.sh (func_all_modules): Add it.
51214
51215 2003-01-23  Bruno Haible  <bruno@clisp.org>
51216
51217         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
51218         Eggert.
51219
51220 2003-01-22  Bruno Haible  <bruno@clisp.org>
51221
51222         * modules/exit: New module.
51223         * MODULES.html.sh (func_all_modules): Add it.
51224
51225 2003-01-22  Bruno Haible  <bruno@clisp.org>
51226
51227         * lib/exit.h: New file, from GNU gettext.
51228
51229 2003-01-19  Bruno Haible  <bruno@clisp.org>
51230
51231         * gnulib-tool: Recognize option --extract-maintainer.
51232         (func_get_maintainer): New function.
51233         * modules/*: Add Maintainer entry.
51234
51235 2003-01-16  Jim Meyering  <jim@meyering.net>
51236
51237         * m4/regex.m4: The `regex' struct is both input and output.
51238         Initialize it before each use.  Patch by Tim Waugh.
51239
51240 2003-01-16  Bruno Haible  <bruno@clisp.org>
51241
51242         * MODULES.html.sh: Add a table of contents. Add the module name as
51243         leftmost column. Add hyperlinks.
51244
51245 2003-01-15  Bruno Haible  <bruno@clisp.org>
51246
51247         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
51248
51249 2003-01-15  Bruno Haible  <bruno@clisp.org>
51250
51251         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
51252         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
51253         suffix.
51254
51255 2003-01-15  Bruno Haible  <bruno@clisp.org>
51256
51257         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
51258
51259 2003-01-15  Bruno Haible  <bruno@clisp.org>
51260
51261         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
51262         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
51263
51264 2003-01-14  Jim Meyering  <jim@meyering.net>
51265
51266         * lib/same.c (same_name): Tweak a comment.
51267
51268 2003-01-14  Bruno Haible  <bruno@clisp.org>
51269
51270         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
51271         when a string comparison is sufficient.
51272
51273 2003-01-14  Bruno Haible  <bruno@clisp.org>
51274
51275         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
51276         'unsigned int'.
51277
51278 2003-01-14  Bruno Haible  <bruno@clisp.org>
51279
51280         * lib/hash-pjw.c: Add comment about low quality of this function.
51281
51282 2003-01-13  Bruno Haible  <bruno@clisp.org>
51283
51284         * modules/stpcpy: Distribute lib/stpcpy.h.
51285         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
51286
51287 2003-01-13  Bruno Haible  <bruno@clisp.org>
51288
51289         * modules/*: Add a description.
51290         * modules/strpbrk: Fix Makefile.am snippet.
51291         * modules/strtoimax: Fix dependencies.
51292         * modules/strtoumax: Likewise.
51293
51294 2003-01-13  Bruno Haible  <bruno@clisp.org>
51295
51296         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
51297         * modules/alloca (Makefile.am): All object files depend on alloca.h.
51298         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
51299
51300 2003-01-13  Bruno Haible  <bruno@clisp.org>
51301
51302         * gnulib-tool (func_create_testdir): Store config/* files in the main
51303         directory.
51304         * config.rpath: Move to ...
51305         * config/config.rpath: ... here.
51306         * modules/gettext: Contains config/config.rpath, not config.rpath.
51307         * modules/iconv: Likewise.
51308
51309 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51310
51311         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51312         to avoid collisions with libcurses and libreadline.
51313
51314         * m4/getstr.m4: Remove.
51315         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
51316
51317 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51318
51319         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51320         to avoid collisions with libcurses and libreadline.
51321
51322         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
51323         * lib/getstr.h, getstr.c: Remove.
51324         * lib/getline.c: Include "getline.h", to check interface.
51325         Move body of old getstr.c here: this defines MIN_CHUNK and
51326         declares getdelim2, which is renamed from getstr.
51327         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
51328
51329         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
51330         All uses changed.
51331         * lib/linebuffer.h: Likewise.
51332         (readline): Remove backward-compatibility macro.
51333
51334 2003-01-12  Paul Eggert  <eggert@twinsun.com>
51335
51336         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
51337         to avoid collisions with libcurses and libreadline.
51338         * getstr: Remove.
51339         * MODULES.html.sh: Remove getstr.
51340         * modules/getline: Depend on unlocked-io, not getstr.
51341
51342 2003-01-12  Jim Meyering  <jim@meyering.net>
51343
51344         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
51345
51346 2003-01-10  Bruno Haible  <bruno@clisp.org>
51347
51348         * modules/alloca: Change Makefile.am requirements. Simplify Include
51349         requirements. Add lib/alloca_.h to file list.
51350
51351 2003-01-10  Bruno Haible  <bruno@clisp.org>
51352
51353         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
51354
51355 2003-01-10  Bruno Haible  <bruno@clisp.org>
51356
51357         * lib/alloca_.h: New file.
51358         * lib/getdate.y: Unconditionally include alloca.h.
51359         * lib/makepath.c: Likewise.
51360         * lib/setenv.c: Likewise.
51361         * lib/userspec.c: Likewise.
51362
51363 2003-01-09  Karl Berry  <karl@gnu.org>
51364
51365         * MODULES.html.sh: include `dirname $0` in PATH, to find
51366         gnulib-tool.
51367
51368 2003-01-09  Bruno Haible  <bruno@clisp.org>
51369
51370         * modules/stdbool: Change configure.ac, Makefile.am requirements.
51371         Simplify Include requirements. Add lib/stdbool.h.in to file list.
51372
51373 2003-01-09  Bruno Haible  <bruno@clisp.org>
51374
51375         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
51376
51377 2003-01-09  Bruno Haible  <bruno@clisp.org>
51378
51379         * lib/stdbool.h.in: New file.
51380
51381 2003-01-09  Bruno Haible  <bruno@clisp.org>
51382
51383         * gnulib-tool (func_all_modules): Ignore files ending in ~.
51384         * MODULES.html.sh: Likewise.
51385
51386 2003-01-08  Jim Meyering  <jim@meyering.net>
51387
51388         * lib/full-write.c: Undefine and define-away `const' after inclusion
51389         of errno.h, not before.  Suggestion from Bruno Haible.
51390
51391 2003-01-08  Bruno Haible  <bruno@clisp.org>
51392
51393         * modules/full-read: Depend on full-write.
51394
51395 2003-01-08  Bruno Haible  <bruno@clisp.org>
51396
51397         * lib/safe-read.c: Include specification header first, to ensure its
51398         selfcontainedness.
51399         * lib/full-write.c: Likewise.
51400
51401 2003-01-07  Jim Meyering  <jim@meyering.net>
51402
51403         * lib/full-write.c: Rework so that it may serve to define full_read,
51404         too.
51405         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
51406
51407 2003-01-07  Bruno Haible  <bruno@clisp.org>
51408
51409         * lib/strtoimax.c: Include <stdint.h> as an alternative to
51410         <inttypes.h>.
51411         * lib/xstrtol.h: Likewise.
51412         * lib/xstrtoimax.c: Likewise.
51413         * lib/xstrtoumax.c: Likewise.
51414         * lib/human.h: Likewise.
51415
51416         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
51417         on systems that have <inttypes.h> but not <stdint.h>.
51418
51419 2003-01-07  Bruno Haible  <bruno@clisp.org>
51420
51421         * MODULES.html.sh: Add copyright notice.
51422         (missed_files): Omit CVS directory entries.
51423         (func_module): Make it work with sed-3.02.
51424         * MODULES.txt: Remove file.
51425
51426 2003-01-06  Jim Meyering  <jim@meyering.net>
51427
51428         * lib/version-etc.c: Update year in translatable copyright string.
51429
51430 2003-01-03  Karl Berry  <karl@gnu.org>
51431
51432         * config/config.{guess,sub}: update from prep.
51433
51434 2003-01-02  Karl Berry  <karl@gnu.org>
51435
51436         * doc/COPYING.DOC: belatedly updated to 1.2.
51437
51438 2003-01-01  Karl Berry  <karl@gnu.org>
51439
51440         * gnulib-tool (func_verify_module): report module name $module in
51441         error message, not $1.
51442         * gnulib-tool (create-testdir): don't complain if destdir couldn't
51443         be created, only if it doesn't exist.
51444         * gnulib-tool (last_checkin_date): don't expand the $Date here.
51445
51446 2002-12-31  Paul Eggert  <eggert@twinsun.com>
51447
51448         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
51449
51450 2002-12-31  Paul Eggert  <eggert@twinsun.com>
51451
51452         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
51453         memcmp if strcoll doesn't work.
51454
51455 2002-12-31  Bruno Haible  <bruno@clisp.org>
51456
51457         * lib/utime.c (utime_null): No need to call ftruncate if the file was
51458         nonempty.
51459
51460 2002-12-31  Bruno Haible  <bruno@clisp.org>
51461
51462         * lib/memcoll.c (STRCOLL): New macro.
51463         (memcoll): Use it.
51464
51465 2002-12-31  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/localcharset.h: New file.
51468         * lib/localcharset.c: Include it.
51469         * lib/unicodeio.c: Likewise.
51470
51471 2002-12-31  Bruno Haible  <bruno@clisp.org>
51472
51473         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
51474         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
51475
51476 2002-12-31  Bruno Haible  <bruno@clisp.org>
51477
51478         * lib/getline.h: Include <stddef.h>, for size_t.
51479
51480         * lib/unicodeio.h: Include <stddef.h>, for size_t.
51481         * lib/unicodeio.c: Don't include <stddef.h>.
51482
51483 2002-12-31  Bruno Haible  <bruno@clisp.org>
51484
51485         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
51486         HAVE_TM_ZONE.
51487
51488 2002-12-24  Karl Berry  <karl@gnu.org>
51489
51490         * config/config.guess: update from prep.
51491
51492 2002-12-24  Bruno Haible  <bruno@clisp.org>
51493
51494         General infrasructure.
51495         * m4/README: Rewritten.
51496         * m4/onceonly.m4: New file.
51497         * m4/onceonly_2_57.m4: New file.
51498
51499         Module atexit.
51500         * m4/atexit.m4: New file.
51501
51502         Module strtod.
51503         * m4/strtod.m4: New file.
51504
51505         Module strtol.
51506         * m4/strtol.m4: New file.
51507
51508         Module strtoul.
51509         * m4/strtoul.m4: New file.
51510
51511         Module memchr.
51512         * m4/memchr.m4: New file.
51513
51514         Module memcmp.
51515         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
51516         (jm_FUNC_MEMCMP): Invoke it.
51517
51518         Module memcpy.
51519         * m4/memcpy.m4: New file.
51520
51521         Module memmove.
51522         * m4/memmove.m4: New file.
51523
51524         Module memset.
51525         * m4/memset.m4: New file.
51526
51527         Module strcspn.
51528         * m4/strcspn.m4: New file.
51529
51530         Module strpbrk.
51531         * m4/strpbrk.m4: New file.
51532
51533         Module strstr.
51534         * m4/strstr.m4: New file.
51535
51536         Module strerror.
51537         * m4/strerror.m4: New file.
51538
51539         Module mktime.
51540         * m4/mktime.m4: Renamed from jm-mktime.m4.
51541         (gl_PREREQ_MKTIME): New macro.
51542         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
51543
51544         Module malloc.
51545         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
51546         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
51547         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
51548
51549         Module realloc.
51550         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
51551         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
51552         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
51553
51554         Module strftime.
51555         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
51556         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
51557         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
51558         gl_TM_GMTOFF.
51559         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
51560
51561         Module xalloc.
51562         * m4/xalloc.m4: New file.
51563
51564         Module alloca.
51565         * m4/alloca.m4: New file.
51566
51567         Module putenv.
51568         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
51569         (jm_FUNC_PUTENV): Invoke it.
51570
51571         Module setenv.
51572         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
51573         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
51574         when invoked twice.
51575         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
51576         gt_FUNC_SETENV.
51577
51578         Module memrchr.
51579         * m4/memrchr.m4: New file.
51580
51581         Module stpcpy.
51582         * m4/stpcpy.m4: New file.
51583
51584         Module strcase.
51585         * m4/strcase.m4: New file.
51586
51587         Module strdup.
51588         * m4/strdup.m4: New file.
51589
51590         Module strnlen.
51591         * m4/strnlen.m4: New file.
51592
51593         Module strndup.
51594         * m4/strndup.m4: New file.
51595
51596         Module xstrtod.
51597         * m4/xstrtod.m4: New file.
51598
51599         Module xstrtol.
51600         * m4/xstrtol.m4: New file.
51601
51602         Module getdate.
51603         * m4/getdate.m4: New file.
51604
51605         Module unlocked-io.
51606         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
51607         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
51608         * m4/jm-glibc-io.m4n: Remove file.
51609
51610         Module long-options.
51611         * m4/long-options.m4: New file.
51612
51613         Module md5.
51614         * m4/md5.m4: New file.
51615
51616         Module sha.
51617         * m4/sha.m4: New file.
51618
51619         Module getstr.
51620         * m4/getstr.m4: New file.
51621
51622         Module getline.
51623         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
51624         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
51625         <sys/types.h>, for size_t. Use the function name gnu_getline, not
51626         simply getline. Infoke gl_PREREQ_GETLINE.
51627
51628         Module obstack.
51629         * m4/obstack.m4: New file.
51630
51631         Module hash.
51632         * m4/hash.m4: New file.
51633
51634         Module readtokens.
51635         * m4/readtokens.m4: New file.
51636
51637         Module strverscmp.
51638         * m4/strverscmp.m4: New file.
51639
51640         Module stdbool.
51641         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
51642         OSF/1.
51643
51644         Module strtoll.
51645         * m4/strtoll.m4: New file.
51646
51647         Module strtoull.
51648         * m4/strtoull.m4: New file.
51649
51650         Module strtoimax.
51651         * m4/strtoimax.m4: New file.
51652
51653         Module strtoumax.
51654         * m4/strtoumax.m4: New file.
51655
51656         Module xstrtoimax.
51657         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
51658         jm_AC_PREREQ_XSTRTOIMAX.
51659         Moved the strtol prerequisites to strtol.m4.
51660         Moved the strtoll prerequisites to strtoll.m4.
51661         Moved the strtoimax prerequisites to strtoimax.m4.
51662
51663         Module xstrtoumax.
51664         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
51665         jm_AC_PREREQ_XSTRTOUMAX.
51666         Moved the strtoul prerequisites to strtoul.m4.
51667         Moved the strtoull prerequisites to strtoull.m4.
51668         Moved the strtoumax prerequisites to strtoumax.m4.
51669
51670         Module chown.
51671         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
51672         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
51673
51674         Module dup2.
51675         * m4/dup2.m4: New file.
51676
51677         Module ftruncate.
51678         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
51679         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
51680
51681         Module getgroups.
51682         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
51683         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
51684
51685         Module gettimeofday.
51686         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
51687         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
51688         gl_PREREQ_GETTIMEOFDAY.
51689
51690         Module mkdir.
51691         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
51692         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
51693
51694         Module mkstemp.
51695         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
51696         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
51697         jm_AC_TYPE_UINTMAX_T.
51698         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
51699
51700         Module stat.
51701         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
51702         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
51703
51704         Module lstat.
51705         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
51706         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
51707
51708         Module timespec.
51709         * m4/timespec.m4 (gl_TIMESPEC): New macro.
51710         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
51711         * m4/st_mtim.m4: Indentation.
51712
51713         Module nanosleep.
51714         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
51715         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
51716         gl_PREREQ_NANOSLEEP.
51717
51718         Module regex.
51719         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
51720         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
51721         (gl_REGEX): New macro.
51722
51723         Module rename.
51724         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
51725         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
51726
51727         Module rmdir.
51728         * m4/rmdir.m4: New file.
51729
51730         Module utime.
51731         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
51732         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
51733         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
51734
51735         Module dirname.
51736         * m4/dirname.m4: New file.
51737
51738         Module getopt.
51739         * m4/getopt.m4: New file.
51740
51741         Module unistd-safer.
51742         * m4/unistd-safer.m4: New file.
51743
51744         Module fnmatch.
51745         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
51746         declaration.
51747         (gl_PREREQ_FNMATCH_EXTRA): New macro.
51748         (gl_FUNC_FNMATCH_POSIX): New macro.
51749         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
51750         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
51751         simply fnmatch.
51752
51753         Module exclude.
51754         * m4/exclude.m4: New file.
51755
51756         Module human.
51757         * m4/human.m4: New file.
51758
51759         Module acl.
51760         * m4/acl.m4: Nop.
51761
51762         Module backupfile.
51763         * m4/backupfile.m4: New file.
51764         * m4/d-ino.m4: Indentation.
51765
51766         Module fsusage.
51767         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
51768         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
51769         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
51770
51771         Module dirfd.
51772         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
51773         requirements.
51774
51775         Module euidaccess.
51776         * m4/euidaccess.m4: New file.
51777
51778         Module file-type.
51779         * m4/file-type.m4: New file.
51780
51781         Module fileblocks.
51782         * m4/fileblocks.m4: New file.
51783
51784         Module filemode.
51785         * m4/filemode.m4: New file.
51786
51787         Module isdir.
51788         * m4/isdir.m4: New file.
51789
51790         Module lchown.
51791         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
51792         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
51793
51794         Module makepath.
51795         * m4/makepath.m4: New file.
51796
51797         Module modechange.
51798         * m4/modechange.m4: New file.
51799
51800         Module mountlist.
51801         * m4/mountlist.m4: New file.
51802         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
51803         Indentation.
51804
51805         Module path-concat.
51806         * m4/path-concat.m4: New file.
51807
51808         Module pathmax.
51809         * m4/pathmax.m4: New file.
51810
51811         Module same.
51812         * m4/same.m4: New file.
51813
51814         Module save-cwd.
51815         * m4/save-cwd.m4: New file.
51816
51817         Module savedir.
51818         * m4/savedir.m4: New file.
51819
51820         Module xgetcwd.
51821         * m4/xgetcwd.m4: New file.
51822         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
51823
51824         Module xreadlink.
51825         * m4/xreadlink.m4: New file.
51826
51827         Module safe-read.
51828         * m4/safe-read.m4: New file.
51829
51830         Module safe-write.
51831         * m4/safe-write.m4: New file.
51832
51833         Module closeout.
51834         * m4/closeout.m4: New file.
51835
51836         Module stdio-safer.
51837         * m4/stdio-safer.m4: New file.
51838
51839         Module getpass.
51840         * m4/getpass.m4: New file.
51841
51842         Module getugroups.
51843         * m4/getugroups.m4: New file.
51844
51845         Module group-member.
51846         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
51847         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
51848
51849         Module idcache.
51850         * m4/idcache.m4: New file.
51851
51852         Module userspec.
51853         * m4/userspec.m4: New file.
51854
51855         Module gettime.
51856         * m4/clock_time.m4: New file.
51857         * m4/gettime.m4: New file.
51858
51859         Module settime.
51860         * m4/settime.m4: New file.
51861
51862         Module posixtm.
51863         * m4/posixtm.m4: New file.
51864
51865         Module gethostname.
51866         * m4/gethostname.m4: New file.
51867
51868         Module canon-host.
51869         * m4/canon-host.m4: New file.
51870
51871         Module gettext.
51872         * m4/codeset.m4: New file, from gettext-0.11.5.
51873         * m4/gettext.m4: New file, from gettext-0.11.5.
51874         * m4/glibc21.m4: New file, from gettext-0.11.5.
51875         * m4/iconv.m4: New file, from gettext-0.11.5.
51876         * m4/intdiv0.m4: New file, from gettext-0.11.5.
51877         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
51878         * m4/inttypes.m4: New file, from gettext-0.11.5.
51879         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
51880         * m4/isc-posix.m4: New file, from gettext-0.11.5.
51881         * m4/lcmessage.m4: New file, from gettext-0.11.5.
51882         * m4/lib-ld.m4: New file, from gettext-0.11.5.
51883         * m4/lib-link.m4: New file, from gettext-0.11.5.
51884         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
51885         * m4/progtest.m4: New file, from gettext-0.11.5.
51886         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
51887         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
51888         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
51889
51890         Module localcharset.
51891         * m4/localcharset.m4: New file.
51892
51893         Module hard-locale.
51894         * m4/hard-locale.m4: New file.
51895
51896         Module mbswidth.
51897         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
51898         onceonly macros.
51899         * m4/mbrtowc.m4: Add comment.
51900
51901         Module memcasecmp.
51902         * m4/memcasecmp.m4: New file.
51903
51904         Module memcoll.
51905         * m4/memcoll.m4: New file.
51906
51907         Module unicodeio.
51908         * m4/unicodeio.m4: New file.
51909
51910         Module rpmatch.
51911         * m4/rpmatch.m4: New file.
51912
51913         Module yesno.
51914         * m4/yesno.m4: New file.
51915
51916         Module exitfail.
51917         * m4/exitfail.m4: New file.
51918
51919         Module c-stack.
51920         * m4/c-stack.m4 (gl_C_STACK): New macro.
51921         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
51922
51923         Module error.
51924         * m4/error.m4 (gl_ERROR): New macro.
51925         (jm_PREREQ_ERROR): Use onceonly macros.
51926
51927         Module fatal.
51928         * m4/fatal.m4: New file.
51929
51930         Module getloadavg.
51931         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
51932         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
51933
51934         Module getpagesize.
51935         * m4/getpagesize.m4: New file.
51936
51937         Module getusershell.
51938         * m4/getusershell.m4: New file.
51939
51940         Module physmem.
51941         * m4/physmem.m4: New file.
51942
51943         Module posixver.
51944         * m4/posixver.m4: New file.
51945
51946         Module quotearg.
51947         * m4/quotearg.m4: New file.
51948
51949         Module quote.
51950         * m4/quote.m4: New file.
51951
51952         Module readutmp.
51953         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
51954
51955         Module sig2str.
51956         * m4/sig2str.m4: New file.
51957
51958         Other.
51959         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
51960         ulonglong.m4.
51961         * m4/intmax_t.m4: New file.
51962         * m4/d-type.m4: Indentation.
51963         * m4/jm-macros.m4: Update.
51964         * m4/prereq.m4 (jm_PREREQ): Update.
51965         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
51966         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
51967         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
51968         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
51969         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
51970         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
51971         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
51972         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
51973         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
51974         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
51975         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
51976         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
51977         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
51978         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
51979         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
51980         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
51981         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
51982         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
51983         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
51984
51985 2002-12-24  Bruno Haible  <bruno@clisp.org>
51986
51987         * MODULES.txt: Update according to m4/ changes.
51988
51989         Module gettext.
51990         * config.rpath: New file, from gettext-0.11.5.
51991
51992         * modules/*: New module descriptions.
51993         * gnulib-tool: New file.
51994         * MODULES.html.sh: New file.
51995
51996 2002-12-21  Karl Berry  <karl@gnu.org>
51997
51998         * doc/fdl.texi: update to version 1.2.
51999
52000 2002-12-19  Karl Berry  <karl@gnu.org>
52001
52002         * config/config.guess: update from prep.
52003
52004 2002-12-18  Bruno Haible  <bruno@clisp.org>
52005
52006         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
52007         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
52008
52009 2002-12-17  Bruno Haible  <bruno@clisp.org>
52010
52011         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
52012         stdlib.h, string.h.
52013
52014 2002-12-17  Bruno Haible  <bruno@clisp.org>
52015
52016         * lib/canon-host.c (strdup): Remove unused declaration.
52017
52018         * lib/fsusage.c: Include full_read.h.
52019         (get_fs_usage): Use full_read instead of safe_read.
52020
52021         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
52022
52023 2002-12-12  Karl Berry  <karl@gnu.org>
52024
52025         * config/config.guess: update from prep.
52026
52027 2002-12-11  Bruno Haible  <bruno@clisp.org>
52028
52029         * m4/setenv.m4: New file, from gettext-0.11.5.
52030
52031 2002-12-11  Bruno Haible  <bruno@clisp.org>
52032
52033         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
52034         not unsetenv().
52035         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
52036         modifications:
52037
52038         2002-12-11  Bruno Haible  <bruno@clisp.org>
52039
52040                 * setenv.c (alloca): Fall back to malloc.
52041                 (freea): New macro.
52042                 (setenv): Use freea() to free memory allocated with alloca().
52043
52044         2002-11-13  Bruno Haible  <bruno@clisp.org>
52045
52046                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
52047                 function declarations.
52048                 * unsetenv.c (unsetenv): Likewise.
52049
52050         2002-03-04  Bruno Haible  <bruno@clisp.org>
52051
52052                 Portability to AIX 4.3.3.
52053                 * unsetenv.c: New file, extracted from setenv.c.
52054                 * setenv.c: Move the unsetenv() function to unsetenv.c.
52055
52056         2001-12-20  Bruno Haible  <bruno@clisp.org>
52057
52058                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
52059                 use malloc instead. For SunOS 4.
52060
52061         2001-12-11  Bruno Haible  <bruno@clisp.org>
52062
52063                 * setenv.c: Declare alloca.
52064                 (compar_fn_t): New typedef.
52065                 (KNOWN_VALUE, STORE_VALUE): Use it.
52066
52067         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
52068         setenv.h.
52069
52070 2002-12-10  Paul Eggert  <eggert@twinsun.com>
52071
52072         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
52073         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
52074         Choose values that are less likely to collide with system fnmatch
52075         options.
52076         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
52077         defined (e.g., a pure POSIX system).
52078         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
52079         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
52080
52081 2002-12-06  Paul Eggert  <eggert@twinsun.com>
52082
52083         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
52084         a pain in practice to deal with generated m4 files.  This change
52085         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
52086
52087         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
52088         and jm-glibc-io.m4, as they are no longer a special case.
52089         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
52090         kludge and the auto-generation stuff.  Check only whether the
52091         functions are declared, not whether they exist, since older hosts
52092         that don't declare the functions can't use the optimization anyway.
52093
52094 2002-12-06  Jim Meyering  <jim@meyering.net>
52095
52096         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
52097
52098         Merge in changes from libc's misc/error.c, in preparation
52099         for the merge of gnulib's changes back into libc.
52100
52101         * lib/error.c (_): Define only if not already defined.
52102         Move definition to follow all #include directives.
52103         Include unlocked-io.h only if !_LIBC.
52104         [_LIBC]: Include <libio/libioP.h>.
52105         [USE_IN_LIBIO]: Include <libio/iolibio.h>
52106         (fflush): Tweak definition to use INTUSE.
52107         (putc): Define.
52108
52109 2002-12-05  Paul Eggert  <eggert@twinsun.com>
52110
52111         * lib/alloca.c [defined emacs]: Include "lisp.h".
52112         (xalloc_die) [defined emacs]: New macro.
52113         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
52114         [! defined emacs]: Include <xalloc.h>.
52115         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
52116         (pointer): Typedef to POINTER_TYPE *.
52117         (malloc): Remove decl; we now always use xmalloc.
52118         (alloca): Use old-style definition, since Emacs needs this.
52119         Check for arithmetic overflow when computing combined size.
52120
52121 2002-12-04  Paul Eggert  <eggert@twinsun.com>
52122
52123         Do not generate unlocked-io.h automatically, since it's easier to
52124         maintain it by hand.
52125
52126         * lib/unlocked-io.h: New file, from GNU diffutils,
52127         but with proper copyright notice and attribution.
52128         * lib/gen-uio: Remove.
52129         * lib/Makefile.am: Add copyright notice.
52130         (libfetish_a_SOURCES): Add unlocked-io.h.
52131         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
52132         (DISTCLEANFILES, io_functions): Remove macros.
52133         (EXTRA_DIST): Remove gen_uio.
52134         (unlocked-io.h): Remove rule.
52135
52136 2002-12-04  Jim Meyering  <jim@meyering.net>
52137
52138         Reflect the fact that stat.c and lstat.c are no longer generated.
52139         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
52140         (DISTCLEANFILES): Likewise.
52141         (EXTRA_DIST): Likewise.
52142         (all_local): Don't depend on stat.c or lstat.c.
52143         (stat.c, lstat.c): Remove rules.
52144         (EXTRA_DIST): Remove xstat.in.
52145
52146         * lib/xstat.in: Remove file.  Contents moved into stat.c.
52147         * lib/stat.c: New file.  Contents mostly from xstat.in.
52148         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
52149         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
52150
52151         * lib/safe-read.c: Rework so that it may serve to define safe_write,
52152         too.
52153         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
52154
52155 2002-12-03  Jim Meyering  <jim@meyering.net>
52156
52157         * lib/safe-read.c, safe-write.c: Change variable names and comments,
52158         but not semantics, to minimize the differences between these two files.
52159         (safe_read): Change comment to mention SAFE_READ_ERROR.
52160
52161         * lib/safe-read.c (IS_EINTR): Define.
52162         (safe_read): Use IS_EINTR in place of in-function cpp directives.
52163
52164 2002-12-02  Jim Meyering  <jim@meyering.net>
52165
52166         * lib/safe-read.c (EINTR): Define.
52167         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
52168         (INT_MAX): Provide fallback.
52169         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
52170
52171         * lib/safe-read.h (SAFE_READ_ERROR): Define.
52172
52173 2002-12-02  Bruno Haible  <bruno@clisp.org>
52174
52175         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
52176         Define, taken from safe-read.c.
52177         (INT_MAX): Provide fallback.
52178         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
52179         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
52180
52181         * lib/safe-read.c (EINTR): Remove definition.
52182         (safe_read): Don't use EINTR if it is absent.
52183
52184 2002-12-01  Jim Meyering  <jim@meyering.net>
52185
52186         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
52187         zero.
52188         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
52189
52190 2002-11-27  Paul Eggert  <eggert@twinsun.com>
52191
52192         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
52193         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
52194         with `if (! (value < limit)) abort ();', for readability.
52195
52196 2002-11-26  Karl Berry  <karl@gnu.org>
52197
52198         * lib/strdup.c: copy from libc again, with jim's ok.
52199         * lib/.cppi-disable: re-add strdup.c
52200
52201 2002-11-25  Karl Berry  <karl@gnu.org>
52202
52203         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
52204         instead of "strtol.c".
52205
52206 2002-11-25  Karl Berry  <karl@gnu.org>
52207
52208         * config/install-sh: update from automake for variable quoting, $0 in
52209         error msgs, etc.
52210
52211         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
52212         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
52213         entry.
52214
52215 2002-11-25  Jim Meyering  <jim@meyering.net>
52216
52217         * lib/mktime.c: Sync from libc, now that it has the latest fix.
52218
52219 2002-11-24  Karl Berry  <karl@gnu.org>
52220
52221         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
52222         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
52223
52224 2002-11-24  Jim Meyering  <jim@meyering.net>
52225
52226         Update from coreutils:
52227
52228         * lib/mktime.c: Merge in changes from libc.
52229
52230         Avoid a link-time failure on some Linux systems.
52231         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
52232         (otherwise).
52233         (__mon_yday): Declare with the STATIC attribute.
52234         (__mktime_internal): Likewise.
52235         Based on a report from Greg Schafer.
52236
52237 2002-11-23  Jim Meyering  <jim@meyering.net>
52238
52239         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
52240         Use `unsigned', not `int', as type of index.
52241
52242         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
52243
52244         * lib/fsusage.c: Remove unneeded parentheses around operands of
52245         `defined'.
52246
52247 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52248
52249         * lib/quotearg.h: Allow multiple inclusion by surrounding with
52250         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
52251         so that we can be included first.
52252         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
52253         * lib/quotearg.c: Include quotearg.h immediately after config.h.
52254         No need to include stddef.h or sys/types.h any more.
52255         Surround local include files with "", not "<>".
52256         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
52257         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
52258         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
52259         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
52260         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
52261         (ISPRINT): Remove; no longer needed now that we assume C89.
52262
52263         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
52264         Preserve errno.
52265
52266         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
52267         quotearg_char): Use SIZE_MAX rather than
52268         (size_t) -1 when we are talking about "infinity".
52269
52270         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
52271
52272 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52273
52274         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
52275         hint that one should use `if (! x) abort ();' rather than `assert
52276         (x);', and anyway it's one less thing to worry about configuring.
52277         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
52278         hash_rehash, hash_insert): Use abort rather than assert.
52279
52280 2002-11-22  Bruno Haible  <bruno@clisp.org>
52281
52282         * lib/safe-read.h: Assume C89. Add comments.
52283         (safe_read): Change return type to size_t.
52284         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
52285         byte counts > SSIZE_MAX correctly.
52286         * lib/safe-write.h: New file.
52287         * lib/safe-write.c: New file.
52288         * lib/full-read.h: New file.
52289         * lib/full-read.c: New file.
52290         * lib/full-write.h: Assume C89. Add comments.
52291         * lib/full-write.c: Include safe-write.h.
52292         (full_write): Rewritten to use safe_write.
52293         Suggested by Jim Meyering and Paul Eggert.
52294
52295 2002-11-21  Jim Meyering  <jim@meyering.net>
52296
52297         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
52298
52299         Merge in changes from the coreutils.
52300
52301         2002-09-25  Paul Eggert  <eggert@twinsun.com>
52302         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
52303         <stdint.h>.
52304         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
52305         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
52306         int.  Work more efficiently if X is the same width as uintmax_t.
52307         Do not compare X to -1, to avoid bogus compiler warning.
52308         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
52309         Don't assume that f_frsize and f_bsize are the same type.
52310
52311         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
52312         warning on FreeBSD.
52313
52314         * lib/makepath.c (make_path): Restore umask *before* creating the final
52315         component.
52316         (make_path): Minor reformatting.
52317
52318         * lib/xmalloc.c: Adjust to work with new autoconf macros,
52319         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
52320         HAVE_MALLOC/HAVE_REALLOC.
52321
52322         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
52323         dummy ones.  At least on GNU/Linux systems, `auto' means something
52324         else.
52325         From Michael Stone.
52326
52327 2002-11-21  Bruno Haible  <bruno@clisp.org>
52328
52329         Remove case insensitive option matching.
52330         * lib/argmatch.h (argcasematch): Remove declaration.
52331         (ARGCASEMATCH): Remove macro.
52332         (__xargmatch_internal): Remove case_sensitive argument.
52333         (XARGMATCH): Update.
52334         (XARGCASEMATCH): Remove macro.
52335         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
52336         case_sensitive argument.
52337         (argcasematch): Remove function.
52338         (__xargmatch_internal): Remove case_sensitive argument.
52339         (main): Use XARGMATCH instead of XARGCASEMATCH.
52340
52341         * lib/xmalloc.c: Change compile-time error message. Add comment about
52342         required autoconf version.
52343
52344 2002-11-20  Paul Eggert  <eggert@twinsun.com>
52345
52346         Merge argmatch cleanups from Bison.  Assume C89.
52347
52348         * lib/argmatch.c: Include config.h here, not in argmatch.h.
52349         Include stdlib.h, for EXIT_FAILURE.
52350         Always include <string.h>, since we assume C89.
52351         (EXIT_FAILURE): Remove pre-C89 bug workaround.
52352         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
52353         Include <stddef.h> instead, since it's all we need for size_t.
52354         (PARAMS): Remove.  All uses removed.
52355         (ARRAY_CARDINALITY): Do not bother to #undef.
52356         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
52357         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
52358         Remove unnecessary parentheses.
52359         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
52360         Insert necessary parentheses.
52361         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
52362         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
52363
52364 2002-11-19  Bruno Haible  <bruno@clisp.org>
52365
52366         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
52367         * lib/mbswidth.h: Include <stddef.h>, for size_t.
52368
52369         * lib/mbswidth.h (PARAMS): Remove macro.
52370         (mbswidth, mbsnwidth): Use ANSI C function declarations.
52371         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
52372
52373         * lib/gcd.h (PARAMS): Remove macro.
52374         (gcd): Use ANSI C function declarations.
52375         * lib/gcd.c (gcd): Likewise.
52376
52377 2002-11-15  Bruno Haible  <bruno@clisp.org>
52378
52379         * lib/strcspn.c: Include <stddef.h>.
52380         (strcspn): Use ANSI C function declaration. Change return type to
52381         size_t. Use NULL.
52382         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
52383         (strpbrk): Use NULL.
52384         * lib/strpbrk.h (PARAMS): Remove macro.
52385         (strpbrk): Use ANSI C function declaration.
52386         * lib/strstr.c: Don't include <sys/types.h>.
52387         * lib/strstr.h (PARAMS): Remove macro.
52388         (strstr): Use ANSI C function declarations.
52389
52390 2002-11-14  Karl Berry  <karl@gnu.org>
52391
52392         * config/mkinstalldirs: `do' on separate line, instead of
52393         `for var; do'.
52394
52395 2002-11-06  Bruno Haible  <bruno@clisp.org>
52396
52397         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
52398         * lib/gcd.c (gcd): Likewise.
52399
52400 2002-11-05  Bruno Haible  <bruno@clisp.org>
52401
52402         * lib/gcd.h: New file, from gettext-0.11.5.
52403         * lib/gcd.c: New file, from gettext-0.11.5.
52404
52405 2002-11-05  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52408         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52409         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52410         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
52411
52412         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
52413         <libintl.h>.
52414         * lib/makepath.c: Include gettext.h instead of <locale.h> and
52415         <libintl.h>.
52416
52417         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
52418         * lib/human.c: Include gettext.h instead of <libintl.h>.
52419         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
52420         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
52421         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
52422         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
52423         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
52424         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
52425         (textdomain): Remove definition.
52426         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
52427
52428         * lib/long-options.c: Remove include of <libintl.h> and definition of
52429         _.
52430         * lib/same.c: Remove include of <libintl.h> and definition of _.
52431
52432 2002-11-04  Owen Taylor  <otaylor@redhat.com>
52433
52434         * lib/config.charset: A few additions for Solaris.
52435
52436 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
52437
52438         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
52439         * lib/localcharset.c (locale_charset): Declare as extern "C".
52440
52441 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
52442
52443         * lib/config.charset: msdos in uk_UA uses CP1125.
52444
52445 2002-11-04  Bruno Haible  <bruno@clisp.org>
52446
52447         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
52448         * lib/strcase.h: New file, from GNU gettext-0.11.5.
52449         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
52450         * lib/strstr.h: New file, from GNU gettext-0.11.5.
52451         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
52452
52453 2002-11-04  Bruno Haible  <bruno@clisp.org>
52454
52455         * lib/localcharset.c (locale_charset): Don't return an empty string.
52456
52457 2002-11-04  Bruno Haible  <bruno@clisp.org>
52458
52459         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
52460         aliases.
52461
52462 2002-11-04  Bruno Haible  <bruno@clisp.org>
52463
52464         * lib/config.charset: Update for newest glibc. Add canonical names
52465         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
52466
52467 2002-11-04  Bruno Haible  <bruno@clisp.org>
52468
52469         * lib/config.charset: Add support for NetBSD.
52470
52471 2002-11-04  Bruno Haible  <bruno@clisp.org>
52472
52473         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
52474
52475 2002-11-01  Bruno Haible  <bruno@clisp.org>
52476
52477         * configure.in: Add AC_CONFIG_AUX_DIR call.
52478         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
52479         test/Makefile.
52480         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
52481
52482 2002-09-28  Karl Berry  <karl@gnu.org>
52483
52484         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
52485         installed automake until the next release, since changes have been
52486         made.
52487
52488 2002-09-25  Karl Berry  <karl@gnu.org>
52489
52490         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
52491         * lib/getopt*: copy from libc/posix.
52492         * lib/gettext.h: copy from gettext.
52493         * lib/.cppi-disable: add strdup.c, gettext.h.
52494
52495 2002-09-25  Karl Berry  <karl@gnu.org>
52496
52497         * config/srclist.txt: enable gettext.h check.
52498         * config/config.{guess,sub}: update from prep.
52499         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
52500                 from automake 1.6.3.
52501         See srclist*.
52502
52503 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
52504
52505         * regex.c (PATFETCH): Remove the translating fetch.
52506         (PATFETCH_RAW): Rename to PATFETCH.
52507         (set_image_of_range): New fun.
52508         (SET_RANGE_TABLE_WORK_AREA): Use it.
52509         (regex_compile): Don't translate the pattern chars so eagerly.
52510         Only do it when inserting an `exactn' bytecode or when handling
52511         a char-range.
52512         (mutually_exclusive_p): Avoid empty statement.
52513
52514 2002-07-06  Jim Meyering  <meyering@lucent.com>
52515
52516         * m4/README: Don't mention Makefile.am.in.
52517         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
52518
52519 2002-07-01  Jim Meyering  <meyering@lucent.com>
52520
52521         * lib/c-stack.c: Include sys/time.h.
52522         From Volker Borchert.
52523
52524 2002-06-26  Paul Eggert  <eggert@twinsun.com>
52525
52526         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
52527
52528 2002-06-26  Paul Eggert  <eggert@twinsun.com>
52529
52530         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
52531         New macro.  Use it uniformly instead of
52532         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
52533         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
52534         reported by Vin Shelton.
52535
52536 2002-06-22  Paul Eggert  <eggert@twinsun.com>
52537
52538         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
52539         Do not assume SA_SIGINFO behavior.
52540         Bug reported by Jim Meyering on NetBSD 1.5.2.
52541
52542 2002-06-22  Jim Meyering  <meyering@lucent.com>
52543
52544         * m4/c-stack.m4: New file, from diffutils-2.8.2.
52545         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
52546
52547         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
52548         now that configure.ac uses AC_GNU_SOURCE.
52549         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
52550         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
52551
52552         Update to latest tools.  Suggestions from Paul Eggert.
52553         * m4/stdbool.m4: New file, from diffutils-2.8.2.
52554         * m4/gnu-source.m4: Update from diffutils-2.8.2.
52555         * m4/fnmatch.m4: Likewise.
52556         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
52557         to AC_HEADER_STDBOOL
52558
52559 2002-06-22  Jim Meyering  <meyering@lucent.com>
52560
52561         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
52562         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
52563
52564 2002-06-22  Jim Meyering  <meyering@lucent.com>
52565
52566         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
52567
52568         * lib/exitfail.c, exitfail.h: Likewise.
52569         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
52570
52571         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
52572         of fnmatch.h.
52573         (EXTRA_DIST): Add fnmatch_loop.c.
52574         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
52575
52576         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
52577         * lib/fnmatch.c: Update from diffutils-2.8.2.
52578         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
52579         * lib/fnmatch.h: Remove file.
52580
52581 2002-06-21  Jim Meyering  <meyering@lucent.com>
52582
52583         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
52584         * m4/mbrtowc.m4: Likewise.
52585
52586         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
52587         * m4/mbswidth.m4: Reflect name change:
52588         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
52589         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
52590
52591         * m4/lib-link.m4: Update from gettext-0.11.2.
52592         * m4/gettext.m4: Likewise.
52593
52594         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
52595         From Alfred M. Szmidt.
52596
52597 2002-06-18  Paul Eggert  <eggert@twinsun.com>
52598
52599         * lib/file-type.h: Report an error if neither S_ISREG nor
52600         S_IFREG is defined, instead of using a test specific to glibc
52601         2.2.  This should be safe, since POSIX requires S_ISREG and
52602         Unix Version 7 had S_IFREG.  We don't need to check for
52603         <sys/types.h> since we don't use any symbols that it defines.
52604
52605 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
52606
52607         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
52608         $@-t, so that each temporary file name is unique and valid in the first
52609         8 characters, for operation under DOS.
52610
52611 2002-06-15  Paul Eggert  <eggert@twinsun.com>
52612
52613         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
52614
52615 2002-06-15  Jim Meyering  <meyering@lucent.com>
52616
52617         Work even with DJGPP 2.03, which lacks support for symlinks.
52618         From Richard Dawe.
52619         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
52620         is defined.
52621         * lib/lchown.c (S_ISLNK): Likewise.
52622
52623 2002-06-15  Jim Meyering  <meyering@lucent.com>
52624
52625         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
52626         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
52627         have been included before this file.
52628
52629 2002-06-14  Jim Meyering  <meyering@lucent.com>
52630
52631         * lib/file-type.h: Use the version from diffutils-2.8.2.
52632         * lib/file-type.c: Likewise.
52633
52634 2002-06-07  Jim Meyering  <meyering@lucent.com>
52635
52636         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
52637         They're needed at least for NetBSD 1.5.2.
52638         ($statxfs_includes): Include those same headers.
52639         ($statxfs_includes): Include sys/vfs.h if available.
52640         ($statxfs_includes): Likewise for sys/statvfs.h.
52641         Check for the following members in both structs statfs and statvfs:
52642         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
52643
52644 2002-06-01  Jim Meyering  <meyering@lucent.com>
52645
52646         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
52647         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
52648
52649 2002-05-28  Jim Meyering  <meyering@lucent.com>
52650
52651         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
52652         Reported by Volker Borchert.
52653
52654 2002-05-27  Jim Meyering  <meyering@lucent.com>
52655
52656         Fix a problem seen only on nonconforming systems whereby ls.c's
52657         use of localtime, and then of gettimeofday would cause trouble:
52658         the localtime call used to initialize rpl_gettimeofday's save
52659         mechanism would clobber ls's current local time information so
52660         that in any long listing the first file would always be listed
52661         with date 1970-01-01.  Analysis by Volker Borchert.
52662
52663         * lib/gettimeofday.c (localtime): Undefine.
52664         (rpl_localtime): New function.
52665
52666 2002-05-27  Jim Meyering  <meyering@lucent.com>
52667
52668         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
52669         localtime.
52670
52671         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
52672         use the replacement function; it wouldn't resolve at link time.
52673         Reported by Volker Borchert.
52674
52675 2002-05-22  Jim Meyering  <meyering@lucent.com>
52676
52677         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
52678         file-type.h.
52679         * lib/file-type.h: New file.
52680         * lib/file-type.c (file_type): New file/function.  Extracted from
52681         diffutils.
52682
52683 2002-04-30  Jim Meyering  <meyering@lucent.com>
52684
52685         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
52686
52687 2002-04-29  Paul Eggert  <eggert@twinsun.com>
52688
52689         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
52690
52691 2002-04-29  Paul Eggert  <eggert@twinsun.com>
52692
52693         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
52694         Do not check for alloca.h (no longer used) or stdbool.h (was never
52695         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
52696
52697 2002-04-29  Paul Eggert  <eggert@twinsun.com>
52698
52699         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
52700
52701 2002-04-29  Jim Meyering  <meyering@lucent.com>
52702
52703         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
52704         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
52705         Use AC_FUNC_STRNLEN here instead.
52706
52707         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
52708         With autoconf-2.53a, it's part of AC_PROG_CC.
52709
52710 2002-04-28  Paul Eggert  <eggert@twinsun.com>
52711
52712         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
52713         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
52714
52715 2002-04-28  Paul Eggert  <eggert@twinsun.com>
52716
52717         * lib/sig2str.h, lib/sig2str.c: New files.
52718         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
52719
52720 2002-04-28  Paul Eggert  <eggert@twinsun.com>
52721
52722         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
52723         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
52724         of 127, since 64 is the largest conceivable number for ancient
52725         nonstandard hosts.
52726         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
52727
52728 2002-04-28  Jim Meyering  <meyering@lucent.com>
52729
52730         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
52731
52732 2002-04-24  Jim Meyering  <meyering@lucent.com>
52733
52734         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
52735         (jm_PREREQ): Use it.
52736
52737         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
52738         mach/mach.h fcntl.h.
52739         Check for this function: setlocale.
52740
52741 2002-04-24  Jim Meyering  <meyering@lucent.com>
52742
52743         * lib/gettext.h: New file, from Gettext.
52744         * lib/Makefile.am (INCLUDES): Remove -I../intl.
52745         (libfetish_a_SOURCES): Add gettext.h.
52746
52747 2002-04-16  Jim Meyering  <meyering@lucent.com>
52748
52749         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
52750         ut_pid, ut_id, ut_exit.
52751
52752 2002-04-16  Jim Meyering  <meyering@lucent.com>
52753
52754         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
52755         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
52756         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
52757
52758 2002-04-12  Jim Meyering  <meyering@lucent.com>
52759
52760         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
52761         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
52762         existence of the getmntinfo function.  Needed for Darwin 5.3.
52763
52764         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
52765         This is necessary at least on Darwin 5.3.
52766
52767         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
52768         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
52769         strnlen.o in the library, and that makes some versions of ranlib
52770         object.
52771
52772 2002-04-12  Jim Meyering  <meyering@lucent.com>
52773
52774         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
52775
52776 2002-04-09  Jim Meyering  <meyering@lucent.com>
52777
52778         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
52779         to be more precise.  Rather than saying we're checking whether the
52780         function `works', say what we're testing.
52781         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
52782         Reported by Bruno Haible.
52783
52784 2002-03-10  Jim Meyering  <meyering@lucent.com>
52785
52786         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
52787         Suggestion from Santiago Vila.
52788
52789 2002-03-08  Jim Meyering  <meyering@lucent.com>
52790
52791         * lib/rename.c: Mention that this wrapper is needed also on
52792         mips-dec-ultrix4.4 systems.
52793
52794 2002-03-02  Jim Meyering  <meyering@lucent.com>
52795
52796         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
52797         not HAVE_CLOCK_SETTIME.
52798
52799 2002-02-27  Paul Eggert  <eggert@twinsun.com>
52800
52801         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
52802         Check for clock_settime.
52803
52804 2002-02-27  Paul Eggert  <eggert@twinsun.com>
52805
52806         * lib/nanosleep.h: Rename to....
52807         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
52808
52809         * lib/gettime.c: New file.
52810         * lib/settime.c: New file.
52811         * lib/stime.c: Remove.
52812
52813         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
52814         timespec.h.  Remove nanosleep.h.
52815
52816 2002-02-25  Paul Eggert  <eggert@twinsun.com>
52817
52818         * m4/acl.m4: New file.
52819         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
52820         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
52821
52822 2002-02-25  Paul Eggert  <eggert@twinsun.com>
52823
52824         * lib/acl.c, lib/acl.h: New files.
52825         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
52826
52827 2002-02-24  Jim Meyering  <meyering@lucent.com>
52828
52829         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
52830         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
52831         cause trouble.  Reported by Nelson Beebe.
52832
52833 2002-02-23  Paul Eggert  <eggert@twinsun.com>
52834
52835         * lib/path-concat.c (xpath_concat): Reorder code to pacify
52836         compilers that don't know that xalloc_die never returns.
52837
52838 2002-02-20  Jim Meyering  <meyering@lucent.com>
52839
52840         * lib/getdate.c: Regenerate using bison-1.33.
52841
52842 2002-02-17  Jim Meyering  <meyering@lucent.com>
52843
52844         * config/config.guess (main): Don't use `head -1'; it's no longer
52845         portable. Use `sed 1q' instead.
52846
52847 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
52848
52849         * m4/codeset.m4: Upgrade to gettext-0.11.
52850         * m4/gettext.m4: Upgrade to gettext-0.11.
52851         * m4/glibc21.m4: Upgrade to gettext-0.11.
52852         * m4/iconv.m4: Upgrade to gettext-0.11.
52853         * m4/isc-posix.m4: Upgrade to gettext-0.11.
52854         * m4/lcmessage.m4: Upgrade to gettext-0.11.
52855         * m4/lib-ld.m4: New file, from gettext-0.11.
52856         * m4/lib-link.m4: New file, from gettext-0.11.
52857         * m4/lib-prefix.m4: New file, from gettext-0.11.
52858         * m4/progtest.m4: Upgrade to gettext-0.11.
52859
52860 2002-02-15  Paul Eggert  <eggert@twinsun.com>
52861
52862         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
52863         (jm_PREREQ): Use it.
52864
52865 2002-02-15  Paul Eggert  <eggert@twinsun.com>
52866
52867         * lib/posixver.c, lib/posixver.h: New files.
52868         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
52869
52870 2002-02-02  Paul Eggert  <eggert@twinsun.com>
52871             Bruno Haible  <bruno@clisp.org>
52872
52873         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
52874         (fwrite_success_callback): New declaration.
52875         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
52876         print_unicode_char. Call failure callback instead of error.
52877         (fwrite_success_callback): New function.
52878         (exit_failure_callback): New function.
52879         (fallback_failure_callback): New function.
52880         (print_unicode_char): Call unicode_to_mb.
52881
52882 2002-01-26  Jim Meyering  <meyering@lucent.com>
52883
52884         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
52885         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
52886
52887 2002-01-26  Jim Meyering  <meyering@lucent.com>
52888
52889         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
52890
52891 2002-01-22  Paul Eggert  <eggert@twinsun.com>
52892
52893         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
52894
52895 2002-01-22  Jim Meyering  <meyering@lucent.com>
52896
52897         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
52898         Otherwise, some versions of automake would omit the rule that makes
52899         Makefile from Makefile.in.
52900
52901 2002-01-21  Paul Eggert  <eggert@twinsun.com>
52902
52903         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
52904         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
52905         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
52906         (memcoll): Set errno to zero if there is no error.
52907
52908         * lib/quotearg.c (quotearg_buffer_restyled):
52909         Fix bug with quoting buffers containing NUL when backslashing escapes.
52910         This bug was exposed by the other changes in this patch.
52911         (quotearg_n_options): New arg ARGSIZE.
52912         All callers changed.
52913         (quoting_options_from_style): New function.
52914         (quotearg_n_style): Use it.
52915         (quotearg_n_style_mem): New function.
52916
52917         * lib/quotearg.h (quotearg_n_style_mem): New function.
52918
52919 2002-01-19  Jim Meyering  <meyering@lucent.com>
52920
52921         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
52922         Remove useless quotes: DF_PROG="df".
52923         * m4/strnlen.m4: New file.
52924
52925 2002-01-16  Paul Eggert  <eggert@twinsun.com>
52926
52927         * lib/backupfile.c (ISDIGIT): Comment fix.
52928         * lib/getdate.y (ISDIGIT): Likewise.
52929         * lib/posixtm.c (ISDIGIT, year): Likewise.
52930         * lib/strverscmp.c (ISDIGIT): Likewise.
52931         * lib/userspec.c (ISDIGIT): Likewise.
52932
52933 2002-01-16  Jim Meyering  <meyering@lucent.com>
52934
52935         * lib/getdate.y: Add three semicolons, each just before a closing
52936         brace. Bison (as of version 1.31) no longer papers over that mistake.
52937
52938 2002-01-05  Jim Meyering  <meyering@lucent.com>
52939
52940         * lib/version-etc.c (version_etc_copyright): Update copyright year.
52941
52942 2001-12-19  Paul Eggert  <eggert@twinsun.com>
52943
52944         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
52945         not silently exit merely because the output buffer happens to
52946         have nothing pending.
52947
52948 2001-12-18  Paul Eggert  <eggert@twinsun.com>
52949
52950         See the big note in ../ChangeLog.
52951         * lib/human.c (suffixes): Prefer K to k for 1024.
52952         (generate_suffix_backwards): New function.
52953         (human_readable_inexact): Use it.
52954         * lib/xstrtol.c (__xstrtol): If there is no number but there
52955         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
52956         Accept 'K' as well as 'k'.
52957
52958 2001-12-15  Jim Meyering  <meyering@lucent.com>
52959
52960         * lib/regex.h (__restrict_arr): Update from libc.
52961
52962         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
52963         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
52964         (STREQ): Define.
52965
52966 2001-12-14  Jim Meyering  <meyering@lucent.com>
52967
52968         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
52969         Suggestion from Bruno Haible.
52970
52971 2001-12-10  Jim Meyering  <meyering@lucent.com>
52972
52973         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
52974         xrealloc, Instead, include "xalloc.h".
52975         (initbuffer): Don't cast xmalloc return value to char*.
52976         (readline): Reword comment.
52977         Don't cast xrealloc return value to char*
52978         Return NULL, not 0.
52979
52980 2001-12-09  Jim Meyering  <meyering@lucent.com>
52981
52982         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
52983         about `signed and unsigned type in conditional expression'.
52984         * lib/posixtm.c (posix_time_parse): Likewise.
52985
52986         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
52987
52988         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
52989         to avoid a pedantic warning.
52990
52991         * lib/getstr.c: Don't include assert.h.
52992         (getstr): Remove warning-evoking assertions.
52993         Return -1 if offset parameter is out of bounds.
52994         Change the type of a local from int to size_t.
52995
52996         * lib/strftime.c (my_strftime_localtime_r): Include this function
52997         definition in the `#if ! HAVE_TM_GMTOFF' block.
52998
52999         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
53000         Include xalloc.h instead.
53001
53002 2001-12-02  Jim Meyering  <meyering@lucent.com>
53003
53004         * lib/tempname.c: Don't declare getenv, thus reverting the change of
53005         2001-11-18.  It's no longer necessary, now that stdlib.h is always
53006         included.
53007
53008         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
53009         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
53010
53011 2001-11-30  Akim Demaille  <akim@epita.fr>
53012
53013         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
53014         before being defined.
53015
53016 2001-11-27  Paul Eggert  <eggert@twinsun.com>
53017
53018         * lib/quotearg.h (quotearg_n, quotearg_n_style):
53019         First arg is int, not unsigned.
53020         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
53021         (SIZE_MAX, UINT_MAX): New macros.
53022         (quotearg_n_options): Abort if N is negative.
53023         Avoid overflow check on hosts where size_t is 64 bits and int
53024         is 32 bits, as overflow is impossible there.
53025         Fix off-by-one typo that caused unnecessary reallocation.
53026
53027 2001-11-27  Jim Meyering  <meyering@lucent.com>
53028
53029         * lib/tempname.c: Merge with version from libc.
53030         * lib/regex.c: Likewise.
53031
53032         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
53033         systems for which STDC_HEADERS is 0, it was not included, resulting in
53034         a warning about an integer-to-pointer conversion problem with getenv.
53035         Reported by Volker Borchert.
53036
53037 2001-11-26  Jim Meyering  <meyering@lucent.com>
53038
53039         * lib/gtod.h: Remove file.
53040         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
53041         * lib/gettimeofday.c: Don't include gtod.h.
53042         (GTOD_init): Remove function.
53043         (rpl_gettimeofday): Do its job here instead, rather than aborting.
53044         Suggestion from Volker Borchert.
53045
53046 2001-11-23  Jim Meyering  <meyering@lucent.com>
53047
53048         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
53049         it.
53050         * lib/hash.c (struct hash_table): Define it here instead.
53051
53052 2001-11-22  Jim Meyering  <meyering@lucent.com>
53053
53054         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
53055
53056 2001-11-20  Jim Meyering  <meyering@lucent.com>
53057
53058         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
53059         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
53060
53061 2001-11-19  Jim Meyering  <meyering@lucent.com>
53062
53063         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
53064         directory.  Use "conftestXXXXXX" as the template.
53065         Suggestion from Paul Eggert.
53066
53067         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
53068         immediately, so the test doesn't mistakenly hit the max-open-files
53069         limit.
53070
53071 2001-11-18  Paul Eggert  <eggert@twinsun.com>
53072
53073         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
53074         (TEMPORARIES): New macro.
53075         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
53076         removes an artificial limitation (e.g. HP-UX 10.20, where
53077         TMP_MAX is 17576).
53078
53079 2001-11-18  Jim Meyering  <meyering@lucent.com>
53080
53081         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
53082
53083 2001-11-18  Jim Meyering  <meyering@lucent.com>
53084
53085         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
53086         on SunOS 4.
53087
53088         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
53089         files will be created before anything else.
53090
53091 2001-11-17  Paul Eggert  <eggert@twinsun.com>
53092
53093         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
53094         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
53095
53096 2001-11-17  Jim Meyering  <meyering@lucent.com>
53097
53098         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
53099         Prompted by a report from Bob Proulx.
53100
53101         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
53102         Instead, require UTILS_FUNC_MKSTEMP.
53103
53104 2001-11-17  Jim Meyering  <meyering@lucent.com>
53105
53106         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
53107         Now, that's done as part of AC_FUNC_STRTOD.
53108
53109 2001-11-17  Jim Meyering  <meyering@lucent.com>
53110
53111         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
53112         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
53113         rather than group writable.  Patch by Juan F. Codagnone.
53114
53115         * lib/readtokens.c: Remove explicit declarations of xmalloc and
53116         xrealloc, Instead, include "xalloc.h".
53117
53118         * lib/mountlist.c: Include unlocked-io.h after all system headers.
53119         Remove explicit declarations of xmalloc, xrealloc,
53120         and xstrdup.  Instead, include "xalloc.h".
53121
53122         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
53123         unlocked-io.h.
53124         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
53125         Likewise.
53126         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
53127
53128         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
53129         Reported by Padraig Brady.
53130
53131         * lib/mkstemp.c: #undef mkstemp.
53132         Include config.h.
53133         (rpl_mkstemp): Rename from mkstemp.
53134         Protoize.
53135
53136 2001-11-16  Jim Meyering  <meyering@lucent.com>
53137
53138         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
53139         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
53140         determine the amount of total physical memory, use pstat_getstatic.
53141         HPUX-11 doesn't define _SC_PHYS_PAGES.
53142         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
53143         If sysconf couldn't be used to determine the amount of available
53144         physical memory, use both pstat_getstatic and pstat_getdynamic.
53145         Based on a patch from Bob Proulx.
53146
53147 2001-11-10  Jim Meyering  <meyering@lucent.com>
53148
53149         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
53150         (jm_PREREQ): Use it.
53151
53152 2001-11-09  Jim Meyering  <meyering@lucent.com>
53153
53154         * m4/jm-macros.m4: Require autoconf-2.52f.
53155         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
53156         Use these AC_-prefixed names, not the AM_-prefixed ones.
53157
53158         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
53159
53160 2001-11-05  Jim Meyering  <meyering@lucent.com>
53161
53162         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
53163
53164 2001-11-04  Jim Meyering  <meyering@lucent.com>
53165
53166         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
53167         $DEFS.
53168
53169 2001-11-03  Jim Meyering  <meyering@lucent.com>
53170
53171         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
53172         of AC_DEFUN.
53173
53174         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
53175         know the name of the variable in the macro definition.
53176
53177 2001-11-03  Jim Meyering  <meyering@lucent.com>
53178
53179         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
53180         in argmatch_to_argument call.
53181
53182         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
53183         argument.
53184
53185         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
53186         e.g., a fault due to an attempt to free a NULL pointer.
53187
53188 2001-11-01  Jim Meyering  <meyering@lucent.com>
53189
53190         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
53191         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
53192
53193 2001-11-01  Jim Meyering  <meyering@lucent.com>
53194
53195         * lib/dirfd.c, lib/dirfd.h: New files.
53196         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
53197
53198         * lib/hash.c (hash_print) [TESTING]: Clean up.
53199
53200 2001-10-22  Paul Eggert  <eggert@twinsun.com>
53201
53202         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
53203         to avoid a warning if -Wall.
53204
53205 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
53206
53207         * README: New file
53208         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
53209         (per RMS's instructions, this is now the canonical source)
53210         * lgpl/, gpl/: New directories.
53211
53212 2001-10-21  Paul Eggert  <eggert@twinsun.com>
53213
53214         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
53215
53216 2001-10-21  Jim Meyering  <meyering@lucent.com>
53217
53218         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
53219         this code would end up calling gettext even in packages built
53220         with --disable-nls.
53221         * lib/getopt.c (_): Likewise.
53222         * lib/regex.c (_): Likewise.
53223
53224 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53225
53226         * m4/error.m4 (jm_PREREQ_ERROR):
53227         Do not invoke AC_CHECK_FUNCS with strerror_r, as
53228         AC_FUNC_STRERROR_R does that.
53229         Check for strerror declaration.
53230
53231         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
53232         are supposed to have them these days.
53233         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
53234         Merge changes from latest Autoconf CVS.
53235         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
53236         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
53237         POSIX decided to standardize on the int flavor of strerror_r.
53238
53239 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53240
53241         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
53242         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
53243         Use strerror_r that is only a macro, even if it is not a function.
53244         (strerror): Check for HAVE_DECL_STRERROR before declaring.
53245         (private_strerror): Use prototypes, not old-style function definition.
53246         (print_errno_message): New function.
53247         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
53248         char*-flavored one.
53249         (error_tail, error, error_at_line): Use it.
53250
53251 2001-10-11  Jim Meyering  <meyering@lucent.com>
53252
53253         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
53254         and quote_n (1, ... to avoid clobbering a buffer.
53255
53256 2001-10-05  Jim Meyering  <meyering@lucent.com>
53257
53258         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
53259         hash-pjw.h.
53260         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
53261         * lib/hash-pjw.h: New file.
53262
53263 2001-09-30  Jim Meyering  <meyering@lucent.com>
53264
53265         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
53266         `struct fsstat' has the `f_fstypename' member.
53267         Use that to define FS_TYPE, which is now used to make
53268         the getfsstat link test tighter.
53269
53270 2001-09-30  Jim Meyering  <meyering@lucent.com>
53271
53272         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
53273         Include <sys/ucred.h>, for Apple Darwin.
53274         Include sys/mount.h and sys/fs_types.h only if available.
53275         (FS_TYPE): Define.
53276         (read_filesystem_list): Use FS_TYPE.
53277
53278 2001-09-29  Paul Eggert  <eggert@twinsun.com>
53279
53280         * lib/exclude.c (excluded_filename): 0 -> false, since it's
53281         a boolean context.
53282
53283 2001-09-29  Jim Meyering  <meyering@lucent.com>
53284
53285         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53286         [one-argument getmntent function]): Include stdio.h before mntent.h.
53287         SunOS 4.1.x needs it for the declaration of `FILE'.
53288         Patch by Volker Borchert.
53289
53290         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
53291         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
53292         sys/fs_types.h, and make the link-test for getfsstat guard #include
53293         directives with appropriate #if HAVE_*_H tests so that we can
53294         detect getfsstat on Apple Darwin1.3.7 systems.
53295         Reported by Nelson Beebe.
53296         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
53297
53298 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53299
53300         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53301         #defines strtoimax.  Also treat the other strto* functions
53302         like strtoimax.
53303
53304         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
53305         Check for strtoul and strtoumax,
53306         as those declarations are made even in the signed case.
53307         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
53308         Likewise, for strtol and strtoimax.
53309
53310 2001-09-28  Paul Eggert  <eggert@twinsun.com>
53311
53312         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
53313         #defines strtoimax.  Also treat the other strto* functions
53314         like strtoimax.
53315
53316         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
53317         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
53318         (strtoimax, strtoumax): Do not declare if already defined as a macro.
53319
53320 2001-09-26  Jim Meyering  <meyering@lucent.com>
53321
53322         Most macros in unlocked-io.h had the wrong number of arguments.
53323         * lib/gen-uio: New script.
53324         (USE_UNLOCKED_IO): Define to 1 if not already defined.
53325         * lib/unlocked-io.hin: Remove file.
53326         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
53327         rather than trying to embed it here.
53328         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
53329         Reported by Padraig Brady.
53330
53331 2001-09-25  Volker Borchert  <bt@teknon.de>
53332
53333         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
53334         `result'.
53335
53336 2001-09-24  Jim Meyering  <meyering@lucent.com>
53337
53338         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
53339
53340 2001-09-23  Jim Meyering  <meyering@lucent.com>
53341
53342         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
53343         instead of the mere test for existence of mntent.h.  The latter
53344         would get a false-positive on AIX 3.4 systems.
53345         In the outer getmntent if-block, don't die if neither of the getmntent
53346         tests succeeds.  Instead, just fall through and continue with the
53347         remaining tests.
53348
53349 2001-09-23  Jim Meyering  <meyering@lucent.com>
53350
53351         * lib/mountlist.c: Remove useless parentheses in #if directives.
53352         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
53353         the deprecated MOUNTED symbol is no longer defined in mntent.h.
53354
53355 2001-09-22  Jim Meyering  <meyering@lucent.com>
53356
53357         * m4/gettext.m4: New file.  From gettext.
53358         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
53359         * m4/progtest.m4: Likewise
53360         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
53361         * m4/glibc21.m4: Likewise.
53362
53363         * m4/libintl.m4: Remove.  No longer used.
53364
53365 2001-09-22  Jim Meyering  <meyering@lucent.com>
53366
53367         * lib/localcharset.c: Update from latest gettext.
53368         * lib/config.charset: Likewise.
53369
53370 2001-09-20  Jim Meyering  <meyering@lucent.com>
53371
53372         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
53373         strtoimax.
53374         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
53375         strtoumax.
53376
53377 2001-09-20  Jim Meyering  <meyering@lucent.com>
53378
53379         * lib/xstrtol.c (strtoimax): Guard declaration with
53380         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
53381         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
53382         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
53383         (strtoumax): Likewise, for completeness (it wasn't necessary).
53384
53385 2001-09-17  Paul Eggert  <eggert@twinsun.com>
53386
53387         * lib/strtoimax.c (HAVE_LONG_LONG):
53388         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
53389         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
53390         to work around bug in IBM C compiler.
53391
53392 2001-09-17  Jim Meyering  <meyering@lucent.com>
53393
53394         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
53395         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
53396         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
53397         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
53398         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
53399         whenever the right hand side need not be expanded by the shell.
53400
53401 2001-09-16  Paul Eggert  <eggert@twinsun.com>
53402
53403         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
53404         library.  It's not correct, as some older glibcs are buggy.
53405         fnmatch wasn't fixed until glibc 2.2.
53406
53407         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
53408         special shell magic here.
53409
53410 2001-09-16  Jim Meyering  <meyering@lucent.com>
53411
53412         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
53413         * m4/jm-macros.m4: Require it.
53414
53415 2001-09-16  Jim Meyering  <meyering@lucent.com>
53416
53417         * lib/mkdir.c: New file.
53418
53419 2001-09-15  Jim Meyering  <meyering@lucent.com>
53420
53421         * m4/jm-macros.m4: Check for help2man.
53422
53423 2001-09-11  Jim Meyering  <meyering@lucent.com>
53424
53425         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
53426         The body, by Paul Eggert, was moved here from configure.in.
53427         * m4/jm-macros.m4: Require UTILS_HOST_OS.
53428
53429 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53430
53431         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
53432         (jm_PREREQ): Use it.
53433
53434 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53435
53436         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
53437         Use ssize_t, not int, to store result of readlink.
53438         Check for ssize_t overflow as well as size_t overflow,
53439         as POSIX says the result of readlink is implementation-defined
53440         when ssize_t overflows.
53441         Remove unnecessary cast to char*.
53442         Use free+malloc instead of realloc, as the storage doesn't need
53443         to be preserved and it's clearer and can be more efficient that way.
53444         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
53445         * lib/xreadlink.h (xreadlink): Update prototype.
53446
53447 2001-09-04  Paul Eggert  <eggert@twinsun.com>
53448
53449         * lib/xgetcwd.c: Revert some of the previous change; intead,
53450         fix the HAVE_GETCWD_NULL code to behave more like the
53451         !HAVE_GETCWD_NULL code used to.
53452
53453         Include "xalloc.h".
53454         (xgetcwd): Do not return NULL when memory is exhausted; instead,
53455         invoke xalloc_die.
53456
53457 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53458
53459         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
53460         sys/param.h, as pathmax.h includes them.
53461
53462 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53463
53464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
53465         (jm_PREREQ_XGETCWD): New macro.
53466
53467         * m4/getcwd.m4: New file.
53468
53469 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53470
53471         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
53472         like the HAVE_GETCWD_NULL code.
53473         Include pathmax.h if not HAVE_GETCWD.
53474         Do not include xalloc.h.
53475         (INITIAL_BUFFER_SIZE): New symbol.
53476         Do not use xmalloc / xrealloc, since the caller is responsible for
53477         handling errors.  Preserve errno around `free' during failure.
53478         Do not overrun buffer when using getwd.
53479
53480 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53481
53482         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
53483         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
53484         getcwd (NULL, 0).
53485
53486 2001-09-03  Paul Eggert  <eggert@twinsun.com>
53487
53488         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
53489         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
53490         spotted by Jim Meyering.
53491
53492 2001-09-03  Jim Meyering  <meyering@lucent.com>
53493
53494         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
53495         failure.
53496
53497 2001-09-02  Jim Meyering  <meyering@lucent.com>
53498
53499         * lib/error.c: Update from GNU libc.
53500
53501 2001-09-01  Jim Meyering  <meyering@lucent.com>
53502
53503         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
53504         Used by df.
53505
53506 2001-09-01  Jim Meyering  <meyering@lucent.com>
53507
53508         * lib/xreadlink.c: New file.
53509         * lib/xreadlink.h: New file.
53510         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
53511         xreadlink.h.
53512
53513         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
53514         doesn't conflict with sparc Solaris 7's definition in
53515         /usr/include/sys/int_types.h.
53516
53517         * lib/exclude.c: Use `""', not `<>' to #include non-system header
53518         files.
53519         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
53520         and strncasecmp as r-values.  Unixware didn't have declarations.
53521
53522 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53523
53524         * lib/xstrtol.h: Add copyright notice.
53525         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
53526         LONGINT_INVALID_SUFFIX_CHAR.
53527
53528 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53529
53530         * lib/xstrtol.c (strtoimax): New decl.
53531
53532 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53533
53534         * lib/xgetcwd.c: Don't include pathmax.h.
53535         Include stdlib.h and unistd.h if available.
53536         Include xalloc.h.
53537         (xmalloc, xstrdup, free): Remove decls.
53538         (xgetcwd): Don't assume sizes fit in unsigned.
53539         Check for overflow when computing sizes.
53540         Simplify reallocation code.
53541
53542 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53543
53544         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
53545         a directory's st_size can have an arbitrary value, so the old
53546         usage could waste an arbitrary amount of memory.  All uses
53547         changed.
53548         * lib/savedir.h: Update prototype.
53549
53550 2001-08-31  Paul Eggert  <eggert@twinsun.com>
53551
53552         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
53553
53554         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
53555         old strtoimax.c.
53556
53557         Also, make the following further changes to make this file's
53558         configuration more similar to that of strtol.c:
53559         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
53560         (strtoumax, uintmax_t, strtoull, strtol): Remove.
53561         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
53562         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
53563         changed to signed values.
53564
53565         And make the following changes as well:
53566         Fix copyright notice, as 1999 was missing.
53567         (verify): New macro.
53568         (strtoimax): Check sizes at compile-time, not run-time.
53569         Prefer strtol to strtoll if both work.
53570         (main): Remove; it was not that useful and was a pain to maintain.
53571
53572         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
53573
53574 2001-08-31  Jim Meyering  <meyering@lucent.com>
53575
53576         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
53577         Use an initial, malloc'd, buffer of length 128 rather than
53578         a statically allocated one of length 1024.
53579
53580 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53581
53582         Simplify code, partly by assuming autoconf 2.52 semantics.
53583
53584         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
53585
53586         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
53587         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
53588         All uses removed.
53589         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
53590         Move AC_REQUIRE to next-to-top level, to avoid confusion.
53591         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
53592         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
53593         jm_AC_HEADER_INTTYPES_H.
53594         * m4/jm-macros.m4 (jm_MACROS): Likewise.
53595
53596         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
53597
53598         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
53599         Quote first arg of AC_DEFUN.
53600         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
53601         since they are needed to parse the include file even if we need
53602         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
53603         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
53604         but with opposite signedness.
53605
53606 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53607
53608         Merge 'exclude' changes from tar 1.13.22.
53609         This fixes one or two unlikely storage allocation overflow bugs,
53610         but doesn't change user-visible behavior otherwise.
53611
53612 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53613
53614         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
53615         (jm_PREREQ_EXCLUDE): New macro.
53616
53617 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53618
53619         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
53620         tm to be declared.
53621
53622 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53623
53624         * lib/hash.c: Remove '2001' from copyright notice.
53625
53626 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53627
53628         * lib/full-write.h: New file.
53629         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
53630         * lib/full-write.c: Correct credits, as cccp.c no longer
53631         exists and anyway it was so heavily changed from the old cccp
53632         code as to be unrecognizable.  Include full-write.h.
53633         (full_write) Return size_t, with short writes meaning failure.
53634         All callers changed.  This fixes a bug with large buffers
53635         on 64-bit hosts.
53636         * lib/utime.c: Include full-write.h.
53637
53638 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53639
53640         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
53641         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
53642         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
53643         Include if available.
53644         (<xalloc.h>): Include
53645         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
53646         (verify): New macro.  Use it to verify that EXCLUDE macros do not
53647         collide with FNM macros.
53648         (struct patopts): New struct.
53649         (struct exclude): Use it, as exclude patterns now come with options.
53650         (new_exclude): Support above changes.
53651         (new_exclude, add_exclude_file):
53652         Initial size must now be a power of two to simplify overflow checking.
53653         (free_exclude, fnmatch_no_wildcards): New function.
53654         (excluded_filename): No longer requires options arg, as the options
53655         are determined by add_exclude.  Now returns bool, not int.
53656         (excluded_filename, add_exclude):
53657         Add support for the fancy new exclusion options.
53658         (add_exclude, add_exclude_file): Now takes int options arg.
53659         Check for arithmetic overflow when computing sizes.
53660         (add_exclude_file): xrealloc might modify errno, so don't
53661         realloc until after errno might be used.
53662
53663         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
53664         New macros.
53665         (free_exclude): New decl.
53666         (add_exclude, add_exclude_file): Now takes int options arg.
53667         (excluded_filename): No longer requires options arg, as the options
53668         are determined by add_exclude.  Now returns bool, not int.
53669
53670 2001-08-30  Paul Eggert  <eggert@twinsun.com>
53671
53672         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
53673
53674 2001-08-27  Jim Meyering  <meyering@lucent.com>
53675
53676         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
53677
53678         * lib/version-etc.c (N_): Remove definition.
53679         Revert most of last change.
53680         Instead, simply don't mark the `Copyright...' string for translation.
53681         Based on advice from Paul Eggert.
53682
53683         * lib/strtoxmax.c: Tweak comment.
53684
53685 2001-08-26  Jim Meyering  <meyering@lucent.com>
53686
53687         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
53688
53689         * m4/xstrtoimax.m4: New file.
53690         * m4/xstrtoumax.m4: Add comments explaining why we
53691         AC_REPLACE_FUNCS(strtol).
53692
53693 2001-08-26  Jim Meyering  <meyering@lucent.com>
53694
53695         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
53696         of copyright with `%s' so translators don't get an untranslated
53697         message in 2002.
53698         (COPYRIGHT_YEAR): Define.
53699         (version_etc): Use fprintf rather than fputs.
53700         Suggestion from Ulrich Drepper.
53701
53702         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
53703
53704         * lib/strtoll.c: New file, from GNU libc.
53705         * lib/xstrtoimax.c: New file.
53706
53707         * lib/xstrtol.h: Add xstrtoimax.
53708         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
53709         * lib/strtoimax.c: New file.  Likewise, but first define
53710         STRTOUXMAX_SIGNED.
53711
53712         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
53713         ...
53714         * lib/strtoxmax.c: ... then renamed to this.
53715
53716 2001-08-18  Paul Eggert  <eggert@twinsun.com>
53717
53718         * m4/inttypes.m4: Add AC_PREREQ(2.13).
53719         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
53720         (jm_AC_TYPE_INTMAX_T): New macro.
53721         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
53722
53723         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
53724
53725         * m4/longlong.m4: Renamed from ulonglong.m4.
53726         * m4/inttypes.m4: Renamed from inttypes_h.m4.
53727         * m4/uintmax_t.m4: Removed.
53728
53729 2001-08-13  Paul Eggert  <eggert@twinsun.com>
53730
53731         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
53732         Port to Solaris 8, where 'sed' requires a space after the 'r'
53733         command, and where sh dislikes "$/".  Clean up the spacing a bit.
53734         Redirect output to $tmp just once.
53735
53736 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
53737
53738         * lib/addext.c (<errno.h>): Include.
53739         (errno): Declare if not defined.
53740         (addext): Work correctly when pathconf returns -1 and leaves
53741         errno alone because there is no limit.  Also, work even if
53742         pathconf returns a value greater than SIZE_MAX.
53743
53744 2001-08-12  Jim Meyering  <meyering@lucent.com>
53745
53746         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
53747         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
53748         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
53749         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
53750         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
53751         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
53752         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
53753         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
53754         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
53755         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
53756         utime.m4, utimes.m4, xstrtoumax.m4:
53757         Quote the first argument in each use of AC_DEFUN.
53758
53759 2001-08-12  Jim Meyering  <meyering@lucent.com>
53760
53761         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
53762         Simply `return getcwd (NULL, 0);'.
53763         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
53764         Use 1300 as initial value for length, not PATH_MAX.
53765
53766         * lib/pathmax.h: Clean up cpp syntax.
53767
53768 2001-08-12  Jim Meyering  <meyering@lucent.com>
53769
53770         * lib/gettimeofday.c: New file.
53771         * lib/gtod.h: New file.
53772         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
53773
53774 2001-08-05  Jim Meyering  <meyering@lucent.com>
53775
53776         * m4/jm-macros.m4: Require autoconf-2.52.
53777
53778 2001-08-04  Jim Meyering  <meyering@lucent.com>
53779
53780         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
53781         stmt, to get in sync with glibc.
53782
53783 2001-08-03  Paul Eggert  <eggert@twinsun.com>
53784
53785         The following changes are from gettext 0.10.39 as maintained by
53786         Bruno Haible.
53787
53788         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
53789         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
53790         with inverted sense.  All uses changed.
53791
53792         * lib/mbswidth.c: Don't include <limits.h>.
53793         Include <stdlib.h> and <string.h> unconditionally.
53794         (iswcntrl, mbsinit, ISCNTRL): New macros.
53795         (mbsnwidth): Use K&R style function declarations.
53796         Don't bother checking for MB_LEN_MAX == 1, since the compiler
53797         can optimize it when MB_CUR_MAX == 1.
53798         The width of control characters is zero, not 1.
53799
53800 2001-08-03  Paul Eggert  <eggert@twinsun.com>
53801
53802         The following changes are from gettext 0.10.39 as maintained by
53803         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
53804
53805         * m4/codeset.m4: Upgrade to serial AM1.
53806         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
53807         all uses changed.  Quote first arg of AC_DEFUN.
53808         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
53809
53810         * m4/iconv.m4: Upgrade to serial AM2.
53811         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
53812         Add --with-libconv-prefix.
53813         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
53814         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
53815         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
53816         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
53817         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
53818
53819         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
53820         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
53821         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
53822         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
53823         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
53824         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
53825         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
53826         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
53827         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
53828
53829         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
53830         string.h any more.
53831
53832         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
53833         not the default value.
53834
53835         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
53836         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
53837         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
53838         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
53839         Also check for iswcntrl, used for wcwidth fallback.
53840         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
53841         to Autoconf 2.13.
53842
53843 2001-08-03  Jim Meyering  <meyering@lucent.com>
53844
53845         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
53846         as it was in the original.  Reported by Paul Eggert.
53847
53848 2001-07-16  Jim Meyering  <meyering@lucent.com>
53849
53850         * m4/gettimeofday.m4: New file.
53851         Prompted by a report from Bernhard Baehr.
53852
53853 2001-07-15  Jim Meyering  <meyering@lucent.com>
53854
53855         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
53856         stuff. Now it's in ../Makefile.cfg.
53857
53858 2001-07-15  Jim Meyering  <meyering@lucent.com>
53859
53860         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
53861         (BUILT_SOURCES): Add unlocked-io.h.
53862         (io_functions): Define.
53863         (unlocked-io.h): New rule.
53864         (DISTCLEANFILES): Add unlocked-io.h.
53865         (all-local): Depend on unlocked-io.h, to ensure it is created.
53866
53867         * lib/unlocked-io.hin: New file
53868
53869         * lib/regex.c: Update from glibc.
53870
53871 2001-07-05  Jim Meyering  <meyering@lucent.com>
53872
53873         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
53874         recommendation.
53875         (libfetish_a_SOURCES): Put all .h files here instead.
53876         Remove a thus-exposed (better checks in automake) duplicate and
53877         two unnecessary .h files.
53878
53879 2001-07-04  Jim Meyering  <meyering@lucent.com>
53880
53881         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
53882         that generates jm-glibc-io.m4 so that it doesn't trigger any make
53883         distcheck failure.
53884
53885 2001-07-02  Jim Meyering  <meyering@lucent.com>
53886
53887         The following changes were prompted by suggestions from Bruno Haible.
53888
53889         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
53890         is now generated.
53891         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
53892         definition of EXTRA_DIST.
53893         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
53894         ensure that the generated file is created/updated whenever the list
53895         of $(unlocked_functions) is changed.
53896         (jm-glibc-io.m4): New rule.
53897         (unlocked-io.h): New rule -- currently unused.
53898
53899 2001-06-24  Jim Meyering  <meyering@lucent.com>
53900
53901         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
53902         unmatched right bracket, rather than kludging it with an extra,
53903         falsely-matching quote in a comment.  Patch by Akim Demaille.
53904
53905 2001-06-11  Jim Meyering  <meyering@lucent.com>
53906
53907         * lib/regex.c: Update from GNU libc.
53908
53909 2001-05-27  Jim Meyering  <meyering@lucent.com>
53910
53911         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
53912         Check for ut_type in struct utmp.
53913
53914 2001-05-27  Jim Meyering  <meyering@lucent.com>
53915
53916         * lib/readutmp.h (UT_TYPE): Define.
53917
53918 2001-05-24  Jim Meyering  <meyering@lucent.com>
53919
53920         * lib/argmatch.c: Include "quote.h".
53921         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
53922         quote function.  Reported by Göran Uddeborg.
53923
53924 2001-05-22  Jim Meyering  <meyering@lucent.com>
53925
53926         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
53927         now that we use the package-supplied version unconditionally.
53928         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
53929
53930 2001-05-21  Jim Meyering  <meyering@lucent.com>
53931
53932         * m4/regex.m4: Change a couple backticks to single quotes to avoid
53933         shell syntax errors.
53934
53935 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
53936
53937         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
53938
53939 2001-05-20  Paul Eggert  <eggert@twinsun.com>
53940
53941         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
53942         Don't bother to check library strftime, since
53943         we'll be using our own my_strftime function anyway.
53944         Define my_strftime instead of strftime.
53945
53946 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
53947
53948         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
53949         which is not yet declared.
53950
53951 2001-05-15  Jim Meyering  <meyering@lucent.com>
53952
53953         * m4/regex.m4: Use proper quoting so brackets appear in the test
53954         program.
53955         Reported by, and with help from, Bruno Haible.
53956
53957 2001-05-13  Jim Meyering  <meyering@lucent.com>
53958
53959         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
53960         undefined.
53961
53962 2001-05-11  Paul Eggert  <eggert@twinsun.com>
53963
53964         dirname code cleanup.  base_name now behaves more compatibly
53965         with POSIX basename when given file names that have trailing
53966         slashes, and similarly for dir_name.  Add new primitives
53967         base_len and dir_len.  Put the directory-name-related decls
53968         into dirname.h.
53969
53970         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
53971         * lib/backupfile.c (base_name): Likewise.
53972         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
53973         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
53974         * lib/makepath.c (strip_trailing_slashes): Likewise.
53975         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
53976         ISSLASH): Likewise.
53977         * lib/rename.c (strip_trailing_slashes): Likewise.
53978         * lib/same.c (base_name): Likewise.
53979         * lib/stripslash.c (ISSLASH): Likewise.
53980
53981         * lib/addext.c: Include <dirname.h> after size_t is defined.
53982         * lib/backupfile.c: Likewise.
53983
53984         * lib/addext.c (addext): Use base_len to trim redundant
53985         trailing slashes instead of doing it ourselves.
53986         But do not trim the last slash if it is not redundant.
53987
53988         * lib/backupfile.c (find_backup_file_name,
53989         max_backup_version): Use base_len instead of rolling it ourselves.
53990         Handle the case of "" and (on DOS) "C:" correctly.
53991
53992         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
53993         needed. Include <string.h>, <dirname.h>.
53994         (base_name): Allow file names ending in slashes, other than names
53995         that are all slashes.  In this case, return the basename followed
53996         by the slashes.  This is more general, and can be used in places
53997         where the original base_name purposely had an assertion failure.
53998         (base_len): New function.
53999
54000         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
54001         Do not include <assert.h>; no longer needed.
54002         Include xalloc.h.
54003         (memrchr): Remove decl.
54004         (dir_name_r): Remove.
54005         (dir_len): Renamed from dirlen.  All callers changed.
54006         Rewrite in terms of base_name, for simplicity and consistency.
54007         (dir_name): Never return NULL.  All callers changed.
54008         Do not include <stdlib.h> in test program; no longer needed.
54009         return 0; is fine for test program.
54010
54011         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
54012         New macros.
54013         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
54014
54015         * lib/path-concat.c (path_concat): Use base_len to compute
54016         base length, not strlen; this means we cannot rely on memcpy
54017         to null-terminate.
54018
54019         * lib/same.c (STREQ): Remove.
54020         (same_name): Handle the case where the basename ends in trailing '/'.
54021
54022         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
54023         a slash was stripped.  Do not strip the last slash after a
54024         file system prefix.
54025
54026 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54027
54028         * lib/Makefile.am (libfetish_a_SOURCES):
54029         Add strftime.c, since we now compile it on all hosts.
54030
54031         * lib/strftime.c (my_strftime):
54032         Define to nstrftime if emacs, but only if my_strftime is not defined.
54033         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
54034         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
54035         Add one more extra argument: a nanoseconds value.
54036         All uses changed.
54037         (ns): New macro.
54038         (my_strftime function): Add %N format.
54039         (emacs_strftimeu): Renamed from emacs_strftime,
54040         with extra ut argument.
54041
54042 2001-05-09  Paul Eggert  <eggert@twinsun.com>
54043
54044         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
54045
54046 2001-04-21  Jim Meyering  <meyering@lucent.com>
54047
54048         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
54049         doesn't interfere.
54050
54051 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54052
54053         * m4/ftruncate.m4: Check for chsize.
54054         Link with ftruncate.o unconditionally if ftruncate is missing.
54055         This was required when cross-compiling to i586-mingw32msvc.
54056
54057 2001-04-08  Jim Meyering  <meyering@lucent.com>
54058
54059         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
54060         recomputed; that's necessary when the offset spans a DST transition.
54061         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
54062
54063 2001-04-02  Jim Meyering  <meyering@lucent.com>
54064
54065         * lib/regex.h, regex.c: Update from GNU libc.
54066
54067 2001-03-24  Jim Meyering  <meyering@lucent.com>
54068
54069         * m4/jm-macros.m4: Require autoconf-2.49d.
54070
54071 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
54072
54073         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
54074
54075 2001-03-19  Paul Eggert  <eggert@twinsun.com>
54076
54077         * lib/version-etc.c (version_etc_copyright): Update to 2001.
54078
54079 2001-03-17  Jim Meyering  <meyering@lucent.com>
54080
54081         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
54082         now that the version in autoconf is equivalent.
54083         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
54084
54085         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
54086         Suggestion from Akim Demaille.
54087
54088         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
54089         (jm_PREREQ_TEMPNAME): New function.
54090
54091 2001-03-16  Paul Eggert  <eggert@twinsun.com>
54092
54093         * lib/tempname.c (uint64_t): Define to uintmax_t if
54094         not defined, and if UINT64_MAX is not defined.
54095         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
54096         Reported by John David Anglin.
54097
54098 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
54099
54100         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
54101         resolve alias if codeset is empty.
54102         * lib/config.charset (BeOS): Use wildcard syntax.
54103
54104 2001-03-13  Jim Meyering  <meyering@lucent.com>
54105
54106         * lib/path-concat.c (path_concat)
54107         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
54108         concatenating e.g., `C:' and `foo'.
54109         From Bruno Haible.
54110
54111 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54112
54113         * lib/localcharset.c (locale_charset): Don't use
54114         setlocale(LC_CTYPE,NULL). Don't return NULL.
54115         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
54116
54117 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54118
54119         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
54120         support for DOS/DJGPP.
54121
54122 2001-03-01  Paul Eggert  <eggert@twinsun.com>
54123
54124         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
54125         lacks mkstemp.  Compile our own tempname.c if we compile our own
54126         mkstemp.c, as mkstemp relies on tempname.
54127
54128 2001-03-01  Jim Meyering  <meyering@lucent.com>
54129
54130         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
54131         AH_VERBATIM really does output its argument verbatim.
54132
54133 2001-02-28  Paul Eggert  <eggert@twinsun.com>
54134
54135         * lib/Makefile.am (libfetish_a_SOURCES):
54136         Add dup-safer.c, fopen-safer.c.
54137         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
54138
54139         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
54140         * lib/unistd-safer.h: New files.
54141
54142 2001-02-25  Paul Eggert  <eggert@twinsun.com>
54143
54144         The mkstemp replacement is taken from glibc 2.2.2, with some
54145         portability fixes for use outside glibc, as follows:
54146
54147         * lib/tempname.c (struct_stat64): New macro.
54148         (direxists, __gen_tempname): Use it.
54149         This avoids a portability problem with Solaris 8.
54150
54151         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
54152         (<stddef.h>, <stdint.h>, <string.h>):
54153         Include only if STDC_HEADERS || _LIBC.
54154         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
54155         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
54156         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
54157         (__set_errno): Define this macro if <errno.h> doesn't.
54158         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
54159         Define these macros if <stdio.h> doesn't.
54160         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
54161         Define these macros if <sys/stat.h>
54162         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
54163         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
54164         __xstat64): Define if not _LIBC.
54165         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
54166         (__gen_tempname): Invoke gettimeofday only if
54167         HAVE_GETTIMEOFDAY || _LIBC;
54168         otherwise, fall back on plain "time".
54169         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
54170
54171         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
54172
54173         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
54174
54175 2001-02-18  Paul Eggert  <eggert@twinsun.com>
54176
54177         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
54178
54179 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54180
54181         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
54182         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
54183         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
54184         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
54185
54186 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54187
54188         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
54189         Remove workaround macros for hosts that have mbrtowc but not
54190         mbstate_t, as we now insist on proper declarations for both
54191         before using mbrtowc.
54192
54193 2001-02-17  Jim Meyering  <meyering@lucent.com>
54194
54195         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
54196         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
54197         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
54198         UnixWare 7.1.1.
54199
54200         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
54201         rather than AC_CACHE_VAL.
54202
54203 2001-02-17  Jim Meyering  <meyering@lucent.com>
54204
54205         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
54206         around included file name.
54207
54208         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
54209
54210         * lib/strftime.c: Update from GNU libc (the only changes were to
54211         comments).
54212
54213 2001-02-17  Jim Meyering  <meyering@lucent.com>
54214
54215         * lib/regex.c: Update from libc.
54216
54217 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
54218
54219         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
54220         clash.
54221
54222 2001-02-16  Paul Eggert  <eggert@twinsun.com>
54223
54224         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
54225         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
54226         Reported by Mark Hounschell via Paul Eggert.
54227
54228 2001-02-07  Jim Meyering  <meyering@lucent.com>
54229
54230         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
54231
54232 2001-02-05  Jim Meyering  <meyering@lucent.com>
54233
54234         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
54235         it includes the patch required for `large file' support with at least
54236         HP-UX's 10.20 /bin/cc.
54237
54238 2001-02-03  Jim Meyering  <meyering@lucent.com>
54239
54240         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
54241         AS_IF, now that it works once again (mysteriously).
54242         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54243
54244 2001-01-30  Jim Meyering  <meyering@lucent.com>
54245
54246         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
54247         * m4/chown.m4: Rename conftestchown to conftest.chown.
54248         * m4/rename.m4: s/conftestdir/conftest.d1/ and
54249         s/conftestdir2/conftest.d2/.
54250         * m4/utimes.m4: s/conftestdata/conftest.data/
54251         Inspired by Pavel Roskin's change in autoconf.
54252
54253 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
54254
54255         * lib/config.charset: Update for FreeBSD 4.2.
54256
54257 2001-01-27  Jim Meyering  <meyering@lucent.com>
54258
54259         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
54260         a use of AS_IF.
54261         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54262
54263 2001-01-26  Jim Meyering  <meyering@lucent.com>
54264
54265         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
54266         quotearg.c includes it.
54267
54268 2001-01-26  Jim Meyering  <meyering@lucent.com>
54269
54270         * lib/quotearg.c: Include stddef.h.
54271         * lib/quote.c: Include stddef.h.
54272         Reported by Axel Kittenberger.
54273
54274         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
54275         line in double quotes so that it evokes a better diagnostic.
54276         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
54277         Reported by Axel Kittenberger.
54278
54279 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
54280
54281         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
54282         as if it was a `charset'.
54283
54284 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54285
54286         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
54287         has const.
54288
54289 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
54290
54291         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
54292         to avoid a warning.  Add back 'const' to inptr.
54293
54294 2001-01-20  Jim Meyering  <meyering@lucent.com>
54295
54296         Be sure that headers are checked before used in code compiled
54297         for the type checks.
54298         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
54299         In place of that, invoke jm_CHECK_ALL_TYPES.
54300         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
54301         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
54302         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
54303         The check for ssize_t was mistakenly run before the test for unistd.h.
54304
54305         The configure-time check for stdbool.h was missing.
54306         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
54307         (jm_PREREQ_HASH): New function.
54308
54309 2001-01-17  Jim Meyering  <meyering@lucent.com>
54310
54311         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
54312         for autoconf-2.49c.
54313         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
54314
54315 2001-01-16  Jim Meyering  <meyering@lucent.com>
54316
54317         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
54318         From Bruno Haible.
54319
54320 2001-01-14  Jim Meyering  <meyering@lucent.com>
54321
54322         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
54323         foo and bar.  Create conftestdir/ in the script, not in the C code.
54324         Remove directories in the script, not in the C code.
54325         Remove conftestdir{,2} before trying to create the directory.
54326         Make the entire configure script fail if the mkdir fails.
54327
54328 2001-01-14  Jim Meyering  <meyering@lucent.com>
54329
54330         * lib/rename.c: New file.  From Volker Borchert.
54331         Include stdlib.h, string.h or strings.h, and xalloc.h.
54332         Use strip_trailing_slashes rather than open-coding it.
54333
54334 2001-01-03  Paul Eggert  <eggert@twinsun.com>
54335
54336         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
54337
54338 2001-01-03  Jim Meyering  <meyering@lucent.com>
54339
54340         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
54341         of local `inptr' to avoid warning with some system declarations of
54342         iconv.
54343
54344 2001-01-02  Volker Borchert  <bt@teknon.de>
54345
54346         * m4/rename.m4: New file.
54347         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
54348
54349 2001-01-01  Jim Meyering  <meyering@lucent.com>
54350
54351         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
54352         even on systems with utmpx.h.  It's necessary for the declaration of
54353         utmp's ut_user member.  Reported by Andreas Jaeger.
54354
54355         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
54356         available. They are required for the declarations of getgrgid and
54357         getpwuid resp.
54358         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
54359         Reported by Andreas Jaeger.
54360
54361 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
54362
54363         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
54364         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
54365         so `make install' also works in VPATH builds.
54366
54367 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
54368
54369         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
54370         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
54371         can be used in subdirectories.
54372
54373 2000-12-29  Paul Eggert  <eggert@twinsun.com>
54374
54375         * lib/modechange.c: Do not assume that mode_t uses the
54376         traditional octal encoding.  E.g. "chmod 1 FOO" should set
54377         the other-execute bit of FOO even if S_IXOTH != 1.
54378
54379         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
54380         WOTH, XOTH, ALLM): New macros.
54381         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
54382          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
54383         Use them.
54384         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
54385         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
54386         (mode_compile):
54387         No need to use uintmax_t; unsigned long is long enough.
54388         Don't bother to get suffix since we don't use it.
54389
54390 2000-12-26  Jim Meyering  <meyering@lucent.com>
54391
54392         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
54393         better with autoheader.
54394
54395 2000-12-24  Jim Meyering  <meyering@lucent.com>
54396
54397         * lib/hash.c (is_prime): Return explicit boolean values.
54398         (hash_get_first): Return NULL to appease Irix5.6's 89.
54399         Reported by Nelson Beebe.
54400
54401 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
54402
54403         * lib/localcharset.c (locale_charset): Add support for Win32.
54404
54405 2000-12-18  Paul Eggert  <eggert@twinsun.com>
54406
54407         * lib/physmem.h, lib/physmem.c: New files.
54408
54409         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
54410         (noinst_HEADERS): Add physmem.h.
54411
54412         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
54413         't' for compatibility with Solaris 8 sort.
54414
54415 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
54416
54417         * lib/config.charset: Add support for BeOS.
54418
54419 2000-12-17  Jim Meyering  <meyering@lucent.com>
54420
54421         * m4/dos.m4 (jm_AC_DOS): New file and macro.
54422         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
54423
54424 2000-12-16  Jim Meyering  <meyering@lucent.com>
54425
54426         This bug had a serious impact on chown: `chown N:M FILE' (for integer
54427         N and M) would have treated it like `chown N:N FILE'.
54428
54429         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
54430
54431 2000-12-16  Jim Meyering  <meyering@lucent.com>
54432
54433         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
54434         SHELLS_FILE to a file name that's useful on djgpp systems.
54435         Include stdlib.h.
54436         (ADDITIONAL_DEFAULT_SHELLS): Define.
54437         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
54438         Based mostly on a patch from Prashant TR.
54439
54440 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
54441
54442         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
54443         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
54444         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
54445
54446 2000-12-08  Andreas Schwab  <schwab@suse.de>
54447
54448         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
54449         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
54450
54451 2000-12-07  Jim Meyering  <meyering@lucent.com>
54452
54453         * lib/stripslash.c (ISSLASH): Define.
54454         (strip_trailing_slashes): Use ISSLASH rather than comparing against
54455         `/'.
54456         From Prashant TR.
54457
54458         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
54459         (dir_name_r): Declare this function as static.
54460         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
54461         manifest itself on a name containing a mix of slashes and
54462         backslashes.
54463         Make this function work with names starting with a DOS-style
54464         drive letter and colon prefix.
54465         (dir_name): Append `.' if necessary.
54466         Based mostly on patches from Prashant TR and Eli Zaretskii.
54467
54468         * lib/dirname.h (dir_name_r): Remove prototype.
54469
54470 2000-12-06  Paul Eggert  <eggert@twinsun.com>
54471
54472         * m4/off_t-format.m4: Remove this file.
54473         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
54474
54475 2000-12-06  Jim Meyering  <meyering@lucent.com>
54476
54477         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
54478         replacement strtoull, we may well need the replacement strtoul, too.
54479         Check for declarations of strtoul and strtoull.
54480         Check for strtol.  Mainly as a cue to cause automake to include
54481         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
54482         Check for limits.h -- strtol.c needs it.
54483
54484 2000-12-05  Jim Meyering  <meyering@lucent.com>
54485
54486         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
54487
54488 2000-12-04  Jim Meyering  <meyering@lucent.com>
54489
54490         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
54491         Also include memory.h, stdlib.h, unistd.h if appropriate.
54492         Reported by Andreas Jaeger (conflicting declaration of malloc).
54493
54494 2000-12-02  Jim Meyering  <meyering@lucent.com>
54495
54496         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
54497         * m4/jm-macros.m4 (jm_MACROS): require it.
54498
54499 2000-12-02  Jim Meyering  <meyering@lucent.com>
54500
54501         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
54502
54503 2000-12-01  Paul Eggert  <eggert@twinsun.com>
54504
54505         * lib/memrchr.c: Include <config.h> before any system include file.
54506
54507 2000-11-30  Jim Meyering  <meyering@lucent.com>
54508
54509         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
54510
54511 2000-11-30  Jim Meyering  <meyering@lucent.com>
54512
54513         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
54514
54515 2000-11-29  Paul Eggert  <eggert@twinsun.com>
54516
54517         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
54518
54519 2000-11-26  Jim Meyering  <meyering@lucent.com>
54520
54521         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
54522
54523 2000-11-22  Paul Eggert  <eggert@twinsun.com>
54524
54525         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
54526         size of (size_t) -1; it's not portable.
54527
54528 2000-11-17  Jim Meyering  <meyering@lucent.com>
54529
54530         * lib/strstr.c: Update from GNU libc.
54531
54532 2000-11-17  Akim Demaille  <akim@epita.fr>
54533
54534         * lib/obstack.h: Formatting changes.
54535         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
54536         prevent type checking.
54537         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
54538         cast the value to (void *): assigning a `foo *' to a `void *'
54539         variable is valid.
54540         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
54541
54542 2000-11-16  Jim Meyering  <meyering@lucent.com>
54543
54544         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
54545
54546 2000-11-11  Jim Meyering  <meyering@lucent.com>
54547
54548         * lib/error.c: Add a couple #includes, merging from GNU libc version.
54549
54550 2000-11-10  Jim Meyering  <meyering@lucent.com>
54551
54552         * lib/obstack.h: Update from GNU libc.
54553         * lib/obstack.c: Likewise.
54554
54555 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
54556
54557         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
54558
54559 2000-11-06  Paul Eggert  <eggert@twinsun.com>
54560
54561         * lib/getusershell.c (setusershell): Use rewind rather than
54562         fseek/fseeko, to avoid configuration hassles with fseeko.
54563         Don't bother opening SHELLS_FILE if shellstream is NULL;
54564         it's not necessary.
54565
54566 2000-11-05  Jim Meyering  <meyering@lucent.com>
54567
54568         * lib/makepath.h (make_dir): Declare.
54569         * lib/makepath.c (make_dir): Remove `static' attribute.
54570         Tweak a comment.
54571
54572 2000-11-04  Jim Meyering  <meyering@lucent.com>
54573
54574         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
54575
54576 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
54577
54578         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
54579         last one in a bucket, advance to the next bucket.
54580
54581 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
54582
54583         * lib/fnmatch.c: Do not comment out all the code if we are using
54584         the GNU C library, because in some cases we are replacing buggy
54585         code in the GNU C library itself.
54586
54587 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
54588
54589         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
54590         (regex_compile): Catch bogus \(\1\).
54591
54592 2000-10-30  Paul Eggert  <eggert@twinsun.com>
54593
54594         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
54595         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
54596         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
54597
54598 2000-10-30  Paul Eggert  <eggert@twinsun.com>
54599
54600         * lib/error.h, getline.h, modechange.h:
54601         Remove "2000" from Copyright line, as the file hasn't been
54602         changed this year other than in the copyright notice.
54603
54604         * lib/xalloc.h: Add "2000" to Copyright line, as this file
54605         was changed this year.
54606
54607 2000-10-29  Jim Meyering  <meyering@lucent.com>
54608
54609         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
54610         renaming.
54611         * m4/ls-mntd-fs.m4: Likewise
54612
54613 2000-10-29  Jim Meyering  <meyering@lucent.com>
54614
54615         * lib/xstat.in: Fix grammar in comment.
54616
54617 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
54618
54619         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
54620         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
54621         doesn't define __restrict_arr.
54622
54623 2000-10-28  Jim Meyering  <meyering@lucent.com>
54624
54625         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
54626         (jm_PREREQ_MEMCHR): New function.
54627
54628 2000-10-28  Jim Meyering  <meyering@lucent.com>
54629
54630         * lib/memchr.c: Update from libc.
54631         Adjust for portability:
54632         [HAVE_STDLIB_H]: Include stdlib.h.
54633         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
54634         Undef __memchr, too.
54635         [!weak_alias]: Define __memchr to memchr.
54636
54637         * lib/regex.c: Update from libc.
54638         * lib/regex.h: Likewise.
54639         * lib/getopt1.c: Likewise.
54640         * lib/memcmp.c: Likewise.
54641
54642         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
54643         Avoid using fseek, when possible -- it's broken by design.
54644         Patch by Ulrich Drepper.
54645
54646 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
54647
54648         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
54649         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
54650         Giving in to popular pressure to shut up the compiler with casts.
54651
54652 2000-10-26  Jim Meyering  <meyering@lucent.com>
54653
54654         * lib/strftime.c: Update from libc.
54655
54656 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
54657
54658         * regex.c: More `unsigned char' -> `re_char' changes.
54659         Also change several `int' into `re_wchar_t'.
54660         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
54661         (PUSH_FAILURE_POINTER): Don't cast any more.
54662         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
54663         We want GCC to complain, since this piece of code makes
54664         re_match non-reentrant, which *should* be fixed.
54665         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
54666         (EXTEND_BUFFER): Use RETALLOC.
54667         (SET_LIST_BIT): Don't cast.
54668         (re_wchar_t): New type.
54669         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
54670         that those two functions will always properly return.
54671         (IMMEDIATE_QUIT_CHECK): Cast to void.
54672         (analyse_first): Use recursion rather than an explicit stack.
54673         (re_compile_fastmap): Can't fail anymore.
54674         (re_search_2): Don't check re_compile_fastmap for failure.
54675         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
54676         Now also sets the new value (passed in a new argument).
54677         (re_match_2_internal): Use it.
54678         Also, use a new var `reg' of type size_t when looping through regs
54679         rather than reuse the inappropriate `mcnt'.
54680
54681 2000-10-25  Jim Meyering  <meyering@lucent.com>
54682
54683         * lib/obstack.c: Update from libc.
54684
54685 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
54686
54687         * regex.c (regex_compile): Change the way of handling a range from
54688         a char less than 256 to a char not less than 256.
54689
54690 2000-10-24  Andrew Innes  <andrewi@gnu.org>
54691
54692         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
54693         NT-Emacs only.
54694         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
54695         so that re_search functions only quit when callers expect them to.
54696
54697 2000-10-23  Jim Meyering  <meyering@lucent.com>
54698
54699         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
54700         wrong.  That set_locale call must not have any side effects.
54701         From Paul Eggert.
54702
54703 2000-10-22  Jim Meyering  <meyering@lucent.com>
54704
54705         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
54706         [CYCLIC]: Remove now-unused definition.
54707
54708         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
54709         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
54710         Suggestion from Ulrich Drepper.
54711
54712 2000-10-21  Jim Meyering  <meyering@lucent.com>
54713
54714         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
54715         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
54716         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
54717
54718 2000-10-21  Jim Meyering  <meyering@lucent.com>
54719
54720         * lib/dirname.c (memrchr): Declare if necessary.
54721         (dir_name): Remove the restriction that there be no
54722         trailing slashes.  Now, this code skips past them, effectively
54723         ignoring them.
54724         [TEST_DIRNAME] (main): New unit tests.
54725
54726         * lib/memrchr.c: New file from GNU libc.
54727         Undef __memrchr, too.
54728         [!weak_alias]: Define __memrchr to memrchr.
54729         Guard weak_alias use with `#ifdef weak_alias'.
54730
54731 2000-10-21  Jim Meyering  <meyering@lucent.com>
54732
54733         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
54734         (dir_name): Use dir_name_r.
54735         * lib/dirname.h (dir_name_r): Declare it.
54736
54737 2000-10-17  Jim Meyering  <meyering@lucent.com>
54738
54739         * lib/quote.h (PARAMS): Define and use.
54740         Reported by Akim Demaille.
54741
54742         * lib/getopt.c: Update from libc.
54743
54744 2000-10-16  Jim Meyering  <meyering@lucent.com>
54745
54746         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
54747         setlocale.
54748         From Jan Fedak.
54749
54750 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
54751
54752         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
54753
54754 2000-09-25  Jim Meyering  <meyering@lucent.com>
54755
54756         * lib/md5.h (rol): Define (from GnuPG).
54757
54758         * lib/sha.c: Give credit (GnuPG) where due.
54759         (M): Use rol rather than open-coding it.
54760         Add a FIXME comment.
54761
54762 2000-09-21  Jim Meyering  <meyering@lucent.com>
54763
54764         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
54765         Reported by Michael Stone.
54766
54767 2000-09-20  Jim Meyering  <meyering@lucent.com>
54768
54769         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
54770         (noinst_HEADERS): Add sha.h.
54771         Based on code from Scott G. Miller and from GnuPG.
54772
54773 2000-09-18  Jim Meyering  <meyering@lucent.com>
54774
54775         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
54776         LIBS. Otherwise, everyone ends up linking with -lelf for some
54777         configurations.
54778         Reported by Mike Stone.
54779
54780 2000-09-15  Jim Meyering  <meyering@lucent.com>
54781
54782         * lib/regex.c: Update from libc.
54783
54784 2000-09-10  Jim Meyering  <meyering@lucent.com>
54785
54786         * lib/getopt.c (_getopt_internal): Update from glibc.
54787
54788 2000-09-09  Jim Meyering  <meyering@lucent.com>
54789
54790         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
54791         think it should be used as a general replacement for isascii.
54792         * lib/fnmatch.c: Likewise.
54793         * lib/mbswidth.c: Likewise
54794         * lib/regex.c: Likewise.
54795
54796         Don't use atoi.
54797         * lib/userspec.c: Include sys/param.h and limits.h.
54798         Include xstrtol.h.
54799         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
54800         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
54801         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
54802         UID, GID.  Check range.
54803
54804 2000-09-06  Jim Meyering  <meyering@lucent.com>
54805
54806         * lib/getopt.c (_getopt_internal): Update from glibc.
54807
54808 2000-08-30  Jim Meyering  <meyering@lucent.com>
54809
54810         * lib/strftime.c: Merge in changes from GNU libc.
54811
54812 2000-08-26  Jim Meyering  <meyering@lucent.com>
54813
54814         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
54815         * m4/fpending.m4: New file.
54816
54817 2000-08-26  Jim Meyering  <meyering@lucent.com>
54818
54819         * lib/closeout.c: Include "__fpending.h".
54820         (close_stdout_status): Return right away if there's nothing to flush.
54821
54822         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
54823         * lib/__fpending.c: New file.
54824         * lib/__fpending.h: New file.
54825
54826 2000-08-20  Jim Meyering  <meyering@lucent.com>
54827
54828         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
54829         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
54830         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
54831
54832 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
54833
54834         Improve fileutils installation on systems where running
54835         programs (like install) can't be unlinked.
54836         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
54837         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
54838
54839 2000-08-07  Paul Eggert  <eggert@twinsun.com>
54840
54841         Standardize on "memory exhausted" instead of "Memory exhausted"
54842         or "virtual memory exhausted".
54843         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
54844         "virtual memory exhausted".
54845         * lib/same.c (same_name): Invoke xalloc_die instead of printing
54846         our own message.
54847         * lib/userspec.c (parse_user_spec): Likewise.
54848         * lib/bumpalloc.h: comment fix
54849         * lib/same.c, userspec.c: Include xalloc.h.
54850
54851         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
54852         not char *const and pointing to a constant array.
54853         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
54854         (xrealloc): Comment fix.
54855
54856         * lib/userspec.c (parse_user_spec):
54857         Don't translate a message until just before returning,
54858         to avoid unnecessary translation.
54859
54860 2000-08-07  Jim Meyering  <meyering@lucent.com>
54861
54862         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
54863         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
54864         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
54865         getgroups.c, gethostname.c, getopt.h, group-member.c,
54866         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
54867         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
54868         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
54869         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
54870         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
54871         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
54872         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
54873         yesno.c: Back out Copyright date changes for each file with no change
54874         this year.  This eases coordination with other programs using the same
54875         source code modules.  From Paul Eggert.
54876
54877 2000-08-06  Paul Eggert  <eggert@twinsun.com>
54878
54879         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
54880         not char, for compatibility with glibc 2.1.3 strftime.c.
54881
54882 2000-08-03  Greg McGary  <greg@mcgary.org>
54883
54884         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
54885         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
54886         (EXTEND_BUFFER): Use them.
54887
54888 2000-08-01  Jim Meyering  <meyering@lucent.com>
54889
54890         * lib/dirname.c (ISSLASH): Define.
54891         (BACKSLASH_IS_PATH_SEPARATOR): Define.
54892         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
54893         both `\' and `/' may be use as path separators.
54894         Based on a patch from Prashant TR.
54895
54896 2000-07-31  Paul Eggert  <eggert@twinsun.com>
54897
54898         * lib/quotearg.c (quotearg_n_options): Don't make the initial
54899         slot vector a constant, since it might get modified.
54900
54901 2000-07-31  Jim Meyering  <meyering@lucent.com>
54902
54903         * lib/xmalloc.c: Use `virtual memory exhausted', not
54904         `Memory exhausted'.
54905         * lib/obstack.c (print_and_abort): Likewise.
54906
54907 2000-07-30  Paul Eggert  <eggert@twinsun.com>
54908
54909         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
54910         buffer, so that the caller can always quote one small
54911         component of a "memory exhausted" message in slot 0.
54912         From a suggestion by Jim Meyering.
54913
54914 2000-07-30  Jim Meyering  <meyering@lucent.com>
54915
54916         * lib/makepath.c (make_path): Quote the other instance, too.
54917
54918         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
54919         (STATIC_BUF_SIZE): Define.
54920         (quotearg_n_options): Use only statically allocated storage when
54921         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
54922         than STATIC_BUF_SIZE.
54923
54924 2000-07-29  Jim Meyering  <meyering@lucent.com>
54925
54926         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
54927         * lib/dirname.c (dir_name): Likewise.
54928
54929         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
54930         `/'.
54931
54932         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
54933         (dir_name): Assert that there are no trailing slashes.
54934
54935 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
54936
54937         * lib/mbswidth.h (mbswidth): Add a flags argument.
54938         (mbswidth): New declaration.
54939         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
54940         * lib/mbswidth.c (mbswidth): Add a flags argument.
54941         (mbsnwidth): New function.
54942
54943 2000-07-24  Jim Meyering  <meyering@lucent.com>
54944
54945         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
54946
54947 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54948
54949         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
54950
54951 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54952
54953         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
54954         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
54955         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
54956         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
54957         invoke multibyte primitives.
54958
54959 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54960
54961         * lib/quotearg.c:
54962         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
54963         so that mbstate_t is always defined.
54964
54965         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
54966         be 1 in at least one GCC installation, and this configuration
54967         error is likely to be common.  Ignoring MB_LEN_MAX hurts
54968         performance on hosts that have mbrtowc but have only unibyte
54969         locales, but I assume these hosts are rare.
54970
54971 2000-07-23  Paul Eggert  <eggert@twinsun.com>
54972
54973         * lib/mbswidth.c (_XOPEN_SOURCE):
54974         Don't define; this causes problems on Solaris 7.
54975         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
54976
54977 2000-07-23  Jim Meyering  <meyering@lucent.com>
54978
54979         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
54980         too: getgrgid, getpwuid, getuid.
54981
54982 2000-07-23  Jim Meyering  <meyering@lucent.com>
54983
54984         * lib/basename.c (base_name): Add an assertion.
54985
54986 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
54987
54988         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
54989         shadow its mbsinit function.
54990
54991 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
54992
54993         * lib/mbswidth.h: New file.
54994         * lib/mbswidth.c: New file.
54995         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
54996         (noinst_HEADERS): Add mbswidth.h.
54997
54998 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
54999
55000         * lib/config.charset: Add support for FreeBSD. Improve support for
55001         HP-UX and IRIX 6.
55002
55003 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
55004
55005         * m4/mbswidth.m4: New file.
55006         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
55007
55008 2000-07-15  Jim Meyering  <meyering@lucent.com>
55009
55010         * lib/makepath.c: Include quote.h.
55011         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
55012         corresponding argument in a `quote (...)' call.
55013         Give better diagnostics.
55014
55015         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
55016         (noinst_HEADERS): Add quote.h.
55017
55018         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
55019         from tar's src/misc.c.
55020         * lib/quote.h: New file.  Prototypes for same.
55021
55022 2000-07-14  Paul Eggert  <eggert@twinsun.com>
55023
55024         From a suggestion by Bruno Haible.
55025         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
55026         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
55027         to decide whether to define the BeOS workaround macro;
55028         this adjusts to the change to AC_MBSTATE_T.
55029
55030 2000-07-14  Jim Meyering  <meyering@lucent.com>
55031
55032         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
55033         jm_AC_TYPE_UINTMAX_T.
55034
55035 2000-07-13  Paul Eggert  <eggert@twinsun.com>
55036
55037         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
55038
55039         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
55040         quotearg_buffer_restyled): Add support for
55041         clocale_quoting_style.  Undo previous change to
55042         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
55043         and "{RIGHT QUOTATION MARK}" msgids.
55044
55045 2000-07-10  Paul Eggert  <eggert@twinsun.com>
55046
55047         From a suggestion by Bruno Haible.
55048         * m4/mbstate_t.m4 (AC_MBSTATE_T):
55049         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
55050         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
55051         and mbstate_t, to a single-part test that simply defines mbstate_t.
55052         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
55053         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
55054
55055 2000-07-10  Jim Meyering  <meyering@lucent.com>
55056
55057         * m4/strerror_r.m4: Mirror the correction made in autoconf.
55058
55059         * m4/gnu-source.m4: Output to confdefs.h directly.
55060         Suggestion from Akim Demaille.
55061
55062 2000-07-09  Paul Eggert  <eggert@twinsun.com>
55063
55064         The old behavior of quoting `like this' doesn't look good with
55065         newer, ISO-style fonts.  See:
55066         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
55067
55068         Instead, quote "like this" by default.  Let the translator
55069         tailor the locale-specific quoting behavior by providing
55070         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
55071
55072         * lib/quotearg.c (N_): New macro.
55073         (gettext_default): New function.
55074         (quotearg_buffer_restyled): Use
55075         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
55076         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
55077
55078 2000-07-09  Jim Meyering  <meyering@lucent.com>
55079
55080         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
55081         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
55082
55083         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
55084         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
55085
55086 2000-07-09  Jim Meyering  <meyering@lucent.com>
55087
55088         * lib/Most files: Update copyright dates to include 2000.
55089
55090 2000-07-08  Jim Meyering  <meyering@lucent.com>
55091
55092         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
55093         if not defined.
55094         (xgethostname): Remove now-unnecessary #ifdef.
55095         Move declaration of `err' into loop where it's used.
55096
55097 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55098         and Bruno Haible  <haible@clisp.cons.org>
55099
55100         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
55101         only if the test for an object-type mbstate_t fails.  This
55102         prevents us from mistakenly reporting that mbstate_t is a
55103         system object type after we "#define mbstate_t int" to work
55104         around its lack.
55105
55106 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55107         and Bruno Haible  <haible@clisp.cons.org>
55108
55109         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
55110
55111 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55112
55113         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
55114         to strerror_r.
55115         Include <ctype.h> for use of isalpha.
55116
55117 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55118
55119         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
55120         by allocating a larger buffer. Test the gethostname return value for
55121         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
55122         returns an error and ENAMETOOLONG isn't defined.
55123
55124 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55125
55126         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
55127         dimension.
55128
55129 2000-07-04  Jim Meyering  <meyering@lucent.com>
55130
55131         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
55132         of the deprecated AC_CHECKING.
55133
55134 2000-07-04  Jim Meyering  <meyering@lucent.com>
55135
55136         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
55137         Reported by Bruno Haible.
55138
55139 2000-07-04  Jim Meyering  <meyering@lucent.com>
55140
55141         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
55142         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
55143         lacks mbrtowc.
55144
55145 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55146
55147         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
55148         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
55149
55150 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55151         and Bruno Haible  <haible@clisp.cons.org>
55152
55153         * lib/quotearg.c (mbrtowc):
55154         Assign to *pwc, and return 1 only if result is nonzero.
55155         (iswprint): Use ISPRINT when substituting our own mbrtowc.
55156
55157 2000-07-03  Jim Meyering  <meyering@lucent.com>
55158
55159         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
55160
55161 2000-07-03  Jim Meyering  <meyering@lucent.com>
55162
55163         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
55164         This is necessary to get a definition of e.g., UTMP_FILE on
55165         HP-UX 10.20.
55166         From Bob Proulx.
55167
55168 2000-07-02  Jim Meyering  <meyering@lucent.com>
55169
55170         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
55171
55172         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
55173         AC_LIBOBJ(function_name).
55174         * m4/chown.m4: Likewise.
55175         * m4/fnmatch.m4: Likewise.
55176         * m4/ftruncate.m4: Likewise.
55177         * m4/getgroups.m4: Likewise.
55178         * m4/getline.m4: Likewise.
55179         * m4/group-member.m4: Likewise.
55180         * m4/jm-macros.m4: Likewise.
55181         * m4/lstat.m4: Likewise.
55182         * m4/malloc.m4: Likewise.
55183         * m4/memcmp.m4: Likewise.
55184         * m4/nanosleep.m4: Likewise.
55185         * m4/putenv.m4: Likewise.
55186         * m4/realloc.m4: Likewise.
55187         * m4/regex.m4: Likewise.
55188         * m4/stat.m4: Likewise.
55189         * m4/strftime.m4: Likewise.
55190
55191 2000-07-02  Jim Meyering  <meyering@lucent.com>
55192
55193         * lib/quotearg.c (mbstate_t): Don't define here.
55194
55195 2000-07-02  Jim Meyering  <meyering@lucent.com>
55196
55197         * lib/nanosleep.c (SIGCONT): Define if not already defined.
55198
55199 2000-07-01  Jim Meyering  <meyering@lucent.com>
55200
55201         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
55202
55203 2000-07-01  Jim Meyering  <meyering@lucent.com>
55204
55205         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
55206         problem.
55207
55208 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55209
55210         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
55211         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
55212
55213 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55214
55215         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
55216         per change in ../m4/ls-mntd-fs.m4.
55217         (read_filesystem_list): Ignore symbolic links.
55218
55219 2000-06-29  Jim Meyering  <meyering@lucent.com>
55220
55221         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
55222         for declaration of strcmp.
55223
55224         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
55225
55226         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
55227         Avoid warning by casting result to `char *' to remove `const'.
55228
55229 2000-06-28  Jim Meyering  <meyering@lucent.com>
55230
55231         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
55232         included by quotearg.c, for which we perform this test.  From
55233         Bruno Haible.
55234
55235 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55236
55237         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
55238         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
55239         <utmpx.h> exists, put readutmp.o into LIBOBJS.
55240
55241 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55242
55243         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
55244
55245 2000-06-26  Paul Eggert  <eggert@twinsun.com>
55246
55247         savedir now sets errno on failure and invokes xmalloc to get memory.
55248         Fix a couple of other minor bugs while we're at it.
55249
55250         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
55251         (NAMLEN): Remove macro.
55252         (malloc, realloc): Remove decls.
55253         (stpcpy): Likewise.
55254         ("xalloc.h"): Include.
55255         (NAME_SIZE_DEFAULT): New macro.
55256         (savedir): Use xmalloc / xrealloc to allocate memory.
55257         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
55258         Skip "" directory entries.
55259         Use strlen to calculate directory entry length, since the old method
55260         is rarely used these days and isn't worth supporting.
55261         Don't use a pointer after freeing it.
55262         Check for integer overflow when calculating allocation size.
55263         Use memcpy to copy entries, instead of stpcpy.
55264         Set errno properly when returning NULL.
55265         Check for readdir error.
55266
55267 2000-06-26  Jim Meyering  <meyering@lucent.com>
55268
55269         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
55270
55271 2000-06-25  Jim Meyering  <meyering@lucent.com>
55272
55273         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
55274         Linux header bug when _XOPEN_SOURCE is defined to 500.
55275
55276 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55277
55278         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
55279         deficiency.
55280
55281 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
55282
55283         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
55284         Include xalloc.h.
55285         Don't include <stdlib.h>.  Don't declare malloc, realloc.
55286
55287 2000-06-24  Jim Meyering  <meyering@lucent.com>
55288
55289         * m4/strerror_r.m4: Revive this file -- to try out an experimental
55290         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
55291         for which strerror does return char*, but which lacks a conveniently
55292         accessible declaration of the function.  If the compile-test says
55293         strerror_r doesn't work, then resort to a `run'-test that works on
55294         BeOS and segfaults on DEC Unix.
55295
55296 2000-06-24  Jim Meyering  <meyering@lucent.com>
55297
55298         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
55299
55300 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55301
55302         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
55303         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
55304
55305 2000-06-23  Paul Eggert  <eggert@twinsun.com>
55306
55307         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
55308         (mbrtowc, mbstate_t): Define substitutes if
55309         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
55310         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
55311         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
55312
55313 2000-06-23  Jim Meyering  <meyering@lucent.com>
55314
55315         * m4/afs.m4: Add missing AC_MSG_RESULT.
55316         Reported by Bruno Haible.
55317
55318         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
55319         Suggestion from Bruno Haible.
55320
55321 2000-06-23  Jim Meyering  <meyering@lucent.com>
55322
55323         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
55324
55325 2000-06-21  Jim Meyering  <meyering@lucent.com>
55326
55327         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
55328
55329 2000-06-21  Jim Meyering  <meyering@lucent.com>
55330
55331         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
55332         (noinst_HEADERS): Add getstr.h.
55333
55334         * lib/getline.c (getstr): Move into a separate file.
55335         * lib/getstr.c (getstr): New file, extracted from getline.c, with
55336         the following changes: new parameter, delim2; both delim[12]
55337         parameters have type `int', not `char'.  The latter would lose
55338         with 8-bit delimiters.
55339         * lib/getstr.h: New file.
55340
55341 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55342
55343         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
55344         than 1024, return a memory chunk of least possible size, instead
55345         of size PATH_MAX + 2. In the loop, increment the size proportionally.
55346         Use free/xmalloc instead of xrealloc to avoid copying for very long
55347         paths.
55348
55349 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55350
55351         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
55352         the empty string.
55353
55354 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
55355
55356         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
55357         address, not strdup.  Include <stdlib.h> and don't declare free().
55358
55359 2000-06-19  Jim Meyering  <meyering@lucent.com>
55360
55361         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
55362
55363 2000-06-18  Jim Meyering  <meyering@lucent.com>
55364
55365         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
55366
55367         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
55368         `checking whether...' message to be consistent with that of the
55369         lstat test.
55370
55371 2000-06-18  Jim Meyering  <meyering@lucent.com>
55372
55373         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
55374         Besides, these days every porting target provides a mkdir function.
55375
55376         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
55377         needed. (this snippet comes from src/system.h).
55378
55379 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
55380
55381         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
55382
55383 2000-06-15  Paul Eggert  <eggert@twinsun.com>
55384
55385         * lib/human.c (adjust_value): New function.
55386         (human_readable_inexact): Apply rounding style even when
55387         printing approximate values.
55388
55389 2000-06-14  Paul Eggert  <eggert@twinsun.com>
55390
55391         * lib/human.c (human_readable_inexact): Allow an input block
55392         size that is not a multiple of the output block size, and vice versa.
55393         Reported by Piergiorgio Sartor.
55394
55395 2000-06-14  Paul Eggert  <eggert@twinsun.com>
55396
55397         * lib/getdate.y (get_date): Apply relative times after time
55398         zone indicator, not before.  Reported by Todd A. Jacobs.
55399
55400 2000-06-13  Jim Meyering  <meyering@lucent.com>
55401
55402         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
55403
55404         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
55405
55406 2000-06-12  Paul Eggert  <eggert@twinsun.com>
55407
55408         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
55409
55410 2000-06-12  Jim Meyering  <meyering@lucent.com>
55411
55412         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
55413         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
55414         optional argument.
55415         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
55416         the optional argument, `lib'.
55417
55418 2000-06-08  Jim Meyering  <meyering@lucent.com>
55419
55420         * m4/largefile.m4: Remove file (now that it's part of autoconf).
55421
55422 2000-06-04  Paul Eggert  <eggert@twinsun.com>
55423
55424         Rewrite largefile configuration so that we don't need to run
55425         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
55426         AC_CANONICAL_HOST in configure.in -- jmm]
55427
55428         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
55429         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
55430         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
55431         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
55432         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
55433         All uses changed.
55434         Instead of inspecting the output of getconf, try to compile the
55435         test program without and with the macro definition.
55436         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
55437         for getconf.  Instead, check for the needed flags by compiling
55438         test programs.
55439
55440 2000-06-04  Paul Eggert  <eggert@twinsun.com>
55441
55442         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
55443
55444 2000-06-04  Jim Meyering  <meyering@lucent.com>
55445
55446         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
55447         SunOS 4.1.4 for which gid_t is an unsigned type.
55448
55449 2000-06-03  Jim Meyering  <meyering@lucent.com>
55450
55451         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
55452         now that autoconf requires that.
55453
55454         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
55455         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
55456         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
55457
55458 2000-06-03  Jim Meyering  <meyering@lucent.com>
55459
55460         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
55461
55462 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
55463
55464         * m4/glibc21.m4: New file.
55465         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
55466
55467 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
55468
55469         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
55470         newer, don't install charset.alias.
55471         * lib/config.charset: Change the Linux/glibc rules so they become empty
55472         on glibc-2.1 or newer.
55473
55474 2000-06-02  Jim Meyering  <meyering@lucent.com>
55475
55476         * lib/mountlist.c: Back out last change.  Instead, do this...
55477         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
55478         me_dummy member using the same `ignore'-testing code.
55479         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
55480         fs_type strings.
55481         From Mark D. Roth.
55482
55483 2000-05-29  Jim Meyering  <meyering@lucent.com>
55484
55485         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
55486         mounts with the `ignore' attribute.  Based on a patch from
55487         Mark D. Roth.
55488
55489 2000-05-28  Jim Meyering  <meyering@lucent.com>
55490
55491         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
55492         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55493         * m4/stat.m4: Likewise.
55494         * m4/lstat.m4: Likewise.
55495         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
55496
55497         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
55498         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
55499
55500 2000-05-26  Jim Meyering  <meyering@lucent.com>
55501
55502         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
55503
55504 2000-05-24  Jim Meyering  <meyering@lucent.com>
55505
55506         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
55507         autoconf requires that.
55508         * m4/lib-check.m4: Likewise.
55509         * m4/jm-macros.m4: Likewise.
55510         * m4/strftime.m4: Likewise.
55511
55512         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
55513         AC_CHECK_DECLS, now that autoconf requires that.
55514
55515 2000-05-22  Jim Meyering  <meyering@lucent.com>
55516
55517         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55518         * m4/lstat.m4: Likewise.
55519
55520 2000-05-22  Jim Meyering  <meyering@lucent.com>
55521
55522         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
55523
55524 2000-05-20  Jim Meyering  <meyering@lucent.com>
55525
55526         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
55527         (jm_PREREQ): Use it.
55528
55529 2000-05-18  Jim Meyering  <meyering@lucent.com>
55530
55531         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
55532         back, too, since it may have been modified by allocate_entry.
55533         (hash_delete): Rewrite to use neither the assignment operator
55534         nor the comma operator in an if-expression.
55535
55536 2000-05-15  Paul Eggert  <eggert@twinsun.com>
55537
55538         * lib/closeout.c:
55539         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
55540         Remove; no longer needed.
55541         "quotearg.h": Add include.
55542         (file_name): Do not bother to explicitly initialize to NULL; it's less
55543         efficient on some hosts.
55544         (close_stdout_status): Remove test as to whether stdout was already
55545         closed; it breaks for the case "echo x | sort >&-".
55546         Quote file name colons.
55547         Do not assume that _("write error") lacks format strings.
55548
55549 2000-05-15  Jim Meyering  <meyering@lucent.com>
55550
55551         * lib/version-etc.c (version_etc_copyright): Update the copyright
55552         string used in all --version output.
55553
55554 2000-05-14  Jim Meyering  <meyering@lucent.com>
55555
55556         * lib/closeout.c (close_stdout_set_file_name): New function.
55557         (close_stdout_status): Use new file-scoped global.
55558         Return right away if fstat says the stdout file descriptor is invalid.
55559         * lib/closeout.h (close_stdout_set_file_name): Declare.
55560
55561 2000-05-10  Jim Meyering  <meyering@lucent.com>
55562
55563         * lib/closeout.c [default_exit_status]: New file-scoped variable.
55564         (close_stdout_set_status): New function.
55565         * lib/closeout.h (close_stdout_set_status): Declare.
55566
55567 2000-05-09  Jim Meyering  <meyering@lucent.com>
55568
55569         * m4/gettext.m4: Rename this...
55570         * m4/libintl.m4: ...to this.
55571
55572 2000-05-08  Jim Meyering  <meyering@lucent.com>
55573
55574         * lib/long-options.c: Don't include closeout.h.
55575         (parse_long_options): Don't call close_stdout for --version.
55576
55577 2000-05-06  Paul Eggert  <eggert@twinsun.com>
55578
55579         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
55580         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
55581         2.1.3 bug.  This avoids a clash when files like regex.c define
55582         _GNU_SOURCE.
55583
55584 2000-05-06  Jim Meyering  <meyering@lucent.com>
55585
55586         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
55587         (AC_REPLACE_FUNCS): Add strnlen.
55588
55589         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
55590         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
55591
55592         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
55593         AC_SEARCH_LIBS call for nanosleep.
55594         (LIB_NANOSLEEP): Set and AC_SUBST.
55595
55596 2000-05-06  Jim Meyering  <meyering@lucent.com>
55597
55598         * lib/strnlen.c: Undefine __strnlen and strnlen.
55599         [!weak_alias]: Define __strnlen to strnlen.
55600
55601         * lib/atexit.c: New file, from libiberty.
55602
55603 2000-05-06  Jim Meyering  <meyering@lucent.com>
55604
55605         * lib/closeout.c (close_stdout_status): Also check for errors on the
55606         stderr stream.
55607
55608 2000-05-05  Jim Meyering  <meyering@lucent.com>
55609
55610         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
55611         AC_SEARCH_LIBS call for clock_gettime.
55612         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
55613
55614         * m4/search-libs.m4: Update from autoconf.
55615
55616         su doesn't work on Solaris 2.6.
55617         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
55618         <shadow.h>.  Reported by Dragos Harabor.
55619
55620 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
55621
55622         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
55623         memcpy instead of xmalloc, xrealloc, path_concat.
55624         (locale_charset): Treat empty environment variables as absent.
55625         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
55626
55627 2000-05-04  Jim Meyering  <meyering@lucent.com>
55628
55629         * lib/getopt.c: Update from glibc.
55630         * lib/obstack.c: Likewise.
55631         * lib/obstack.h: Likewise.
55632         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
55633         file
55634
55635         * lib/regex.h: Likewise.
55636         * lib/strndup.c: Likewise.
55637         * lib/strnlen.c: New file, from glibc.
55638
55639 2000-05-03  Jim Meyering  <meyering@lucent.com>
55640
55641         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
55642
55643 2000-05-02  Paul Eggert  <eggert@twinsun.com>
55644
55645         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
55646         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
55647         compile-time test, rather than inspecting host and OS, to
55648         decide whether to define _LARGEFILE_SOURCE.
55649
55650 2000-05-01  Jim Meyering  <meyering@lucent.com>
55651
55652         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
55653
55654         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
55655         Based on a patch from Bruno Haible.
55656
55657 2000-05-01  Jim Meyering  <meyering@lucent.com>
55658
55659         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
55660
55661 2000-04-29  Jim Meyering  <meyering@lucent.com>
55662
55663         * lib/path-concat.c: Declare strdup only if it's not defined.
55664         * lib/canon-host.c: Likewise.
55665
55666 2000-04-28  Jim Meyering  <meyering@lucent.com>
55667
55668         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
55669         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
55670         is included first, then limits.h is included by locale.h by libintl.h.
55671         From John David Anglin.
55672
55673 2000-04-25  Jim Meyering  <meyering@lucent.com>
55674
55675         * lib/makepath.c (S_IRWXUGO): Define.
55676         (make_path): Always perform explicit chmod if MODE specifies any
55677         of the `special' permission bits.  Prompted by a bug report against
55678         install from Mate Wierdl and Joost van Baal.
55679
55680 2000-04-18  Jim Meyering  <meyering@lucent.com>
55681
55682         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
55683         (jm_PREREQ): Use it.
55684
55685 2000-04-18  Jim Meyering  <meyering@lucent.com>
55686
55687         * lib/README: New file.
55688
55689         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
55690         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
55691
55692 2000-04-17  Jim Meyering  <meyering@lucent.com>
55693
55694         Get it right :-)
55695         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
55696         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
55697         Suggestion from Akim Demaille.
55698
55699 2000-04-17  Jim Meyering  <meyering@lucent.com>
55700
55701         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
55702         the definition of it to rpl_strftime also defined-away the system's
55703         declaration.
55704
55705 2000-04-15  Jim Meyering  <meyering@lucent.com>
55706
55707         Use `C' to denote so-called `contiguous' files, the same way
55708         that tar does.
55709         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
55710         (ftypelet): Use S_ISCTG.
55711         From Michael Deutschmann.
55712
55713 2000-04-14  Jim Meyering  <meyering@lucent.com>
55714
55715         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
55716         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
55717         clobbered.
55718
55719 2000-04-14  Jim Meyering  <meyering@lucent.com>
55720
55721         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
55722
55723 2000-04-13  Jim Meyering  <meyering@lucent.com>
55724
55725         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
55726         AH_VERBATIM to insert required #ifndef into config.h.in.
55727         Suggestion from Akim Demaille.
55728
55729 2000-04-12  Jim Meyering  <meyering@lucent.com>
55730
55731         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
55732         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
55733         Christian Krackowizer.
55734
55735         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
55736         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
55737         (AC_SYS_LARGEFILE): Require.
55738         (AM_C_PROTOTYPES): Require.
55739
55740 2000-04-08  Jim Meyering  <meyering@lucent.com>
55741
55742         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
55743         names don't conflict.  Reported by Eli Zaretskii.
55744
55745 2000-04-07  Jim Meyering  <meyering@lucent.com>
55746
55747         * lib/putenv.c: Move inclusion of errno.h so it follows that of
55748         sys/types.h, to work around system header problems on AIX 3.2.5.
55749         From Bruno Haible.
55750
55751 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
55752
55753         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
55754         bug.  Deal with the different error behavior of Irix iconv.
55755
55756 2000-04-05  Paul Eggert  <eggert@twinsun.com>
55757
55758         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
55759         IRIX if the installer said otherwise.
55760
55761 2000-04-05  Jim Meyering  <meyering@lucent.com>
55762
55763         Portability tweaks required for ultrix4.3.
55764         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
55765         (jm_CHECK_DECLS): Add getutent to the list of functions.
55766         (_jm_DECL_HEADERS): Add utmpx.h.
55767         From John David Anglin.
55768
55769         * m4/strftime.m4: Back out the 2000-04-02 change.
55770         Instead of that change, simply undefine putenv in the test program.
55771
55772 2000-04-05  Jim Meyering  <meyering@lucent.com>
55773
55774         Portability tweaks required for ultrix4.3.
55775         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
55776         getutent.
55777         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
55778         * lib/canon-host.c: Declare strdup.
55779         * lib/path-concat.c: Likewise.
55780         From John David Anglin.
55781
55782 2000-04-04  Jim Meyering  <meyering@lucent.com>
55783
55784         Be more DOS 8.3-friendly.
55785         * lib/ref-add.sin: Renamed from ref-add.sed.in.
55786         * lib/ref-del.sin: Renamed from ref-del.sed.in.
55787         * lib/Makefile.am: Reflect renaming.
55788         Reported by Eli Zaretskii.
55789
55790         Use a temporary file name that won't clash with `charset.alias'
55791         in the DOS 8.3 name space.
55792         * lib/Makefile.am (charset_tmp): Define.
55793         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
55794         (uninstall-local): Likewise.
55795         Reported by Eli Zaretskii.
55796
55797 2000-04-03  Jim Meyering  <meyering@lucent.com>
55798
55799         * m4/gettext.m4: Fix typo in comment.
55800
55801         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
55802         textutils/configure.in).  Suggestion from Paul Eggert.
55803         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
55804
55805 2000-04-02  Paul Eggert  <eggert@twinsun.com>
55806
55807         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
55808         variable in the shell rather than using putenv, which isn't
55809         portable.  This avoids the configure-time inter-test dependency
55810         on the potentially-renamed putenv function.
55811
55812 2000-03-30  Paul Eggert  <eggert@twinsun.com>
55813
55814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
55815         before checking struct stat.st_blksize, so that
55816         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
55817
55818 2000-03-29  Paul Eggert  <eggert@twinsun.com>
55819
55820         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
55821         since strftime.c uses HAVE_STRFTIME to decide whether to use
55822         the underlying strftime.
55823
55824 2000-03-29  Paul Eggert  <eggert@twinsun.com>
55825
55826         * lib/time/strftime.c (my_strftime): Make sure we call the system
55827         strftime, not ourselves, when invoking the underlying strftime.
55828
55829 2000-03-24  Jim Meyering  <meyering@lucent.com>
55830
55831         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
55832         (charset_alias): Define.
55833         (install-exec-local): Factor out common code.
55834         (uninstall-local): Split lines longer than 80.
55835         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
55836         (SUFFIXES): Define.
55837         (.sed.in.sed): New rule.  Don't redirect directly to $@.
55838         (CLEANFILES): Add ref-add.sed and ref-del.sed.
55839
55840 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
55841
55842         * lib/config.charset: Output a line containing "Packages using this
55843         file".
55844         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
55845         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
55846         ref-del.sed): New rules.
55847
55848 2000-03-17  Jim Meyering  <meyering@lucent.com>
55849
55850         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
55851         Otherwise, include <strings.h>
55852
55853 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
55854
55855         * lib/unicodeio.c (utf8_wctomb): New function.
55856         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
55857         format instead of in UCS-4 with platform dependent endianness.
55858
55859 2000-03-10  Jim Meyering  <meyering@lucent.com>
55860
55861         * m4/lib-check.m4: Look for getspnam in -lgen, too.
55862         From Marco Franzen.
55863
55864 2000-03-07  Paul Eggert  <eggert@twinsun.com>
55865
55866         * lib/savedir.c (savedir): Work even if directory size is
55867         negative; this can happen with some screwy NFS configurations.
55868
55869 2000-03-06  Jim Meyering  <meyering@lucent.com>
55870
55871         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
55872         if it's NULL (because we ran out of memory).  From Bruno Haible.
55873
55874 2000-03-05  Jim Meyering  <meyering@lucent.com>
55875
55876         * lib/localcharset.c ("path-concat.h"): Include.
55877         (get_charset_aliases): Use path_concat instead of ANSI string
55878         concatenation.
55879
55880         * lib/unicodeio.h (PARAMS): Define.
55881         Use it to guard prototype.
55882
55883 2000-03-04  Jim Meyering  <meyering@lucent.com>
55884
55885         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
55886         for lib/localcharset.c.
55887
55888 2000-03-04  Jim Meyering  <meyering@lucent.com>
55889
55890         * lib/Makefile.am (install-exec-local): Create $(libdir) before
55891         installing into it.
55892         (uninstall-local): Uncomment this rule so `make distcheck' works
55893         once again.
55894
55895         * lib/unicodeio.c (<errno.h>): Include it.
55896         (errno): Declare if not defined.
55897
55898         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
55899
55900         * lib/config.charset: New version, incorporating remarks from a linux
55901         i18n mailing list.  From Bruno Haible.
55902
55903 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
55904
55905         * m4/codeset.m4: New file.
55906         * m4/iconv.m4: New file.
55907         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
55908
55909 2000-03-03  Jim Meyering  <meyering@lucent.com>
55910
55911         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
55912
55913 2000-03-02  Jim Meyering  <meyering@lucent.com>
55914
55915         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
55916         the messages come out on separate lines.
55917
55918         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
55919         rather than jm_CHECK_DECLARATIONS.
55920         * m4/decl.m4: Remove now-unused file.
55921
55922         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
55923         geteuid.
55924
55925 2000-03-02  Jim Meyering  <meyering@lucent.com>
55926
55927         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
55928
55929 2000-03-01  Jim Meyering  <meyering@lucent.com>
55930
55931         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
55932         * lib/unicodeio.c: Likewise.
55933
55934 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
55935
55936         * lib/config.charset: New file.
55937         * lib/localcharset.c: New file.
55938         * lib/unicodeio.h, lib/unicodeio.c: New files.
55939         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
55940         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
55941         (noinst_HEADERS): Add unicodeio.h.
55942         (all-local, install-exec-local, charset.alias): New targets.
55943
55944 2000-02-28  Paul Eggert  <eggert@twinsun.com>
55945
55946         * lib/quotearg.c (ALERT_CHAR): New macro.
55947         (quotearg_buffer_restyled): Use it.
55948
55949 2000-02-27  Jim Meyering  <meyering@lucent.com>
55950
55951         * m4/check-decl.m4: Add getenv to the list.
55952
55953 2000-02-27  Jim Meyering  <meyering@lucent.com>
55954
55955         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
55956         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
55957
55958         * lib/backupfile.c: Guard inclusion of stdlib.h with
55959         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
55960         Declare malloc if needed.
55961
55962         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
55963         `#ifndef HAVE_DECL..'
55964         now that autoconf always defines the HAVE_DECL_ symbols.
55965         * lib/human.c: Likewise.
55966         * lib/same.c: Likewise.
55967         * lib/strtoumax.c: Likewise.
55968
55969         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
55970         declaration check was not run.
55971         * lib/hash.c: Likewise.
55972         * lib/human.c: Likewise.
55973         * lib/same.c: Likewise.
55974         * lib/strtoumax.c: Likewise.
55975
55976         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
55977         `.', then first look up the entire `.'-containing string as a login
55978         name.
55979
55980 2000-02-23  Jim Meyering  <meyering@lucent.com>
55981
55982         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
55983         in place of my hack.
55984
55985 2000-02-18  Paul Eggert  <eggert@twinsun.com>
55986
55987         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
55988         (textint): New typedef.
55989         (parser_control): Member year changed from int to textint.
55990         All uses changed.
55991         (YYSTYPE): Removed; replaced by %union with int and textint members.
55992         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
55993         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
55994         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
55995         (tSNUMBER, tUNUMBER): Now of type <textintval>.
55996         (date, number, to_year): Use width of number in digits, not its value,
55997         to determine whether it's a 2-digit year, or a 2-digit time.
55998         (yylex): Store number of digits of numeric tokens.
55999         Reported by John Kendall.
56000
56001         (parser_control): Changed from struct parser_control to typedef (for
56002         consistency).  All uses changed.
56003
56004         (tID): Removed; not used.
56005         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
56006
56007 2000-02-14  Paul Eggert  <eggert@twinsun.com>
56008
56009         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
56010         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
56011
56012 2000-02-12  Jim Meyering  <meyering@lucent.com>
56013
56014         * lib/userspec.c (ISDIGIT): Define it.
56015         (isdigit): Remove definition.
56016         (is_number): Use ISDIGIT, not isdigit.
56017         <libintl.h>: Include.
56018         (_ and N_): Define.
56019         (parse_user_spec): Mark translatable strings.
56020
56021 2000-02-10  Jim Meyering  <meyering@lucent.com>
56022
56023         With these changes, nanosleep.[ch] are finally enough like the other
56024         lib/* replacement files to compile on a few more losing systems.
56025
56026         * lib/nanosleep.h: Don't include config.h.
56027         Remove prototype from declaration of nanosleep.
56028         (PARAMS): Remove now-unneeded definition.
56029         * lib/nanosleep.c: #undef nanosleep.
56030         (rpl_nanosleep): Rename from nanosleep.
56031
56032 2000-02-10  Jim Meyering  <meyering@lucent.com>
56033
56034         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
56035         gnu_nanosleep to rpl_nanosleep.
56036
56037 2000-02-09  Jim Meyering  <meyering@lucent.com>
56038
56039         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
56040         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
56041
56042 2000-02-08  Akim Demaille  <akim@epita.fr>
56043
56044         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
56045         `[' and `]' and remove uses of `changequote'.
56046         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
56047         (AC_SYS_LARGEFILE): Likewise.
56048         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
56049         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
56050         of changequote.
56051         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
56052         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
56053         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
56054         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
56055
56056 2000-02-05  Jim Meyering  <meyering@lucent.com>
56057
56058         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
56059         Remove explicit use of AC_HEADER_TIME.  It is required by
56060         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
56061         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
56062         in autoconf whereby the expansion of the latter ended up preceding
56063         the expansion of its prerequisite, AC_HEADER_TIME.
56064         Reported by Volker Borchert.
56065
56066 2000-02-03  Jim Meyering  <meyering@lucent.com>
56067
56068         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
56069
56070 2000-02-03  Jim Meyering  <meyering@lucent.com>
56071
56072         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
56073         rather than with `#if HAVE_UTMPNAME'.
56074
56075 2000-02-02  Jim Meyering  <meyering@lucent.com>
56076
56077         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
56078         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
56079         Reported by Eli Zaretskii.
56080
56081 2000-02-01  Jim Meyering  <meyering@lucent.com>
56082
56083         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
56084
56085 2000-01-31  Jim Meyering  <meyering@lucent.com>
56086
56087         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
56088         functions.  Add the time.h and sys/time.h headers along with the
56089         AC_REQUIRE'ment of AC_HEADER_TIME.
56090
56091 2000-01-31  Jim Meyering  <meyering@lucent.com>
56092
56093         * lib/nanosleep.h (nanosleep): Guard declaration with
56094         `#if ! HAVE_DECL_NANOSLEEP'.
56095         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
56096         the declaration in that vendor's sys/timers.h.
56097         Reported by Christian Krackowizer.
56098
56099         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
56100         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
56101         (ISPRINT): Likewise.
56102         Reported by Tom Tromey.
56103
56104 2000-01-30  Jim Meyering  <meyering@lucent.com>
56105
56106         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
56107
56108         * m4/prereq.m4 (utmp_includes): Define.
56109         Check for ut_user and ut_name members in both struct utmpx
56110         and struct utmp.
56111
56112 2000-01-30  Jim Meyering  <meyering@lucent.com>
56113
56114         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
56115         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
56116         header files where only utmpx.ut_user is declared.
56117
56118         * lib/readutmp.h (UT_USER): Define.
56119
56120 2000-01-29  Jim Meyering  <meyering@lucent.com>
56121
56122         * m4/lib-check.m4: New file containing library-related checks from
56123         fileutils and sh-utils (textutils had none).
56124
56125 2000-01-28  Jim Meyering  <meyering@lucent.com>
56126
56127         * m4/perl.m4: Change format of warning message to look more like that
56128         from the missing script.  Suggestion from François Pinard.
56129
56130 2000-01-25  Jim Meyering  <meyering@lucent.com>
56131
56132         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
56133         well as time.h in the compile check.
56134         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
56135         Fix typo in cross-compiling case: s/yes/no/.
56136
56137 2000-01-23  Jim Meyering  <meyering@lucent.com>
56138
56139         * m4/jm-macros.m4: Move df-related tests here from
56140         fileutils/configure.in
56141
56142         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
56143         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
56144
56145         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
56146         s/space/ac_fsusage_space/.
56147         (jm_FILE_SYSTEM_USAGE): Take two parameters.
56148
56149         * m4/ftruncate.m4: New file (derived from part of
56150         fileutils/configure.in).
56151         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
56152         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
56153
56154         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
56155         AC_SUBST these here, rather than just in sh-util/configure.in, so
56156         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
56157         all the same.
56158         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
56159         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
56160         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
56161         (AC_SUBST(POW_LIBM)): Likewise.
56162         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
56163
56164 2000-01-23  Jim Meyering  <meyering@lucent.com>
56165
56166         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
56167         obstack.c.
56168
56169 2000-01-22  Jim Meyering  <meyering@lucent.com>
56170
56171         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
56172
56173         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
56174
56175         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
56176         configure.in
56177         (AC_CHECK_HEADERS): Likewise for sh-utils.
56178         (AC_CHECK_HEADERS): Likewise for textutils.
56179         Merge the three lists of headers.
56180
56181         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
56182         from fileutils' configure.in.
56183
56184         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
56185         code. Moved tests into their own function (_jm_DECL_HEADERS) in
56186         check-decl.m4.
56187
56188         * m4/check-decl.m4: Use #if rather than #ifdef.
56189         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
56190         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
56191         (_jm_DECL_HEADERS): Define new function.
56192         (jm_CHECK_DECLARATIONS): Require it.
56193
56194 2000-01-22  Jim Meyering  <meyering@lucent.com>
56195
56196         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
56197         [! HAVE_DECL_STRTOULL]: Declare strtoull.
56198         Required for some AIX systems.  Reported by Christian Krackowizer.
56199         [TESTING] (main): New function.
56200
56201         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
56202         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
56203         letters.
56204
56205         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
56206         iswprint.
56207
56208         * lib/strverscmp.c (ISDIGIT): Define.
56209         (strverscmp): Use ISDIGIT, not isdigit.
56210
56211 2000-01-19  Jim Meyering  <meyering@lucent.com>
56212
56213         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
56214         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
56215         defines `struct timespec' in <sys/time.h>
56216
56217         * m4/c-bs-a.m4: Remove uses of changequote altogether.
56218         Thanks to Akim for explaining.
56219
56220 2000-01-17  Paul Eggert  <eggert@twinsun.com>
56221
56222         * lib/nanosleep.c (nanosleep):
56223         Don't use SA_INTERRUPT to decide whether to call sigaction, as
56224         POSIX.1 doesn't require SA_INTERRUPT and some systems
56225         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
56226         it's been part of POSIX.1 since day 1 (in 1988).
56227
56228 2000-01-17  Jim Meyering  <meyering@lucent.com>
56229
56230         * lib/interlock: Remove unused file.  Reported by François Pinard.
56231
56232 2000-01-16  Paul Eggert  <eggert@twinsun.com>
56233
56234         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
56235         alert, backslash, formfeed, and vertical tab unnecessarily in
56236         shell quoting style.
56237
56238 2000-01-16  Jim Meyering  <meyering@lucent.com>
56239
56240         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
56241         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
56242         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
56243         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
56244
56245 2000-01-16  Jim Meyering  <meyering@lucent.com>
56246
56247         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
56248         because the latter didn't work.
56249
56250 2000-01-15  Jim Meyering  <meyering@lucent.com>
56251
56252         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
56253         (AC_REPLACE_FUNCS): Add memcpy and memset.
56254         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
56255         Add strpbrk.
56256         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
56257
56258 2000-01-12  Jim Meyering  <meyering@lucent.com>
56259
56260         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
56261         (jm_PREREQ): Use it.
56262         (jm_PREREQ_READUTMP): New macro.
56263         (jm_PREREQ): Use it.
56264
56265 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56266
56267         Quote multibyte characters correctly.
56268         * m4/c-bs-a.m4: New file.
56269         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
56270         (jm_PREREQ): Use it.
56271
56272 2000-01-11  Paul Eggert  <eggert@twinsun.com>
56273
56274         * m4/uintmax_t.m4: Port to autoconf 2.13.
56275
56276 2000-01-08  Jim Meyering  <meyering@ascend.com>
56277
56278         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
56279         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
56280
56281 2000-01-04  Jim Meyering  <meyering@ascend.com>
56282
56283         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
56284         jm_STRUCT_DIRENT_D_TYPE.
56285         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
56286         jm_STRUCT_DIRENT_D_INO.
56287         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
56288         jm_STRUCT_UTIMBUF.
56289         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
56290         renamings.
56291         * m4/utime.m4: Likewise.
56292
56293         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
56294         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
56295
56296 2000-01-03  Paul Eggert  <eggert@twinsun.com>
56297
56298         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
56299         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
56300
56301 2000-01-02  Jim Meyering  <meyering@ascend.com>
56302
56303         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
56304         remember if this is necessary.
56305
56306 1999-12-26  Jim Meyering  <meyering@ascend.com>
56307
56308         * m4/jm-macros.m4: Use it here.
56309         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
56310
56311 1999-12-23  Jim Meyering  <meyering@ascend.com>
56312
56313         * m4/jm-macros.m4: Check for clock_gettime (moved from
56314         fileutils/configure.in)
56315         Check for gettimeofday.
56316
56317 1999-12-20  Jim Meyering  <meyering@ascend.com>
56318
56319         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
56320         autoconf-2.14a-1999-12-20.
56321
56322 1999-12-19  Jim Meyering  <meyering@ascend.com>
56323
56324         * m4/lstat-slash.m4: New file.
56325         * m4/jm-macros.m4: Use the new macro:
56326         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56327
56328 1999-12-07  Jim Meyering  <meyering@ascend.com>
56329
56330         * m4/perl.m4: Require that File::Compare be available, too.
56331         Too many systems seem to lack it.
56332
56333         * m4/strftime.m4: Add checks for most of the cpp macros tested in
56334         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
56335
56336 1999-11-18  Paul Eggert  <eggert@twinsun.com>
56337
56338         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
56339         problem with the QNX 4.25 shell, which doesn't propagate exit
56340         status of failed commands inside shell assignments.
56341
56342 1999-11-17  Jim Meyering  <meyering@ascend.com>
56343
56344         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
56345
56346 1999-11-07  Jim Meyering  <meyering@ascend.com>
56347
56348         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
56349
56350 1999-11-06  Jim Meyering  <meyering@ascend.com>
56351
56352         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
56353         * m4/jm-macros.m4 (jm_MACROS): Use it here.
56354
56355 1999-11-05  Jim Meyering  <meyering@ascend.com>
56356
56357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
56358         configure.in of textutils, fileutils, and sh-utils into this one
56359         (shared between those packages) file.
56360         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
56361         AC_STRUCT_ST_BLKSIZE.
56362
56363 1999-11-03  Jim Meyering  <meyering@ascend.com>
56364
56365         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
56366         of AC_CHECK_TYPE checks includes unistd.h.
56367         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
56368         Suggestion from Akim Demaille.
56369
56370 1999-10-30  Jim Meyering  <meyering@ascend.com>
56371
56372         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
56373         m4-quoted string.
56374         * m4/ls-mntd-fs.m4: Likewise.
56375         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
56376         * m4/jm-winsz1.m4: Likewise.
56377
56378         * m4/const.m4: Remove file, since the fix made it into the experimental
56379         version of autoconf.
56380         * m4/mktime.m4: Likewise.
56381
56382         * m4/check-type.m4: Remove file, now that the latest version of
56383         AC_CHECK_TYPE takes a third arg to specify additional #includes.
56384
56385         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
56386         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
56387         AC_CHECK_TYPE.
56388
56389 1999-10-04  Jim Meyering  <meyering@ascend.com>
56390
56391         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
56392
56393 1999-09-22  Paul Eggert  <eggert@twinsun.com>
56394
56395         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
56396         2.95.1 bug with HP-UX 10.20.
56397
56398 1999-09-17  Jim Meyering  <meyering@ascend.com>
56399
56400         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
56401         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
56402         due to missing strdup (against sh-utils-2.0).
56403
56404 1999-08-29  Jim Meyering  <meyering@ascend.com>
56405
56406         * m4/jm-macros.m4: Require jm_BISON.
56407         * m4/bison.m4: New file.
56408
56409 1999-08-17  Paul Eggert  <eggert@twinsun.com>
56410
56411         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
56412         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
56413
56414 1999-08-05  Jim Meyering  <meyering@ascend.com>
56415
56416         * m4/getline.m4: Rename test file from conftestdata to conftest.data
56417         to avoid conflicts with `conftest' on 8+3 filesystems.
56418         Suggestion from Eli Zaretskii.
56419
56420 1999-08-04  Jim Meyering  <meyering@ascend.com>
56421
56422         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
56423         fileutils and sh-utils (textutils's getline test was inadequate).
56424         (AM_FUNC_GETLINE): Run this test.
56425         (AC_CHECK_FUNCS): Check for getdelim.
56426         Reported by Bob Proulx.
56427
56428 1999-08-02  Jim Meyering  <meyering@ascend.com>
56429
56430         * m4/jm-macros.m4: Add a comment.
56431
56432 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56433
56434         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
56435         <inttypes.h> defines strtoumax as a macro (and not as a
56436         function).
56437
56438 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56439
56440         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
56441         that we can shift, multiply and divide unsigned long long
56442         values; Ultrix cc can't do it.
56443
56444 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56445
56446         * m4/mktime.m4: New file, which is a preview of what should appear
56447         in the next public autoconf release.
56448
56449 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56450
56451         * m4/lfs.m4: Remove this file.
56452         * m4/largefile.m4: New file.  It contains the old contents of
56453         lfs.m4, except that all names with prefix AC_LFS have been
56454         changed to use the prefix AC_SYS_LARGEFILE instead, to be
56455         compatible with future autoconf versions.  Also, some minor m4
56456         quoting problems have been fixed.
56457
56458 1999-08-01  Paul Eggert  <eggert@twinsun.com>
56459
56460         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
56461         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
56462         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
56463         and simplify the shell code.
56464
56465 1999-08-01  Jim Meyering  <meyering@ascend.com>
56466
56467         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
56468         m4.
56469
56470 1999-07-20  Jim Meyering  <meyering@ascend.com>
56471
56472         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
56473
56474 1999-07-15  Jim Meyering  <meyering@ascend.com>
56475
56476         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
56477
56478 1999-05-22  Jim Meyering  <meyering@ascend.com>
56479
56480         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
56481
56482 1999-05-20  Jim Meyering  <meyering@ascend.com>
56483
56484         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
56485         Add a colon after each `then' in case $4 is empty.
56486
56487 1999-05-16  Jim Meyering  <meyering@ascend.com>
56488
56489         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
56490
56491 1999-05-10  Jim Meyering  <meyering@ascend.com>
56492
56493         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
56494
56495         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
56496         AC_FUNC_MKTIME.
56497
56498 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
56499
56500         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
56501
56502 1999-05-04  Paul Eggert  <eggert@twinsun.com>
56503
56504         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
56505         not CPPFLAGS, so that linking works correctly in IRIX.
56506
56507 1999-04-30  Paul Eggert  <eggert@twinsun.com>
56508
56509         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
56510
56511 1999-04-20  Paul Eggert  <eggert@twinsun.com>
56512
56513         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
56514         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
56515         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
56516         jm_AC_TYPE_UNSIGNED_LONG_LONG.
56517         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
56518
56519         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
56520
56521 1999-04-20  Jim Meyering  <meyering@ascend.com>
56522
56523         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
56524         AC_REPLACE xstroull if necessary.  From Paul Eggert.
56525         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
56526
56527 1999-04-18  Jim Meyering  <meyering@ascend.com>
56528
56529         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
56530         * m4/jm-macros.m4: Use it.
56531
56532 1999-04-06  Jim Meyering  <meyering@ascend.com>
56533
56534         * m4/strftime.m4: Remove test for %f.
56535
56536 1999-03-29  Jim Meyering  <meyering@ascend.com>
56537
56538         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
56539         superset of the AC_TYPE_* checks in the textutils, fileutils,
56540         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
56541         AC_TYPE_PID_T.
56542
56543 1999-03-28  Jim Meyering  <meyering@ascend.com>
56544
56545         * m4/jm-macros.m4: Define GNU_PACKAGE here.
56546         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
56547         replaced e.g., in the *.sh files of the sh-utils.
56548
56549 1999-03-20  Jim Meyering  <meyering@ascend.com>
56550
56551         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
56552         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
56553         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
56554
56555 1999-03-19  Jim Meyering  <meyering@ascend.com>
56556
56557         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
56558
56559 1999-03-12  Jim Meyering  <meyering@ascend.com>
56560
56561         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
56562
56563 1999-03-07  Jim Meyering  <meyering@ascend.com>
56564
56565         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
56566         declared.
56567
56568 1999-02-17  Jim Meyering  <meyering@ascend.com>
56569
56570         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
56571         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
56572
56573 1999-02-07  Jim Meyering  <meyering@ascend.com>
56574
56575         * m4/group-member.m4: New file -- extracted from sh-utils'
56576         configure.in.
56577
56578         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
56579         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
56580
56581 1999-02-06  Jim Meyering  <meyering@ascend.com>
56582
56583         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
56584         * m4/fnmatch.m4: Likewise.
56585         * m4/getgroups.m4: Likewise.
56586         * m4/lstat.m4: Likewise.
56587         * m4/malloc.m4: Likewise.
56588         * m4/putenv.m4: Likewise.
56589         * m4/realloc.m4: Likewise.
56590         * m4/regex.m4: Likewise.
56591         * m4/stat.m4: Likewise.
56592         * m4/strftime.m4: Likewise.
56593         Suggestion from Alain Magloire.
56594
56595         * m4/chown.m4: Use `.$ac_objext', not `.o'.
56596         * m4/fnmatch.m4: Likewise.
56597         * m4/getgroups.m4: Likewise.
56598         * m4/getline.m4: Likewise.
56599         * m4/lstat.m4: Likewise.
56600         * m4/malloc.m4: Likewise.
56601         * m4/memcmp.m4: Likewise.
56602         * m4/putenv.m4: Likewise.
56603         * m4/realloc.m4: Likewise.
56604         * m4/regex.m4: Likewise.
56605         * m4/stat.m4: Likewise.
56606         * m4/strftime.m4: Likewise.
56607         Suggestion from Alain Magloire.
56608
56609         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
56610         an argument.
56611
56612         * m4/regex.m4: Add a run-time Test for proper operation of
56613         re_compile_pattern.
56614
56615 1999-01-31  Jim Meyering  <meyering@ascend.com>
56616
56617         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
56618
56619 1999-01-30  Jim Meyering  <meyering@ascend.com>
56620
56621         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
56622
56623         * m4/jm-mktime.m4: Make this a wrapper around the official
56624         AM_FUNC_MKTIME rather than my private copy, now that the official one
56625         is up to date.
56626         * m4/mktime.m4: Remove file.
56627
56628         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
56629         * m4/uptime.m4: Likewise.
56630         * m4/uintmax_t.m4: Likewise.
56631
56632 1999-01-28  Jim Meyering  <meyering@ascend.com>
56633
56634         * m4/jm-macros.m4: Use jm_AFS.
56635         * m4/afs.m4: New file (from fileutils' configure.in).
56636
56637         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
56638         * m4/chown.m4: Likewise.
56639         * m4/d-ino.m4: Likewise.
56640         * m4/d-type.m4: Likewise.
56641         * m4/fnmatch.m4: Likewise.
56642         * m4/getgroups.m4: Likewise.
56643         * m4/gettext.m4: Likewise.
56644         * m4/jm-mktime.m4: Likewise.
56645         * m4/jm-winsz2.m4: Likewise.
56646         * m4/lcmessage.m4: Likewise.
56647         * m4/ls-mntd-fs.m4: Likewise.
56648         * m4/malloc.m4: Likewise.
56649         * m4/memcmp.m4: Likewise.
56650         * m4/putenv.m4: Likewise.
56651         * m4/realloc.m4: Likewise.
56652         * m4/st_mtim.m4: Likewise.
56653         * m4/strftime.m4: Likewise.
56654
56655 1999-01-16  Jim Meyering  <meyering@ascend.com>
56656
56657         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
56658         (ARGMATCH_DIE_DECL): Define.
56659
56660 1999-01-12  Jim Meyering  <meyering@ascend.com>
56661
56662         * m4/Makefile.am.in: Rewrite to avoid using fmt.
56663         Reported by Lars Hecking.
56664
56665 1999-01-10  Jim Meyering  <meyering@ascend.com>
56666
56667         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
56668         gross kludge.
56669         * m4/inttypes_h.m4: Likewise.
56670         * m4/lstat.m4: Likewise.
56671         * m4/malloc.m4: Likewise.
56672         * m4/readdir.m4: Likewise.
56673         * m4/realloc.m4: Likewise.
56674         * m4/st_dm_mode.m4: Likewise.
56675         * m4/stat.m4: Likewise.
56676         * m4/utimbuf.m4: Likewise.
56677         * m4/utimes.m4: Likewise.
56678
56679         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
56680         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
56681         comments in config.h.in are meaningful.
56682
56683         * m4/jm-macros.m4: Require autoconf-2.13 here.
56684
56685         * m4/regex.m4: By default, don't use the included regex.c on systems
56686         with glibc 2.  Suggestion from Uli Drepper.
56687
56688 1999-01-02  Jim Meyering  <meyering@ascend.com>
56689
56690         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
56691
56692 1998-12-18  Jim Meyering  <meyering@ascend.com>
56693
56694         * m4/Makefile.am.in (Makefile.am): Simplify rule.
56695         Based on a suggestion from Lars Hecking.
56696
56697 1998-11-16  Paul Eggert  <eggert@twinsun.com>
56698
56699         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
56700
56701 1998-11-16  Jim Meyering  <meyering@ascend.com>
56702
56703         * m4/lfs.m4: Double-quote the `uname...` expression.
56704
56705 1998-11-14  Jim Meyering  <meyering@ascend.com>
56706
56707         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
56708         * m4/stat.m4: Likewise.
56709
56710 1998-11-03  Jim Meyering  <meyering@ascend.com>
56711
56712         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
56713         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
56714
56715 1998-10-18  Jim Meyering  <meyering@ascend.com>
56716
56717         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
56718
56719 1998-10-17  Jim Meyering  <meyering@ascend.com>
56720
56721         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
56722         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
56723         calls for those previously hard-coded headers.  Instead, take a new
56724         parameter.
56725         (jm_CHECK_DECLARATIONS): Reflect interface change.
56726         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
56727         (jm_CHECK_DECL_LOCALTIME_R): New macro.
56728
56729         * m4/mktime.m4: Test for spring-forward gap before long-running test.
56730
56731 1998-10-14  Jim Meyering  <meyering@ascend.com>
56732
56733         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
56734         instead of "TZ=America/Vancouver".  From Paul Eggert.
56735
56736 1998-10-11  Jim Meyering  <meyering@ascend.com>
56737
56738         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
56739         This adds a test for a recently added compatibility fix for mktime.c.
56740         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
56741
56742 1998-09-27  Jim Meyering  <meyering@ascend.com>
56743
56744         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
56745
56746         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
56747         ../configure.in, including a change from Gordon Matzigkeit to allow
56748         cross-compiling for the Hurd.
56749
56750         * m4/glibc.m4: New file/macro to test for the GNU C Library
56751         versions 1 and 2.  From Gordon Matzigkeit.
56752         Indent.
56753
56754 1998-09-21  Jim Meyering  <meyering@ascend.com>
56755
56756         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
56757
56758 1998-08-18  Paul Eggert  <eggert@twinsun.com>
56759
56760         Port nanosecond-resolution times to UnixWare 2.1.2 and
56761         pedantic Solaris 2.6.
56762
56763         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
56764         AC_STRUCT_ST_MTIM.
56765         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
56766         Generate name of ns member, instead of just 1 or undef.
56767         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
56768
56769 1998-08-15  Jim Meyering  <meyering@ascend.com>
56770
56771         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
56772         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
56773         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
56774         instead of jm_TYPE_SSIZE_T.
56775
56776 1998-08-12  Jim Meyering  <meyering@ascend.com>
56777
56778         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
56779
56780 1998-08-02  Jim Meyering  <meyering@ascend.com>
56781
56782         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
56783         in acconfig.h manually.
56784
56785 1998-07-31  Paul Eggert  <eggert@twinsun.com>
56786
56787         * m4/st_mtim.m4: New file.
56788
56789 1998-07-28  Jim Meyering  <meyering@ascend.com>
56790
56791         * m4/utimes.m4: Undef stat.
56792
56793 1998-07-25  Jim Meyering  <meyering@ascend.com>
56794
56795         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
56796         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
56797
56798 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
56799
56800         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
56801         uid and gid actually remain unchanged.
56802
56803 1998-07-07  Jim Meyering  <meyering@ascend.com>
56804
56805         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
56806
56807 1998-07-04  Jim Meyering  <meyering@ascend.com>
56808
56809         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
56810         to prove that this macro can be used in packages without regex.c.
56811
56812 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
56813
56814         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
56815         is to be used.
56816
56817 1998-07-03  Jim Meyering  <meyering@ascend.com>
56818
56819         * m4/gettext.m4: Add -lintl if it's found to be necessary.
56820
56821         * m4/gettext.m4: New file -- from gettext-0.10.35.
56822         * m4/lcmessage.m4: Likewise.
56823         * m4/progtest.m4: Likewise.
56824
56825         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
56826         * m4/jm-macros.m4: Require the new macro.
56827
56828 1998-06-29  Jim Meyering  <meyering@ascend.com>
56829
56830         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
56831         for the definition of NGROUPS (used in a system header included
56832         by sys/mount.h).
56833
56834 1998-06-28  Jim Meyering  <meyering@ascend.com>
56835
56836         * m4/ls-mntd-fs.m4: New file.
56837         * m4/fstypename.m4: New file.
56838
56839         * m4/jm-macros.m4: Require the new macro.
56840         * m4/jm-glibc-io.m4: New file.
56841
56842 1998-05-19  Jim Meyering  <meyering@ascend.com>
56843
56844         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
56845         * m4/lchown.m4: New file.
56846
56847         * m4/Makefile.am.in: New file.
56848         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
56849
56850 1998-05-14  Jim Meyering  <meyering@ascend.com>
56851
56852         * m4/Makefile.am (EXTRA_DIST): Add them.
56853         * m4/jm-macros.m4: New file.
56854         * m4/utimbuf.m4: New file.
56855
56856 1998-05-12  Jim Meyering  <meyering@ascend.com>
56857
56858         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
56859
56860 1998-05-11  Jim Meyering  <meyering@ascend.com>
56861
56862         * m4/isc-posix.m4: New file.
56863
56864 1998-05-10  Jim Meyering  <meyering@ascend.com>
56865
56866         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
56867
56868 1998-05-09  Jim Meyering  <meyering@ascend.com>
56869
56870         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
56871         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
56872         with automake.
56873
56874         * m4/ssize_t.m4: New file.
56875         * m4/mktime.m4: Remove file -- the new automake has this now.
56876
56877 1998-04-26  Jim Meyering  <meyering@ascend.com>
56878
56879         * m4/assert.m4: New file.
56880         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
56881
56882 1998-04-05  Jim Meyering  <meyering@ascend.com>
56883
56884         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
56885         (jm_PREREQ): Use it here.
56886
56887 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
56888
56889         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
56890         in acconfig.h.
56891
56892 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
56893
56894         * m4/prereq.m4: New file.
56895         * m4/error.m4: New file.
56896         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
56897
56898 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
56899
56900         * m4/getline.m4: Don't set am_cv_func_working_getline before the
56901         cache-check for the same variable -- that defeated the purpose of
56902         the test; the test program was never run.  This was a problem only
56903         on systems with losing getline functions -- HP-UX 10.20 is one.
56904         Reported by Bjorn Helgaas.
56905
56906 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
56907
56908         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
56909
56910 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
56911
56912         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
56913
56914         * m4/const.m4: New file.  Use an initializer in this declaration
56915         typedef int charset[2]; const charset x;
56916         Reported by Bob Glickstein.
56917
56918 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
56919
56920         * m4/chown.m4: Fix reversed types on -1 args to chown.
56921         From Kaveh Ghazi.
56922
56923 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
56924
56925         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
56926         Add lseek and memchr.
56927
56928         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
56929         T.E.Dickey <dickey@clark.net> said that some older preprocessors
56930         have a 20-character limit on names.
56931
56932 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
56933
56934         * m4/inttypes_h.m4: New file.
56935         * m4/uintmax_t.m4: New file.
56936         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
56937
56938
56939         -----
56940
56941         Local Variables:
56942         coding: utf-8
56943         End:
56944
56945         Copyright (C) 1997-2009 Free Software Foundation, Inc.
56946
56947         Copying and distribution of this file, with or without
56948         modification, are permitted provided the copyright notice
56949         and this notice are preserved.